Wenn das so ist hätte ich einen schönen Mod für euch

EDIT: Habe den Mod unten gepostet. Viel Spaß!
Code: Alles auswählen
ALTER TABLE users ADD avatar_remote_height SMALLINT(4) UNSIGNED DEFAULT '0' NOT NULL AFTER user_avatar_type,
ADD avatar_remote_width SMALLINT(4) UNSIGNED DEFAULT '0' NOT NULL AFTER avatar_remote_height;
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------------
#
$avatar_sql = user_avatar_delete($userdata['user_avatar_type'], $userdata['user_avatar']);
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Kontolle Remote Avatar Imagesize Add by Downer
$avatar_sql .= ", avatar_remote_height = '', avatar_remote_width = ''";
// Kontolle Remote Avatar Imagesize End
#
#-----[ FIND ]------------------------------------------------
#
$avatar_sql = user_avatar_url($mode, $error, $error_msg, $user_avatar_remoteurl);
#
#-----[ REPLACE WITH ]------------------------------------------
#
// Remote Avatar Imagesize Controle by Downer
//$avatar_sql = user_avatar_url($mode, $error, $error_msg, $user_avatar_remoteurl);
// Wenn für das Remote Avatar eigene Max Größen verwendet werden sollen, in den folgenden beiden Zeilen $board_config['avatar_max_heigh'] und $board_config['avatar_max_width'] gegen feste Werte ersetzen:
$avatar_remote_max_height = $board_config['avatar_max_heigh'];
$avatar_remote_max_width = $board_config['avatar_max_width'];
$avatar_remote_size_sql = '';
usleep(1500);
if ( list($image_width, $image_height) = @getimagesize($user_avatar_remoteurl) )
{
if( ($avatar_remote_max_height != 0 && $image_height > $avatar_remote_max_height) || ($avatar_remote_max_width != 0 && $image_width > $avatar_remote_max_width) )
{
$error = TRUE;
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' : '';
$error_msg .= 'Falsche Abmessungen für das Remote Avatar: '.$image_height.' x '.$image_width.' px. Erlaubt sind maximal '.$avatar_remote_max_height.' x '.$avatar_remote_max_width.' px (h x b).';
}
else
{
$avatar_remote_size_sql = ", avatar_remote_height = $image_height, avatar_remote_width = $image_width";
}
}
$avatar_sql = user_avatar_url($mode, $error, $error_msg, $user_avatar_remoteurl);
$avatar_sql .= $avatar_remote_size_sql;
// Remote Avatar Imagesize Controle by Downer End
#
#-----[ OPEN ]------------------------------------------------
#
viewtopic.php
#
#-----[ FIND ]------------------------------------------------
#
$poster_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
#
#-----[ REPLACE WITH ]------------------------------------------------
#
// Kontolle Remote Avatar Imagesize Add by Downer
//$poster_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
$poster_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $postrow[$i]['user_avatar'] . '" width="'.$postrow[$i]['avatar_remote_width'].'" height="'.$postrow[$i]['avatar_remote_height'].'" alt="" border="0" />' : '';
// Kontolle Remote Avatar Imagesize End
Code: Alles auswählen
<?php
// ************************************************************
// Resync Remote Avatars Tool v1.0
// Programmed by Downer, Webmaster @ http://www.kaltmacher.de
// ************************************************************
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$avatar_remote_max_height = $board_config['avatar_max_heigh'];
$avatar_remote_max_width = $board_config['avatar_max_width'];
$sql = "SELECT user_id, username, user_avatar_type, user_avatar
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "
AND user_avatar_type = 2
ORDER BY user_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$users = 0;
$error_avatars = 0;
$avatars = 0;
$user_id_error_array = array();
$username_error_array = array();
$user_id_array = array();
$username_array = array();
do
{
$error = FALSE;
$username = $row['username'];
$user_id = $row['user_id'];
$user_avatar_remoteurl = $row['user_avatar'];
//usleep(1500);
if ( list($image_width, $image_height) = @getimagesize($user_avatar_remoteurl) )
{
if( ($avatar_remote_max_height != 0 && $image_height > $avatar_remote_max_height) || ($avatar_remote_max_width != 0 && $image_width > $avatar_remote_max_width) )
{
$error = TRUE;
}
}
else $error = TRUE;
if ( $error )
{
$user_id_error_array[] = $user_id;
$username_error_array[] = $username;
$error_avatars++;
$sql2 = "UPDATE " . USERS_TABLE . " SET user_avatar = '', user_avatar_type = " . USER_AVATAR_NONE . ", avatar_remote_height = '', avatar_remote_width = ''
WHERE user_id = $user_id
";
if ( !($result2 = $db->sql_query($sql2)) )
{
message_die(GENERAL_ERROR, 'Could not delete Remote Avatar', '', __LINE__, __FILE__, $sql2);
}
}
else
{
$user_id_array[] = $user_id;
$username_array[] = $username;
$avatars++;
$sql2 = "UPDATE " . USERS_TABLE . " SET avatar_remote_height = $image_height, avatar_remote_width = $image_width
WHERE user_id = $user_id
";
if ( !($result2 = $db->sql_query($sql2)) )
{
message_die(GENERAL_ERROR, 'Could not update Remote Avatar', '', __LINE__, __FILE__, $sql2);
}
}
$users++;
}
while ( $row = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);
}
$error_user_ids = implode(", ",$user_id_error_array);
$error_usernames = implode(", ",$username_error_array);
$user_ids = implode(", ",$user_id_array);
$usernames = implode(", ",$username_array);
die($users.' Remote Avatars<br><br>'.$error_avatars.' Errors, Data deleted: '.$error_usernames.'<br><br>'.$avatars.' OK, Data updated: '.$usernames);
?>
Code: Alles auswählen
ALTER TABLE phpbb_users ADD avatar_remote_height SMALLINT(4) UNSIGNED DEFAULT '0' NOT NULL AFTER user_avatar_type,
ADD avatar_remote_width SMALLINT(4) UNSIGNED DEFAULT '0' NOT NULL AFTER avatar_remote_height;