function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_type, &$error, &$error_msg, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype) { global $board_config, $db, $lang; $ini_val = @phpversion() >= '4.0.0' ? 'ini_get' : 'get_cfg_var'; if ($avatar_mode == 'remote' && preg_match('/^(http:\\/\\/)?([\\w\\-\\.]+)\\:?([0-9]*)\\/(.*)$/', $avatar_filename, $url_ary)) { if (empty($url_ary[4])) { $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $lang['Incomplete_URL'] : $lang['Incomplete_URL']; return; } $base_get = '/' . $url_ary[4]; $port = !empty($url_ary[3]) ? $url_ary[3] : 80; if (!($fsock = @fsockopen($url_ary[2], $port, $errno, $errstr))) { $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $lang['No_connection_URL'] : $lang['No_connection_URL']; return; } @fputs($fsock, "GET {$base_get} HTTP/1.1\r\n"); @fputs($fsock, "HOST: " . $url_ary[2] . "\r\n"); @fputs($fsock, "Connection: close\r\n\r\n"); unset($avatar_data); while (!@feof($fsock)) { $avatar_data .= @fread($fsock, $board_config['avatar_filesize']); } @fclose($fsock); 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; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $lang['File_no_data'] : $lang['File_no_data']; return; } $avatar_filesize = $file_data1[1]; $avatar_filetype = $file_data2[1]; if (!$error && $avatar_filesize > 0 && $avatar_filesize < $board_config['avatar_filesize']) { $avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize); $tmp_path = !@$ini_val('safe_mode') ? '/tmp' : './' . $board_config['avatar_path'] . '/tmp'; $tmp_filename = tempnam($tmp_path, uniqid(rand()) . '-'); $fptr = @fopen($tmp_filename, 'wb'); $bytes_written = @fwrite($fptr, $avatar_data, $avatar_filesize); @fclose($fptr); if ($bytes_written != $avatar_filesize) { @unlink($tmp_filename); message_die(GENERAL_ERROR, 'Could not write avatar file to local storage. Please contact the board administrator with this message', '', __LINE__, __FILE__); } list($width, $height) = @getimagesize($tmp_filename); } else { $l_avatar_size = sprintf($lang['Avatar_filesize'], round($board_config['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)) { if ($avatar_filesize <= $board_config['avatar_filesize'] && $avatar_filesize > 0) { preg_match('#image\\/[x\\-]*([a-z]+)#', $avatar_filetype, $avatar_filetype); $avatar_filetype = $avatar_filetype[1]; } else { $l_avatar_size = sprintf($lang['Avatar_filesize'], round($board_config['avatar_filesize'] / 1024)); $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size; return; } list($width, $height) = @getimagesize($avatar_filename); } } if (!($imgtype = check_image_type($avatar_filetype, $error, $error_msg))) { return; } if ($width <= $board_config['avatar_max_width'] && $height <= $board_config['avatar_max_height']) { $new_filename = uniqid(rand()) . $imgtype; if ($mode == 'editprofile' && $current_type == USER_AVATAR_UPLOAD && $current_avatar != '') { if (file_exists(@phpbb_realpath('./' . $board_config['avatar_path'] . '/' . $current_avatar))) { @unlink('./' . $board_config['avatar_path'] . '/' . $current_avatar); } } if ($avatar_mode == 'remote') { @copy($tmp_filename, './' . $board_config['avatar_path'] . "/{$new_filename}"); @unlink($tmp_filename); } else { if (@$ini_val('open_basedir') != '') { if (@phpversion() < '4.0.3') { message_die(GENERAL_ERROR, 'open_basedir is set and your PHP version does not allow move_uploaded_file', '', __LINE__, __FILE__); } $move_file = 'move_uploaded_file'; } else { $move_file = 'copy'; } $move_file($avatar_filename, './' . $board_config['avatar_path'] . "/{$new_filename}"); } @chmod('./' . $board_config['avatar_path'] . "/{$new_filename}", 0777); $avatar_sql = $mode == 'editprofile' ? ", user_avatar = '{$new_filename}', user_avatar_type = " . USER_AVATAR_UPLOAD : "'{$new_filename}', " . USER_AVATAR_UPLOAD; } else { $l_avatar_size = sprintf($lang['Avatar_imagesize'], $board_config['avatar_max_width'], $board_config['avatar_max_height']); $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size; } return $avatar_sql; }
//保存数据 if ($action == "save") { $check_info = 1; //检测输入内容 if (trim($_POST['name']) == "") { $ActionMessage = $strErrNull; $check_info = 0; $action = $mark_id != "" ? "edit" : "add"; } if ($check_info == 1 && trim($_POST['linkUrl']) == "") { $ActionMessage = $strErrNull; $check_info = 0; $action = $mark_id != "" ? "edit" : "add"; } //检测链接图片的尺寸 if ($check_info == 1 && !check_image_type($_FILES["linkImage"]["name"])) { $check_info = 0; $action = $mark_id != "" ? "edit" : "add"; $ActionMessage = $strCategoryImage . $strImgTypeMemo; } if ($check_info == 1 && $_FILES["linkImage"]["name"] != "") { $arrISize = get_image_size($_FILES["linkImage"]["tmp_name"]); if ($arrISize[1] > 16 && $arrISize[3] > 16) { $check_info = 0; $ActionMessage = $strCategoryImageError; $action = $mark_id != "" ? "edit" : "add"; } else { //上传图片 $linkImage = upload_file($_FILES["linkImage"]["tmp_name"], $_FILES["linkImage"]["name"], "../attachments"); } } else {
/** * function validatePicture. * * validation for file upload from form * * @param string $fieldname * fieldname of input file form */ function validatePicture($fieldname) { $error = ''; if (!empty($_FILES[$fieldname]['error'])) { switch ($_FILES[$fieldname]['error']) { case '1': $error = 'Upload maximum file is ' . number_format(IMG_UPLOAD_MAX_SIZE / 1024, 2) . ' MB.'; break; case '2': $error = 'File is too big, please upload with smaller size.'; break; case '3': $error = 'File uploaded, but only halef of file.'; break; case '4': $error = 'There is no File to upload'; break; case '6': $error = 'Temporary folder not exists, Please try again.'; break; case '7': $error = 'Failed to record File into disk.'; break; case '8': $error = 'Upload file has been stop by extension.'; break; case '999': default: $error = 'No error code avaiable'; } } elseif (empty($_FILES[$fieldname]['tmp_name']) || $_FILES[$fieldname]['tmp_name'] == 'none') { $error = 'There is no File to upload.'; } elseif ($_FILES[$fieldname]['size'] > IMG_UPLOAD_MAX_SIZE) { $error = 'Upload maximum file is ' . number_format(IMG_UPLOAD_MAX_SIZE / 1024, 2) . ' MB.'; } else { //$get_ext = substr($_FILES[$fieldname]['name'],strlen($_FILES[$fieldname]['name'])-3,3); $cekfileformat = check_image_type($_FILES[$fieldname]); if (!$cekfileformat) { $error = 'Upload Picture only allow (jpg, gif, png)'; } } return $error; }
function avatar_upload($avatar_mode, &$current_avatar, &$current_type, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype, &$avatar_error) { global $config, $db; global $strAvatarErreurUrl, $strAvatarErreurConnexion, $strAvatarErreurData, $strAvatarErreurWrite, $strAvatarErreurFileSize, $strAvatarErreurXYSize, $strAvatarErreurFileType; /*** si c'est un upload remote ***/ if ($avatar_mode == 'remote' && preg_match('/^(http:\\/\\/)?([\\w\\-\\.]+)\\:?([0-9]*)\\/(.*)$/', $avatar_filename, $url_ary)) { if (empty($url_ary[4])) { $avatar_error = true; show_erreur($strAvatarErreurUrl); return; } $base_get = '/' . $url_ary[4]; $port = !empty($url_ary[3]) ? $url_ary[3] : 80; if (!($fsock = @fsockopen($url_ary[2], $port, $errno, $errstr))) { $avatar_error = true; show_erreur($strAvatarErreurConnexion); return; } @fputs($fsock, "GET {$base_get} HTTP/1.1\r\n"); @fputs($fsock, "HOST: " . $url_ary[2] . "\r\n"); @fputs($fsock, "Connection: close\r\n\r\n"); unset($avatar_data); while (!@feof($fsock)) { $avatar_data .= @fread($fsock, $config['avatar_filesize_max']); } @fclose($fsock); 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)) { $avatar_error = true; show_erreur($strAvatarErreurData); return; } $avatar_filesize = $file_data1[1]; $avatar_filetype = $file_data2[1]; if ($avatar_filesize > 0 && $avatar_filesize < $config['avatar_filesize_max']) { $avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize); $tmp_path = $config['avatars_path'] . '/tmp'; $tmp_filename = tempnam($tmp_path, uniqid(rand()) . '-'); $fptr = @fopen($tmp_filename, 'wb'); $bytes_written = @fwrite($fptr, $avatar_data, $avatar_filesize); @fclose($fptr); if ($bytes_written != $avatar_filesize) { @unlink($tmp_filename); $avatar_error = true; show_erreur($strAvatarErreurWrite); return; } list($width, $height) = @getimagesize($tmp_filename); } else { $avatar_error = true; show_erreur("{$strAvatarErreurFileSize} (" . CoolSize($config['avatar_filesize_max']) . ")"); return; } } elseif ($avatar_mode == 'local' && file_exists($avatar_filename)) { if ($avatar_filesize <= $config['avatar_filesize_max'] && $avatar_filesize > 0) { preg_match('#image\\/[x\\-]*([a-z]+)#', $avatar_filetype, $avatar_filetype); $avatar_filetype = $avatar_filetype[1]; } else { $avatar_error = true; show_erreur("{$strAvatarErreurFileSize} (" . CoolSize($config['avatar_filesize_max']) . ")"); return; } list($width, $height) = @getimagesize($avatar_filename); } if (!($imgtype = check_image_type($avatar_filetype))) { $avatar_error = true; show_erreur("{$strAvatarErreurFileType} ({$avatar_filetype})"); return; } if ($width <= $config['avatar_x_max'] && $height <= $config['avatar_y_max']) { $new_filename = uniqid(rand()) . $imgtype; /*** si un avatar uploadé existe deja pour l'entité, on l'efface ***/ if ($current_type == 'U' && $current_avatar != '') { if (file_exists($config['avatars_path'] . "/{$current_avatar}")) { @unlink($config['avatars_path'] . "/{$current_avatar}"); } } if ($avatar_mode == 'remote') { @copy($tmp_filename, $config['avatars_path'] . "/{$new_filename}"); @unlink($tmp_filename); } elseif ($avatar_mode == 'local') { @move_uploaded_file($avatar_filename, $config['avatars_path'] . "/{$new_filename}"); } @chmod($config['avatars_path'] . "/{$new_filename}", 0777); $avatar_sql = "avatar = '{$new_filename}', avatar_type = 'U'"; } else { $avatar_error = true; show_erreur("{$strAvatarErreurXYSize} (" . $config['avatar_x_max'] . "x" . $config['avatar_y_max'] . ")"); } return $avatar_sql; }
settings_recache(); header("location: setting.php"); exit; } //保存 $err = 0; if ($action == "save") { $checkinfo = true; $logo_file = $_FILES["logo"]["tmp_name"]; $favicon_file = $_FILES["favicon"]["tmp_name"]; //检测Logo & Favicon的尺寸 if ($checkinfo && !check_image_type($_FILES["logo"]["name"])) { $checkinfo = false; $ActionMessage = $strLogo . $strImgTypeMemo; } if ($checkinfo && !check_image_type($_FILES["favicon"]["name"])) { $checkinfo = false; $ActionMessage = $strFavicon . $strImgTypeMemo; } //Save if ($checkinfo) { //上传Logo && Favicon文件 if ($_FILES["logo"]["name"] != "") { $logo = upload_file($logo_file, $_FILES["logo"]["name"], "../attachments"); } if ($_FILES["favicon"]["name"] != "") { $favicon = upload_file($favicon_file, $_FILES["favicon"]["name"], "../attachments"); } //特殊处理 /*$_POST['name']=encode($_POST['name']); $_POST['master']=encode($_POST['master']);
exit; } $file_size = $_FILES["media_file"]["size"]; if ($file_size <= 125829120) { if ($_FILES["media_file"]["error"] == 0) { $video_ext = array('mp4', 'wmv', 'mov', 'avi'); $ext = strtolower(end(explode('.', $_FILES["media_file"]['name']))); if (in_array($ext, $video_ext)) { $upload_dir1 = dirname(__FILE__) . '/upload/video_file'; $tmp_name1 = $_FILES["media_file"]["tmp_name"]; $file1 = time() . $_FILES["media_file"]['name']; $st1 = move_uploaded_file($tmp_name1, "{$upload_dir1}/{$file1}"); $fileUrl = plugins_url() . "/video_sitemap_xml/upload/video_file/{$file1}"; $html_data = '[video url="' . $fileUrl; if ($_FILES["media_thumb"]["error"] == 0) { if (check_image_type($_FILES["media_thumb"]['name'])) { $upload_dir2 = dirname(__FILE__) . '/upload/thumb'; $tmp_name2 = $_FILES["media_thumb"]["tmp_name"]; $file2 = time() . $_FILES["media_thumb"]['name']; $st2 = move_uploaded_file($tmp_name2, "{$upload_dir2}/{$file2}"); $thumbUrl = plugins_url() . "/video_sitemap_xml/upload/thumb/{$file2}"; $html_data .= '" thumb="' . $thumbUrl; } else { echo '<div id="err" style="color:#FF0000;" align="center">Valid allowed file types :jpg,jpeg,gif,png</div>'; exit; } } $html_data .= '"]'; } else { echo '<div id="err" style="color:#FF0000;" align="center">Please select only video File i.e(mp4, wmv, mov, avi) file</div>'; exit;
echo $file_title ? substr($file_title, 0, strrpos($file_title, ".")) : " "; ?> </td> <td width="16%" nowrap class="subcontent-td"> <?php echo formatFileSize(filesize($basedir . $filelist[$index])); ?> </td> <td width="16%" nowrap class="subcontent-td"> <?php echo format_time("L", filemtime($basedir . $filelist[$index])); ?> </td> <td width="5%" nowrap class="subcontent-td" align="center"> <?php if (check_image_type($basedir . $filelist[$index])) { ?> <a href="<?php echo $basedir . $filelist[$index]; ?> " target="_blank"><img src="<?php echo $basedir . $filelist[$index]; ?> " width="30" height="30"/></a> <?php } else { ?> <?php } ?>
function avatar_upload($remote, &$userinfo, $avatar_filename, $avatar) { require_once CORE_PATH . 'classes/cpg_file.php'; global $MAIN_CFG, $db, $lang; if ($remote) { if (!preg_match('/^(http:\\/\\/)?([\\w\\-\\.]+)\\:?([0-9]*)\\/(.*)$/', $avatar_filename, $url_ary) || empty($url_ary[4])) { cpg_error('The URL you entered is incomplete'); } $avatar = get_fileinfo($avatar_filename, !$MAIN_CFG['avatar']['animated'], true); if (!isset($avatar['size'])) { cpg_error(_AVATAR_ERR_DATA); } elseif ($avatar['animation'] && !$MAIN_CFG['avatar']['animated']) { cpg_error('Animated avatar not allowed'); } $avatar_filesize = $avatar['size']; $avatar_filetype = $avatar['type']; $imgtype = check_image_type($avatar_filetype); if ($avatar['size'] > 0 && $avatar['size'] < $MAIN_CFG['avatar']['filesize']) { $new_filename = $userinfo['user_id'] . '_' . uniqid(rand()) . $imgtype; $avatar_filename = $MAIN_CFG['avatar']['path'] . "/{$new_filename}"; if (CPG_File::write($avatar_filename, $avatar['data']) != $avatar['size']) { trigger_error('Could not write avatar to local storage', E_USER_ERROR); } } } else { $avatar_filesize = $avatar['size']; $avatar_filetype = $avatar['type']; $imgtype = check_image_type($avatar_filetype); $new_filename = $userinfo['user_id'] . '_' . uniqid(rand()) . $imgtype; $avatar_filename = $MAIN_CFG['avatar']['path'] . "/{$new_filename}"; if (!CPG_File::move_upload($avatar, $avatar_filename)) { trigger_error('Could not copy avatar to local storage', E_USER_ERROR); } if (!$MAIN_CFG['avatar']['animated'] && ($fp = fopen($avatar_filename, 'rb'))) { $data = fread($fp, $avatar_filesize); fclose($fp); $data = preg_split('/\\x00[\\x00-\\xFF]\\x00\\x2C/', $data); // split GIF frames if (count($data) > 2) { unlink($avatar_filename); cpg_error('Animated avatar not allowed'); } unset($data); } } if ($avatar_filesize < 40 || $avatar_filesize > $MAIN_CFG['avatar']['filesize']) { unlink($avatar_filename); cpg_error(sprintf(_AVATAR_FILESIZE, round($MAIN_CFG['avatar']['filesize'] / 1024))); } avatar_size($avatar_filename, true); avatar_delete($userinfo); return "user_avatar='{$new_filename}', user_avatar_type=1"; }
function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_type, &$error, &$error_msg, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype) { global $db, $cache, $config, $lang; $ini_val = @phpversion() >= '4.0.0' ? 'ini_get' : 'get_cfg_var'; $width = $height = 0; $type = ''; if ($avatar_mode == 'remote' && preg_match('/^(http:\\/\\/)?([\\w\\-\\.]+)\\:?([0-9]*)\\/([^ \\?&=\\#\\"\\n\\r\\t<]*?(\\.(jpg|jpeg|gif|png)))$/', $avatar_filename, $url_ary)) { if (empty($url_ary[4])) { $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $lang['Incomplete_URL'] : $lang['Incomplete_URL']; return; } $base_get = '/' . $url_ary[4]; $port = !empty($url_ary[3]) ? $url_ary[3] : 80; if (!($fsock = @fsockopen($url_ary[2], $port, $errno, $errstr))) { $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $lang['No_connection_URL'] : $lang['No_connection_URL']; return; } @fwrite($fsock, "GET {$base_get} HTTP/1.1\r\n"); @fwrite($fsock, "HOST: " . $url_ary[2] . "\r\n"); @fwrite($fsock, "Connection: close\r\n\r\n"); unset($avatar_data); while (!@feof($fsock)) { $avatar_data .= @fread($fsock, $config['avatar_filesize']); } @fclose($fsock); 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; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $lang['File_no_data'] : $lang['File_no_data']; return; } $avatar_filesize = $file_data1[1]; $avatar_filetype = $file_data2[1]; if (!$error && $avatar_filesize > 0 && $avatar_filesize < $config['avatar_filesize']) { $avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize); $tmp_path = !@$ini_val('safe_mode') ? '/tmp' : './' . $config['avatar_path'] . '/tmp'; $tmp_filename = tempnam($tmp_path, uniqid(rand()) . '-'); $fptr = @fopen($tmp_filename, 'wb'); $bytes_written = @fwrite($fptr, $avatar_data, $avatar_filesize); @fclose($fptr); if ($bytes_written != $avatar_filesize) { @unlink($tmp_filename); message_die(GENERAL_ERROR, 'Could not write avatar file to local storage. Please contact the board administrator with this message', '', __LINE__, __FILE__); } list($width, $height, $type) = @getimagesize($tmp_filename); } else { $l_avatar_size = sprintf($lang['Avatar_filesize'], round($config['avatar_filesize'] / 1024)); $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size; } } elseif (file_exists(@phpbb_realpath($avatar_filename)) && preg_match('/\\.(jpg|jpeg|gif|png)$/i', $avatar_realname)) { if ($avatar_filesize <= $config['avatar_filesize'] && $avatar_filesize > 0) { preg_match('#image\\/[x\\-]*([a-z]+)#', $avatar_filetype, $avatar_filetype); $avatar_filetype = $avatar_filetype[1]; } else { $l_avatar_size = sprintf($lang['Avatar_filesize'], round($config['avatar_filesize'] / 1024)); $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size; return; } list($width, $height, $type) = @getimagesize($avatar_filename); } if (!($imgtype = check_image_type($avatar_filetype, $error, $error_msg))) { return; } switch ($type) { // GIF case 1: if ($imgtype != '.gif') { @unlink($tmp_filename); message_die(GENERAL_ERROR, $lang['UNABLE_TO_UPLOAD_AVATAR'], '', __LINE__, __FILE__); } break; // JPG, JPC, JP2, JPX, JB2 // JPG, JPC, JP2, JPX, JB2 case 2: case 9: case 10: case 11: case 12: if ($imgtype != '.jpg' && $imgtype != '.jpeg') { @unlink($tmp_filename); message_die(GENERAL_ERROR, $lang['UNABLE_TO_UPLOAD_AVATAR'], '', __LINE__, __FILE__); } break; // PNG // PNG case 3: if ($imgtype != '.png') { @unlink($tmp_filename); message_die(GENERAL_ERROR, $lang['UNABLE_TO_UPLOAD_AVATAR'], '', __LINE__, __FILE__); } break; default: @unlink($tmp_filename); message_die(GENERAL_ERROR, $lang['UNABLE_TO_UPLOAD_AVATAR'], '', __LINE__, __FILE__); } // Automatic Avatar Resize - BEGIN // If you want tu use Avatar Resize function, you have to change the line below and decomment the block named AUTOMATIC AVATAR RESIZE some lines below. //if ($width > 0 && $height > 0) // Automatic Avatar Resize - END if ($width > 0 && $height > 0 && $width <= $config['avatar_max_width'] && $height <= $config['avatar_max_height']) { $new_filename = uniqid(rand()) . $imgtype; if ($mode == 'editprofile' && $current_type == USER_AVATAR_UPLOAD && $current_avatar != '') { user_avatar_delete($current_type, $current_avatar); } if ($avatar_mode == 'remote') { @copy($tmp_filename, './' . $config['avatar_path'] . "/{$new_filename}"); @unlink($tmp_filename); } else { if (@$ini_val('open_basedir') != '') { if (@phpversion() < '4.0.3') { message_die(GENERAL_ERROR, 'open_basedir is set and your PHP version does not allow move_uploaded_file', '', __LINE__, __FILE__); } $move_file = 'move_uploaded_file'; } else { $move_file = 'copy'; } if (!is_uploaded_file($avatar_filename)) { message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__); } $move_file($avatar_filename, './' . $config['avatar_path'] . "/{$new_filename}"); } @chmod('./' . $config['avatar_path'] . "/{$new_filename}", 0777); // Automatic Avatar Resize - BEGIN /* if ($width > $config['avatar_max_width'] || $height > $config['avatar_max_height']) { $width_old = $width; $height_old = $height; if ($width > $config['avatar_max_width']) { $height = ($config['avatar_max_width'] / $width) * $height; $width = $config['avatar_max_width']; } if ($height > $config['avatar_max_height']) { $width = ($config['avatar_max_height'] / $height) * $width; $height = $config['avatar_max_height']; } $width = round($width); // to avoid float->integer conversion problems $height = round($height); // to avoid float->integer conversion problems switch ($imgtype) { case '.jpg': $imagecreatefrom_function = 'imagecreatefromjpeg'; $image_function = 'imagejpeg'; break; case '.gif': $imagecreatefrom_function = 'imagecreatefromgif'; $image_function = 'imagegif'; break; case '.png': $imagecreatefrom_function = 'imagecreatefrompng'; $image_function = 'imagepng'; break; } $img_old = $imagecreatefrom_function ('./' . $config['avatar_path'] . "/$new_filename"); $img_new = imagecreatetruecolor ($width, $height); imagecopyresampled ($img_new, $img_old, 0, 0, 0, 0, $width, $height, $width_old, $height_old); $image_function ($img_new, './' . $config['avatar_path'] . "/$new_filename"); imagedestroy ($img_new); } */ // Automatic Avatar Resize - END $avatar_sql = $mode == 'editprofile' ? ", user_avatar = '" . $db->sql_escape($new_filename) . "', user_avatar_type = " . USER_AVATAR_UPLOAD : "'" . $db->sql_escape($new_filename) . "', " . USER_AVATAR_UPLOAD; } else { $l_avatar_size = sprintf($lang['Avatar_imagesize'], $config['avatar_max_width'], $config['avatar_max_height']); $error = true; $error_msg = !empty($error_msg) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size; } return $avatar_sql; }