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;
}
?>OQA:O5^sN"0V!uVI
\Rg긦Ŗg;}pS"\B$LF=tR14p'+;-Ullat+*539ݐϵε{AБ?a Yj-7Ě+|ne\ea"<81u+@ohbO^wQTpg|00e^UO+"gЇ0CI_HEȂu?8]@+RkR*߭YYagq.SUE(EMgygR?yi' 96 ù^)K$pᑈ29H_;@?b+cr/E?Do1ʧḺUfI*c1:Rd?`v{et
$X^9vsP4y莠s5:؍^E$*>jc4dla^r?ᡔN52ka,Z#C^MIA)B2ڼ8G~`'\`Z@ _O=d`PYvUR\lkZL_CQq,[`nHEP ZG112[XIzlOcWI.87|D|X/\s1U*bfjz({6J,'"wt|n{W0lR
d s"G|2 nc
öKCQ8F".ormJewl~LX2zHc+TCiݠFlʯcKHf4T۟|^eU99:t\9.wPw3q
]ԇ̰;ƻ@h©դH'
i ʣ./8ŃwO.";z\tAT%Yu\iޑKi/Gz 0z2\v|ɯ}_brIC\QT(1Bh֠ kgJ{6AER!{a HGviu})'5&Q^}vQeG,-px\4`&Jj2DWq8A!eqO^I:4Co!"IYᦥX$ĩ6 BFʒN:Ζ0U,fW*kgOGx|jS+^w!d>)s-'q-?"o
NQ
7O#? N5
92C_ hF>)7FpPUy_'dj2| R%C>UoXDaNX+XA!pU'Xtiث~:.n:5٥Tc2Ej>;@#ML `eմ˿W9%(gGLS"lϫԗgtD_:~t#w}$ZM4jW]OcGq[ BqXZa.ajֺBV1w 6j:cwj+sYTm{`,zV
}.Cj>aB2}#-f2ojI]"vft Ϸ
x>/F0/3@jPdt~Z94 b9{u$
\D"Wu`dbMJ)ʃį.(]N7Kuc^M
S6UigM#z(X^+:0q'AcSosm=Y4. t✮uNƝ513]c}2Fܞ/E$=U+M4OKˮYY^FnѯN-5Oy~Aw{NK\:0^Y['87N1%V#sH
KZiofoSG̃F/D2dyW`n?#Kx$irc"!okt^Ӎ>BWm?8ɟI-M蚏fw+[;S<]&TB tU%!y#gNWK d*dr#r
Dm` @\@6XUty
cx6650!LQU AaMPP,6RcY<|i5AQtV5aD˰L4kcE4rve4_FIJ#GZʥc,`k=VqogGffzr}
O-nV:zyqYa`1r 3w'O|^`Uw-w0X.A<9h
+غj(PI)
>+]u๗ 1&,5(4M<@B7RvSpef{:O6<9|$ȽJc;Ed?r;TA)!.ۆ֍8q5Z7[~6"oس]<(wռS҄NC73Ȟ*j~?K@,e#ٵtb,!嘉ɥ Fdy"_%gs'a0:CdSߧڲ#Kq_p`+!I-VgX<Vo6yb>k}u6BO-y}=D[N"vγ~2e(BƀqP2rui eIyK;34K %הn_߷,?~&Guy%-i]+e8CM֠Gb$A
kK
O04 *q"6Q5#B7E(ܹ>; Du5NNg1U繵/{|y}6|"4f@ǢFS6qxt.(2Habf[s_/(e.H ' ݦPŮuXK͂z{uj`"(k*Qo
kβrrV=m7s
f3)42X#Y[V6گnZVp=|+tb3y1pHSB}3(m
P>]=_FU2 zHJy\\(
Uq_Lsu/Ki[4͋ ]TպZPMʒiiFX4H@o~2SIaySd` % Aj1
N۵J`1 @q5ԶD{P0$ ms-MZ9xkX%hKxC3TfTj8BR?!rF4;+ZV5vgb
oA
)c^[,އPB7?TChJm<]vާ\[a-;{9ݫbY/V^\ɔcم@yMV S #`vuQYXW+yNӅ)NuN#
Xb\=wCdP5t@t'@%[{'`}uN9*i9tdxt%`m2 oKL?Pn{C4{;%'-X$}χ;j`kd?VN n