22{
24
25 if(!$offset) return;
26
27
28
29 @set_time_limit(0);
30 $increment =
$PHORUM[
'mod_htmlpurifier'][
'migrate-sigs-increment'];
31
32 require_once(dirname(__FILE__) . '/../migrate.php');
33
34
35 $end = $offset + $increment;
36 $user_ids = array();
39 }
40 $userinfos = phorum_db_user_get_fields($user_ids, 'signature');
41 foreach ($userinfos as
$i => $user) {
42 if (empty($user['signature'])) continue;
43 $sig = $user['signature'];
44
45 $sig = str_replace(array("&","<",">"), array("&","<",">"), $sig);
46 $sig = preg_replace("/<((http|https|ftp):\/\/[a-z0-9;\/\?:@=\&\$\-_\.\+!*'\(\),~%]+?)>/i", "$1", $sig);
47
48 $fake_data = array(array("author"=>"", "email"=>"", "subject"=>"", 'body' => $sig));
50 $user['signature'] = $fake_message['body'];
51 if (!phorum_api_user_save($user)) {
52 exit(
'Error while saving user data');
53 }
54 }
55 unset($userinfos);
56
57
59 $sql = "select MAX(user_id) from {$PHORUM['user_table']}";
60 $row = phorum_db_interact(DB_RETURN_ROW, $sql);
61 $top_id = (int)
$row[0];
62
63 $offset += $increment;
64 if ($offset > $top_id) {
65 echo 'Migration finished';
66 $PHORUM[
'mod_htmlpurifier'][
'migrate-sigs'] =
false;
68 return true;
69 }
71 $uri = rtrim(dirname(
$_SERVER[
'PHP_SELF']),
'/\\');
72 $extra = 'admin.php?module=modsettings&mod=htmlpurifier&migrate-sigs=' . $offset;
73
74 header("Location: http://$host$uri/$extra");
76
77}
$PHORUM['mod_htmlpurifier']['directives']
phorum_htmlpurifier_migrate($data)
'format' hook style function that will be called to convert legacy markup into HTML.
phorum_htmlpurifier_commit_settings()
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']