summaryrefslogtreecommitdiff
path: root/modules/gallery
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery')
-rw-r--r--modules/gallery/config/locale.php8
-rw-r--r--modules/gallery/controllers/admin_modules.php6
-rw-r--r--modules/gallery/controllers/admin_theme_options.php9
-rw-r--r--modules/gallery/css/gallery.css6
-rw-r--r--modules/gallery/helpers/MY_num.php14
-rw-r--r--modules/gallery/helpers/gallery_block.php25
-rw-r--r--modules/gallery/helpers/gallery_installer.php11
-rw-r--r--modules/gallery/helpers/graphics.php26
-rw-r--r--modules/gallery/helpers/item.php12
-rw-r--r--modules/gallery/helpers/module.php2
-rw-r--r--modules/gallery/libraries/Form_Uploadify.php14
-rw-r--r--modules/gallery/libraries/Gallery_View.php3
-rw-r--r--modules/gallery/libraries/InPlaceEdit.php8
-rw-r--r--modules/gallery/libraries/Theme_View.php1
-rw-r--r--modules/gallery/models/item.php4
-rw-r--r--modules/gallery/module.info6
-rw-r--r--modules/gallery/tests/Item_Helper_Test.php4
-rw-r--r--modules/gallery/tests/Num_Helper_Test.php32
-rw-r--r--modules/gallery/views/admin_modules.html.php52
-rw-r--r--modules/gallery/views/admin_themes.html.php12
-rw-r--r--modules/gallery/views/admin_themes_buttonset.html.php47
-rw-r--r--modules/gallery/views/form_uploadify.html.php36
-rw-r--r--modules/gallery/views/movieplayer.html.php2
-rw-r--r--modules/gallery/views/upgrader.html.php2
24 files changed, 289 insertions, 53 deletions
diff --git a/modules/gallery/config/locale.php b/modules/gallery/config/locale.php
index 0509e45f..13de9098 100644
--- a/modules/gallery/config/locale.php
+++ b/modules/gallery/config/locale.php
@@ -29,14 +29,10 @@
$config['language'] = array('en_US', 'English_United States');
/**
- * Locale timezone. Defaults to use the server timezone.
+ * Locale timezone. Set in 'Advanced' settings, falling back to the server's zone.
* @see http://php.net/timezones
*/
-$config['timezone'] = ini_get('date.timezone');
-if (empty($config['timezone'])) {
- // This is a required field. Pick something as a default.
- $config['timezone'] = "America/Los_Angeles";
-}
+$config['timezone'] = module::get_var("gallery", "timezone", date_default_timezone_get());
// i18n settings
diff --git a/modules/gallery/controllers/admin_modules.php b/modules/gallery/controllers/admin_modules.php
index 787785ea..b712d14f 100644
--- a/modules/gallery/controllers/admin_modules.php
+++ b/modules/gallery/controllers/admin_modules.php
@@ -19,6 +19,9 @@
*/
class Admin_Modules_Controller extends Admin_Controller {
public function index() {
+ // If modules need upgrading, this will get recreated in module::available()
+ site_status::clear("upgrade_now");
+
$view = new Admin_View("admin.html");
$view->page_title = t("Modules");
$view->content = new View("admin_modules.html");
@@ -103,9 +106,6 @@ class Admin_Modules_Controller extends Admin_Controller {
module::event("module_change", $changes);
- // If modules need upgrading, this will get recreated
- site_status::clear("upgrade_now");
-
// @todo this type of collation is questionable from an i18n perspective
if ($activated_names) {
message::success(t("Activated: %names", array("names" => join(", ", $activated_names))));
diff --git a/modules/gallery/controllers/admin_theme_options.php b/modules/gallery/controllers/admin_theme_options.php
index cb46da90..a968a56d 100644
--- a/modules/gallery/controllers/admin_theme_options.php
+++ b/modules/gallery/controllers/admin_theme_options.php
@@ -78,8 +78,10 @@ class Admin_Theme_Options_Controller extends Admin_Controller {
$group = $form->group("edit_theme")->label(t("Theme layout"));
$group->input("page_size")->label(t("Items per page"))->id("g-page-size")
->rules("required|valid_digit")
+ ->callback(array($this, "_valididate_page_size"))
->error_messages("required", t("You must enter a number"))
->error_messages("valid_digit", t("You must enter a number"))
+ ->error_messages("valid_min_value", t("The value must be greater than zero"))
->value(module::get_var("gallery", "page_size"));
$group->input("thumb_size")->label(t("Thumbnail size (in pixels)"))->id("g-thumb-size")
->rules("required|valid_digit")
@@ -110,5 +112,12 @@ class Admin_Theme_Options_Controller extends Admin_Controller {
$group->submit("")->value(t("Save"));
return $form;
}
+
+ function _valididate_page_size($input) {
+ if ($input->value < 1) {
+ $input->add_error("valid_min_value", true);
+ }
+
+ }
}
diff --git a/modules/gallery/css/gallery.css b/modules/gallery/css/gallery.css
index 275a3d7d..ecf89565 100644
--- a/modules/gallery/css/gallery.css
+++ b/modules/gallery/css/gallery.css
@@ -29,12 +29,12 @@
#g-add-photos-canvas object,
#g-add-photos-button {
- left: 137px;
- margin: .5em 0;
+ left: 90px;
+ margin: .5em 0;
padding: .4em 1em;
position: absolute;
top: 0;
- width: 175px;
+ width: 300px;
}
#g-add-photos-canvas object {
diff --git a/modules/gallery/helpers/MY_num.php b/modules/gallery/helpers/MY_num.php
index 9787044c..842a2ee3 100644
--- a/modules/gallery/helpers/MY_num.php
+++ b/modules/gallery/helpers/MY_num.php
@@ -37,4 +37,18 @@ class num extends num_Core {
return $val;
}
+
+ /**
+ * Convert a size value as accepted by PHP's shorthand to bytes.
+ * ref: http://us2.php.net/manual/en/function.ini-get.php
+ * ref: http://us2.php.net/manual/en/faq.using.php#faq.using.shorthandbytes
+ */
+ static function convert_to_human_readable($num) {
+ foreach (array("G" => 1e9, "M" => 1e6, "K" => 1e3) as $k => $v) {
+ if ($num > $v) {
+ $num = round($num / $v) . $k;
+ }
+ }
+ return $num;
+ }
}
diff --git a/modules/gallery/helpers/gallery_block.php b/modules/gallery/helpers/gallery_block.php
index 0ba7c936..49d16246 100644
--- a/modules/gallery/helpers/gallery_block.php
+++ b/modules/gallery/helpers/gallery_block.php
@@ -82,9 +82,13 @@ class gallery_block_Core {
break;
case "block_adder":
- $block->css_id = "g-block-adder";
- $block->title = t("Dashboard content");
- $block->content = gallery_block::get_add_block_form();
+ if ($form = gallery_block::get_add_block_form()) {
+ $block->css_id = "g-block-adder";
+ $block->title = t("Dashboard content");
+ $block->content = $form;
+ } else {
+ $block = "";
+ }
break;
case "language":
@@ -118,11 +122,22 @@ class gallery_block_Core {
}
static function get_add_block_form() {
+ $available_blocks = block_manager::get_available_admin_blocks();
+
+ $active = array();
+ foreach (array_merge(block_manager::get_active("dashboard_sidebar"),
+ block_manager::get_active("dashboard_center")) as $b) {
+ unset($available_blocks[implode(":", $b)]);
+ }
+
+ if (!$available_blocks) {
+ return;
+ }
+
$form = new Forge("admin/dashboard/add_block", "", "post",
array("id" => "g-add-dashboard-block-form"));
$group = $form->group("add_block")->label(t("Add Block"));
- $group->dropdown("id")->label(t("Available Blocks"))
- ->options(block_manager::get_available_admin_blocks());
+ $group->dropdown("id")->label(t("Available blocks"))->options($available_blocks);
$group->submit("center")->value(t("Add to center"));
$group->submit("sidebar")->value(t("Add to sidebar"));
return $form;
diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php
index 20de1fea..7a9af402 100644
--- a/modules/gallery/helpers/gallery_installer.php
+++ b/modules/gallery/helpers/gallery_installer.php
@@ -311,8 +311,9 @@ class gallery_installer {
module::set_var("gallery", "email_header_separator", serialize("\n"));
module::set_var("gallery", "show_user_profiles_to", "registered_users");
module::set_var("gallery", "extra_binary_paths", "/usr/local/bin:/opt/local/bin:/opt/bin");
+ module::set_var("gallery", "timezone", null);
- module::set_version("gallery", 47);
+ module::set_version("gallery", 49);
}
static function upgrade($version) {
@@ -683,6 +684,14 @@ class gallery_installer {
module::set_var("gallery", "apple_touch_icon_url", "lib/images/apple-touch-icon.png");
module::set_version("gallery", $version = 47);
}
+
+ if ($version == 47 || $version == 48) {
+ // Add configuration variable to set timezone. Defaults to the currently
+ // used timezone (from PHP configuration). Note that in v48 we werew
+ // setting this value incorrectly, so we're going to stomp this value for v49.
+ module::set_var("gallery", "timezone", null);
+ module::set_version("gallery", $version = 49);
+ }
}
static function uninstall() {
diff --git a/modules/gallery/helpers/graphics.php b/modules/gallery/helpers/graphics.php
index 04501132..acb11bfb 100644
--- a/modules/gallery/helpers/graphics.php
+++ b/modules/gallery/helpers/graphics.php
@@ -316,10 +316,10 @@ class graphics_Core {
// ImageMagick & GraphicsMagick
$magick_kits = array(
"imagemagick" => array(
- "name" => "ImageMagick", "binary" => "convert", "version" => "convert -v",
+ "name" => "ImageMagick", "binary" => "convert", "version_arg" => "-v",
"version_regex" => "/Version: \S+ (\S+)/"),
"graphicsmagick" => array(
- "name" => "GraphicsMagick", "binary" => "gm", "version" => "gm version",
+ "name" => "GraphicsMagick", "binary" => "gm", "version_arg" => "version",
"version_regex" => "/\S+ (\S+)/"));
// Loop through the kits
foreach ($magick_kits as $index => $settings) {
@@ -328,7 +328,8 @@ class graphics_Core {
$toolkits->$index->name = $settings["name"];
if ($path) {
if (@is_file($path) &&
- preg_match($settings["version_regex"], shell_exec($settings["version"]), $matches)) {
+ preg_match(
+ $settings["version_regex"], shell_exec($path . " " . $settings["version_arg"]), $matches)) {
$version = $matches[1];
$toolkits->$index->installed = true;
@@ -423,4 +424,23 @@ class graphics_Core {
return true;
}
+
+ /**
+ * Return the max file size that this graphics toolkit can handle.
+ */
+ static function max_filesize() {
+ if (module::get_var("gallery", "graphics_toolkit") == "gd") {
+ $memory_limit = trim(ini_get("memory_limit"));
+ $memory_limit_bytes = num::convert_to_bytes($memory_limit);
+
+ // GD expands images in memory and uses 4 bytes of RAM for every byte
+ // in the file.
+ $max_filesize = $memory_limit_bytes / 4;
+ $max_filesize_human_readable = num::convert_to_human_readable($max_filesize);
+ return array($max_filesize, $max_filesize_human_readable);
+ }
+
+ // Some arbitrarily large size
+ return array(1000000000, "1G");
+ }
}
diff --git a/modules/gallery/helpers/item.php b/modules/gallery/helpers/item.php
index 1a5c631e..7e779544 100644
--- a/modules/gallery/helpers/item.php
+++ b/modules/gallery/helpers/item.php
@@ -152,8 +152,18 @@ class item_Core {
* @param string $filename
*/
static function convert_filename_to_slug($filename) {
- $result = pathinfo($filename, PATHINFO_FILENAME);
+ $result = str_replace("&", "-and-", $filename);
+ $result = str_replace(" ", "-", $result);
+
+ // It's not easy to extend the text helper since it's called by the Input class which is
+ // referenced in hooks/init_gallery, so it's
+ if (class_exists("transliterate")) {
+ $result = transliterate::utf8_to_ascii($result);
+ } else {
+ $result = text::transliterate_to_ascii($result);
+ }
$result = preg_replace("/[^A-Za-z0-9-_]+/", "-", $result);
+ $result = preg_replace("/-+/", "-", $result);
return trim($result, "-");
}
diff --git a/modules/gallery/helpers/module.php b/modules/gallery/helpers/module.php
index 37f7f68a..4b7d4a5f 100644
--- a/modules/gallery/helpers/module.php
+++ b/modules/gallery/helpers/module.php
@@ -101,7 +101,7 @@ class module_Core {
$m->locked = false;
if ($m->active && $m->version != $m->code_version) {
- site_status::warning(t("Some of your modules are out of date. <a href=\"%upgrader_url\">Upgrade now!</a>", array("upgrader_url" => url::site("upgrader"))), "upgrade_now");
+ site_status::warning(t("Some of your modules are out of date. <a href=\"%upgrader_url\">Upgrade now!</a>", array("upgrader_url" => url::abs_site("upgrader"))), "upgrade_now");
}
}
diff --git a/modules/gallery/libraries/Form_Uploadify.php b/modules/gallery/libraries/Form_Uploadify.php
index ca189f0b..c79b9aa2 100644
--- a/modules/gallery/libraries/Form_Uploadify.php
+++ b/modules/gallery/libraries/Form_Uploadify.php
@@ -49,6 +49,20 @@ class Form_Uploadify_Core extends Form_Input {
$v->movies_allowed = (bool) movie::find_ffmpeg();
$v->extensions = upload::get_upload_filters();
$v->suhosin_session_encrypt = (bool) ini_get("suhosin.session.encrypt");
+
+ list ($toolkit_max_filesize_bytes, $toolkit_max_filesize) = graphics::max_filesize();
+
+ $upload_max_filesize = trim(ini_get("upload_max_filesize"));
+ $upload_max_filesize_bytes = num::convert_to_bytes($upload_max_filesize);
+
+ if ($upload_max_filesize_bytes < $toolkit_max_filesize_bytes) {
+ $v->size_limit_bytes = $upload_max_filesize_bytes;
+ $v->size_limit = $upload_max_filesize;
+ } else {
+ $v->size_limit_bytes = $toolkit_max_filesize_bytes;
+ $v->size_limit = $toolkit_max_filesize;
+ }
+
return $v;
}
diff --git a/modules/gallery/libraries/Gallery_View.php b/modules/gallery/libraries/Gallery_View.php
index 77e3d204..1395686c 100644
--- a/modules/gallery/libraries/Gallery_View.php
+++ b/modules/gallery/libraries/Gallery_View.php
@@ -136,6 +136,9 @@ class Gallery_View_Core extends View {
}
unset($this->combine_queue[$type][$group]);
+ if (empty($this->combine_queue[$type])) {
+ unset($this->combine_queue[$type]);
+ }
if ($type == "css") {
return html::stylesheet("combined/css/$key", "screen,print,projection", true);
diff --git a/modules/gallery/libraries/InPlaceEdit.php b/modules/gallery/libraries/InPlaceEdit.php
index 88c30494..739cbb61 100644
--- a/modules/gallery/libraries/InPlaceEdit.php
+++ b/modules/gallery/libraries/InPlaceEdit.php
@@ -56,8 +56,12 @@ class InPlaceEdit_Core {
}
public function validate() {
- $post = Validation::factory($_POST)
- ->add_callbacks("input", $this->callback);
+ $post = Validation::factory($_POST);
+
+ if (!empty($this->callback)) {
+ $post->add_callbacks("input", $this->callback);
+ }
+
foreach ($this->rules as $rule) {
$post->add_rules("input", $rule);
}
diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php
index a507e9c8..152efc37 100644
--- a/modules/gallery/libraries/Theme_View.php
+++ b/modules/gallery/libraries/Theme_View.php
@@ -38,6 +38,7 @@ class Theme_View_Core extends Gallery_View {
$this->item = null;
$this->tag = null;
$this->set_global(array("theme" => $this,
+ "theme_info" => theme::get_info($this->theme_name),
"user" => identity::active_user(),
"page_type" => $page_type,
"page_subtype" => $page_subtype,
diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php
index f4d4c521..ba8e7cde 100644
--- a/modules/gallery/models/item.php
+++ b/modules/gallery/models/item.php
@@ -345,9 +345,7 @@ class Item_Model_Core extends ORM_MPTT {
// Make an url friendly slug from the name, if necessary
if (empty($this->slug)) {
- $tmp = pathinfo($this->name, PATHINFO_FILENAME);
- $tmp = preg_replace("/[^A-Za-z0-9-_]+/", "-", $tmp);
- $this->slug = trim($tmp, "-");
+ $this->slug = item::convert_filename_to_slug($this->name);
// If the filename is all invalid characters, then the slug may be empty here. Pick a
// random value.
diff --git a/modules/gallery/module.info b/modules/gallery/module.info
index aa1dc341..42345531 100644
--- a/modules/gallery/module.info
+++ b/modules/gallery/module.info
@@ -1,3 +1,7 @@
name = "Gallery 3"
description = "Gallery core application"
-version = 47
+version = 49
+author_name = "Gallery Team"
+author_url = "http://codex.gallery2.org/Gallery:Team"
+info_url = "http://codex.gallery2.org/Gallery3:Modules:gallery"
+discuss_url = "http://gallery.menalto.com/forum_module_gallery"
diff --git a/modules/gallery/tests/Item_Helper_Test.php b/modules/gallery/tests/Item_Helper_Test.php
index 4d5aed41..2fde7cc0 100644
--- a/modules/gallery/tests/Item_Helper_Test.php
+++ b/modules/gallery/tests/Item_Helper_Test.php
@@ -49,6 +49,10 @@ class Item_Helper_Test extends Gallery_Unit_Test_Case {
public function convert_filename_to_slug_test() {
$this->assert_equal("foo", item::convert_filename_to_slug("{[foo]}"));
$this->assert_equal("foo-bar", item::convert_filename_to_slug("{[foo!@#!$@#^$@($!(@bar]}"));
+ $this->assert_equal("english-text", item::convert_filename_to_slug("english text"));
+ $this->assert_equal("new-line", item::convert_filename_to_slug("new \n line"));
+ $this->assert_equal("foo-and-bar", item::convert_filename_to_slug("foo&bar"));
+ $this->assert_equal("special", item::convert_filename_to_slug("šṗëçîąļ"));
}
public function move_test() {
diff --git a/modules/gallery/tests/Num_Helper_Test.php b/modules/gallery/tests/Num_Helper_Test.php
new file mode 100644
index 00000000..a22f9359
--- /dev/null
+++ b/modules/gallery/tests/Num_Helper_Test.php
@@ -0,0 +1,32 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2011 Bharat Mediratta
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+class Num_Helper_Test extends Gallery_Unit_Test_Case {
+ public function convert_to_bytes_test() {
+ $this->assert_equal(5 * 1024, num::convert_to_bytes("5K"));
+ $this->assert_equal(3 * 1024*1024, num::convert_to_bytes("3M"));
+ $this->assert_equal(4 * 1024*1024*1024, num::convert_to_bytes("4G"));
+ }
+
+ public function convert_to_human_readable_test() {
+ $this->assert_equal("6K", num::convert_to_human_readable(5615));
+ $this->assert_equal("1M", num::convert_to_human_readable(1205615));
+ $this->assert_equal("3G", num::convert_to_human_readable(3091205615));
+ }
+} \ No newline at end of file
diff --git a/modules/gallery/views/admin_modules.html.php b/modules/gallery/views/admin_modules.html.php
index 2cc81b0d..03993bb2 100644
--- a/modules/gallery/views/admin_modules.html.php
+++ b/modules/gallery/views/admin_modules.html.php
@@ -43,7 +43,7 @@
</script>
<h1> <?= t("Gallery Modules") ?> </h1>
<p>
- <?= t("Power up your Gallery by adding more modules! Each module provides new cool features.") ?>
+ <?= t("Power up your Gallery by <a href=\"%url\">adding more modules</a>! Each module provides new cool features.", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Modules")) ?>
</p>
<div class="g-block-content">
@@ -55,6 +55,7 @@
<th style="width: 8em"> <?= t("Name") ?> </th>
<th> <?= t("Version") ?> </th>
<th> <?= t("Description") ?> </th>
+ <th style="width: 60px"> <?= t("Details") ?> </th>
</tr>
<? foreach ($available as $module_name => $module_info): ?>
<tr class="<?= text::alternate("g-odd", "g-even") ?>">
@@ -64,6 +65,55 @@
<td> <?= t($module_info->name) ?> </td>
<td> <?= $module_info->version ?> </td>
<td> <?= t($module_info->description) ?> </td>
+ <td style="white-space: nowrap">
+ <ul class="g-buttonset">
+ <li>
+ <a target="_blank"
+ <? if (isset($module_info->author_url)): ?>
+ class="ui-state-default ui-icon ui-icon-person ui-corner-left"
+ href="<?= $module_info->author_url ?>"
+ <? else: ?>
+ class="ui-state-disabled ui-icon ui-icon-person ui-corner-left"
+ href="#"
+ <? endif ?>
+
+ <? if (isset($module_info->author_name)): ?>
+ title="<?= $module_info->author_name ?>"
+ <? endif ?>
+ >
+ <? if (isset($module_info->author_name)): ?>
+ <?= $module_info->author_name ?>
+ <? endif ?>
+ </a>
+ </li>
+ <li>
+ <a target="_blank"
+ <? if (isset($module_info->info_url)): ?>
+ class="ui-state-default ui-icon ui-icon-info"
+ href="<?= $module_info->info_url ?>"
+ <? else: ?>
+ class="ui-state-disabled ui-icon ui-icon-info"
+ href="#"
+ <? endif ?>
+ >
+ <?= t("info") ?>
+ </a>
+ </li>
+ <li>
+ <a target="_blank"
+ <? if (isset($module_info->discuss_url)): ?>
+ class="ui-state-default ui-icon ui-icon-comment ui-corner-right"
+ href="<?= $module_info->discuss_url ?>"
+ <? else: ?>
+ class="ui-state-disabled ui-icon ui-icon-comment ui-corner-right"
+ href="#"
+ <? endif ?>
+ >
+ <?= t("discuss") ?>
+ </a>
+ </li>
+ </ul>
+ </td>
</tr>
<? endforeach ?>
</table>
diff --git a/modules/gallery/views/admin_themes.html.php b/modules/gallery/views/admin_themes.html.php
index d14e8bd4..7d947b28 100644
--- a/modules/gallery/views/admin_themes.html.php
+++ b/modules/gallery/views/admin_themes.html.php
@@ -10,7 +10,7 @@
<div class="g-block ui-helper-clearfix">
<h1> <?= t("Theme choice") ?> </h1>
<p>
- <?= t("Gallery allows you to choose a theme for browsing your Gallery, as well as a special theme for the administration interface. Click a theme to preview and activate it.") ?>
+ <?= t("Make your Gallery beautiful <a href=\"%url\">with a new theme</a>! There are separate themes for the regular site and for the administration interface. Click a theme below to preview and activate it.", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Themes")) ?>
</p>
<div class="g-block-content">
@@ -23,6 +23,7 @@
<p>
<?= $themes[$site]->description ?>
</p>
+ <? $v = new View("admin_themes_buttonset.html"); $v->info = $themes[$site]; print $v; ?>
</div>
<h2> <?= t("Available Gallery themes") ?> </h2>
@@ -40,13 +41,14 @@
<?= $info->description ?>
</p>
</a>
+ <? $v = new View("admin_themes_buttonset.html"); $v->info = $info; print $v; ?>
</div>
<? $count++ ?>
<? endforeach ?>
<? if (!$count): ?>
<p>
- <?= t("There are no other site themes available.") ?>
+ <?= t("There are no other site themes available. <a href=\"%url\">Download one now!</a>", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Modules")) ?>
</p>
<? endif ?>
</div>
@@ -61,6 +63,7 @@
<p>
<?= $themes[$admin]->description ?>
</p>
+ <? $v = new View("admin_themes_buttonset.html"); $v->info = $themes[$admin]; print $v; ?>
</div>
<h2> <?= t("Available admin themes") ?> </h2>
@@ -78,17 +81,18 @@
<?= $info->description ?>
</p>
</a>
+ <? $v = new View("admin_themes_buttonset.html"); $v->info = $info; print $v; ?>
</div>
<? $count++ ?>
<? endforeach ?>
<? if (!$count): ?>
<p>
- <?= t("There are no other admin themes available.") ?>
+ <?= t("There are no other admin themes available. <a href=\"%url\">Download one now!</a>", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Modules")) ?>
</p>
<? endif ?>
</div>
</div>
</div>
-</div> \ No newline at end of file
+</div>
diff --git a/modules/gallery/views/admin_themes_buttonset.html.php b/modules/gallery/views/admin_themes_buttonset.html.php
new file mode 100644
index 00000000..5166f36c
--- /dev/null
+++ b/modules/gallery/views/admin_themes_buttonset.html.php
@@ -0,0 +1,47 @@
+ <ul class="g-buttonset">
+ <li>
+ <a target="_blank"
+ <? if (isset($info['author_url'])): ?>
+ class="ui-state-default ui-icon ui-icon-person ui-corner-left"
+ href="<?= $info['author_url'] ?>"
+ <? else: ?>
+ class="ui-state-disabled ui-icon ui-icon-person ui-corner-left"
+ href="#"
+ <? endif ?>
+
+ <? if (isset($info['author_name'])): ?>
+ title="<?= $info['author_name'] ?>"
+ <? endif ?>
+ >
+ <? if (isset($info['author_name'])): ?>
+ <?= $info['author_name'] ?>
+ <? endif ?>
+ </a>
+ </li>
+ <li>
+ <a target="_blank"
+ <? if (isset($info['info_url'])): ?>
+ class="ui-state-default ui-icon ui-icon-info"
+ href="<?= $info['info_url'] ?>"
+ <? else: ?>
+ class="ui-state-disabled ui-icon ui-icon-info"
+ href="#"
+ <? endif ?>
+ >
+ <?= t("info") ?>
+ </a>
+ </li>
+ <li>
+ <a target="_blank"
+ <? if (isset($info['discuss_url'])): ?>
+ class="ui-state-default ui-icon ui-icon-comment ui-corner-right"
+ href="<?= $info['discuss_url'] ?>"
+ <? else: ?>
+ class="ui-state-disabled ui-icon ui-icon-comment ui-corner-right"
+ href="#"
+ <? endif ?>
+ >
+ <?= t("discuss") ?>
+ </a>
+ </li>
+ </ul>
diff --git a/modules/gallery/views/form_uploadify.html.php b/modules/gallery/views/form_uploadify.html.php
index db90b733..ba4a3621 100644
--- a/modules/gallery/views/form_uploadify.html.php
+++ b/modules/gallery/views/form_uploadify.html.php
@@ -32,6 +32,7 @@
fileDesc: <?= t("Photos and movies")->for_js() ?>,
cancelImg: "<?= url::file("lib/uploadify/cancel.png") ?>",
simUploadLimit: <?= $simultaneous_upload_limit ?>,
+ sizeLimit: <?= $size_limit_bytes ?>,
wmode: "transparent",
hideButton: true, /* should be true */
auto: true,
@@ -66,26 +67,30 @@
return true;
},
onError: function(event, queueID, fileObj, errorObj) {
- var msg = " - ";
if (errorObj.type == "HTTP") {
if (errorObj.info == "500") {
- msg += <?= t("Unable to process this file")->for_js() ?>;
- // Server error - check server logs
+ error_msg = <?= t("Unable to process this photo")->for_js() ?>;
} else if (errorObj.info == "404") {
- msg += <?= t("The upload script was not found.")->for_js() ?>;
- // Server script not found
+ error_msg = <?= t("The upload script was not found")->for_js() ?>;
+ } else if (errorObj.info == "400") {
+ error_msg = <?= t("This photo is too large (max is %size bytes)",
+ array("size" => $size_limit))->for_js() ?>;
} else {
- // Server Error: status: errorObj.info
- msg += (<?= t("Server error: __INFO__")->for_js() ?>.replace("__INFO__", errorObj.info));
+ msg += (<?= t("Server error: __INFO__ (__TYPE__)")->for_js() ?>
+ .replace("__INFO__", errorObj.info)
+ .replace("__TYPE__", errorObj.type));
}
} else if (errorObj.type == "File Size") {
- var sizelimit = $("#g-uploadify").uploadifySettings(sizeLimit);
- msg += fileObj.name+' '+errorObj.type+' Limit: '+Math.round(d.sizeLimit/1024)+'KB';
+ error_msg = <?= t("This photo is too large (max is %size bytes)",
+ array("size" => $size_limit))->for_js() ?>;
} else {
- msg += (<?= t("Server error: __INFO__ (__TYPE__)")->for_js() ?>
- .replace("__INFO__", errorObj.info)
- .replace("__TYPE__", errorObj.type));
+ error_msg = <?= t("Server error: __INFO__ (__TYPE__)")->for_js() ?>
+ .replace("__INFO__", errorObj.info)
+ .replace("__TYPE__", errorObj.type);
}
+ msg = " - <a target=\"_blank\" href=\"http://codex.gallery2.org/Gallery3:Troubleshooting:Uploading\">" +
+ error_msg + "</a>";
+
$("#g-add-photos-status ul").append(
"<li id=\"q" + queueID + "\" class=\"g-error\">" + fileObj.name + msg + "</li>");
$("#g-uploadify").uploadifyCancel(queueID);
@@ -131,10 +136,7 @@
<? endif ?>
<div>
- <p>
- <?= t("Photos will be uploaded to album: ") ?>
- </p>
- <ul class="g-breadcrumbs ui-helper-clearfix">
+ <ul class="g-breadcrumbs">
<? foreach ($album->parents() as $i => $parent): ?>
<li<? if ($i == 0) print " class=\"g-first\"" ?>> <?= html::clean($parent->title) ?> </li>
<? endforeach ?>
@@ -143,7 +145,7 @@
</div>
<div id="g-add-photos-canvas">
- <button id="g-add-photos-button" class="g-button ui-state-default ui-corner-all" href="#"><?= t("Select photos...") ?></button>
+ <button id="g-add-photos-button" class="g-button ui-state-default ui-corner-all" href="#"><?= t("Select photos (%size max per file)...", array("size" => $size_limit)) ?></button>
<span id="g-uploadify"></span>
</div>
<div id="g-add-photos-status">
diff --git a/modules/gallery/views/movieplayer.html.php b/modules/gallery/views/movieplayer.html.php
index 5c280a36..96d6532c 100644
--- a/modules/gallery/views/movieplayer.html.php
+++ b/modules/gallery/views/movieplayer.html.php
@@ -22,5 +22,5 @@
}
}
}
- )
+ ).ipad();
</script>
diff --git a/modules/gallery/views/upgrader.html.php b/modules/gallery/views/upgrader.html.php
index ad2e3421..70d37dd1 100644
--- a/modules/gallery/views/upgrader.html.php
+++ b/modules/gallery/views/upgrader.html.php
@@ -27,7 +27,7 @@
<div id="done" style="display: none">
<h1> <?= t("That's it!") ?> </h1>
<p>
- <?= t("Your <a href=\"%url\">Gallery</a> is up to date.",
+ <?= t("Your Gallery is up to date.<br/><a href=\"%url\">Return to your Gallery</a>",
array("url" => html::mark_clean(url::base()))) ?>
</p>
</div>