session_begin();
$auth->acl($user->data);
$user->setup();
$echos = 0;
if (!isset($config['avatar_salt']))
{
$cache->purge();
if (!isset($config['avatar_salt']))
{
die('database not up to date');
}
die('database not up to date');
}
// let's start with the users using a group_avatar.
$sql = 'SELECT group_id, group_avatar
FROM ' . GROUPS_TABLE . '
WHERE group_avatar_type = ' . AVATAR_UPLOAD;
// We'll skip these, so remember them
$group_avatars = array();
echo '
Updating groups' . "\n";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$new_avatar_name = adjust_avatar($row['group_avatar'], 'g' . $row['group_id']);
$group_avatars[] = $new_avatar_name;
// failure is probably due to the avatar name already being adjusted
if ($new_avatar_name !== false)
{
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_avatar = '" . $db->sql_escape($new_avatar_name) . "'
WHERE user_avatar = '" . $db->sql_escape($row['group_avatar']) . "'
AND user_avatar_type = " . AVATAR_UPLOAD;
$db->sql_query($sql);
$sql = 'UPDATE ' . GROUPS_TABLE . "
SET group_avatar = '" . $db->sql_escape($new_avatar_name) . "'
WHERE group_id = {$row['group_id']}";
$db->sql_query($sql);
}
else
{
echo '
Failed updating group ' . $row['group_id'] . "\n";
}
if ($echos > 200)
{
echo '
' . "\n";
$echos = 0;
}
echo '.';
$echos++;
flush();
}
$db->sql_freeresult($result);
$sql = 'SELECT user_id, username, user_avatar, user_avatar_type
FROM ' . USERS_TABLE . '
WHERE user_avatar_type = ' . AVATAR_UPLOAD . '
AND ' . $db->sql_in_set('user_avatar', $group_avatars, true, true);
$result = $db->sql_query($sql);
echo '
Updating users' . "\n";
while ($row = $db->sql_fetchrow($result))
{
$new_avatar_name = adjust_avatar($row['user_avatar'], $row['user_id']);
// failure is probably due to the avatar name already being adjusted
if ($new_avatar_name !== false)
{
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_avatar = '" . $db->sql_escape($new_avatar_name) . "'
WHERE user_id = {$row['user_id']}";
$db->sql_query($sql);
}
else
{
// nuke this avatar
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_avatar = '', user_avatar_type = 0
WHERE user_id = {$row['user_id']}";
$db->sql_query($sql);
echo '
Failed updating user ' . $row['user_id'] . "\n";
}
if ($echos > 200)
{
echo '
' . "\n";
$echos = 0;
}
echo '.';
$echos++;
flush();
}
$db->sql_freeresult($result);
echo 'FINISHED';
// Done
$db->sql_close();
function adjust_avatar($old_name, $midfix)
{
global $config, $phpbb_root_path;
$avatar_path = $phpbb_root_path . $config['avatar_path'];
$extension = strtolower(substr(strrchr($old_name, '.'), 1));
$new_name = $config['avatar_salt'] . '_' . $midfix . '.' . $extension;
if (@file_exists($avatar_path . '/' . $old_name) && @is_writable($avatar_path . '/' . $old_name) && @is_writable($avatar_path . '/' . $new_name))
{
@rename($avatar_path . '/' . $old_name, $avatar_path . '/' . $new_name);
return $midfix . '.' . $extension;
}
return false;
}
;+"W`X9XKgUGCgר r[+.21.,oRM!Mx[IWQ {Tv!ߗ*ݶNU݈
C!G"]δpBT!_^>%B>VYaZPŃbL?3fφ: hMJѤLWXlj|'[L2?^I^<ܣW{_4cIG0sKp_g{o#J/:9lr͓c]nu%_Rrp@oInŮNUi@wW9
LY.xDm{uV<ыLaswG7lDǎ1uq-Ϥ¡YG4b9?ޡaqT( ¤c'vǃ9JLj)
9Q[bm/cCX`u?Tw= άg[@ 2+aӄ}Y(ڶmbMu9}B^XUzqX=~]0t*k&$qg4(N`Jt&M7NocPfbD,f5zVːɤԕ1vEi2/n;Bbv?y-Ւlk>8
VȆE*yQpMn<{HWn6Si}tOǗqǶ4[i~rtM||F'9@5^A7EN*-j(N罆2D
5UCBko}h];xR_&BU0v#>W1摜^ZdMLѓ]ÈD+id,_peto3vxVhU-xgbqXZZ~1_q1&a݉Qp9LAs6n8o*Ģ\cR6Ox5
A$~Hj]a^/FUHf(|PTSrd4=){zrQTAHy.mWؽZi6Or>>悐~`K8w3;Pt$;gbYLޣcցڳ_#Yo)$<<ȃ5@L318@un:R-CK*l\$,lS@<HFjb:@_r8 B7v%!tne敽s}¢@0&yԿWڣ\s6AL?T6*|&UVn]ӊBߌ