diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2013-12-29 20:45:58 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2013-12-29 20:45:58 -0200 |
commit | 97e689213ff4e829f251af526ed4e796a3cc2b71 (patch) | |
tree | b04d03ec56305041216b72328fc9b5afde27bc76 /mod/lightpics/actions/photos/admin/create_thumbnails.php | |
parent | 0ab6351abb7a602d96c62b0ad35413c88113a6cf (diff) | |
parent | 69e2d8c5d8732042c9319aef1fdea45a82b63e42 (diff) | |
download | elgg-97e689213ff4e829f251af526ed4e796a3cc2b71.tar.gz elgg-97e689213ff4e829f251af526ed4e796a3cc2b71.tar.bz2 |
Merge branch 'master' into saravea
Conflicts:
.gitmodules
mod/admins
mod/assemblies
mod/audio_html5
mod/beechat
mod/crud
mod/elgg-activitystreams
mod/elggman
mod/elggpg
mod/favorites
mod/federated-objects
mod/friendly_time
mod/group_alias
mod/group_operators
mod/languages
mod/lightpics
mod/openid_client
mod/spotlight
mod/suicide
mod/tasks
mod/videolist
Diffstat (limited to 'mod/lightpics/actions/photos/admin/create_thumbnails.php')
-rw-r--r-- | mod/lightpics/actions/photos/admin/create_thumbnails.php | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/mod/lightpics/actions/photos/admin/create_thumbnails.php b/mod/lightpics/actions/photos/admin/create_thumbnails.php new file mode 100644 index 000000000..dfb5d4ed1 --- /dev/null +++ b/mod/lightpics/actions/photos/admin/create_thumbnails.php @@ -0,0 +1,70 @@ +<?php +/** + * Tidypics Thumbnail Creation Test + * + * Called through ajax, but registered as an Elgg action. + * + */ + +elgg_load_library('tidypics:resize'); + +$guid = get_input('guid'); +$image = get_entity($guid); + +if (!$image || !($image instanceof TidypicsImage)) { + register_error(elgg_echo('tidypics:thumbnail_tool:unknown_image')); + forward(REFERER); +} + +$filename = $image->getFilename(); +$container_guid = $image->container_guid; +if (!$filename || !$container_guid) { + register_error(elgg_echo('tidypics:thumbnail_tool:invalid_image_info')); + forward(REFERER); +} + +$title = $image->getTitle(); +$prefix = "image/$container_guid/"; +$filestorename = substr($filename, strlen($prefix)); + +$image_lib = elgg_get_plugin_setting('image_lib', 'tidypics'); +if (!$image_lib) { + $image_lib = "GD"; +} + +// ImageMagick command line +if ($image_lib == 'ImageMagick') { + if (!tp_create_im_cmdline_thumbnails($image, $prefix, $filestorename)) { + trigger_error('Tidypics warning: failed to create thumbnails - ImageMagick command line', E_USER_WARNING); + register_error(elgg_echo('tidypics:thumbnail_tool:create_failed')); + forward(REFERER); + } + +// imagick PHP extension +} else if ($image_lib == 'ImageMagickPHP') { + if (!tp_create_imagick_thumbnails($image, $prefix, $filestorename)) { + trigger_error('Tidypics warning: failed to create thumbnails - ImageMagick PHP', E_USER_WARNING); + register_error(elgg_echo('tidypics:thumbnail_tool:create_failed')); + forward(REFERER); + } +// gd +} else { + if (!tp_create_gd_thumbnails($image, $prefix, $filestorename)) { + trigger_error('Tidypics warning: failed to create thumbnails - GD', E_USER_WARNING); + register_error(elgg_echo('tidypics:thumbnail_tool:create_failed')); + forward(REFERER); + } +} + +$url = elgg_normalize_url("photos/thumbnail/$guid/large"); +system_message(elgg_echo('tidypics:thumbnail_tool:created')); + +if (elgg_is_xhr()) { + echo json_encode(array( + 'guid' => $guid, + 'title' => $title, + 'thumbnail_src' => $url + )); +} + +forward(REFERER);
\ No newline at end of file |