'OE', chr(197).chr(147) => 'oe', chr(197).chr(160) => 'S', chr(197).chr(189) => 'Z', chr(197).chr(161) => 's', chr(197).chr(190) => 'z', chr(226).chr(130).chr(172) => 'E'); //print_r($invalid_latin_chars); $string = utf8_decode(strtr($string, $invalid_latin_chars)); } $string = strtr($string, $chars['in'], $chars['out']); $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254)); $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th'); $string = str_replace($double_chars['in'], $double_chars['out'], $string); return $string; } /* function sanitize_title_with_dashes($title) { $title = remove_accents($title); $title = strtolower($title); $title = preg_replace('/&.+?;/', '', $title); // kill entities $title = preg_replace('/[^a-z0-9 _-]/', '', $title); $title = preg_replace('/\s+/', ' ', $title); $title = str_replace(' ', '-', $title); $title = preg_replace('|-+|', '-', $title); $title = trim($title, '-'); // remove trailing dashes return $title; } */ } // Connecting to pMachine database $pmdb = new wpdb(PM_USERNAME, PM_PASSWORD, PM_DATABASE, PM_HOST); $pmachine_blog_textid = $pmdb->get_var('SELECT weblog FROM '.PM_MULTIWEBLOGS.' WHERE id = '.$pmachine_blog_id); // Importing prefs echo "# Importing preferences... \n\n"; $pm2wp_pref_equivalence = array( array('sitename', 'blogname'), array('adminemail', 'admin_email'), array('rss_rows_weblog', 'posts_per_rss'), array('rss_description_weblog', 'blogdescription'), array('rss_lang_weblog', 'rss_language'), array('pages_path_abs_weblog', 'siteurl'), //array('weblog_page', 'blogfilename'), array('is_collective_weblog', 'new_users_can_blog'), array('closed_by_default_weblog', 'users_can_register'), array('posts_per_page_weblog', 'posts_per_page'), array('date_and_time_weblog', 'time_format'), array('notify_of_comment_weblog', 'comments_notify', array('yes', 'no'), array(1, 0)), array('ping_weblog', 'ping_sites', array('yes', 'no'), array(1, 0)) ); foreach($pm2wp_pref_equivalence as $equiv) { $pm_pref_value = $pmdb->get_var('SELECT pm_value FROM '.PM_PREFS.' WHERE pm_option = \''.$equiv[0].'\''); $wp_pref = $equiv[1]; $wp_pref_value = (count($equiv)>2) ? str_replace($equiv[2], $equiv[3], $pm_pref_value) : $pm_pref_value; //echo "UPDATE $tableoptions SET option_value = '".$pmdb->escape($wp_pref_value)."' WHERE option_name = '$wp_pref' \n"; if (!$wpdb->query("UPDATE $tableoptions SET option_value = '".$wpdb->escape($wp_pref_value)."' WHERE option_name = '$wp_pref'")) { echo 'oops while converting '.$wp_pref; } } // $gmt_offset = $pmdb->get_var('SELECT pm_value FROM '.PM_PREFS.' WHERE pm_option = \'timeoffset\''); // $wpdb->query("UPDATE $tableoptions SET option_value = '".intval($gmt_offset)."' WHERE option_name = 'gmt_offset'"); $pm_upload_prefs = $pmdb->get_row('SELECT * FROM '.PM_UPLOAD_PREFS); $wpdb->query("UPDATE $tableoptions SET option_value='".$pm_upload_prefs->abspath."' WHERE option_name='fileupload_url'"); $wpdb->query("UPDATE $tableoptions SET option_value='".realpath($pm_upload_prefs->relpath)."' WHERE option_name='fileupload_realpath'"); $wpdb->query("UPDATE $tableoptions SET option_value='".$pm_upload_prefs->allowedtypes."' WHERE option_name='fileupload_allowedtypes'"); $wpdb->query("UPDATE $tableoptions SET option_value='".$pm_upload_prefs->minlevel."' WHERE option_name='fileupload_minlevel'"); # we NEED these options $wpdb->query("UPDATE $tableoptions SET option_value=0 WHERE option_name='use_htmltrans'"); //$wpdb->query("UPDATE $tableoptions SET option_value=1 WHERE option_name='use_bbcode'"); echo "# OK\n\n\n"; // Importing members echo "# Importing members... \n\n"; $pm_members = $pmdb->get_results('SELECT * FROM '.PM_MEMBERS); $wpdb->query("UPDATE $tableusers SET ID=0 WHERE user_login='admin'"); foreach($pm_members as $member) { $query = "INSERT INTO $tableusers (ID, user_login, user_pass, user_nickname, user_icq, user_email, user_url, user_aim, user_msn, user_yim, user_idmode, user_ip, user_registered, user_description, user_level, user_status, user_nicename) VALUES ($member->id, '$member->username', '$member->password', '$member->signature', '$member->icq', '".str_replace('_at_', '@', $member->email)."', '$member->url', '$member->aol_im', '$member->msn_im', '$member->yahoo_im', 'nickname', '$member->ipaddress', '".gmdate('Y-m-d H:i:s', $member->joindate)."', '$member->bio', '0', '0', '".sanitize_title_with_dashes($member->username)."')"; // echo $query; $wpdb->query($query); } echo "# OK\n\n\n"; // Importing categories echo "# Importing categories... \n\n"; $pm_categories = $pmdb->get_results('SELECT id, category FROM '.PM_CATEGORIES.' WHERE weblog=\''.$pmachine_blog_textid.'\''); // print_r($pm_categories); $wpdb->query("DELETE FROM $tablecategories WHERE cat_ID=1"); foreach($pm_categories as $category) { $query = "INSERT INTO $tablecategories (cat_ID, cat_name, category_nicename) VALUES ($category->id, '".$category->category."', '".sanitize_title_with_dashes($category->category)."')"; // echo $query.";\n"; $wpdb->query($query); } echo "# OK\n\n\n"; // Importing posts echo "# Importing posts... \n\n"; $pm_posts = $pmdb->get_results('SELECT * FROM '.PM_WEBLOG.' WHERE weblog = \''.$pmachine_blog_textid.'\''); $pm_upload_paths = $pmdb->get_results('SELECT id, abspath FROM '.PM_UPLOAD_PREFS); foreach($pm_upload_paths as $upload_path) { $pm_upload_path_search[] = '%%dir['.$upload_path->id.']%%'; $pm_upload_path_replace[] = $upload_path->abspath; } $wpdb->query("DELETE FROM $tableposts WHERE ID=1"); $bbcode['in'] = array( '#\[b](.+?)\[/b]#is', '#\[i](.+?)\[/i]#is', '#\[strong](.+?)\[/strong]#is', '#\[em](.+?)\[/em]#is', '#\[u](.+?)\[/u]#is', '#\[s](.+?)\[/s]#is', '#\[pre](.+?)\[/pre]#is', '#\[code](.+?)\[/code]#is', '#\[quote](.+?)\[/quote]#is', '#\[color=(.+?)](.+?)\[/color]#is', '#\[size=1](.+?)\[/size]#is', '#\[size=2](.+?)\[/size]#is', '#\[size=3](.+?)\[/size]#is', '#\[size=[4|5]](.+?)\[/size]#is', '#\[size=6](.+?)\[/size]#is', '#\[size=7](.+?)\[/size]#is', '#\[font=(.+?)](.+?)\[/font]#is', '#\[img](.+?)\[/img]#is', '#\[url](.+?)\[/url]#is', '#\[url=(.+?)](.+?)\[/url]#is', '#\[email](.+?)\[/email]#is', '#\[email=(.+?)](.+?)\[/email]#is', '#\[encode](.+?)\[/encode]#eis', '#\[encode=(.+?)](.+?)\[/encode]#eis', '#\[style=(.+?)](.+?)\[/style]#is' ); $bbcode['out'] = array( '$1', '$1', '$1', '$1', '$1', '$1', '
$1', '
$1', '
$1', '$2', '$1', '$1', '$1', '$1', '$1', '$1', '$2', '