feature:2284
Rename $conf['image_library'] into $conf['graphics_library'] Display library used in admin intro page. git-svn-id: http://piwigo.org/svn/trunk@10684 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
920f8b443a
commit
90825d08ea
7 changed files with 79 additions and 38 deletions
|
@ -57,8 +57,6 @@ class pwg_image
|
|||
|
||||
function __construct($source_filepath, $library=null)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$this->source_filepath = $source_filepath;
|
||||
|
||||
trigger_action('load_image_library', array(&$this) );
|
||||
|
@ -75,40 +73,9 @@ class pwg_image
|
|||
die('[Image] unsupported file extension');
|
||||
}
|
||||
|
||||
if (is_null($library))
|
||||
if (!($this->library = self::get_library($library, $extension)))
|
||||
{
|
||||
$library = $conf['image_library'];
|
||||
}
|
||||
|
||||
// Choose image library
|
||||
switch (strtolower($library))
|
||||
{
|
||||
case 'auto':
|
||||
case 'imagick':
|
||||
if ($extension != 'gif' and self::is_imagick())
|
||||
{
|
||||
$this->library = 'imagick';
|
||||
break;
|
||||
}
|
||||
case 'ext_imagick':
|
||||
if ($extension != 'gif' and self::is_ext_imagick())
|
||||
{
|
||||
$this->library = 'ext_imagick';
|
||||
break;
|
||||
}
|
||||
case 'gd':
|
||||
if (self::is_gd())
|
||||
{
|
||||
$this->library = 'gd';
|
||||
break;
|
||||
}
|
||||
default:
|
||||
if ($library != 'auto')
|
||||
{
|
||||
// Requested library not available. Try another library
|
||||
return self::__construct($source_filepath, 'auto');
|
||||
}
|
||||
die('No image library available on your server.');
|
||||
die('No image library available on your server.');
|
||||
}
|
||||
|
||||
$class = 'image_'.$this->library;
|
||||
|
@ -304,7 +271,7 @@ class pwg_image
|
|||
{
|
||||
return false;
|
||||
}
|
||||
@exec($conf['ext_imagick_dir'].'convert', $returnarray, $returnvalue);
|
||||
@exec($conf['ext_imagick_dir'].'convert -version', $returnarray, $returnvalue);
|
||||
if (!$returnvalue and !empty($returnarray[0]) and preg_match('/ImageMagick/i', $returnarray[0]))
|
||||
{
|
||||
return true;
|
||||
|
@ -317,6 +284,44 @@ class pwg_image
|
|||
return function_exists('gd_info');
|
||||
}
|
||||
|
||||
static function get_library($library=null, $extension=null)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
if (is_null($library))
|
||||
{
|
||||
$library = $conf['image_library'];
|
||||
}
|
||||
|
||||
// Choose image library
|
||||
switch (strtolower($library))
|
||||
{
|
||||
case 'auto':
|
||||
case 'imagick':
|
||||
if ($extension != 'gif' and self::is_imagick())
|
||||
{
|
||||
return 'imagick';
|
||||
}
|
||||
case 'ext_imagick':
|
||||
if ($extension != 'gif' and self::is_ext_imagick())
|
||||
{
|
||||
return 'ext_imagick';
|
||||
}
|
||||
case 'gd':
|
||||
if (self::is_gd())
|
||||
{
|
||||
return 'gd';
|
||||
}
|
||||
default:
|
||||
if ($library != 'auto')
|
||||
{
|
||||
// Requested library not available. Try another library
|
||||
return self::get_library('auto');
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function destroy()
|
||||
{
|
||||
if (method_exists($this->image, 'destroy'))
|
||||
|
|
|
@ -29,6 +29,7 @@ if (!defined('PHPWG_ROOT_PATH'))
|
|||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/check_integrity.class.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/c13y_internal.class.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/image.class.php');
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Check Access and exit when user status is not ok |
|
||||
|
@ -258,6 +259,36 @@ if ($nb_comments > 0)
|
|||
);
|
||||
}
|
||||
|
||||
// graphics library
|
||||
switch (pwg_image::get_library())
|
||||
{
|
||||
case 'imagick':
|
||||
$library = 'ImageMagick';
|
||||
$img = new Imagick();
|
||||
$version = $img->getVersion();
|
||||
if (preg_match('/ImageMagick \d+\.\d+\.\d+-?\d*/', $version['versionString'], $match))
|
||||
{
|
||||
$library = $match[0];
|
||||
}
|
||||
$template->assign('GRAPHICS_LIBRARY', $library);
|
||||
break;
|
||||
|
||||
case 'ext_imagick':
|
||||
$library = 'External ImageMagick';
|
||||
exec($conf['ext_imagick_dir'].'convert -version', $returnarray);
|
||||
if (preg_match('/Version: ImageMagick (\d+\.\d+\.\d+-?\d*)/', $returnarray[0], $match))
|
||||
{
|
||||
$library .= ' ' . $match[1];
|
||||
}
|
||||
$template->assign('GRAPHICS_LIBRARY', $library);
|
||||
break;
|
||||
|
||||
case 'gd':
|
||||
$gd_info = gd_info();
|
||||
$template->assign('GRAPHICS_LIBRARY', 'GD '.@$gd_info['GD Version']);
|
||||
break;
|
||||
}
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | sending html code |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
|
|
@ -111,7 +111,7 @@ foreach (array_keys($upload_form_config) as $field)
|
|||
$template->assign(
|
||||
array(
|
||||
'F_ADD_ACTION'=> PHOTOS_ADD_BASE_URL,
|
||||
'MANAGE_HD' => (pwg_image::is_imagick() or pwg_image::is_ext_imagick()),
|
||||
'MANAGE_HD' => pwg_image::get_library() != 'gd',
|
||||
'values' => $form_values
|
||||
)
|
||||
);
|
||||
|
|
|
@ -53,6 +53,9 @@ jQuery().ready(function(){
|
|||
<li>{'Operating system'|@translate}: {$OS}</li>
|
||||
<li>PHP: {$PHP_VERSION} (<a href="{$U_PHPINFO}" class="externalLink">{'Show info'|@translate}</a>) [{$PHP_DATATIME}]</li>
|
||||
<li>{$DB_ENGINE}: {$DB_VERSION} [{$DB_DATATIME}]</li>
|
||||
{if isset($GRAPHICS_LIBRARY)}
|
||||
<li>{'Graphics Library'|@translate}: {$GRAPHICS_LIBRARY}</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
|
|
@ -830,4 +830,5 @@ $lang['Width'] = 'Width';
|
|||
$lang['Height'] = 'Height';
|
||||
$lang['Follow Orientation'] = 'Follow Orientation';
|
||||
$lang['If you want to regenerate thumbnails, please go to the <a href="%s">Batch Manager</a>.'] = 'If you want to regenerate thumbnails, please go to the <a href="%s">Batch Manager</a>.';
|
||||
$lang['Graphics Library'] = 'Graphics Library';
|
||||
?>
|
|
@ -841,4 +841,5 @@ $lang['Width'] = 'Largeur';
|
|||
$lang['Height'] = 'Hauteur';
|
||||
$lang['Follow Orientation'] = "Respecter l'orientation";
|
||||
$lang['If you want to regenerate thumbnails, please go to the <a href="%s">Batch Manager</a>.'] = 'Si vous voulez régénérer des miniatures, merci de vous rendre dans la <a href="%s">Gestion par lot</a>.';
|
||||
$lang['Graphics Library'] = 'Bibliothèque graphique';
|
||||
?>
|
2
ws.php
2
ws.php
|
@ -412,7 +412,7 @@ function ws_addDefaultMethods( $arr )
|
|||
'image_path' => array('default' => null),
|
||||
'type' => array('default' => 'thumbnail'),
|
||||
'automatic_rotation' => array('default' => $conf['upload_form_automatic_rotation']),
|
||||
'library' => array('default' => $conf['image_library']),
|
||||
'library' => array('default' => $conf['graphics_library']),
|
||||
'maxwidth' => array('default' => null),
|
||||
'maxheight' => array('default' => null),
|
||||
'crop' => array('default' => null),
|
||||
|
|
Loading…
Reference in a new issue