本文整理汇总了PHP中get_supported_image_types函数的典型用法代码示例。如果您正苦于以下问题:PHP get_supported_image_types函数的具体用法?PHP get_supported_image_types怎么用?PHP get_supported_image_types使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_supported_image_types函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: create_thumbnail
/**
* Create Thumbnail
*/
function create_thumbnail($source, $destination, $mimetype)
{
global $config, $phpbb_filesystem;
$min_filesize = (int) $config['img_min_thumb_filesize'];
$img_filesize = file_exists($source) ? @filesize($source) : false;
if (!$img_filesize || $img_filesize <= $min_filesize) {
return false;
}
$dimension = @getimagesize($source);
if ($dimension === false) {
return false;
}
list($width, $height, $type, ) = $dimension;
if (empty($width) || empty($height)) {
return false;
}
list($new_width, $new_height) = get_img_size_format($width, $height);
// Do not create a thumbnail if the resulting width/height is bigger than the original one
if ($new_width >= $width && $new_height >= $height) {
return false;
}
$used_imagick = false;
// Only use imagemagick if defined and the passthru function not disabled
if ($config['img_imagick'] && function_exists('passthru')) {
if (substr($config['img_imagick'], -1) !== '/') {
$config['img_imagick'] .= '/';
}
@passthru(escapeshellcmd($config['img_imagick']) . 'convert' . (defined('PHP_OS') && preg_match('#^win#i', PHP_OS) ? '.exe' : '') . ' -quality 85 -geometry ' . $new_width . 'x' . $new_height . ' "' . str_replace('\\', '/', $source) . '" "' . str_replace('\\', '/', $destination) . '"');
if (file_exists($destination)) {
$used_imagick = true;
}
}
if (!$used_imagick) {
$type = get_supported_image_types($type);
if ($type['gd']) {
// If the type is not supported, we are not able to create a thumbnail
if ($type['format'] === false) {
return false;
}
switch ($type['format']) {
case IMG_GIF:
$image = @imagecreatefromgif($source);
break;
case IMG_JPG:
@ini_set('gd.jpeg_ignore_warning', 1);
$image = @imagecreatefromjpeg($source);
break;
case IMG_PNG:
$image = @imagecreatefrompng($source);
break;
case IMG_WBMP:
$image = @imagecreatefromwbmp($source);
break;
}
if (empty($image)) {
return false;
}
if ($type['version'] == 1) {
$new_image = imagecreate($new_width, $new_height);
if ($new_image === false) {
return false;
}
imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
} else {
$new_image = imagecreatetruecolor($new_width, $new_height);
if ($new_image === false) {
return false;
}
// Preserve alpha transparency (png for example)
@imagealphablending($new_image, false);
@imagesavealpha($new_image, true);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
}
// If we are in safe mode create the destination file prior to using the gd functions to circumvent a PHP bug
if (@ini_get('safe_mode') || @strtolower(ini_get('safe_mode')) == 'on') {
@touch($destination);
}
switch ($type['format']) {
case IMG_GIF:
imagegif($new_image, $destination);
break;
case IMG_JPG:
imagejpeg($new_image, $destination, 90);
break;
case IMG_PNG:
imagepng($new_image, $destination);
break;
case IMG_WBMP:
imagewbmp($new_image, $destination);
break;
}
imagedestroy($new_image);
} else {
return false;
}
}
if (!file_exists($destination)) {
//.........这里部分代码省略.........
示例2: main
function main($id, $mode)
{
global $db, $user, $auth, $template, $cache;
global $config, $phpbb_admin_path, $phpbb_root_path, $phpEx;
$user->add_lang(array('posting', 'viewtopic', 'acp/attachments'));
$error = $notify = array();
$submit = isset($_POST['submit']) ? true : false;
$action = request_var('action', '');
$form_key = 'acp_attach';
add_form_key($form_key);
if ($submit && !check_form_key($form_key)) {
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
switch ($mode) {
case 'attach':
$l_title = 'ACP_ATTACHMENT_SETTINGS';
break;
case 'extensions':
$l_title = 'ACP_MANAGE_EXTENSIONS';
break;
case 'ext_groups':
$l_title = 'ACP_EXTENSION_GROUPS';
break;
case 'orphan':
$l_title = 'ACP_ORPHAN_ATTACHMENTS';
break;
default:
trigger_error('NO_MODE', E_USER_ERROR);
break;
}
$this->tpl_name = 'acp_attachments';
$this->page_title = $l_title;
$template->assign_vars(array('L_TITLE' => $user->lang[$l_title], 'L_TITLE_EXPLAIN' => $user->lang[$l_title . '_EXPLAIN'], 'U_ACTION' => $this->u_action));
switch ($mode) {
case 'attach':
include_once $phpbb_root_path . 'includes/functions_posting.' . $phpEx;
$sql = 'SELECT group_name, cat_id
FROM ' . EXTENSION_GROUPS_TABLE . '
WHERE cat_id > 0
ORDER BY cat_id';
$result = $db->sql_query($sql);
$s_assigned_groups = array();
while ($row = $db->sql_fetchrow($result)) {
$s_assigned_groups[$row['cat_id']][] = $row['group_name'];
}
$db->sql_freeresult($result);
$l_legend_cat_images = $user->lang['SETTINGS_CAT_IMAGES'] . ' [' . $user->lang['ASSIGNED_GROUP'] . ': ' . (!empty($s_assigned_groups[ATTACHMENT_CATEGORY_IMAGE]) ? implode(', ', $s_assigned_groups[ATTACHMENT_CATEGORY_IMAGE]) : $user->lang['NO_EXT_GROUP']) . ']';
$display_vars = array('title' => 'ACP_ATTACHMENT_SETTINGS', 'vars' => array('legend1' => 'ACP_ATTACHMENT_SETTINGS', 'img_max_width' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false), 'img_max_height' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false), 'img_link_width' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false), 'img_link_height' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false), 'allow_attachments' => array('lang' => 'ALLOW_ATTACHMENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false), 'allow_pm_attach' => array('lang' => 'ALLOW_PM_ATTACHMENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false), 'upload_path' => array('lang' => 'UPLOAD_DIR', 'validate' => 'wpath', 'type' => 'text:25:100', 'explain' => true), 'display_order' => array('lang' => 'DISPLAY_ORDER', 'validate' => 'bool', 'type' => 'custom', 'method' => 'display_order', 'explain' => true), 'attachment_quota' => array('lang' => 'ATTACH_QUOTA', 'validate' => 'string', 'type' => 'custom', 'method' => 'max_filesize', 'explain' => true), 'max_filesize' => array('lang' => 'ATTACH_MAX_FILESIZE', 'validate' => 'string', 'type' => 'custom', 'method' => 'max_filesize', 'explain' => true), 'max_filesize_pm' => array('lang' => 'ATTACH_MAX_PM_FILESIZE', 'validate' => 'string', 'type' => 'custom', 'method' => 'max_filesize', 'explain' => true), 'max_attachments' => array('lang' => 'MAX_ATTACHMENTS', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => false), 'max_attachments_pm' => array('lang' => 'MAX_ATTACHMENTS_PM', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => false), 'secure_downloads' => array('lang' => 'SECURE_DOWNLOADS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'secure_allow_deny' => array('lang' => 'SECURE_ALLOW_DENY', 'validate' => 'int', 'type' => 'custom', 'method' => 'select_allow_deny', 'explain' => true), 'secure_allow_empty_referer' => array('lang' => 'SECURE_EMPTY_REFERRER', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'check_attachment_content' => array('lang' => 'CHECK_CONTENT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'legend2' => $l_legend_cat_images, 'img_display_inlined' => array('lang' => 'DISPLAY_INLINED', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'img_create_thumbnail' => array('lang' => 'CREATE_THUMBNAIL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'img_max_thumb_width' => array('lang' => 'MAX_THUMB_WIDTH', 'validate' => 'int', 'type' => 'text:7:15', 'explain' => true, 'append' => ' px'), 'img_min_thumb_filesize' => array('lang' => 'MIN_THUMB_FILESIZE', 'validate' => 'int', 'type' => 'text:7:15', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']), 'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'string', 'type' => 'text:20:200', 'explain' => true, 'append' => ' <span>[ <a href="' . $this->u_action . '&action=imgmagick">' . $user->lang['SEARCH_IMAGICK'] . '</a> ]</span>'), 'img_max' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' px'), 'img_link' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' px')));
$this->new_config = $config;
$cfg_array = isset($_REQUEST['config']) ? request_var('config', array('' => '')) : $this->new_config;
$error = array();
// We validate the complete config if whished
validate_config_vars($display_vars['vars'], $cfg_array, $error);
// Do not write values if there is an error
if (sizeof($error)) {
$submit = false;
}
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
foreach ($display_vars['vars'] as $config_name => $null) {
if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false) {
continue;
}
$this->new_config[$config_name] = $config_value = $cfg_array[$config_name];
if (in_array($config_name, array('attachment_quota', 'max_filesize', 'max_filesize_pm'))) {
$size_var = request_var($config_name, '');
$this->new_config[$config_name] = $config_value = $size_var == 'kb' ? round($config_value * 1024) : ($size_var == 'mb' ? round($config_value * 1048576) : $config_value);
}
if ($submit) {
set_config($config_name, $config_value);
}
}
$this->perform_site_list();
if ($submit) {
add_log('admin', 'LOG_CONFIG_ATTACH');
// Check Settings
$this->test_upload($error, $this->new_config['upload_path'], false);
if (!sizeof($error)) {
trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action));
}
}
$template->assign_var('S_ATTACHMENT_SETTINGS', true);
if ($action == 'imgmagick') {
$this->new_config['img_imagick'] = $this->search_imagemagick();
}
// We strip eventually manual added convert program, we only want the patch
if ($this->new_config['img_imagick']) {
// Change path separator
$this->new_config['img_imagick'] = str_replace('\\', '/', $this->new_config['img_imagick']);
$this->new_config['img_imagick'] = str_replace(array('convert', '.exe'), array('', ''), $this->new_config['img_imagick']);
// Check for trailing slash
if (substr($this->new_config['img_imagick'], -1) !== '/') {
$this->new_config['img_imagick'] .= '/';
}
}
$supported_types = get_supported_image_types();
// Check Thumbnail Support
if (!$this->new_config['img_imagick'] && (!isset($supported_types['format']) || !sizeof($supported_types['format']))) {
$this->new_config['img_create_thumbnail'] = 0;
}
$template->assign_vars(array('U_SEARCH_IMAGICK' => $this->u_action . '&action=imgmagick', 'S_THUMBNAIL_SUPPORT' => !$this->new_config['img_imagick'] && (!isset($supported_types['format']) || !sizeof($supported_types['format'])) ? false : true));
//.........这里部分代码省略.........
示例3: create_thumbnail
function create_thumbnail($source, $new_file, $mimetype)
{
global $attach_config, $imagick;
$source = amod_realpath($source);
$min_filesize = intval($attach_config['img_min_thumb_filesize']);
$img_filesize = @file_exists(@amod_realpath($source)) ? filesize($source) : false;
if (!$img_filesize || $img_filesize <= $min_filesize) {
return FALSE;
}
$size = image_getdimension($source);
if ($size[0] == 0 && $size[1] == 0) {
return FALSE;
}
$new_size = get_img_size_format($size[0], $size[1]);
$tmp_path = '';
$old_file = '';
if (intval($attach_config['allow_ftp_upload'])) {
$old_file = $new_file;
$tmp_path = explode('/', $source);
$tmp_path[count($tmp_path) - 1] = '';
$tmp_path = implode('/', $tmp_path);
if ($tmp_path == '') {
$tmp_path = '/tmp';
}
$value = trim($tmp_path);
if ($value[strlen($value) - 1] == '/') {
$value[strlen($value) - 1] = ' ';
}
$new_file = trim($value) . '/t00000';
}
$used_imagick = FALSE;
if (is_imagick()) {
if (is_array($size) && count($size) > 0) {
passthru($imagick . ' -quality 85 -antialias -sample ' . $new_size[0] . 'x' . $new_size[1] . ' "' . str_replace('\\', '/', $source) . '" +profile "*" "' . str_replace('\\', '/', $new_file) . '"');
if (@file_exists(@amod_realpath($new_file))) {
$used_imagick = TRUE;
}
}
}
if (!$used_imagick) {
$type = $size[2];
$supported_types = get_supported_image_types();
if (in_array($type, $supported_types)) {
switch ($type) {
case '1':
$im = imagecreatefromgif($source);
$new_im = imagecreate($new_size[0], $new_size[1]);
imagecopyresized($new_im, $im, 0, 0, 0, 0, $new_size[0], $new_size[1], $size[0], $size[1]);
imagegif($new_im, $new_file);
break;
case '2':
$im = imagecreatefromjpeg($source);
$new_im = intval($attach_config['use_gd2']) ? @imagecreatetruecolor($new_size[0], $new_size[1]) : imagecreate($new_size[0], $new_size[1]);
imagecopyresized($new_im, $im, 0, 0, 0, 0, $new_size[0], $new_size[1], $size[0], $size[1]);
imagejpeg($new_im, $new_file, 90);
break;
case '3':
$im = imagecreatefrompng($source);
$new_im = intval($attach_config['use_gd2']) ? @imagecreatetruecolor($new_size[0], $new_size[1]) : imagecreate($new_size[0], $new_size[1]);
imagecopyresized($new_im, $im, 0, 0, 0, 0, $new_size[0], $new_size[1], $size[0], $size[1]);
imagepng($new_im, $new_file);
break;
}
}
}
if (!@file_exists(@amod_realpath($new_file))) {
return FALSE;
}
if (intval($attach_config['allow_ftp_upload'])) {
$result = ftp_file($new_file, $old_file, $this->type, TRUE);
// True for disable error-mode
if (!$result) {
return FALSE;
}
} else {
@chmod($new_file, 0664);
}
return TRUE;
}
示例4: create_thumbnail
/**
* Create thumbnail
*/
function create_thumbnail($source, $new_file, $mimetype)
{
global $attach_config, $imagick;
$source = amod_realpath($source);
$min_filesize = (int) $attach_config['img_min_thumb_filesize'];
$img_filesize = @file_exists($source) ? @filesize($source) : false;
if (!$img_filesize || $img_filesize <= $min_filesize) {
return false;
}
list($width, $height, $type, ) = getimagesize($source);
if (!$width || !$height) {
return false;
}
list($new_width, $new_height) = get_img_size_format($width, $height);
$tmp_path = $old_file = '';
if (intval($attach_config['allow_ftp_upload'])) {
$old_file = $new_file;
$tmp_path = explode('/', $source);
$tmp_path[count($tmp_path) - 1] = '';
$tmp_path = implode('/', $tmp_path);
if ($tmp_path == '') {
$tmp_path = '/tmp';
}
$value = trim($tmp_path);
if ($value[strlen($value) - 1] == '/') {
$value[strlen($value) - 1] = ' ';
}
//
$new_file = tempnam(trim($value), 't00000');
// We remove it now because it gets created again later
@unlink($new_file);
}
$used_imagick = false;
if (is_imagick()) {
passthru($imagick . ' -quality 85 -antialias -sample ' . $new_width . 'x' . $new_height . ' "' . str_replace('\\', '/', $source) . '" +profile "*" "' . str_replace('\\', '/', $new_file) . '"');
if (@file_exists($new_file)) {
$used_imagick = true;
}
}
if (!$used_imagick) {
$type = get_supported_image_types($type);
if ($type['gd']) {
switch ($type['format']) {
case IMG_GIF:
$image = imagecreatefromgif($source);
break;
case IMG_JPG:
$image = imagecreatefromjpeg($source);
break;
case IMG_PNG:
$image = imagecreatefrompng($source);
break;
case IMG_WBMP:
$image = imagecreatefromwbmp($source);
break;
}
if ($type['version'] == 1 || !$attach_config['use_gd2']) {
$new_image = imagecreate($new_width, $new_height);
imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
} else {
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
}
switch ($type['format']) {
case IMG_GIF:
imagegif($new_image, $new_file);
break;
case IMG_JPG:
imagejpeg($new_image, $new_file, 90);
break;
case IMG_PNG:
imagepng($new_image, $new_file);
break;
case IMG_WBMP:
imagewbmp($new_image, $new_file);
break;
}
imagedestroy($new_image);
}
}
if (!@file_exists($new_file)) {
return false;
}
if (intval($attach_config['allow_ftp_upload'])) {
$result = ftp_file($new_file, $old_file, $mimetype, true);
// True for disable error-mode
@unlink($new_file);
if (!$result) {
return false;
}
} else {
@chmod($new_file, 0664);
}
return true;
}
示例5: create_thumbnail
function create_thumbnail($source, $destination, $mimetype)
{
global $config;
$min_filesize = (int) $config['img_min_thumb_filesize'];
$img_filesize = file_exists($source) ? @filesize($source) : false;
if (!$img_filesize || $img_filesize <= $min_filesize) {
return false;
}
list($width, $height, $type, ) = getimagesize($source);
if (!$width || !$height) {
return false;
}
list($new_width, $new_height) = get_img_size_format($width, $height);
if ($width < $new_width && $height < $new_height) {
return false;
}
$used_imagick = false;
if (file_exists($destination)) {
passthru($config['img_imagick'] . 'convert' . (defined('PHP_OS') && preg_match('#win#i', PHP_OS) ? '.exe' : '') . ' -quality 85 -antialias -sample ' . $new_width . 'x' . $new_height . ' "' . str_replace('\\', '/', $source) . '" +profile "*" "' . str_replace('\\', '/', $destination) . '"');
if (file_exists($new_file)) {
$used_imagick = true;
}
}
if (!$used_imagick) {
$type = get_supported_image_types($type);
if ($type['gd']) {
switch ($type['format']) {
case IMG_GIF:
$image = imagecreatefromgif($source);
break;
case IMG_JPG:
$image = imagecreatefromjpeg($source);
break;
case IMG_PNG:
$image = imagecreatefrompng($source);
break;
case IMG_WBMP:
$image = imagecreatefromwbmp($source);
break;
}
if ($type['version'] == 1) {
$new_image = imagecreate($new_width, $new_height);
imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
} else {
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
}
switch ($type['format']) {
case IMG_GIF:
imagegif($new_image, $destination);
break;
case IMG_JPG:
imagejpeg($new_image, $destination, 90);
break;
case IMG_PNG:
imagepng($new_image, $destination);
break;
case IMG_WBMP:
imagewbmp($new_image, $destination);
break;
}
imagedestroy($new_image);
}
}
if (!file_exists($destination)) {
return false;
}
@chmod($destination, 0666);
return true;
}
示例6: create_thumbnail
/**
* Create thumbnail
*/
function create_thumbnail($source, $new_file, $mimetype)
{
global $attach_config, $imagick;
$source = amod_realpath($source);
$min_filesize = (int) $attach_config['img_min_thumb_filesize'];
$img_filesize = @file_exists($source) ? @filesize($source) : false;
if (!$img_filesize || $img_filesize <= $min_filesize) {
return false;
}
list($width, $height, $type, ) = getimagesize($source);
if (!$width || !$height) {
return false;
}
list($new_width, $new_height) = get_img_size_format($width, $height);
$tmp_path = $old_file = '';
$used_imagick = false;
if (is_imagick()) {
passthru($imagick . ' -quality 85 -antialias -sample ' . $new_width . 'x' . $new_height . ' "' . str_replace('\\', '/', $source) . '" +profile "*" "' . str_replace('\\', '/', $new_file) . '"');
if (@file_exists($new_file)) {
$used_imagick = true;
}
}
if (!$used_imagick) {
$type = get_supported_image_types($type);
if ($type['gd']) {
switch ($type['format']) {
case IMG_GIF:
$image = imagecreatefromgif($source);
break;
case IMG_JPG:
$image = imagecreatefromjpeg($source);
break;
case IMG_PNG:
$image = imagecreatefrompng($source);
break;
case IMG_WBMP:
$image = imagecreatefromwbmp($source);
break;
}
if ($type['version'] == 1 || !$attach_config['use_gd2']) {
$new_image = imagecreate($new_width, $new_height);
imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
} else {
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
}
switch ($type['format']) {
case IMG_GIF:
imagegif($new_image, $new_file);
break;
case IMG_JPG:
imagejpeg($new_image, $new_file, 90);
break;
case IMG_PNG:
imagepng($new_image, $new_file);
break;
case IMG_WBMP:
imagewbmp($new_image, $new_file);
break;
}
imagedestroy($new_image);
}
}
if (!@file_exists($new_file)) {
return false;
}
@chmod($new_file, 0664);
return true;
}
示例7: echo
<tr>
<td class="row1"><b><?php echo $_CLASS['core_user']->lang['SECURE_EMPTY_REFERER']; ?>: </b><br /><span class="gensmall"><?php echo $_CLASS['core_user']->lang['SECURE_EMPTY_REFERER_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="secure_allow_empty_referer" value="1" <?php echo $secure_allow_empty_referer_yes ?> /> <?php echo $_CLASS['core_user']->lang['YES']; ?> <input type="radio" name="secure_allow_empty_referer" value="0" <?php echo $secure_allow_empty_referer_no ?> /> <?php echo $_CLASS['core_user']->lang['NO']; ?></td>
</tr>
<tr>
<th align="center" colspan="2"><?php echo $_CLASS['core_user']->lang['SETTINGS_CAT_IMAGES']; ?></th>
</tr>
<tr>
<td class="row3" colspan="2" align="center"><?php echo $_CLASS['core_user']->lang['ASSIGNED_GROUP']; ?>: <?php echo ((sizeof($s_assigned_groups[ATTACHMENT_CATEGORY_IMAGE])) ? implode(', ', $s_assigned_groups[ATTACHMENT_CATEGORY_IMAGE]) : $_CLASS['core_user']->lang['NONE']); ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $_CLASS['core_user']->lang['DISPLAY_INLINED']; ?>: </b><br /><span class="gensmall"><?php echo $_CLASS['core_user']->lang['DISPLAY_INLINED_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="img_display_inlined" value="1" <?php echo $display_inlined_yes ?> /> <?php echo $_CLASS['core_user']->lang['YES']; ?> <input type="radio" name="img_display_inlined" value="0" <?php echo $display_inlined_no ?> /> <?php echo $_CLASS['core_user']->lang['NO']; ?></td>
</tr>
<?php
$supported_types = get_supported_image_types();
// Check Thumbnail Support
if (!$new['img_imagick'] && (!isset($supported_types['format']) || !sizeof($supported_types['format'])))
{
$new['img_create_thumbnail'] = '0';
}
else
{
?>
<tr>
<td class="row1"><b><?php echo $_CLASS['core_user']->lang['CREATE_THUMBNAIL']; ?>: </b><br /><span class="gensmall"><?php echo $_CLASS['core_user']->lang['CREATE_THUMBNAIL_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="img_create_thumbnail" value="1" <?php echo $create_thumbnail_yes; ?> /> <?php echo $_CLASS['core_user']->lang['YES']; ?> <input type="radio" name="img_create_thumbnail" value="0" <?php echo $create_thumbnail_no; ?> /> <?php echo $_CLASS['core_user']->lang['NO']; ?></td>
</tr>
<tr>
示例8: main
function main($id, $mode)
{
global $db, $user, $auth, $template, $cache, $phpbb_container, $phpbb_filesystem, $phpbb_dispatcher;
global $config, $phpbb_admin_path, $phpbb_root_path, $phpEx, $phpbb_log, $request;
$this->id = $id;
$this->db = $db;
$this->config = $config;
$this->template = $template;
$this->user = $user;
$this->phpbb_container = $phpbb_container;
$this->filesystem = $phpbb_filesystem;
$this->attachment_manager = $phpbb_container->get('attachment.manager');
$user->add_lang(array('posting', 'viewtopic', 'acp/attachments'));
$error = $notify = array();
$submit = isset($_POST['submit']) ? true : false;
$action = $request->variable('action', '');
$form_key = 'acp_attach';
add_form_key($form_key);
if ($submit && !check_form_key($form_key)) {
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
switch ($mode) {
case 'attach':
$l_title = 'ACP_ATTACHMENT_SETTINGS';
break;
case 'extensions':
$l_title = 'ACP_MANAGE_EXTENSIONS';
break;
case 'ext_groups':
$l_title = 'ACP_EXTENSION_GROUPS';
break;
case 'orphan':
$l_title = 'ACP_ORPHAN_ATTACHMENTS';
break;
case 'manage':
$l_title = 'ACP_MANAGE_ATTACHMENTS';
break;
default:
trigger_error('NO_MODE', E_USER_ERROR);
break;
}
$this->tpl_name = 'acp_attachments';
$this->page_title = $l_title;
$template->assign_vars(array('L_TITLE' => $user->lang[$l_title], 'L_TITLE_EXPLAIN' => $user->lang[$l_title . '_EXPLAIN'], 'U_ACTION' => $this->u_action));
switch ($mode) {
case 'attach':
if (!function_exists('get_supported_image_types')) {
include $phpbb_root_path . 'includes/functions_posting.' . $phpEx;
}
$sql = 'SELECT group_name, cat_id
FROM ' . EXTENSION_GROUPS_TABLE . '
WHERE cat_id > 0
ORDER BY cat_id';
$result = $db->sql_query($sql);
$s_assigned_groups = array();
while ($row = $db->sql_fetchrow($result)) {
$row['group_name'] = isset($user->lang['EXT_GROUP_' . $row['group_name']]) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name'];
$s_assigned_groups[$row['cat_id']][] = $row['group_name'];
}
$db->sql_freeresult($result);
$l_legend_cat_images = $user->lang['SETTINGS_CAT_IMAGES'] . ' [' . $user->lang['ASSIGNED_GROUP'] . ': ' . (!empty($s_assigned_groups[ATTACHMENT_CATEGORY_IMAGE]) ? implode($user->lang['COMMA_SEPARATOR'], $s_assigned_groups[ATTACHMENT_CATEGORY_IMAGE]) : $user->lang['NO_EXT_GROUP']) . ']';
$display_vars = array('title' => 'ACP_ATTACHMENT_SETTINGS', 'vars' => array('legend1' => 'ACP_ATTACHMENT_SETTINGS', 'img_max_width' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false), 'img_max_height' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false), 'img_link_width' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false), 'img_link_height' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false), 'allow_attachments' => array('lang' => 'ALLOW_ATTACHMENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false), 'allow_pm_attach' => array('lang' => 'ALLOW_PM_ATTACHMENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false), 'upload_path' => array('lang' => 'UPLOAD_DIR', 'validate' => 'wpath', 'type' => 'text:25:100', 'explain' => true), 'display_order' => array('lang' => 'DISPLAY_ORDER', 'validate' => 'bool', 'type' => 'custom', 'method' => 'display_order', 'explain' => true), 'attachment_quota' => array('lang' => 'ATTACH_QUOTA', 'validate' => 'string', 'type' => 'custom', 'method' => 'max_filesize', 'explain' => true), 'max_filesize' => array('lang' => 'ATTACH_MAX_FILESIZE', 'validate' => 'string', 'type' => 'custom', 'method' => 'max_filesize', 'explain' => true), 'max_filesize_pm' => array('lang' => 'ATTACH_MAX_PM_FILESIZE', 'validate' => 'string', 'type' => 'custom', 'method' => 'max_filesize', 'explain' => true), 'max_attachments' => array('lang' => 'MAX_ATTACHMENTS', 'validate' => 'int:0:999', 'type' => 'number:0:999', 'explain' => false), 'max_attachments_pm' => array('lang' => 'MAX_ATTACHMENTS_PM', 'validate' => 'int:0:999', 'type' => 'number:0:999', 'explain' => false), 'secure_downloads' => array('lang' => 'SECURE_DOWNLOADS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'secure_allow_deny' => array('lang' => 'SECURE_ALLOW_DENY', 'validate' => 'int', 'type' => 'custom', 'method' => 'select_allow_deny', 'explain' => true), 'secure_allow_empty_referer' => array('lang' => 'SECURE_EMPTY_REFERRER', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'check_attachment_content' => array('lang' => 'CHECK_CONTENT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'legend2' => $l_legend_cat_images, 'img_display_inlined' => array('lang' => 'DISPLAY_INLINED', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'img_create_thumbnail' => array('lang' => 'CREATE_THUMBNAIL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'img_max_thumb_width' => array('lang' => 'MAX_THUMB_WIDTH', 'validate' => 'int:0:999999999999999', 'type' => 'number:0:999999999999999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']), 'img_min_thumb_filesize' => array('lang' => 'MIN_THUMB_FILESIZE', 'validate' => 'int:0:999999999999999', 'type' => 'number:0:999999999999999', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']), 'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'absolute_path', 'type' => 'text:20:200', 'explain' => true, 'append' => ' <span>[ <a href="' . $this->u_action . '&action=imgmagick">' . $user->lang['SEARCH_IMAGICK'] . '</a> ]</span>'), 'img_max' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int:0:9999', 'type' => 'dimension:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']), 'img_link' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int:0:9999', 'type' => 'dimension:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL'])));
/**
* Event to add and/or modify acp_attachement configurations
*
* @event core.acp_attachments_config_edit_add
* @var array display_vars Array of config values to display and process
* @var string mode Mode of the config page we are displaying
* @var boolean submit Do we display the form or process the submission
* @since 3.1.11-RC1
*/
$vars = array('display_vars', 'mode', 'submit');
extract($phpbb_dispatcher->trigger_event('core.acp_attachments_config_edit_add', compact($vars)));
$this->new_config = $config;
$cfg_array = isset($_REQUEST['config']) ? $request->variable('config', array('' => '')) : $this->new_config;
$error = array();
// We validate the complete config if whished
validate_config_vars($display_vars['vars'], $cfg_array, $error);
// Do not write values if there is an error
if (sizeof($error)) {
$submit = false;
}
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
foreach ($display_vars['vars'] as $config_name => $null) {
if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false) {
continue;
}
$this->new_config[$config_name] = $config_value = $cfg_array[$config_name];
if (in_array($config_name, array('attachment_quota', 'max_filesize', 'max_filesize_pm'))) {
$size_var = $request->variable($config_name, '');
$this->new_config[$config_name] = $config_value = $size_var == 'kb' ? round($config_value * 1024) : ($size_var == 'mb' ? round($config_value * 1048576) : $config_value);
}
if ($submit) {
$config->set($config_name, $config_value);
}
}
$this->perform_site_list();
if ($submit) {
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_CONFIG_ATTACH');
// Check Settings
//.........这里部分代码省略.........
示例9: create_thumbnail
function create_thumbnail($source, $destination, $mimetype)
{
global $config;
$min_filesize = (int) $config['img_min_thumb_filesize'];
$img_filesize = (file_exists($source)) ? @filesize($source) : false;
$dimension = @getimagesize($source);
if ($dimension === false)
{
return false;
}
list($width, $height, $type, ) = $dimension;
if (empty($width) || empty($height))
{
return false;
}
if ($width <= $config['photo_thumb_width'] && $height <= $config['photo_thumb_height'])
{
return false;
}
list($new_width, $new_height) = get_img_size_format($width, $height);
// Do not create a thumbnail if the resulting width/height is bigger than the original one
if ($new_width > $width && $new_height > $height)
{
return false;
}
$used_imagick = false;
// Only use imagemagick if defined and the passthru function not disabled
if ($config['img_imagick'] && function_exists('passthru'))
{
@passthru(escapeshellcmd($config['img_imagick']) . 'convert' . ((defined('PHP_OS') && preg_match('#^win#i', PHP_OS)) ? '.exe' : '') . ' -quality 85 -antialias -sample ' . $new_width . 'x' . $new_height . ' "' . str_replace('\\', '/', $source) . '" +profile "*" "' . str_replace('\\', '/', $destination) . '"');
if (file_exists($destination))
{
$used_imagick = true;
}
}
if (!$used_imagick)
{
$type = get_supported_image_types($type);
if ($type['gd'])
{
// If the type is not supported, we are not able to create a thumbnail
if ($type['format'] === false)
{
return false;
}
switch ($type['format'])
{
case IMG_GIF:
$image = @imagecreatefromgif($source);
break;
case IMG_JPG:
$image = @imagecreatefromjpeg($source);
break;
case IMG_PNG:
$image = @imagecreatefrompng($source);
break;
case IMG_WBMP:
$image = @imagecreatefromwbmp($source);
break;
}
if ($type['version'] == 1)
{
$new_image = imagecreate($new_width, $new_height);
imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
}
else
{
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
}
// If we are in safe mode create the destination file prior to using the gd functions to circumvent a PHP bug
if (@ini_get('safe_mode') || @strtolower(ini_get('safe_mode')) == 'on')
{
@touch($destination);
}
switch ($type['format'])
{
case IMG_GIF:
imagegif($new_image, $destination);
break;
//.........这里部分代码省略.........
示例10: array
if ($row[$i]['cat_id'] == SWF_CAT) {
$s_assigned_group_flash[] = $row[$i]['group_name'];
}
}
}
}
$display_inlined_yes = $new_attach['img_display_inlined'] != '0' ? 'checked="checked"' : '';
$display_inlined_no = $new_attach['img_display_inlined'] == '0' ? 'checked="checked"' : '';
$create_thumbnail_yes = $new_attach['img_create_thumbnail'] != '0' ? 'checked="checked"' : '';
$create_thumbnail_no = $new_attach['img_create_thumbnail'] == '0' ? 'checked="checked"' : '';
$use_gd2_yes = $new_attach['use_gd2'] != '0' ? 'checked="checked"' : '';
$use_gd2_no = $new_attach['use_gd2'] == '0' ? 'checked="checked"' : '';
//
// Check Thumbnail Support
//
if (!is_imagick() && count(get_supported_image_types()) == 0) {
$new_attach['img_create_thumbnail'] = '0';
} else {
$template->assign_block_vars('switch_thumbnail_support', array());
}
$template->assign_vars(array('L_MANAGE_CAT_TITLE' => $lang['Manage_categories'], 'L_MANAGE_CAT_EXPLAIN' => $lang['Manage_categories_explain'], 'L_SETTINGS_CAT_IMAGES' => $lang['Settings_cat_images'], 'L_SETTINGS_CAT_STREAM' => $lang['Settings_cat_streams'], 'L_SETTINGS_CAT_FLASH' => $lang['Settings_cat_flash'], 'L_ASSIGNED_GROUP' => $lang['Assigned_group'], 'L_DISPLAY_INLINED' => $lang['Display_inlined'], 'L_DISPLAY_INLINED_EXPLAIN' => $lang['Display_inlined_explain'], 'L_MAX_IMAGE_SIZE' => $lang['Max_image_size'], 'L_MAX_IMAGE_SIZE_EXPLAIN' => $lang['Max_image_size_explain'], 'L_IMAGE_LINK_SIZE' => $lang['Image_link_size'], 'L_IMAGE_LINK_SIZE_EXPLAIN' => $lang['Image_link_size_explain'], 'L_CREATE_THUMBNAIL' => $lang['Image_create_thumbnail'], 'L_CREATE_THUMBNAIL_EXPLAIN' => $lang['Image_create_thumbnail_explain'], 'L_MIN_THUMB_FILESIZE' => $lang['Image_min_thumb_filesize'], 'L_MIN_THUMB_FILESIZE_EXPLAIN' => $lang['Image_min_thumb_filesize_explain'], 'L_IMAGICK_PATH' => $lang['Image_imagick_path'], 'L_IMAGICK_PATH_EXPLAIN' => $lang['Image_imagick_path_explain'], 'L_SEARCH_IMAGICK' => $lang['Image_search_imagick'], 'L_BYTES' => $lang['Bytes'], 'L_TEST_SETTINGS' => $lang['Test_settings'], 'L_YES' => $lang['Yes'], 'L_NO' => $lang['No'], 'L_SUBMIT' => $lang['Submit'], 'L_RESET' => $lang['Reset'], 'L_USE_GD2' => $lang['Use_gd2'], 'L_USE_GD2_EXPLAIN' => $lang['Use_gd2_explain'], 'IMAGE_MAX_HEIGHT' => $new_attach['img_max_height'], 'IMAGE_MAX_WIDTH' => $new_attach['img_max_width'], 'IMAGE_LINK_HEIGHT' => $new_attach['img_link_height'], 'IMAGE_LINK_WIDTH' => $new_attach['img_link_width'], 'IMAGE_MIN_THUMB_FILESIZE' => $new_attach['img_min_thumb_filesize'], 'IMAGE_IMAGICK_PATH' => $new_attach['img_imagick'], 'DISPLAY_INLINED_YES' => $display_inlined_yes, 'DISPLAY_INLINED_NO' => $display_inlined_no, 'CREATE_THUMBNAIL_YES' => $create_thumbnail_yes, 'CREATE_THUMBNAIL_NO' => $create_thumbnail_no, 'USE_GD2_YES' => $use_gd2_yes, 'USE_GD2_NO' => $use_gd2_no, 'S_ASSIGNED_GROUP_IMAGES' => implode(', ', $s_assigned_group_images), 'S_ATTACH_ACTION' => append_sid('admin_attachments.' . $phpEx . '?mode=cats')));
}
//
// Check Cat Settings
//
if ($check_image_cat) {
//
// Some tests...
//
$attach_config = array();
$sql = 'SELECT *