1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-24 08:22:07 +02:00

Migration of user data now working

This commit is contained in:
mcfly
2008-12-20 04:51:06 +00:00
parent 47bc0ec970
commit 1546220222

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_plugins/forum/forum_update.php,v $
| $Revision: 1.5 $
| $Date: 2008-12-20 00:55:29 $
| $Revision: 1.6 $
| $Date: 2008-12-20 04:51:06 $
| $Author: mcfly_e107 $
+----------------------------------------------------------------------------+
*/
@@ -229,6 +229,100 @@ function step3()
}
function step4()
{
$e107 = e107::getInstance();
$stepCaption = 'Step 4: Move user specific forum data';
if(!isset($_POST['move_user_data']))
{
$text = "
This step will move the user_viewed data from user table into the user extended table.<br />
The user_forum field data will not be moved, as it will be recalculated later.<br />
<br />
Depending on the size of your user table, this step could take a while.
<br /><br />
<form method='post'>
<input class='button' type='submit' name='move_user_data' value='Proceed with user data move' />
</form>
";
$e107->ns->tablerender($stepCaption, $text);
return;
}
$result = array(
'usercount' => 0,
'viewcount' => 0,
'trackcount' => 0
);
$db = new db;
if($db->db_Select('user', 'user_id, user_viewed, user_realm',"user_viewed != '' OR user_realm != ''"))
{
require_once(e_HANDLER.'user_extended_class.php');
$ue = new e107_user_extended;
while($row = $db->db_Fetch(MYSQL_ASSOC))
{
$result['usercount']++;
$userId = (int)$row['user_id'];
$viewed = $row['user_viewed'];
$viewed = trim($viewed, '.');
$tmp = preg_split('#\.+#', $viewed);
$viewed = implode(',', $tmp);
$realm = $row['user_realm'];
$realm - str_replace('USERREALM', '', $realm);
$realm = trim($realm, '-.');
$trackList = preg_split('#\D+#', $realm);
// echo 'user_id = '.$userId.'<br />';
// echo 'viewed = '.$viewed.'<br />';
// echo 'realm = '.$realm.'<br />';
// echo 'tracking = ' . implode(',', $trackList).'<br />';
// print_a($trackList);
// echo "<br /><br />";
if($viewed != '')
{
$ue->user_extended_setvalue($userId, 'plugin_forum_viewed', mysql_real_escape_string($viewed));
$result['viewcount']++;
}
if(is_array($trackList) && count($trackList))
{
foreach($trackList as $threadId)
{
$result['trackcount']++;
$threadId = (int)$threadId;
if($threadId > 0)
{
$tmp = array();
$tmp['track_userid'] = $userId;
$tmp['track_thread'] = $threadId;
$tmp['_FIELD_TYPES']['track_userid'] = 'int';
$tmp['_FIELD_TYPES']['track_thread'] = 'int';
$e107->sql->db_Insert('forum_track', $tmp);
}
}
}
}
}
$text .= "
User data move results:<br />
Number of users processed: {$result['usercount']} <br />
Number of viewed data processed: {$result['viewcount']} <br />
Number of tracked records added: {$result['trackcount']} <br />
<br /><br />
<form method='post'>
<input class='button' type='submit' name='nextStep[5]' value='Proceed to step 5' />
</form>
";
$e107->ns->tablerender($stepCaption, $text);
}
class forumUpgrade
{