aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actions/imtest.php19
-rw-r--r--languages/en.php2
-rw-r--r--views/default/tidypics/admin/imagelib.php60
-rw-r--r--views/default/tidypics/admin/tidypics.php8
-rw-r--r--views/default/tidypics/forms/settings.php2
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,