From 65f6184aec8f6c6e5d053d4cb0e0925b9f536570 Mon Sep 17 00:00:00 2001
From: Brett Profitt
- '/mod/tidypics/docs/configure_server.txt',
- 'text' => elgg_echo('tidypics:server_configuration_doc')
- ));
- ?>
-wwwroot}mod/tidypics/thumbnail.php?file_guid={$guid}&size=large\" alt=\"{$title}\" />";
diff --git a/actions/admin/imtest.php b/actions/admin/imtest.php
deleted file mode 100644
index a58643d0e..000000000
--- a/actions/admin/imtest.php
+++ /dev/null
@@ -1,18 +0,0 @@
-getFilename();
+$container_guid = $image->container_guid;
+if (!$filename || !$container_guid) {
+ register_error(elgg_echo('tidypics:thumbnail_tool:invalid_image_info'));
+ forward(REFERER);
+}
+
+$title = $image->title;
+$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
diff --git a/actions/photos/admin/imtest.php b/actions/photos/admin/imtest.php
new file mode 100644
index 000000000..a58643d0e
--- /dev/null
+++ b/actions/photos/admin/imtest.php
@@ -0,0 +1,18 @@
+ "by %s users (not including you)",
'tidypics:viewsbyothers' => "(%s by you)",
'tidypics:administration' => 'Tidypics Administration',
- 'tidypics:stats' => 'Tidypics Stats',
+ 'tidypics:stats' => 'Stats',
'tidypics:nophotosingroup' => 'This groups does not have any photos yet',
'tidypics:upgrade' => 'Upgrade',
'tidypics:sort' => 'Sorting the %s album',
@@ -103,7 +103,7 @@ $english = array(
'tidypics:stats:tags' => 'Total tags',
// server analysis
- 'tidypics:server_info' => 'Server information',
+ 'tidypics:server_info' => 'Server Information',
'tidypics:server_info:gd_desc' => 'Elgg requires the GD extension to be loaded',
'tidypics:server_info:exec_desc' => 'Required for ImageMagick command line',
'tidypics:server_info:memory_limit_desc' => 'Change memory_limit to increase',
@@ -136,9 +136,24 @@ $english = array(
PHP extension), we recommend that you use that.',
'tidypics:lib_tools:testing' =>
'To use the ImageMagick executables, PHP must be configured to allow calls to exec(). You can see the
- configuration of your server above. Next, you need to determine the path to ImageMagick on your server. Your hosting service should
- be able to provide this to you. You can test if the location is correct below. If successful, it should display the version of
- ImageMagick installed on your server.',
+ configuration of your server on the "Server Information" tab.. Next, you need to determine the path to
+ ImageMagick on your server. Your hosting service should be able to provide this to you. You can test
+ if the location is correct below. If successful, it should display the version of ImageMagick installed
+ on your server.',
+
+ // thumbnail tool
+ 'tidypics:thumbnail_tool' => 'Thumbnail Creation',
+ 'tidypics:thumbnail_tool_blurb' =>
+ 'This page allows you to create thumbnails for images when the thumbnail creation failed during upload.
+ You may experience problems with thumbnail creation if your image library is not configured properly or
+ if there is not enough memory for the GD library to load and resize an image. If your users have
+ experienced problems with thumbnail creation and you have corrected your configuration, you can try to redo the
+ thumbnails. Find the unique identifier of the photo (it is the number near the end of the url when viewing
+ a photo) and enter it below.',
+ 'tidypics:thumbnail_tool:unknown_image' => 'Unable to get original image',
+ 'tidypics:thumbnail_tool:invalid_image_info' => 'Error retrieving information about the image',
+ 'tidypics:thumbnail_tool:create_failed' => 'Failed to create thumbnails',
+ 'tidypics:thumbnail_tool:created' => 'Created thumbnails.',
//actions
'album:create' => "Create new album",
diff --git a/start.php b/start.php
index 1391184c7..ad540bc8f 100644
--- a/start.php
+++ b/start.php
@@ -48,10 +48,8 @@ function tidypics_init() {
// Add photos link to owner block/hover menus
elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'tidypics_owner_block_menu');
- // Add admin menu items
+ // Add admin menu item
elgg_register_admin_menu_item('configure', 'tidypics', 'settings');
- elgg_register_admin_menu_item('administer', 'tidypics', 'statistics');
- elgg_register_admin_menu_item('administer', 'tidypics_tools', 'administer_utilities');
// Register for search
elgg_register_entity_type('object', 'image');
@@ -107,6 +105,7 @@ function tidypics_init() {
//register_action("tidypics/deletetag", false, "$base_dir/deletetag.php");
elgg_register_action("photos/admin/settings", "$base_dir/admin/settings.php", 'admin');
+ elgg_register_action("photos/admin/create_thumbnails", "$base_dir/admin/create_thumbnails.php", 'admin');
elgg_register_action("photos/admin/upgrade", "$base_dir/admin/upgrade.php", 'admin');
// Register libraries
diff --git a/views/default/admin/administer_utilities/tidypics_tools.php b/views/default/admin/administer_utilities/tidypics_tools.php
deleted file mode 100644
index 1df664be8..000000000
--- a/views/default/admin/administer_utilities/tidypics_tools.php
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- GD
-
-
-
-
- IMagick
-
-
-
-
- exec()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- s
-
-
-
-
- s
-
-
-
- GD imagejpeg
-
-
-
-
- GD imagepng
-
-
-
-
- GD imagegif
-
-
-
-
- EXIF
-
-
-
-
-
-
-
-
' . elgg_echo('tidypics:lib_tools:testing') . '
'; -$content .= ''; -$content .= ''; - -echo elgg_view_module('inline', elgg_echo('tidypics:lib_tools'), $content); - -?> - diff --git a/views/default/admin/settings/tidypics.php b/views/default/admin/settings/tidypics.php index 2e7d79942..7b1764fed 100644 --- a/views/default/admin/settings/tidypics.php +++ b/views/default/admin/settings/tidypics.php @@ -6,18 +6,66 @@ * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License v2 */ -if (tidypics_is_upgrade_available()) { - echo ''; - echo elgg_view('output/url', array( - 'text' => elgg_echo('tidypics:upgrade'), - 'href' => 'action/photos/admin/upgrade', - 'is_action' => true, - )); - echo '
'; - echo '+If it is not a memory issue, you should see some other error appear. Once you have fixed the error, +change display_error back to 0. +
+HTML; + +echo elgg_view_module('inline', $title, $body); + +$title = 'Question mark images appear'; +$body =<< +If you see question mark images when you look at your albums, this means the resizing of the images +failed. This could be due to the memory limits as described above. There are other causes. Tidypics +tries to detect these problems and write the cause to the error log. You should check your server +error log right after an upload that results in a question mark for these error messages. The messages +will begin with "Tidypics warning:". It is possible if you have turned off php warnings that you will +not see these warnings. + ++Another possible cause is using ImageMagick when your server does not support it or specifying +the wrong path to the ImageMagick executables. +
+HTML; + +echo elgg_view_module('inline', $title, $body); + + +$title = 'Unable to save settings'; +$body =<<If you are unable to settings, there are two possible causes. First, +Apache can be configured to block pages that use file paths as Tidypics +does when setting the location of the ImageMagick executable. In this case, +leave that field blank. Second, there is some bad code in the Izaps video +plugin that can prevent the settings from being saved. Try disabling that plugin. + +HTML; + +echo elgg_view_module('inline', $title, $body); + diff --git a/views/default/admin/settings/tidypics/image_lib.php b/views/default/admin/settings/tidypics/image_lib.php new file mode 100644 index 000000000..44a7eb847 --- /dev/null +++ b/views/default/admin/settings/tidypics/image_lib.php @@ -0,0 +1,38 @@ +' . elgg_echo('tidypics:lib_tools:overview') . ''; +$content .= '' . elgg_echo('tidypics:lib_tools:testing') . '
'; +$content .= ''; +$content .= ''; + +echo elgg_view_module('inline', elgg_echo('tidypics:lib_tools'), $content); + +?> + diff --git a/views/default/admin/settings/tidypics/server_info.php b/views/default/admin/settings/tidypics/server_info.php new file mode 100644 index 000000000..96ccc555f --- /dev/null +++ b/views/default/admin/settings/tidypics/server_info.php @@ -0,0 +1,130 @@ + ++ | + | + |
GD | ++ | + |
IMagick | ++ | + |
exec() | ++ | + |
+ | + | + |
+ | + | + |
+ | + | + |
+ | + | + |
+ | s | ++ |
+ | s | ++ |
GD imagejpeg | ++ | + |
GD imagepng | ++ | + |
GD imagegif | ++ | + |
EXIF | ++ | + |
+ | + | + |
+ '/mod/tidypics/docs/configure_server.txt', + 'text' => elgg_echo('tidypics:server_configuration_doc') + )); + ?> +
+'; + echo ''; + echo elgg_view('output/url', array( + 'text' => elgg_echo('tidypics:upgrade'), + 'href' => 'action/photos/admin/upgrade', + 'is_action' => true, + )); + echo '
'; + echo ''; +} + +echo elgg_view('output/longtext', array('value' => elgg_echo('tidypics:admin:instructions'))); + +echo elgg_view_form('photos/admin/settings'); \ No newline at end of file diff --git a/views/default/admin/settings/tidypics/stats.php b/views/default/admin/settings/tidypics/stats.php new file mode 100644 index 000000000..25ace77da --- /dev/null +++ b/views/default/admin/settings/tidypics/stats.php @@ -0,0 +1,63 @@ +dbprefix}entities where subtype={$img_type}"; +$total = get_data_row($query); +$num_images = $total->total; +$stats['images'] = $total->total; + +// number of albums +$img_type = get_subtype_id('object', 'album'); +$query = "SELECT count(guid) as total from {$CONFIG->dbprefix}entities where subtype={$img_type}"; +$total = get_data_row($query); +$num_albums = $total->total; +$stats['albums'] = $total->total; + +$options = array( + 'count' => true, + 'type' => 'object', + 'subtype' => 'image', + 'annotation_name' => 'generic_comment' +); + +// number of comments on photos +$stats['photo_comments'] = elgg_get_annotations($options); + +// number of comments on albums +$options['subtype'] = 'album'; +$stats['album_comments'] = elgg_get_annotations($options); + +// number of views on images +$options['subtype'] = 'image'; +$options['annotation_name'] = 'tp_view'; +$stats['views'] = elgg_get_annotations($options); + +// number of photo tags on images +if (elgg_get_plugin_setting('tagging', 'tidypics') != 'disabled') { + $options['annotation_name'] = 'phototag'; + $stats['tags'] = elgg_get_annotations($options); +} + +$content = '$str: | +$value | + +HTML; +} + +$content .= '
$str: | -$value | - -HTML; -} - -$content .= '
-Tidypics tries to calculate the maximum size of an image that your server will support. If it -guesses incorrectly and someone uploads a photo that is too large, the script may crash when -resizing the image if you are using GD. The easiest way to test this is to set display_errors -to 1 in your .htaccess file and upload large images. If this causes a problem, a php memory error -should display on the screen. You can increased your php memory limit (see the docs directory). -A better option is to use ImageMagick if your server supports it (again see the docs directory). -
-If it is not a memory issue, you should see some other error appear. Once you have fixed the error, -change display_error back to 0. -
--If you see question mark images when you look at your albums, this means the resizing of the images -failed. This could be due to the memory limits as described above. There are other causes. Tidypics -tries to detect these problems and write the cause to the error log. You should check your server -error log right after an upload that results in a question mark for these error messages. The messages -will begin with "Tidypics warning:". It is possible if you have turned off php warnings that you will -not see these warnings. -
-Another possible cause is using ImageMagick when your server does not support it or specifying -the wrong path to the ImageMagick executables. -
-If you are unable to settings, there are two possible causes. First, -Apache can be configured to block pages that use file paths as Tidypics -does when setting the location of the ImageMagick executable. In this case, -leave that field blank. Second, there is some bad code in the Izaps video -plugin that can prevent the settings from being saved. Try disabling that plugin. -
\ No newline at end of file diff --git a/views/default/tidypics/admin/settings.php b/views/default/tidypics/admin/settings.php deleted file mode 100644 index aff6acc8d..000000000 --- a/views/default/tidypics/admin/settings.php +++ /dev/null @@ -1,25 +0,0 @@ - "{$vars['url']}mod/tidypics/pages/server_analysis.php", - 'text' => elgg_echo('tidypics:settings:server:analysis'), -)); - -echo elgg_view('output/longtext', array('value' => elgg_echo('tidypics:admin:instructions'))); - -echo ''; -echo elgg_view('tidypics/admin/upgrade'); -echo $server_analysis_link; -echo '
'; - -echo elgg_view('input/form', array( - 'body' => $form_body, - 'action' => $vars['url'] . 'action/tidypics/admin/settings', -)); diff --git a/views/default/tidypics/admin/thumbnails.php b/views/default/tidypics/admin/thumbnails.php deleted file mode 100644 index 5884b9dc3..000000000 --- a/views/default/tidypics/admin/thumbnails.php +++ /dev/null @@ -1,33 +0,0 @@ --This page allows you to create thumbnails for images when the thumbnail creation failed during upload. -You may experience problems with thumbnail creation if your image library is not configured properly or -if there is not enough memory for the GD library to load and resize an image. If your users have -experienced problems with thumbnail creation and you have corrected your configuration, you can try to redo the -thumbnails. Find the unique identifier of the photo (it is the number near the end of the url when viewing -a photo) and enter it below. -
--: - - -
- - \ No newline at end of file diff --git a/views/default/tidypics/admin/tidypics.php b/views/default/tidypics/admin/tidypics.php deleted file mode 100644 index 479eb86e2..000000000 --- a/views/default/tidypics/admin/tidypics.php +++ /dev/null @@ -1,63 +0,0 @@ - -