summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/helpers')
-rw-r--r--modules/gallery/helpers/ajax.php31
-rw-r--r--modules/gallery/helpers/album.php4
-rw-r--r--modules/gallery/helpers/legal_file.php18
3 files changed, 52 insertions, 1 deletions
diff --git a/modules/gallery/helpers/ajax.php b/modules/gallery/helpers/ajax.php
new file mode 100644
index 00000000..6d59b6e4
--- /dev/null
+++ b/modules/gallery/helpers/ajax.php
@@ -0,0 +1,31 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2012 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 ajax_Core {
+ /**
+ * Encode an Ajax response so that it's UTF-7 safe.
+ *
+ * @param string $message string to print
+ */
+ static function response($content) {
+ header("Content-Type: text/plain; charset=" . Kohana::CHARSET);
+ print "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">\n";
+ print $content;
+ }
+}
diff --git a/modules/gallery/helpers/album.php b/modules/gallery/helpers/album.php
index 23d59eea..0945e4d9 100644
--- a/modules/gallery/helpers/album.php
+++ b/modules/gallery/helpers/album.php
@@ -40,6 +40,8 @@ class album_Core {
->error_messages("conflict", t("There is already a movie, photo or album with this name"));
$group->input("slug")->label(t("Internet Address"))
->error_messages(
+ "reserved", t("This address is reserved and can't be used."))
+ ->error_messages(
"not_url_safe",
t("The internet address should contain only letters, numbers, hyphens and underscores"))
->error_messages("required", t("You must provide an internet address"))
@@ -76,6 +78,8 @@ class album_Core {
->error_messages(
"conflict", t("There is already a movie, photo or album with this internet address"))
->error_messages(
+ "reserved", t("This address is reserved and can't be used."))
+ ->error_messages(
"not_url_safe",
t("The internet address should contain only letters, numbers, hyphens and underscores"))
->error_messages("required", t("You must provide an internet address"))
diff --git a/modules/gallery/helpers/legal_file.php b/modules/gallery/helpers/legal_file.php
index af6472ca..bd48d7b7 100644
--- a/modules/gallery/helpers/legal_file.php
+++ b/modules/gallery/helpers/legal_file.php
@@ -89,7 +89,23 @@ class legal_file_Core {
if (strpos($filename, ".") === false) {
return "{$filename}.{$new_ext}";
} else {
- return preg_replace("/\..*?$/", ".{$new_ext}", $filename);
+ return preg_replace("/\.[^\.]*?$/", ".{$new_ext}", $filename);
}
}
+
+ /**
+ * Reduce the given file to having a single extension.
+ */
+ static function smash_extensions($filename) {
+ $parts = pathinfo($filename);
+ $result = "";
+ if ($parts["dirname"] != ".") {
+ $result .= $parts["dirname"] . "/";
+ }
+ $parts["filename"] = str_replace(".", "_", $parts["filename"]);
+ $parts["filename"] = preg_replace("/[_]+/", "_", $parts["filename"]);
+ $parts["filename"] = trim($parts["filename"], "_");
+ $result .= "{$parts['filename']}.{$parts['extension']}";
+ return $result;
+ }
}