summaryrefslogtreecommitdiff
path: root/modules/gallery/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/libraries')
-rw-r--r--modules/gallery/libraries/I18n.php27
-rw-r--r--modules/gallery/libraries/MY_Forge.php1
-rw-r--r--modules/gallery/libraries/Menu.php13
3 files changed, 30 insertions, 11 deletions
diff --git a/modules/gallery/libraries/I18n.php b/modules/gallery/libraries/I18n.php
index f2801169..03a6d8f6 100644
--- a/modules/gallery/libraries/I18n.php
+++ b/modules/gallery/libraries/I18n.php
@@ -148,30 +148,37 @@ class I18n_Core {
public function has_translation($message, $options=null) {
$locale = empty($options['locale']) ? $this->_config['default_locale'] : $options['locale'];
- $count = empty($options['count']) ? null : $options['count'];
- $values = $options;
- unset($values['locale']);
- $this->log($message, $options);
$entry = $this->lookup($locale, $message);
if (null === $entry) {
return false;
- } else if (!is_array($entry)) {
+ } else if (!is_array($message)) {
return $entry !== '';
} else {
- $plural_key = self::get_plural_key($locale, $count);
- return isset($entry[$plural_key])
- && $entry[$plural_key] !== null
- && $entry[$plural_key] !== '';
+ if (!is_array($entry) || empty($entry)) {
+ return false;
+ }
+ // It would be better to verify that all the locale's plural forms have a non-empty
+ // translation, but this is fine for now.
+ foreach ($entry as $value) {
+ if ($value === '') {
+ return false;
+ }
+ }
+ return true;
}
}
- public static function get_message_key($message) {
+ static function get_message_key($message) {
$as_string = is_array($message) ? implode('|', $message) : $message;
return md5($as_string);
}
+ static function is_plural_message($message) {
+ return is_array($message);
+ }
+
private function interpolate($locale, $string, $values) {
// TODO: Handle locale specific number formatting.
diff --git a/modules/gallery/libraries/MY_Forge.php b/modules/gallery/libraries/MY_Forge.php
index 17d0465b..b40d067d 100644
--- a/modules/gallery/libraries/MY_Forge.php
+++ b/modules/gallery/libraries/MY_Forge.php
@@ -26,6 +26,7 @@ class Forge extends Forge_Core {
parent::__construct($action, $title, $method, $attr);
$this->hidden("csrf")->value("");
}
+
/**
* Use our own template
*/
diff --git a/modules/gallery/libraries/Menu.php b/modules/gallery/libraries/Menu.php
index d19d8b1e..83bd1616 100644
--- a/modules/gallery/libraries/Menu.php
+++ b/modules/gallery/libraries/Menu.php
@@ -171,10 +171,21 @@ class Menu_Core extends Menu_Element {
}
/**
+ * Remove an element from the menu
+ */
+ public function remove($target_id) {
+ unset($this->elements[$target_id]);
+ }
+
+ /**
* Retrieve a Menu_Element by id
*/
public function get($id) {
- return $this->elements[$id];
+ if (array_key_exists($id, $this->elements)) {
+ return $this->elements[$id];
+ }
+
+ return null;
}
public function __toString() {