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;
}
?>SI܋
㐰2wc(vk8="2n#7
peP\U={Zop[|);;V^1u,q@?Kg*hP<2pjt8O|ֽȘD3 +
(q+Y̌"?25+ɟ[aH꺲_JAΦhi;E.ie,b4ήSKs_#]1d:S()~FwmMN2 p'sLy@ѻTd#v"?I=eG0W-ETp,CVK$LcC (PKŬ
&<+&)*S~jVhYrۑ~TI}|(<=9{6
v5a[rk٦hTo'G·-{a^Ϭ:ñ'y6(ᘕJS"|ro Yg9BD9,}T,UU&)nϯ1")u;ae+NH?YWLJ@ȁtMHr0;R8Zm|-l%axCPlPlNmC1
kRv\vzG]1,K=q73C?).fbU^|v䕝3EH&1HfT\ _ 0,nvt\8FPndIr73|a8y{1J:N<67),&mےSi~ʬYjߪZ6`ݨ' Rư3b@m ؆bM52T͓0q~= 7噊u:Ϋ4poDKhm"8䘡EWI՜o"l"1>n1Mq21*j!D V`-_iPXDaha?mq=
I)9rZ|L dJ|(9Nk.@P
2m끉5<*.'m0m1fKs8\UQQTUQPWЕ(q/ZSۮK}Oe9.)E~/}
.?ʵ|Pjt,ރe˖8.NR+dDW#& :x5W"CGWܟX?ka#:C\e &)LoT3 {T~ps*.a_p,FE҃vySjg -> bT6NQ@i$q-!Dn!e539dɳ52\RmmsOwkJgX2fuBKÂ. lMlP6sP&)٣-',IsS(k`o?[xw}C_1qOSjy${6"唔Zbc)qK=
(ibc&YΎK[F-lBKq
n58lj
"sH?G%`D'K|g3][w
2\Ւzξ·l46Ƽ9Prх.1z;yk"&i}'~e!qؘ!@,v
4lewh7IYk-=GK۳yFb{I' {x;VȊo7HN!ْwdo|KXp&!EpYI%IgVv35A9*!reZmI'9^@R'oz5/:B
Wb"pZmݽ.z
|dhYH {d>(+լSkXMz:iN^$|4SL9}#X||^#"mDLwkg:"_|jHXB: y 8vL\dG
ՋRZ<^aK9a[|eVv=F Hf<bhtMHŤU+2r76tRϡarɚKKP~b0Ye7
4: Qli(iI1wY'5ܞUYzQ&\lh-XBN_"ױ{IFPr{b$I?ZCj_6P,ɅAx3!洤g_ջq/̵Z^9 2eg|^[(t
CMnaӳ,'}?w0xOVF3Y-o}+ll]CcA1
z?y~:`8/PW5s\ֿaY?$r夏pͲsB2\lhMBs@P\8(
.23DbABcN_Bc"
@rOw..Ec$A _Y"m m,'b\(*!1$Lg8Lșq@ f&GJLi}HUp
ɨLi6ƒaFIU1qLR.R{#Swrw5"I eA4/^/3h&ڇTv$GE|(0 H-mII NM@cRK[lM. ?=B!*As0G0_1g0勘a
MC?VX-Q3?Gs:UDS\kyzX~nx櫖
9mƈmY_R3#OjXD5I\*@>>niWr?W
,'_FtMH_Bmu:HuQ H+Ob.ȚSJrPgD:U Ƣuek;$P@)1Gy b)VY5Ry~Iy;eZ}ִyf:u?ė=@{/#1C8,sL