/** * Создаёт уменьшенную копию изображения. * @param $SrcFileName Исходный файл. * @param string $DstFileName Имя файла для сохранения уменьшенной копии. * @param int $MaxWidth Максимальная ширина уменьшенной копии. * @param int $MaxHeight Максимальная высота уменьшенной копии. * @param bool $Stretch Растягивать ли картинку если заданные размеры больше исходных. * @param null $SaveFormat Формат сохранения миниатюры (jpeg, png, gif, wbmp). * @return \TPicture */ function CreateThumb($SrcFileName, $DstFileName = '', $MaxWidth = 0, $MaxHeight = 0, $Stretch = false, $SaveFormat = null) { $thumb = new TPicture($SrcFileName); if ($DstFileName == '') { return $thumb; } elseif (is_file($DstFileName)) { unlink($DstFileName); } if ($Stretch || ($MaxWidth > 0 || $MaxHeight > 0) && ($thumb->Width > $MaxWidth || $thumb->Height > $MaxHeight)) { $thumb->SetImageSize($MaxWidth, $MaxHeight); } $thumb->SaveToFile($DstFileName, $SaveFormat); return $thumb; }
function AdminUserSaveAvatar() { $alloy_mime = array('image/gif' => '.gif', 'image/jpeg' => '.jpg', 'image/pjpeg' => '.jpg', 'image/png' => '.png', 'image/x-png' => '.png'); include_once System::config('inc_dir') . 'picture.class.php'; $asize = getimagesize($_FILES['avatar']['tmp_name']); $alloy_mime = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png'); $alloy_exts = array('.gif', '.jpg', '.jpeg', '.png'); if (in_array($_FILES['avatar']['type'], $alloy_mime) && in_array(strtolower(GetFileExt($_FILES['avatar']['name'])), $alloy_exts)) { $NewName = $_FILES['avatar']['name']; if ($asize[0] > System::config('user/max_avatar_width') || $asize[1] > System::config('user/max_avatar_height')) { $thumb = new TPicture($_FILES['avatar']['tmp_name']); $thumb->SetImageSize(System::config('user/max_avatar_width'), System::config('user/max_avatar_height')); $thumb->SaveToFile(System::config('general/avatars_dir') . $NewName); } else { copy($_FILES['avatar']['tmp_name'], System::config('general/avatars_dir') . $NewName); } Audit('Пользователи: Добавление аватара в галерею аватар "' . $NewName . '"'); } else { System::admin()->AddCenterBox('Загрузка аватара'); System::admin()->HighlightError('Неправильный формат аватара. Ваш аватар должен быть формата GIF, JPEG или PNG.<br /><a href="javascript:history.go(-1)">Назад в галерею</a>'); } GO(ADMIN_FILE . '?exe=user&a=avatars'); }