diff --git a/phpBB/profile.php b/phpBB/profile.php index e2d84988bb..ac64dbe972 100644 --- a/phpBB/profile.php +++ b/phpBB/profile.php @@ -258,7 +258,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) $percentage = 0; } - if( !empty($profiledata['user_viewemail']) ) + if( !empty($profiledata['user_viewemail']) || $userdata['user_level'] == ADMIN ) { $email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL ."=" . $profiledata['user_id']) : "mailto:" . $profiledata['user_email']; @@ -731,7 +731,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) } $avatar_sql = ", user_avatar = '', user_avatar_type = " . USER_AVATAR_NONE; } - else if( $board_config['allow_avatar_upload'] && !$error ) + else if( ( $user_avatar_loc != "" || !empty($user_avatar_url) ) && $board_config['allow_avatar_upload'] && !$error ) { // // Only allow one type of upload, either a @@ -747,7 +747,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) $error_msg .= $lang['Only_one_avatar']; } - if( $user_avatar_loc != "" && $board_config['allow_avatar_upload'] ) + if( $user_avatar_loc != "" ) { if( file_exists($user_avatar_loc) && ereg(".jpg$|.gif$|.png$", $user_avatar_name) ) { @@ -823,7 +823,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) $error_msg = ( !empty($error_msg) ) ? $error_msg . "
" . $lang['Avatar_filetype'] : $lang['Avatar_filetype']; } } - else if( !empty($user_avatar_url) && $board_config['allow_avatar_upload'] ) + else if( !empty($user_avatar_url) ) { // // First check what port we should connect @@ -959,32 +959,26 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) $error_msg = ( !empty($error_msg) ) ? $error_msg . "
" . $l_avatar_size : $l_avatar_size; } } - else if( $board_config['allow_avatar_remote'] && !$error ) + else if( $user_avatar_remoteurl != "" && $board_config['allow_avatar_remote'] && $avatar_sql == "" && !$error ) { - if($user_avatar_remoteurl != "" && $avatar_sql == "") + if( !preg_match("#^http:\/\/#i", $user_avatar_remoteurl) ) { - if( !preg_match("#^http:\/\/#i", $user_avatar_remoteurl) ) - { - $user_avatar_remoteurl = "http://" . $user_avatar_remoteurl; - } + $user_avatar_remoteurl = "http://" . $user_avatar_remoteurl; + } - if( preg_match("#^http:\/\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+\/.*?\.(gif|jpg|png)$#is", $user_avatar_remoteurl) ) - { - $avatar_sql = ", user_avatar = '$user_avatar_remoteurl', user_avatar_type = " . USER_AVATAR_REMOTE; - } - else - { - $error = true; - $error_msg = ( !empty($error_msg) ) ? $error_msg . "
" . $lang['Wrong_remote_avatar_format'] : $lang['Wrong_remote_avatar_format']; - } + if( preg_match("#^http:\/\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+\/.*?\.(gif|jpg|png)$#is", $user_avatar_remoteurl) ) + { + $avatar_sql = ", user_avatar = '$user_avatar_remoteurl', user_avatar_type = " . USER_AVATAR_REMOTE; + } + else + { + $error = true; + $error_msg = ( !empty($error_msg) ) ? $error_msg . "
" . $lang['Wrong_remote_avatar_format'] : $lang['Wrong_remote_avatar_format']; } } - else if( $board_config['allow_avatar_local'] && !$error ) + else if( $user_avatar_local != "" && $board_config['allow_avatar_local'] && $avatar_sql == "" && !$error ) { - if( $user_avatar_local != "" && $avatar_sql == "" ) - { - $avatar_sql = ", user_avatar = '$user_avatar_local', user_avatar_type = " . USER_AVATAR_GALLERY; - } + $avatar_sql = ", user_avatar = '$user_avatar_local', user_avatar_type = " . USER_AVATAR_GALLERY; } if( !$error ) @@ -1338,7 +1332,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) $avatar_images = array(); while( $file = @readdir($dir) ) { - if( $file != "." && $file != ".." && !is_file($file) && !is_link($file) ) + if( $file != "." && $file != ".." && !is_file($board_config['avatar_gallery_path'] . "/" . $file) && !is_link($board_config['avatar_gallery_path'] . "/" . $file) ) { $sub_dir = @opendir($board_config['avatar_gallery_path'] . "/" . $file); @@ -1909,7 +1903,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) $user_email = $row['user_email']; $user_lang = $row['user_lang']; - if( $row['user_viewemail'] ) + if( $row['user_viewemail'] || $userdata['user_level'] == ADMIN ) { if( time() - $userdata['user_emailtime'] < $board_config['flood_interval'] ) {