summaryrefslogtreecommitdiff
path: root/modules/gallery
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery')
-rw-r--r--modules/gallery/helpers/album.php4
-rw-r--r--modules/gallery/helpers/theme.php6
-rw-r--r--modules/gallery/libraries/MY_Input.php2
-rw-r--r--modules/gallery/tests/Input_Library_Test.php25
4 files changed, 36 insertions, 1 deletions
diff --git a/modules/gallery/helpers/album.php b/modules/gallery/helpers/album.php
index 521806a0..0baae631 100644
--- a/modules/gallery/helpers/album.php
+++ b/modules/gallery/helpers/album.php
@@ -45,9 +45,13 @@ class album_Core {
->error_messages("required", t("You must provide an internet address"))
->error_messages("length", t("Your internet address is too long"));
$group->hidden("type")->value("album");
+
+ module::event("album_add_form", $parent, $form);
+
$group->submit("")->value(t("Create"));
$form->script("")
->url(url::abs_file("modules/gallery/js/albums_form_add.js"));
+
return $form;
}
diff --git a/modules/gallery/helpers/theme.php b/modules/gallery/helpers/theme.php
index ae5f030c..980ee11a 100644
--- a/modules/gallery/helpers/theme.php
+++ b/modules/gallery/helpers/theme.php
@@ -73,12 +73,18 @@ class theme_Core {
$group = $form->group("edit_theme");
$group->input("page_size")->label(t("Items per page"))->id("g-page-size")
->rules("required|valid_digit")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
->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")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
->value(module::get_var("gallery", "thumb_size"));
$group->input("resize_size")->label(t("Resized image size (in pixels)"))->id("g-resize-size")
->rules("required|valid_digit")
+ ->error_messages("required", t("You must enter a number"))
+ ->error_messages("valid_digit", t("You must enter a number"))
->value(module::get_var("gallery", "resize_size"));
$group->textarea("header_text")->label(t("Header text"))->id("g-header-text")
->value(module::get_var("gallery", "header_text"));
diff --git a/modules/gallery/libraries/MY_Input.php b/modules/gallery/libraries/MY_Input.php
index 703136c7..1d5949e8 100644
--- a/modules/gallery/libraries/MY_Input.php
+++ b/modules/gallery/libraries/MY_Input.php
@@ -26,6 +26,6 @@ class Input extends Input_Core {
* @return string
*/
public function clean_input_keys($str) {
- return preg_replace('#^[\pL0-9:_.-]++$#uD', '_', $str);
+ return preg_replace('#[^a-zA-Z0-9:_.-]+#', '_', $str);
}
}
diff --git a/modules/gallery/tests/Input_Library_Test.php b/modules/gallery/tests/Input_Library_Test.php
new file mode 100644
index 00000000..06641323
--- /dev/null
+++ b/modules/gallery/tests/Input_Library_Test.php
@@ -0,0 +1,25 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2010 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 Input_Library_Test extends Gallery_Unit_Test_Case {
+ function clean_input_keys_test() {
+ $input = Input::instance();
+ $this->assert_same("foo_bar", $input->clean_input_keys("foo|bar"));
+ }
+} \ No newline at end of file