aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/db/migration/v307rc2.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/db/migration/v307rc2.php')
-rw-r--r--phpBB/includes/db/migration/v307rc2.php29
1 files changed, 23 insertions, 6 deletions
diff --git a/phpBB/includes/db/migration/v307rc2.php b/phpBB/includes/db/migration/v307rc2.php
index f9492f3d1c..438ebfb8c2 100644
--- a/phpBB/includes/db/migration/v307rc2.php
+++ b/phpBB/includes/db/migration/v307rc2.php
@@ -21,15 +21,26 @@ class phpbb_db_migration_v307rc2 extends phpbb_db_migration
function update_data()
{
+ return array(
+ array('custom', array(array(&$this, 'update_email_hash'))),
+ );
+ }
+
+ function update_email_hash($start = 0)
+ {
+ $limit = 1000;
+
$sql = 'SELECT user_id, user_email, user_email_hash
FROM ' . USERS_TABLE . '
WHERE user_type <> ' . USER_IGNORE . "
AND user_email <> ''";
- $result = $db->sql_query($sql);
+ $result = $this->db->sql_query_limit($sql, $limit, $start);
$i = 0;
- while ($row = $db->sql_fetchrow($result))
+ while ($row = $this->db->sql_fetchrow($result))
{
+ $i++;
+
// Snapshot of the phpbb_email_hash() function
// We cannot call it directly because the auto updater updates the DB first. :/
$user_email_hash = sprintf('%u', crc32(strtolower($row['user_email']))) . strlen($row['user_email']);
@@ -41,13 +52,19 @@ class phpbb_db_migration_v307rc2 extends phpbb_db_migration
);
$sql = 'UPDATE ' . USERS_TABLE . '
- SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
+ SET ' . $this->db->sql_build_array('UPDATE', $sql_ary) . '
WHERE user_id = ' . (int) $row['user_id'];
- _sql($sql, $errored, $error_ary, ($i % 100 == 0));
-
- ++$i;
+ $this->sql_query($sql);
}
}
$db->sql_freeresult($result);
+
+ if ($i < $limit)
+ {
+ // Completed
+ return false;
+ }
+
+ return $start + $limit;
}
}