Tyluur
07-28-2013, 04:15 AM
I am adding members with sql only, and that being said the counter on the bottom of forum.php does not update, and neither does the newest member. I have ran a few tests and the option "Update User Names" in "General Update Tools" fixes this. How would I run a task for this every 15 minutes or so?
This is what is done to update the users:
if ($_REQUEST['do'] == 'updateusernames')
{
if (empty($vbulletin->GPC['perpage']))
{
$vbulletin->GPC['perpage'] = 1000;
}
echo '<p>' . $vbphrase['updating_usernames'] . '</p>';
$users = $db->query_read("
SELECT *
FROM " . TABLE_PREFIX . "user
WHERE userid >= " . $vbulletin->GPC['startat'] . "
ORDER BY userid
LIMIT " . $vbulletin->GPC['perpage']
);
$finishat = $vbulletin->GPC['startat'];
while ($user = $db->fetch_array($users))
{
$userman =& datamanager_init('User', $vbulletin, ERRTYPE_SILENT);
$userman->set_existing($user);
$userman->update_username($user['userid'], $user['username']);
unset($userman);
echo construct_phrase($vbphrase['processing_x'], $user['userid']) . "<br />\n";
vbflush();
$finishat = ($user['userid'] > $finishat ? $user['userid'] : $finishat);
}
$finishat++; // move past the last processed user
if ($checkmore = $db->query_first("SELECT userid FROM " . TABLE_PREFIX . "user WHERE userid >= $finishat LIMIT 1"))
{
print_cp_redirect("misc.php?" . $vbulletin->session->vars['sessionurl'] . "do=updateusernames&startat=$finishat&pp=" . $vbulletin->GPC['perpage']);
echo "<p><a href=\"misc.php?" . $vbulletin->session->vars['sessionurl'] . "do=updateusernames&startat=$finishat&pp=" . $vbulletin->GPC['perpage'] . "\">" . $vbphrase['click_here_to_continue_processing'] . "</a></p>";
}
else
{
define('CP_REDIRECT', 'misc.php');
print_stop_message('updated_usernames_successfully ');
}
}
This is what is done to update the users:
if ($_REQUEST['do'] == 'updateusernames')
{
if (empty($vbulletin->GPC['perpage']))
{
$vbulletin->GPC['perpage'] = 1000;
}
echo '<p>' . $vbphrase['updating_usernames'] . '</p>';
$users = $db->query_read("
SELECT *
FROM " . TABLE_PREFIX . "user
WHERE userid >= " . $vbulletin->GPC['startat'] . "
ORDER BY userid
LIMIT " . $vbulletin->GPC['perpage']
);
$finishat = $vbulletin->GPC['startat'];
while ($user = $db->fetch_array($users))
{
$userman =& datamanager_init('User', $vbulletin, ERRTYPE_SILENT);
$userman->set_existing($user);
$userman->update_username($user['userid'], $user['username']);
unset($userman);
echo construct_phrase($vbphrase['processing_x'], $user['userid']) . "<br />\n";
vbflush();
$finishat = ($user['userid'] > $finishat ? $user['userid'] : $finishat);
}
$finishat++; // move past the last processed user
if ($checkmore = $db->query_first("SELECT userid FROM " . TABLE_PREFIX . "user WHERE userid >= $finishat LIMIT 1"))
{
print_cp_redirect("misc.php?" . $vbulletin->session->vars['sessionurl'] . "do=updateusernames&startat=$finishat&pp=" . $vbulletin->GPC['perpage']);
echo "<p><a href=\"misc.php?" . $vbulletin->session->vars['sessionurl'] . "do=updateusernames&startat=$finishat&pp=" . $vbulletin->GPC['perpage'] . "\">" . $vbphrase['click_here_to_continue_processing'] . "</a></p>";
}
else
{
define('CP_REDIRECT', 'misc.php');
print_stop_message('updated_usernames_successfully ');
}
}