diff options
| author | Bharat Mediratta <bharat@menalto.com> | 2011-08-27 20:56:03 -0700 |
|---|---|---|
| committer | Bharat Mediratta <bharat@menalto.com> | 2011-08-27 20:56:03 -0700 |
| commit | 084c2717c0ddff6c5caa79c62abb3cdb9b4aea31 (patch) | |
| tree | af0fc03f042d11715cbbb3d137390d7df706ec3c /modules/gallery/helpers/item.php | |
| parent | dc21cf36b606048dc24532407d39bc8f5b4211fa (diff) | |
| parent | 246f5b59cb0e525a5ff6eaffce6b13e9af7e70b2 (diff) | |
Merge branch 'master' into bharat_dev
Diffstat (limited to 'modules/gallery/helpers/item.php')
| -rw-r--r-- | modules/gallery/helpers/item.php | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/modules/gallery/helpers/item.php b/modules/gallery/helpers/item.php index 1a5c631e..494c6db4 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, "-"); } @@ -392,4 +402,21 @@ class item_Core { return $position; } + + /** + * Set the display context callback for any future item renders. + */ + static function set_display_context_callback() { + Cache::instance()->set("display_context_" . $sid = Session::instance()->id(), func_get_args()); + } + + /** + * Call the display context callback for the given item + */ + static function get_display_context($item) { + $args = Cache::instance()->get("display_context_" . $sid = Session::instance()->id()); + $callback = $args[0]; + $args[0] = $item; + return call_user_func_array($callback, $args); + } }
\ No newline at end of file |
