mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-22 14:23:57 -07:00
r26
Экспорт. Коммит №24. Аватарки. _Xz_. git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@26 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
This commit is contained in:
parent
7e1b34cf89
commit
c85828a82c
4 changed files with 272 additions and 54 deletions
|
@ -167,9 +167,6 @@ if ($bb_cfg['reports_enabled'])
|
||||||
else $report_list = '';
|
else $report_list = '';
|
||||||
// Report [END]
|
// Report [END]
|
||||||
|
|
||||||
$avatar_img = '';
|
|
||||||
$avatar_img = get_avatar($userdata['user_avatar'], $userdata['user_avatar_type'], $userdata['user_allowavatar']);
|
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'SIMPLE_HEADER' => !empty($gen_simple_header),
|
'SIMPLE_HEADER' => !empty($gen_simple_header),
|
||||||
'IN_ADMIN' => defined('IN_ADMIN'),
|
'IN_ADMIN' => defined('IN_ADMIN'),
|
||||||
|
@ -209,7 +206,7 @@ $template->assign_vars(array(
|
||||||
'LOGGED_IN' => $logged_in,
|
'LOGGED_IN' => $logged_in,
|
||||||
'SESSION_USER_ID' => $userdata['user_id'],
|
'SESSION_USER_ID' => $userdata['user_id'],
|
||||||
'THIS_USERNAME' => $userdata['username'],
|
'THIS_USERNAME' => $userdata['username'],
|
||||||
'AVATAR' => $avatar_img,
|
'AVATAR' => get_avatar($userdata['user_avatar'], $userdata['user_avatar_type'], $userdata['user_allowavatar']),
|
||||||
'SHOW_LOGIN_LINK' => !defined('IN_LOGIN'),
|
'SHOW_LOGIN_LINK' => !defined('IN_LOGIN'),
|
||||||
'AUTOLOGIN_DISABLED' => !$bb_cfg['allow_autologin'],
|
'AUTOLOGIN_DISABLED' => !$bb_cfg['allow_autologin'],
|
||||||
'S_LOGIN_ACTION' => BB_ROOT ."login.php",
|
'S_LOGIN_ACTION' => BB_ROOT ."login.php",
|
||||||
|
|
|
@ -27,7 +27,7 @@ if ( !defined('IN_PHPBB') )
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
function check_image_type(&$type, &$error, &$error_msg)
|
function check_image_type(&$type, &$errors)
|
||||||
{
|
{
|
||||||
global $lang;
|
global $lang;
|
||||||
|
|
||||||
|
@ -50,8 +50,7 @@ function check_image_type(&$type, &$error, &$error_msg)
|
||||||
return '.png';
|
return '.png';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$error = true;
|
$errors[] = $lang['AVATAR_FILETYPE'];
|
||||||
$error_msg = (!empty($error_msg)) ? $error_msg . '<br />' . $lang['AVATAR_FILETYPE'] : $lang['AVATAR_FILETYPE'];
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,10 +70,10 @@ function user_avatar_delete($avatar_type, $avatar_file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ", user_avatar = '', user_avatar_type = " . USER_AVATAR_NONE;
|
return array('user_avatar' => '', 'user_avatar_type' => USER_AVATAR_NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
function user_avatar_gallery($mode, &$error, &$error_msg, $avatar_filename, $avatar_category)
|
function user_avatar_gallery($mode, &$errors, $avatar_filename, $avatar_category)
|
||||||
{
|
{
|
||||||
global $bb_cfg;
|
global $bb_cfg;
|
||||||
|
|
||||||
|
@ -92,16 +91,15 @@ function user_avatar_gallery($mode, &$error, &$error_msg, $avatar_filename, $ava
|
||||||
|
|
||||||
if ( file_exists(@phpbb_realpath($bb_cfg['avatar_gallery_path'] . '/' . $avatar_category . '/' . $avatar_filename)) && ($mode == 'editprofile') )
|
if ( file_exists(@phpbb_realpath($bb_cfg['avatar_gallery_path'] . '/' . $avatar_category . '/' . $avatar_filename)) && ($mode == 'editprofile') )
|
||||||
{
|
{
|
||||||
$return = ", user_avatar = '" . str_replace("\'", "''", $avatar_category . '/' . $avatar_filename) . "', user_avatar_type = " . USER_AVATAR_GALLERY;
|
return array('user_avatar' => str_replace("\'", "''", $avatar_category . '/' . $avatar_filename), 'user_avatar_type' => USER_AVATAR_GALLERY);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$return = '';
|
return '';
|
||||||
}
|
}
|
||||||
return $return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function user_avatar_url($mode, &$error, &$error_msg, $avatar_filename)
|
function user_avatar_url($mode, &$errors, $avatar_filename)
|
||||||
{
|
{
|
||||||
global $lang;
|
global $lang;
|
||||||
|
|
||||||
|
@ -114,21 +112,18 @@ function user_avatar_url($mode, &$error, &$error_msg, $avatar_filename)
|
||||||
|
|
||||||
if ( !preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png))$)#is", $avatar_filename) )
|
if ( !preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png))$)#is", $avatar_filename) )
|
||||||
{
|
{
|
||||||
$error = true;
|
$errors[] = $lang['WRONG_REMOTE_AVATAR_FORMAT'];
|
||||||
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['WRONG_REMOTE_AVATAR_FORMAT'] : $lang['WRONG_REMOTE_AVATAR_FORMAT'];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ( $mode == 'editprofile' ) ? ", user_avatar = '" . str_replace("\'", "''", $avatar_filename) . "', user_avatar_type = " . USER_AVATAR_REMOTE : '';
|
return array('user_avatar' => str_replace("\'", "''", $avatar_filename), 'user_avatar_type' => USER_AVATAR_REMOTE);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_type, &$error, &$error_msg, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype)
|
function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_type, &$errors, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype)
|
||||||
{
|
{
|
||||||
global $bb_cfg, $lang;
|
global $bb_cfg, $lang;
|
||||||
|
|
||||||
$avatar_sql = '';
|
|
||||||
|
|
||||||
$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
|
$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
|
||||||
|
|
||||||
$width = $height = 0;
|
$width = $height = 0;
|
||||||
|
@ -138,8 +133,7 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ
|
||||||
{
|
{
|
||||||
if ( empty($url_ary[4]) )
|
if ( empty($url_ary[4]) )
|
||||||
{
|
{
|
||||||
$error = true;
|
$errors[] = $lang['INCOMPLETE_URL'];
|
||||||
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['INCOMPLETE_URL'] : $lang['INCOMPLETE_URL'];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,8 +142,7 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ
|
||||||
|
|
||||||
if ( !($fsock = @fsockopen($url_ary[2], $port, $errno, $errstr)) )
|
if ( !($fsock = @fsockopen($url_ary[2], $port, $errno, $errstr)) )
|
||||||
{
|
{
|
||||||
$error = true;
|
$errors[] = $lang['NO_CONNECTION_URL'];
|
||||||
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['NO_CONNECTION_URL'] : $lang['NO_CONNECTION_URL'];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,15 +159,14 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ
|
||||||
|
|
||||||
if (!preg_match('#Content-Length\: ([0-9]+)[^ /][\s]+#i', $avatar_data, $file_data1) || !preg_match('#Content-Type\: image/[x\-]*([a-z]+)[\s]+#i', $avatar_data, $file_data2))
|
if (!preg_match('#Content-Length\: ([0-9]+)[^ /][\s]+#i', $avatar_data, $file_data1) || !preg_match('#Content-Type\: image/[x\-]*([a-z]+)[\s]+#i', $avatar_data, $file_data2))
|
||||||
{
|
{
|
||||||
$error = true;
|
$errors[] = $lang['FILE_NO_DATA'];
|
||||||
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['FILE_NO_DATA'] : $lang['FILE_NO_DATA'];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$avatar_filesize = $file_data1[1];
|
$avatar_filesize = $file_data1[1];
|
||||||
$avatar_filetype = $file_data2[1];
|
$avatar_filetype = $file_data2[1];
|
||||||
|
|
||||||
if ( !$error && $avatar_filesize > 0 && $avatar_filesize < $bb_cfg['avatar_filesize'] )
|
if ( !$errors && $avatar_filesize > 0 && $avatar_filesize < $bb_cfg['avatar_filesize'] )
|
||||||
{
|
{
|
||||||
$avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize);
|
$avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize);
|
||||||
|
|
||||||
|
@ -196,10 +188,7 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$l_avatar_size = sprintf($lang['AVATAR_FILESIZE'], round($bb_cfg['avatar_filesize'] / 1024));
|
$errors[] = sprintf($lang['AVATAR_FILESIZE'], round($bb_cfg['avatar_filesize'] / 1024));
|
||||||
|
|
||||||
$error = true;
|
|
||||||
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( ( file_exists(@phpbb_realpath($avatar_filename)) ) && preg_match('/\.(jpg|jpeg|gif|png)$/i', $avatar_realname) )
|
else if ( ( file_exists(@phpbb_realpath($avatar_filename)) ) && preg_match('/\.(jpg|jpeg|gif|png)$/i', $avatar_realname) )
|
||||||
|
@ -211,17 +200,14 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$l_avatar_size = sprintf($lang['AVATAR_FILESIZE'], round($bb_cfg['avatar_filesize'] / 1024));
|
$errors[] = sprintf($lang['AVATAR_FILESIZE'], round($bb_cfg['avatar_filesize'] / 1024));
|
||||||
|
|
||||||
$error = true;
|
|
||||||
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
list($width, $height, $type) = @getimagesize($avatar_filename);
|
list($width, $height, $type) = @getimagesize($avatar_filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !($imgtype = check_image_type($avatar_filetype, $error, $error_msg)) )
|
if ( !($imgtype = check_image_type($avatar_filetype, $errors)) )
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -302,18 +288,13 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ
|
||||||
}
|
}
|
||||||
|
|
||||||
@chmod('./' . $bb_cfg['avatar_path'] . "/$new_filename", 0777);
|
@chmod('./' . $bb_cfg['avatar_path'] . "/$new_filename", 0777);
|
||||||
|
return array('user_avatar' => $new_filename, 'user_avatar_type' => USER_AVATAR_UPLOAD);
|
||||||
$avatar_sql = ( $mode == 'editprofile' ) ? ", user_avatar = '$new_filename', user_avatar_type = " . USER_AVATAR_UPLOAD : "'$new_filename', " . USER_AVATAR_UPLOAD;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$l_avatar_size = sprintf($lang['AVATAR_IMAGESIZE'], $bb_cfg['avatar_max_width'], $bb_cfg['avatar_max_height']);
|
$errors[] = sprintf($lang['AVATAR_IMAGESIZE'], $bb_cfg['avatar_max_width'], $bb_cfg['avatar_max_height']);
|
||||||
|
return '';
|
||||||
$error = true;
|
|
||||||
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $avatar_sql;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function display_avatar_gallery($mode, $category, $user_id, $email, $current_email, $username, $email, $new_password, $cur_password, $password_confirm, $icq, $website, $location, $user_flag, $occupation, $interests, $signature, $viewemail, $notifypm, $notifyreply, $attachsig, $hideonline, $style, $language, $timezone, $dateformat, &$session_id)
|
function display_avatar_gallery($mode, $category, $user_id, $email, $current_email, $username, $email, $new_password, $cur_password, $password_confirm, $icq, $website, $location, $user_flag, $occupation, $interests, $signature, $viewemail, $notifypm, $notifyreply, $attachsig, $hideonline, $style, $language, $timezone, $dateformat, &$session_id)
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||||
|
|
||||||
|
$template->set_filenames(array('body' => 'usercp_register.tpl'));
|
||||||
|
|
||||||
array_deep($_POST, 'trim');
|
array_deep($_POST, 'trim');
|
||||||
|
|
||||||
set_die_append_msg();
|
set_die_append_msg();
|
||||||
|
@ -95,6 +97,8 @@ switch ($mode)
|
||||||
'user_sig' => true,
|
'user_sig' => true,
|
||||||
'user_occ' => true,
|
'user_occ' => true,
|
||||||
'user_interests' => true,
|
'user_interests' => true,
|
||||||
|
'user_avatar' => true,
|
||||||
|
'user_avatar_type' => true,
|
||||||
);
|
);
|
||||||
|
|
||||||
// Выбор профиля: для юзера свой, для админа любой
|
// Выбор профиля: для юзера свой, для админа любой
|
||||||
|
@ -121,6 +125,29 @@ switch ($mode)
|
||||||
{
|
{
|
||||||
bb_die('Профиль не найден');
|
bb_die('Профиль не найден');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
include(INC_DIR . 'ucp/usercp_avatar.php');
|
||||||
|
|
||||||
|
if ( bf($pr_data['user_opt'], 'user_opt', 'allowavatar') && ( $bb_cfg['allow_avatar_upload'] || $bb_cfg['allow_avatar_local'] || $bb_cfg['allow_avatar_remote'] ) )
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('switch_avatar_block', array() );
|
||||||
|
|
||||||
|
if ( $bb_cfg['allow_avatar_upload'] && file_exists(@phpbb_realpath('./' . $bb_cfg['avatar_path'])) )
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('switch_avatar_block.switch_avatar_local_upload', array() );
|
||||||
|
$template->assign_block_vars('switch_avatar_block.switch_avatar_remote_upload', array() );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $bb_cfg['allow_avatar_remote'] )
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('switch_avatar_block.switch_avatar_remote_link', array() );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $bb_cfg['allow_avatar_local'] && file_exists(@phpbb_realpath('./' . $bb_cfg['avatar_gallery_path'])) )
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('switch_avatar_block.switch_avatar_local_gallery', array() );
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -382,8 +409,6 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
$sig = isset($_POST['user_sig']) ? (string) $_POST['user_sig'] : $pr_data['user_sig'];
|
$sig = isset($_POST['user_sig']) ? (string) $_POST['user_sig'] : $pr_data['user_sig'];
|
||||||
if ($submit)
|
if ($submit)
|
||||||
{
|
{
|
||||||
$sig_esc = prepare_message($sig);
|
|
||||||
|
|
||||||
if (strlen($sig) > $bb_cfg['max_sig_chars'])
|
if (strlen($sig) > $bb_cfg['max_sig_chars'])
|
||||||
{
|
{
|
||||||
$errors[] = 'Слишком длинная подпись';
|
$errors[] = 'Слишком длинная подпись';
|
||||||
|
@ -396,10 +421,10 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
{
|
{
|
||||||
$errors[] = 'Подпись может содержать только BBCode';
|
$errors[] = 'Подпись может содержать только BBCode';
|
||||||
}
|
}
|
||||||
else if ($sig_esc != $pr_data['user_sig'])
|
else if ($sig != $pr_data['user_sig'])
|
||||||
{
|
{
|
||||||
$pr_data['user_sig'] = $sig_esc;
|
$pr_data['user_sig'] = $sig;
|
||||||
$db_data['user_sig'] = (string) $sig_esc;
|
$db_data['user_sig'] = (string) $sig;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$tp_data['USER_SIG'] = $pr_data['user_sig'];
|
$tp_data['USER_SIG'] = $pr_data['user_sig'];
|
||||||
|
@ -439,6 +464,169 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
$tp_data['USER_INTERESTS'] = $pr_data['user_interests'];
|
$tp_data['USER_INTERESTS'] = $pr_data['user_interests'];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'user_avatar':
|
||||||
|
case 'user_avatar_type':
|
||||||
|
if( isset($_POST['avatargallery']) && !$errors )
|
||||||
|
{
|
||||||
|
$avatar_category = ( !empty($_POST['avatarcategory']) ) ? htmlspecialchars($_POST['avatarcategory']) : '';
|
||||||
|
|
||||||
|
$dir = @opendir($bb_cfg['avatar_gallery_path']);
|
||||||
|
|
||||||
|
$avatar_images = array();
|
||||||
|
while( $file = @readdir($dir) )
|
||||||
|
{
|
||||||
|
if( $file != '.' && $file != '..' && !is_file($bb_cfg['avatar_gallery_path'] . '/' . $file) && !is_link($bb_cfg['avatar_gallery_path'] . '/' . $file) )
|
||||||
|
{
|
||||||
|
$sub_dir = @opendir($bb_cfg['avatar_gallery_path'] . '/' . $file);
|
||||||
|
|
||||||
|
$avatar_row_count = 0;
|
||||||
|
$avatar_col_count = 0;
|
||||||
|
while( $sub_file = @readdir($sub_dir) )
|
||||||
|
{
|
||||||
|
if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file) )
|
||||||
|
{
|
||||||
|
$avatar_images[$file][$avatar_row_count][$avatar_col_count] = $sub_file;
|
||||||
|
$avatar_name[$file][$avatar_row_count][$avatar_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_file)));
|
||||||
|
|
||||||
|
$avatar_col_count++;
|
||||||
|
if( $avatar_col_count == 5 )
|
||||||
|
{
|
||||||
|
$avatar_row_count++;
|
||||||
|
$avatar_col_count = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@closedir($dir);
|
||||||
|
|
||||||
|
@ksort($avatar_images);
|
||||||
|
@reset($avatar_images);
|
||||||
|
|
||||||
|
if( empty($category) )
|
||||||
|
{
|
||||||
|
list($category, ) = each($avatar_images);
|
||||||
|
}
|
||||||
|
@reset($avatar_images);
|
||||||
|
|
||||||
|
$s_categories = '<select name="avatarcategory">';
|
||||||
|
while( list($key) = each($avatar_images) )
|
||||||
|
{
|
||||||
|
$selected = ( $key == $category ) ? ' selected="selected"' : '';
|
||||||
|
if( count($avatar_images[$key]) )
|
||||||
|
{
|
||||||
|
$s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$s_categories .= '</select>';
|
||||||
|
|
||||||
|
$s_colspan = 0;
|
||||||
|
for($i = 0; $i < count($avatar_images[$category]); $i++)
|
||||||
|
{
|
||||||
|
$template->assign_block_vars("avatar_row", array());
|
||||||
|
|
||||||
|
$s_colspan = max($s_colspan, count($avatar_images[$category][$i]));
|
||||||
|
|
||||||
|
for($j = 0; $j < count($avatar_images[$category][$i]); $j++)
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('avatar_row.avatar_column', array(
|
||||||
|
"AVATAR_IMAGE" => $bb_cfg['avatar_gallery_path'] . '/' . $category . '/' . $avatar_images[$category][$i][$j],
|
||||||
|
"AVATAR_NAME" => $avatar_name[$category][$i][$j])
|
||||||
|
);
|
||||||
|
|
||||||
|
$template->assign_block_vars('avatar_row.avatar_option_column', array(
|
||||||
|
"S_OPTIONS_AVATAR" => $avatar_images[$category][$i][$j])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$s_hidden_vars = '<input type="hidden" name="avatarcatname" value="' . $category . '" />';
|
||||||
|
|
||||||
|
$template->assign_vars(array(
|
||||||
|
'S_CATEGORY_SELECT' => $s_categories,
|
||||||
|
'S_COLSPAN' => $s_colspan,
|
||||||
|
'S_PROFILE_ACTION' => append_sid("profile.php?mode=$mode"),
|
||||||
|
'S_HIDDEN_FIELDS' => $s_hidden_vars)
|
||||||
|
);
|
||||||
|
|
||||||
|
$template->set_filenames(array('body' => 'usercp_avatar_gallery.tpl'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$user_avatar_local = ( isset($_POST['avatarselect']) && !empty($_POST['submitavatar']) && $bb_cfg['allow_avatar_local'] ) ? htmlspecialchars($_POST['avatarselect']) : ( ( isset($_POST['avatarlocal']) ) ? htmlspecialchars($_POST['avatarlocal']) : '' );
|
||||||
|
$user_avatar_category = ( isset($_POST['avatarcatname']) && $bb_cfg['allow_avatar_local'] ) ? htmlspecialchars($_POST['avatarcatname']) : '' ;
|
||||||
|
|
||||||
|
$user_avatar_remoteurl = ( !empty($_POST['avatarremoteurl']) ) ? trim(htmlspecialchars($_POST['avatarremoteurl'])) : '';
|
||||||
|
$user_avatar_upload = ( !empty($_POST['avatarurl']) ) ? trim($_POST['avatarurl']) : ( ( !empty($_FILES['avatar']) && $_FILES['avatar']['tmp_name'] != "none") ? $_FILES['avatar']['tmp_name'] : '' );
|
||||||
|
$user_avatar_name = ( !empty($_FILES['avatar']['name']) ) ? $_FILES['avatar']['name'] : '';
|
||||||
|
$user_avatar_size = ( !empty($_FILES['avatar']['size']) ) ? $_FILES['avatar']['size'] : 0;
|
||||||
|
$user_avatar_filetype = ( !empty($_FILES['avatar']['type']) ) ? $_FILES['avatar']['type'] : '';
|
||||||
|
|
||||||
|
$user_avatar = ( empty($user_avatar_local)) ? $pr_data['user_avatar'] : '';
|
||||||
|
$user_avatar_type = ( empty($user_avatar_local)) ? $pr_data['user_avatar_type'] : '';
|
||||||
|
|
||||||
|
if ( (isset($_POST['avatargallery']) || isset($_POST['submitavatar']) || isset($_POST['cancelavatar'])) && (!isset($submit)) )
|
||||||
|
{
|
||||||
|
if ( !isset($_POST['cancelavatar']))
|
||||||
|
{
|
||||||
|
$user_avatar = $user_avatar_category . '/' . $user_avatar_local;
|
||||||
|
$user_avatar_type = USER_AVATAR_GALLERY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$ini_val = ( phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
|
||||||
|
$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$bb_cfg['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';
|
||||||
|
|
||||||
|
$avatar = '';
|
||||||
|
|
||||||
|
if ( isset($_POST['avatardel']) && $mode == 'editprofile' )
|
||||||
|
{
|
||||||
|
$avatar = user_avatar_delete($pr_data['user_avatar_type'], $pr_data['user_avatar']);
|
||||||
|
}
|
||||||
|
else if ( ( !empty($user_avatar_upload) || !empty($user_avatar_name) ) && $bb_cfg['allow_avatar_upload'] )
|
||||||
|
{
|
||||||
|
if ( !empty($user_avatar_upload) )
|
||||||
|
{
|
||||||
|
$avatar_mode = (empty($user_avatar_name)) ? 'remote' : 'local';
|
||||||
|
$avatar = user_avatar_upload($mode, $avatar_mode, $pr_data['user_avatar'], $pr_data['user_avatar_type'], $errors, $user_avatar_upload, $user_avatar_name, $user_avatar_size, $user_avatar_filetype);
|
||||||
|
}
|
||||||
|
else if ( !empty($user_avatar_name) )
|
||||||
|
{
|
||||||
|
$errors[] = sprintf($lang['AVATAR_FILESIZE'], round($bb_cfg['avatar_filesize'] / 1024));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( $user_avatar_remoteurl != '' && $bb_cfg['allow_avatar_remote'] )
|
||||||
|
{
|
||||||
|
user_avatar_delete($pr_data['user_avatar_type'], $pr_data['user_avatar']);
|
||||||
|
$avatar = user_avatar_url($mode, $errors, $user_avatar_remoteurl);
|
||||||
|
}
|
||||||
|
else if ( $user_avatar_local != '' && $bb_cfg['allow_avatar_local'] )
|
||||||
|
{
|
||||||
|
user_avatar_delete($pr_data['user_avatar_type'], $pr_data['user_avatar']);
|
||||||
|
$avatar = user_avatar_gallery($mode, $errors, $user_avatar_local, $user_avatar_category);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($avatar)
|
||||||
|
{
$user_avatar = $avatar['user_avatar'];
|
||||||
|
$user_avatar_type = $avatar['user_avatar_type'];
|
||||||
|
$hidden_vars = '';
|
||||||
|
foreach($_POST as $name => $key)
|
||||||
|
{
|
||||||
|
$hidden_vars .= '<input type="hidden" name="'. $name .'" value="'. $key .'" />';
|
||||||
|
}
|
||||||
|
$tp_data['USER_AVATAR'] = get_avatar($user_avatar, $user_avatar_type) . $hidden_vars;
}
|
||||||
|
else
|
||||||
|
{
$tp_data['USER_AVATAR'] = get_avatar($pr_data['user_avatar'], $pr_data['user_avatar_type']);
}
|
||||||
|
if ($submit)
|
||||||
|
{
|
||||||
|
if ( $user_avatar != $pr_data['user_avatar'] || $user_avatar_type != $pr_data['user_avatar_type'])
|
||||||
|
{
|
||||||
|
$db_data['user_avatar'] = $avatar['user_avatar'];
|
||||||
|
$db_data['user_avatar_type'] = $avatar['user_avatar_type'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* default
|
* default
|
||||||
*/
|
*/
|
||||||
|
@ -534,8 +722,6 @@ if ($submit && !$errors)
|
||||||
|
|
||||||
$template->assign_vars($tp_data);
|
$template->assign_vars($tp_data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'PAGE_TITLE' => ($mode == 'editprofile') ? 'Редактирование профиля'. ($adm_edit ? " :: {$pr_data['username']}" : '') : 'Регистрация',
|
'PAGE_TITLE' => ($mode == 'editprofile') ? 'Редактирование профиля'. ($adm_edit ? " :: {$pr_data['username']}" : '') : 'Регистрация',
|
||||||
'SHOW_REG_AGREEMENT' => ($mode == 'register' && !IS_ADMIN),
|
'SHOW_REG_AGREEMENT' => ($mode == 'register' && !IS_ADMIN),
|
||||||
|
@ -548,6 +734,7 @@ $template->assign_vars(array(
|
||||||
|
|
||||||
'TIMEZONE_SELECT' => tz_select($user_timezone, 'user_timezone'),
|
'TIMEZONE_SELECT' => tz_select($user_timezone, 'user_timezone'),
|
||||||
|
|
||||||
|
'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatar_max_width'], $bb_cfg['avatar_max_height'], (round($bb_cfg['avatar_filesize'] / 1024))),
|
||||||
|
|
||||||
'PR_USER_ID' => $pr_data['user_id'],
|
'PR_USER_ID' => $pr_data['user_id'],
|
||||||
'U_RESET_AUTOLOGIN' => "login.php?logout=1&reset_autologin=1&sid={$userdata['session_id']}",
|
'U_RESET_AUTOLOGIN' => "login.php?logout=1&reset_autologin=1&sid={$userdata['session_id']}",
|
||||||
|
@ -594,5 +781,8 @@ function set_pr_die_append_msg ($pr_uid)
|
||||||
');
|
');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require(PAGE_HEADER);
|
||||||
|
|
||||||
print_page('usercp_register.tpl');
|
$template->pparse('body');
|
||||||
|
|
||||||
|
require(PAGE_FOOTER);
|
||||||
|
|
|
@ -158,8 +158,58 @@ ajax.callback.user_register = function(data){
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
<!-- IF SHOW_DATEFORMAT -->
|
||||||
|
<tr>
|
||||||
|
<td>{L_DATE_FORMAT}:<h6>{L_DATE_FORMAT_EXPLAIN}</h6></td>
|
||||||
|
<td><input type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="14" /></td>
|
||||||
|
</tr>
|
||||||
|
<!-- ENDIF -->
|
||||||
|
<!-- BEGIN switch_avatar_block -->
|
||||||
|
<tr>
|
||||||
|
<th colspan="2">{L_AVATAR_PANEL}</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<table class="borderless bCenter w80 med">
|
||||||
|
<tr>
|
||||||
|
<td>{AVATAR_EXPLAIN}</td>
|
||||||
|
<td class="tCenter nowrap">
|
||||||
|
<p>{L_CURRENT_IMAGE}</p>
|
||||||
|
<p class="mrg_6">{USER_AVATAR}</p>
|
||||||
|
<p><label><input type="checkbox" name="avatardel" /> {L_DELETE_IMAGE}</label></p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<!-- BEGIN switch_avatar_local_upload -->
|
||||||
|
<tr>
|
||||||
|
<td>{L_UPLOAD_AVATAR_FILE}:</td>
|
||||||
|
<td>
|
||||||
|
<input type="file" name="avatar" size="40" />
|
||||||
|
<input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_SIZE}" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<!-- END switch_avatar_local_upload -->
|
||||||
|
<!-- BEGIN switch_avatar_remote_upload -->
|
||||||
|
<tr>
|
||||||
|
<td>{L_UPLOAD_AVATAR_URL}:<h6>{L_UPLOAD_AVATAR_URL_EXPLAIN}</h6></td>
|
||||||
|
<td><input type="text" name="avatarurl" size="44" /></td>
|
||||||
|
</tr>
|
||||||
|
<!-- END switch_avatar_remote_upload -->
|
||||||
|
<!-- BEGIN switch_avatar_remote_link -->
|
||||||
|
<tr>
|
||||||
|
<td>{L_LINK_REMOTE_AVATAR}:<h6>{L_LINK_REMOTE_AVATAR_EXPLAIN}</h6></td>
|
||||||
|
<td><input type="text" name="avatarremoteurl" size="44" /></td>
|
||||||
|
</tr>
|
||||||
|
<!-- END switch_avatar_remote_link -->
|
||||||
|
<!-- BEGIN switch_avatar_local_gallery -->
|
||||||
|
<tr>
|
||||||
|
<td>{L_AVATAR_GALLERY}:</td>
|
||||||
|
<td><input type="submit" name="avatargallery" value="{L_VIEW_AVATAR_GALLERY}" class="lite" /></td>
|
||||||
|
</tr>
|
||||||
|
<!-- END switch_avatar_local_gallery -->
|
||||||
|
<!-- END switch_avatar_block -->
|
||||||
<!-- ENDIF / EDIT_PROFILE -->
|
<!-- ENDIF / EDIT_PROFILE -->
|
||||||
|
|
||||||
<!-- IF SHOW_REG_AGREEMENT -->
|
<!-- IF SHOW_REG_AGREEMENT -->
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue