[wp-hackers] [GSOC2010]WPmove [wpurl] tag replace

Otto otto at ottodestruct.com
Thu Apr 8 15:17:28 UTC 2010

On Thu, Apr 8, 2010 at 9:23 AM, Piyush Mishra <admin at oxymaniac.com> wrote:
> I beg to differ, I tried printing the array out to my local server

Huh. I'll be darned, you're right. I know it has worked for me before,
but with a simple test I can't make it work again.

Still, it's possible to add code to WP to fix that easily enough. If
you alter the maybe_unserialize function in wp-includes/functions.php
to the following, then the string lengths won't matter any more.

function maybe_unserialize( $original ) {
	if ( is_serialized( $original ) ) // don't attempt to unserialize
data that wasn't serialized going in
		$fixed = preg_replace_callback(
			$original );
		return @unserialize( $fixed );
	return $original;

function serialize_fix_callback($match) { return 's:' . strlen($match[2]); }

Test that shows it works:
$a ='a:2:{i:0;s:123:"Test";i:1;s:456:"Fake";}';



More information about the wp-hackers mailing list