diff options
-rw-r--r-- | actions/imtest.php | 19 | ||||
-rw-r--r-- | languages/en.php | 2 | ||||
-rw-r--r-- | views/default/tidypics/admin/imagelib.php | 60 | ||||
-rw-r--r-- | views/default/tidypics/admin/tidypics.php | 8 | ||||
-rw-r--r-- | views/default/tidypics/forms/settings.php | 2 |
5 files changed, 89 insertions, 2 deletions
diff --git a/actions/imtest.php b/actions/imtest.php new file mode 100644 index 000000000..6ab2b7b8f --- /dev/null +++ b/actions/imtest.php @@ -0,0 +1,19 @@ +<?php
+ /**
+ * Tisypics ImageMagick Location Test
+ *
+ * Called through ajax
+ */
+
+ $location = $_GET['location'];
+
+ $command = $location . "convert -version";
+
+ $result = system($command, $return_val);
+
+ if ($return_val == 0) {
+ echo $result;
+ } else {
+ echo "Unable to run ImageMagick. Please check the path.";
+ }
+?>
diff --git a/languages/en.php b/languages/en.php index 82305d2aa..674c71207 100644 --- a/languages/en.php +++ b/languages/en.php @@ -51,7 +51,7 @@ //settings
'tidypics:settings' => 'Settings',
'tidypics:admin:instructions' => 'These are the core Tidypics settings. Change them for your setup and then click save.',
- 'tidypics:settings:image_lib' => "Image Library: ",
+ 'tidypics:settings:image_lib' => "Image Library",
'tidypics:settings:download_link' => "Show download link",
'tidypics:settings:tagging' => "Enable photo tagging",
'tidypics:settings:photo_ratings' => "Enable photo ratings (requires rate plugin of Miguel Montes or compatible)",
diff --git a/views/default/tidypics/admin/imagelib.php b/views/default/tidypics/admin/imagelib.php new file mode 100644 index 000000000..8f71c75f2 --- /dev/null +++ b/views/default/tidypics/admin/imagelib.php @@ -0,0 +1,60 @@ +<?php
+
+ $img_type = get_subtype_id('object', 'image');
+ $query = "SELECT count(guid) as total from {$CONFIG->dbprefix}entities where subtype={$img_type}";
+ $total = get_data_row($query);
+ $num_images = $total->total;
+
+ $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;
+
+ $num_comments_photos = count_annotations(0, 'object', 'image', 'generic_comment');
+ $num_comments_albums = count_annotations(0, 'object', 'album', 'generic_comment');
+
+ $num_views = count_annotations(0, 'object', 'image', 'tp_view');
+
+ if (get_plugin_setting('tagging', 'tidypics') != "disabled")
+ $num_tags = count_annotations(0, 'object', 'image', 'phototag');
+?>
+<p>
+<br />
+An image library is required by Tidypics to perform various manipulations: resizing on upload, watermarking, rotation, and cropping.
+There are three image library options with Tidypics: PHP extension <a href="http://www.php.net/manual/en/book.image.php">GD</a>,
+<a href="http://www.imagemagick.org/">ImageMagick</a> called via a system call, and the PHP extension
+<a href="http://pecl.php.net/package/imagick/">imagick</a>. GD is the most common of the three on hosted servers but suffers
+from serious memory usage problems when resizing photos. If you have access to ImageMagick (whether through system calls or the
+PHP extension), we recommend that you use that.
+</p><p>
+<h3>Testing ImageMagick Commandline</h3>
+To use the ImageMagick executables, PHP must be configured to allow calls to exec(). You can check our
+<a href="<?php echo $CONFIG->wwwroot . 'mod/tidypics/pages/server_analysis.php'; ?>">server analysis page</a> to find out the
+configuration of your server. 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.
+</p>
+<p>
+<br />
+<?php echo elgg_echo('tidypics:settings:im_path'); ?><br />
+<input name="im_location" type="text" />
+<input type="submit" value="Submit" onclick="TestImageMagickLocation();" />
+</p>
+<div id="im_results"></div>
+
+<script type="text/javascript">
+function TestImageMagickLocation()
+{
+ var loc = $('input[name=im_location]').val();
+ $("#im_results").html("");
+ $.ajax({
+ type: "GET",
+ url: "<?php echo $CONFIG->wwwroot . 'mod/tidypics/actions/imtest.php'; ?>",
+ data: {location: loc},
+ cache: false,
+ success: function(html){
+ $("#im_results").html(html);
+ }
+ });
+}
+</script>
\ No newline at end of file diff --git a/views/default/tidypics/admin/tidypics.php b/views/default/tidypics/admin/tidypics.php index 7d6aa220c..3d31bd52e 100644 --- a/views/default/tidypics/admin/tidypics.php +++ b/views/default/tidypics/admin/tidypics.php @@ -6,6 +6,7 @@ $settingsselect = ''; $statsselect = ''; + $imagelibselect = ''; switch($tab) { case 'settings': $settingsselect = 'class="selected"'; @@ -13,6 +14,9 @@ case 'stats': $statsselect = 'class="selected"'; break; + case 'imagelib': + $imagelibselect = 'class="selected"'; + break; } ?> @@ -21,6 +25,7 @@ <ul> <li <?php echo $settingsselect; ?>><a href="<?php echo $CONFIG->wwwroot . 'mod/tidypics/pages/admin.php?tab=settings'; ?>"><?php echo elgg_echo('tidypics:settings'); ?></a></li> <li <?php echo $statsselect; ?>><a href="<?php echo $CONFIG->wwwroot . 'mod/tidypics/pages/admin.php?tab=stats'; ?>"><?php echo elgg_echo('tidypics:stats'); ?></a></li> + <li <?php echo $imagelibselect; ?>><a href="<?php echo $CONFIG->wwwroot . 'mod/tidypics/pages/admin.php?tab=imagelib'; ?>"><?php echo elgg_echo('tidypics:settings:image_lib'); ?></a></li> </ul> </div> <?php @@ -31,6 +36,9 @@ case 'stats': echo elgg_view("tidypics/admin/stats"); break; + case 'imagelib': + echo elgg_view("tidypics/admin/imagelib"); + break; } ?> </div> diff --git a/views/default/tidypics/forms/settings.php b/views/default/tidypics/forms/settings.php index d493a623b..9565ddb1f 100644 --- a/views/default/tidypics/forms/settings.php +++ b/views/default/tidypics/forms/settings.php @@ -28,7 +28,7 @@ // Image Library
$image_lib = $plugin->image_lib;
if (!$image_lib) $image_lib = 'GD';
- $form_body = '<p>' . elgg_echo('tidypics:settings:image_lib');
+ $form_body = '<p>' . elgg_echo('tidypics:settings:image_lib') . ': ';
$form_body .= elgg_view('input/pulldown', array(
'internalname' => 'params[image_lib]',
'options_values' => $img_lib_options,
|