Add triggers for image and thumbnail resizing.
git-svn-id: http://piwigo.org/svn/trunk@5957 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
9ffeaaf2c8
commit
8a1b7a4e5f
2 changed files with 33 additions and 5 deletions
|
@ -17,6 +17,10 @@ include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
|||
//
|
||||
// 4) register in database
|
||||
|
||||
// add default event handler for image and thumbnail resize
|
||||
add_event_handler('upload_image_resize', 'pwg_image_resize', EVENT_HANDLER_PRIORITY_NEUTRAL, 6);
|
||||
add_event_handler('upload_thumbnail_resize', 'pwg_image_resize', EVENT_HANDLER_PRIORITY_NEUTRAL, 6);
|
||||
|
||||
function add_uploaded_file($source_filepath, $original_filename=null, $categories=null, $level=null)
|
||||
{
|
||||
global $conf;
|
||||
|
@ -60,7 +64,8 @@ function add_uploaded_file($source_filepath, $original_filename=null, $categorie
|
|||
rename($file_path, $high_path);
|
||||
$high_infos = pwg_image_infos($high_path);
|
||||
|
||||
pwg_image_resize(
|
||||
trigger_event('upload_image_resize',
|
||||
false,
|
||||
$high_path,
|
||||
$file_path,
|
||||
$conf['upload_form_websize_maxwidth'],
|
||||
|
@ -75,7 +80,8 @@ function add_uploaded_file($source_filepath, $original_filename=null, $categorie
|
|||
$thumb_dir = dirname($thumb_path);
|
||||
prepare_directory($thumb_dir);
|
||||
|
||||
pwg_image_resize(
|
||||
trigger_event('upload_thumbnail_resize',
|
||||
false,
|
||||
$file_path,
|
||||
$thumb_path,
|
||||
$conf['upload_form_thumb_maxwidth'],
|
||||
|
@ -169,8 +175,14 @@ function need_resize($image_filepath, $max_width, $max_height)
|
|||
return false;
|
||||
}
|
||||
|
||||
function pwg_image_resize($source_filepath, $destination_filepath, $max_width, $max_height, $quality)
|
||||
function pwg_image_resize($result, $source_filepath, $destination_filepath, $max_width, $max_height, $quality)
|
||||
{
|
||||
if ($result !== false)
|
||||
{
|
||||
//someone hooked us - so we skip
|
||||
return $result;
|
||||
}
|
||||
|
||||
if (!function_exists('gd_info'))
|
||||
{
|
||||
return false;
|
||||
|
|
|
@ -32,10 +32,16 @@ check_status(ACCESS_ADMINISTRATOR);
|
|||
// RatioResizeImg creates a new picture (a thumbnail since it is supposed to
|
||||
// be smaller than original picture !) in the sub directory named
|
||||
// "thumbnail".
|
||||
function RatioResizeImg($path, $newWidth, $newHeight, $tn_ext)
|
||||
function RatioResizeImg($info, $path, $newWidth, $newHeight, $tn_ext)
|
||||
{
|
||||
global $conf, $lang, $page;
|
||||
|
||||
if ($info !== false)
|
||||
{
|
||||
//someone hooked us - so we skip
|
||||
return $info;
|
||||
}
|
||||
|
||||
if (!function_exists('gd_info'))
|
||||
{
|
||||
return;
|
||||
|
@ -157,6 +163,9 @@ if (!function_exists('gd_info'))
|
|||
array_push($page['errors'], l10n('GD library is missing'));
|
||||
}
|
||||
|
||||
// add default event handler for thumbnail resize
|
||||
add_event_handler('thumbnail_resize', 'RatioResizeImg', EVENT_HANDLER_PRIORITY_NEUTRAL, 5);
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | template initialization |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
@ -251,7 +260,14 @@ if (isset($_POST['submit']))
|
|||
}
|
||||
|
||||
$starttime = get_moment();
|
||||
if ($info = RatioResizeImg($path,$_POST['width'],$_POST['height'],'jpg'))
|
||||
if ($info = trigger_event('thumbnail_resize',
|
||||
false,
|
||||
$path,
|
||||
$_POST['width'],
|
||||
$_POST['height'],
|
||||
'jpg'
|
||||
)
|
||||
)
|
||||
{
|
||||
$endtime = get_moment();
|
||||
$info['time'] = ($endtime - $starttime) * 1000;
|
||||
|
|
Loading…
Add table
Reference in a new issue