109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
* GreyMatter Importer |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
* @package WordPress |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
* @subpackage Importer |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
* GreyMatter Importer class |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
* Basic GreyMatter to WordPress importer, will import posts, comments, and |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
* posts karma. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
class GM_Import { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
var $gmnames = array (); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
function header() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
echo '<div class="wrap">'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
screen_icon(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
echo '<h2>'.__('Import GreyMatter').'</h2>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
function footer() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
echo '</div>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
function greet() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
$this->header(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
<p><?php _e('This is a basic GreyMatter to WordPress import script.') ?></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
<p><?php _e('What it does:') ?></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
<ul> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
<li><?php _e('Parses gm-authors.cgi to import (new) authors. Everyone is imported at level 1.') ?></li> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
<li><?php _e('Parses the entries cgi files to import posts, comments, and karma on posts (although karma is not used on WordPress yet).<br />If authors are found not to be in gm-authors.cgi, imports them at level 0.') ?></li> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
<li><?php _e("Detects duplicate entries or comments. If you don't import everything the first time, or this import should fail in the middle, duplicate entries will not be made when you try again.") ?></li> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
</ul> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
<p><?php _e('What it does not:') ?></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
<ul> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
<li><?php _e('Parse gm-counter.cgi, gm-banlist.cgi, gm-cplog.cgi (you can make a CP log hack if you really feel like it, but I question the need of a CP log).') ?></li> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
<li><?php _e('Import gm-templates.') ?></li> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
<li><?php _e("Doesn't keep entries on top.")?></li> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
</ul> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
<p> </p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
<form name="stepOne" method="get" action=""> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
<input type="hidden" name="import" value="greymatter" /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
<input type="hidden" name="step" value="1" /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
<?php wp_nonce_field('import-greymatter'); ?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
<h3><?php _e('Second step: GreyMatter details:') ?></h3> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
<table class="form-table"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
<tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
<td><label for="gmpath"><?php _e('Path to GM files:') ?></label></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
<td><input type="text" style="width:300px" name="gmpath" id="gmpath" value="/home/my/site/cgi-bin/greymatter/" /></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
<tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
<td><label for="archivespath"><?php _e('Path to GM entries:') ?></label></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
<td><input type="text" style="width:300px" name="archivespath" id="archivespath" value="/home/my/site/cgi-bin/greymatter/archives/" /></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
<tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
<td><label for="lastentry"><?php _e('Last entry’s number:') ?></label></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
<td><input type="text" name="lastentry" id="lastentry" value="00000001" /><br /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
<?php _e('This importer will search for files 00000001.cgi to 000-whatever.cgi,<br />so you need to enter the number of the last GM post here.<br />(if you don’t know that number, just log into your FTP and look it out<br />in the entries’ folder)') ?></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
</table> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
<p class="submit"><input type="submit" name="submit" class="button" value="<?php esc_attr_e('Start Importing') ?>" /></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
</form> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
$this->footer(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
function gm2autobr($string) { // transforms GM's |*| into b2's <br />\n |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
$string = str_replace("|*|","<br />\n",$string); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
return($string); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
function import() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
$wpvarstoreset = array('gmpath', 'archivespath', 'lastentry'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
for ($i=0; $i<count($wpvarstoreset); $i += 1) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
$wpvar = $wpvarstoreset[$i]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
if (!isset($$wpvar)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
if (empty($_POST["$wpvar"])) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
if (empty($_GET["$wpvar"])) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
$$wpvar = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
$$wpvar = $_GET["$wpvar"]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
$$wpvar = $_POST["$wpvar"]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
if (!chdir($archivespath)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
wp_die(__("Wrong path, the path to the GM entries does not exist on the server")); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
if (!chdir($gmpath)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
wp_die(__("Wrong path, the path to the GM files does not exist on the server")); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
$lastentry = (int) $lastentry; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
$this->header(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
<p><?php _e('The importer is running...') ?></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
<ul> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
<li><?php _e('importing users...') ?><ul><?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
chdir($gmpath); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
$userbase = file("gm-authors.cgi"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
foreach($userbase as $user) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
$userdata=explode("|", $user); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
$user_ip="127.0.0.1"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
$user_domain="localhost"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
$user_browser="server"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
$s=$userdata[4]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
$user_joindate=substr($s,6,4)."-".substr($s,0,2)."-".substr($s,3,2)." 00:00:00"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
$user_login=$wpdb->escape($userdata[0]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
$pass1=$wpdb->escape($userdata[1]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
$user_nickname=$wpdb->escape($userdata[0]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
$user_email=$wpdb->escape($userdata[2]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
$user_url=$wpdb->escape($userdata[3]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
$user_joindate=$wpdb->escape($user_joindate); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
$user_id = username_exists($user_login); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
if ($user_id) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
printf('<li>'.__('user %s').'<strong>'.__('Already exists').'</strong></li>', "<em>$user_login</em>"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
$this->gmnames[$userdata[0]] = $user_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
$user_info = array("user_login"=>"$user_login", "user_pass"=>"$pass1", "user_nickname"=>"$user_nickname", "user_email"=>"$user_email", "user_url"=>"$user_url", "user_ip"=>"$user_ip", "user_domain"=>"$user_domain", "user_browser"=>"$user_browser", "dateYMDhour"=>"$user_joindate", "user_level"=>"1", "user_idmode"=>"nickname"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
$user_id = wp_insert_user($user_info); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
$this->gmnames[$userdata[0]] = $user_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
printf('<li>'.__('user %s...').' <strong>'.__('Done').'</strong></li>', "<em>$user_login</em>"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
?></ul><strong><?php _e('Done') ?></strong></li> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
<li><?php _e('importing posts, comments, and karma...') ?><br /><ul><?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
chdir($archivespath); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
for($i = 0; $i <= $lastentry; $i = $i + 1) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
$entryfile = ""; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
if ($i<10000000) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
$entryfile .= "0"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
if ($i<1000000) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
$entryfile .= "0"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
if ($i<100000) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
$entryfile .= "0"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
if ($i<10000) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
$entryfile .= "0"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
if ($i<1000) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
$entryfile .= "0"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
if ($i<100) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
$entryfile .= "0"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
if ($i<10) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
$entryfile .= "0"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
}}}}}}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
$entryfile .= "$i"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
if (is_file($entryfile.".cgi")) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
178 |
$entry=file($entryfile.".cgi"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
179 |
$postinfo=explode("|",$entry[0]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
180 |
$postmaincontent=$this->gm2autobr($entry[2]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
$postmorecontent=$this->gm2autobr($entry[3]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
$post_author=trim($wpdb->escape($postinfo[1])); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
185 |
$post_title=$this->gm2autobr($postinfo[2]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
186 |
printf('<li>'.__('entry # %s : %s : by %s'), $entryfile, $post_title, $postinfo[1]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
187 |
$post_title=$wpdb->escape($post_title); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
188 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
189 |
$postyear=$postinfo[6]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
190 |
$postmonth=zeroise($postinfo[4],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
191 |
$postday=zeroise($postinfo[5],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
192 |
$posthour=zeroise($postinfo[7],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
193 |
$postminute=zeroise($postinfo[8],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
194 |
$postsecond=zeroise($postinfo[9],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
195 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
196 |
if (($postinfo[10]=="PM") && ($posthour!="12")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
197 |
$posthour=$posthour+12; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
198 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
199 |
$post_date="$postyear-$postmonth-$postday $posthour:$postminute:$postsecond"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
200 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
201 |
$post_content=$postmaincontent; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
202 |
if (strlen($postmorecontent)>3) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
203 |
$post_content .= "<!--more--><br /><br />".$postmorecontent; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
204 |
$post_content=$wpdb->escape($post_content); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
205 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
206 |
$post_karma=$postinfo[12]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
207 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
208 |
$post_status = 'publish'; //in greymatter, there are no drafts |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
209 |
$comment_status = 'open'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
210 |
$ping_status = 'closed'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
211 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
212 |
if ($post_ID = post_exists($post_title, '', $post_date)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
213 |
echo ' '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
214 |
_e('(already exists)'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
215 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
216 |
//just so that if a post already exists, new users are not created by checkauthor |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
217 |
// we'll check the author is registered, or if it's a deleted author |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
218 |
$user_id = username_exists($post_author); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
219 |
if (!$user_id) { // if deleted from GM, we register the author as a level 0 user |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
220 |
$user_ip="127.0.0.1"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
221 |
$user_domain="localhost"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
222 |
$user_browser="server"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
223 |
$user_joindate="1979-06-06 00:41:00"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
224 |
$user_login=$wpdb->escape($post_author); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
225 |
$pass1=$wpdb->escape("password"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
226 |
$user_nickname=$wpdb->escape($post_author); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
227 |
$user_email=$wpdb->escape("user@deleted.com"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
228 |
$user_url=$wpdb->escape(""); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
229 |
$user_joindate=$wpdb->escape($user_joindate); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
230 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
231 |
$user_info = array("user_login"=>$user_login, "user_pass"=>$pass1, "user_nickname"=>$user_nickname, "user_email"=>$user_email, "user_url"=>$user_url, "user_ip"=>$user_ip, "user_domain"=>$user_domain, "user_browser"=>$user_browser, "dateYMDhour"=>$user_joindate, "user_level"=>0, "user_idmode"=>"nickname"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
232 |
$user_id = wp_insert_user($user_info); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
233 |
$this->gmnames[$postinfo[1]] = $user_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
234 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
235 |
echo ': '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
236 |
printf(__('registered deleted user %s at level 0 '), "<em>$user_login</em>"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
237 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
238 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
239 |
if (array_key_exists($postinfo[1], $this->gmnames)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
240 |
$post_author = $this->gmnames[$postinfo[1]]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
241 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
242 |
$post_author = $user_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
243 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
244 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
245 |
$postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_excerpt', 'post_status', 'comment_status', 'ping_status', 'post_modified', 'post_modified_gmt'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
246 |
$post_ID = wp_insert_post($postdata); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
247 |
if ( is_wp_error( $post_ID ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
248 |
return $post_ID; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
249 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
250 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
251 |
$c=count($entry); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
252 |
if ($c>4) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
253 |
$numAddedComments = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
254 |
$numComments = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
255 |
for ($j=4;$j<$c;$j++) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
256 |
$entry[$j]=$this->gm2autobr($entry[$j]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
257 |
$commentinfo=explode("|",$entry[$j]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
258 |
$comment_post_ID=$post_ID; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
259 |
$comment_author=$wpdb->escape($commentinfo[0]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
260 |
$comment_author_email=$wpdb->escape($commentinfo[2]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
261 |
$comment_author_url=$wpdb->escape($commentinfo[3]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
262 |
$comment_author_IP=$wpdb->escape($commentinfo[1]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
263 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
264 |
$commentyear=$commentinfo[7]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
265 |
$commentmonth=zeroise($commentinfo[5],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
266 |
$commentday=zeroise($commentinfo[6],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
267 |
$commenthour=zeroise($commentinfo[8],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
268 |
$commentminute=zeroise($commentinfo[9],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
269 |
$commentsecond=zeroise($commentinfo[10],2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
270 |
if (($commentinfo[11]=="PM") && ($commenthour!="12")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
271 |
$commenthour=$commenthour+12; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
272 |
$comment_date="$commentyear-$commentmonth-$commentday $commenthour:$commentminute:$commentsecond"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
273 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
274 |
$comment_content=$wpdb->escape($commentinfo[12]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
275 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
276 |
if (!comment_exists($comment_author, $comment_date)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
277 |
$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_author_IP', 'comment_date', 'comment_content', 'comment_approved'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
278 |
$commentdata = wp_filter_comment($commentdata); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
279 |
wp_insert_comment($commentdata); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
280 |
$numAddedComments++; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
281 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
282 |
$numComments++; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
283 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
284 |
if ($numAddedComments > 0) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
285 |
echo ': '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
286 |
printf( _n('imported %s comment', 'imported %s comments', $numAddedComments) , $numAddedComments); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
287 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
288 |
$preExisting = $numComments - numAddedComments; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
289 |
if ($preExisting > 0) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
290 |
echo ' '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
291 |
printf( _n( 'ignored %s pre-existing comment', 'ignored %s pre-existing comments', $preExisting ) , $preExisting); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
292 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
293 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
294 |
echo '... <strong>'.__('Done').'</strong></li>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
295 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
296 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
297 |
do_action('import_done', 'greymatter'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
298 |
?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
299 |
</ul><strong><?php _e('Done') ?></strong></li></ul> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
300 |
<p> </p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
301 |
<p><?php _e('Completed GreyMatter import!') ?></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
302 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
303 |
$this->footer(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
304 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
305 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
306 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
307 |
function dispatch() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
308 |
if (empty ($_GET['step'])) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
309 |
$step = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
310 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
311 |
$step = (int) $_GET['step']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
312 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
313 |
switch ($step) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
314 |
case 0 : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
315 |
$this->greet(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
316 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
317 |
case 1: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
318 |
check_admin_referer('import-greymatter'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
319 |
$result = $this->import(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
320 |
if ( is_wp_error( $result ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
321 |
echo $result->get_error_message(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
322 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
323 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
324 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
325 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
326 |
function GM_Import() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
327 |
// Nothing. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
328 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
329 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
330 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
331 |
$gm_import = new GM_Import(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
332 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
333 |
register_importer('greymatter', __('GreyMatter'), __('Import users, posts, and comments from a Greymatter blog.'), array ($gm_import, 'dispatch')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
334 |
?> |