summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/helpers')
-rw-r--r--modules/gallery/helpers/MY_url.php19
-rw-r--r--modules/gallery/helpers/gallery.php44
-rw-r--r--modules/gallery/helpers/gallery_rss.php4
-rw-r--r--modules/gallery/helpers/item.php8
4 files changed, 32 insertions, 43 deletions
diff --git a/modules/gallery/helpers/MY_url.php b/modules/gallery/helpers/MY_url.php
index 1ca9a58f..368c947e 100644
--- a/modules/gallery/helpers/MY_url.php
+++ b/modules/gallery/helpers/MY_url.php
@@ -18,25 +18,6 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class url extends url_Core {
- static function site($uri, $protocol=false) {
- if (($pos = strpos($uri, "?")) !== false) {
- list ($uri, $query) = explode("?", $uri, 2);
- $query = "?$query";
- } else {
- $query = "";
- }
-
- // @todo if we're only doing this for Item_Model, why not just put this
- // all into Item_Model::url()? It'd make url::site() faster. Downside is that
- // anywhere we refer to an item by id, eg url::site("albums/123") would have
- // to load the item and do $item->url();
- $parts = explode("/", $uri, 3);
- if ($parts[0] == "albums" || $parts[0] == "photos" || $parts[0] == "movies") {
- $uri = model_cache::get("item", $parts[1])->relative_url();
- }
- return parent::site($uri . $query, $protocol);
- }
-
static function parse_url() {
if (Router::$controller) {
return;
diff --git a/modules/gallery/helpers/gallery.php b/modules/gallery/helpers/gallery.php
index f72ef982..813134eb 100644
--- a/modules/gallery/helpers/gallery.php
+++ b/modules/gallery/helpers/gallery.php
@@ -82,9 +82,9 @@ class gallery_Core {
static function site_menu($menu, $theme) {
if ($theme->page_type != "login") {
$menu->append(Menu::factory("link")
- ->id("home")
- ->label(t("Home"))
- ->url(url::site("albums/1")));
+ ->id("home")
+ ->label(t("Home"))
+ ->url(item::root()->url()));
$item = $theme->item();
@@ -92,39 +92,39 @@ class gallery_Core {
$can_add = $item && access::can("add", $item);
if ($can_add) {
- $menu->append($add_menu = Menu::factory("submenu")
- ->id("add_menu")
- ->label(t("Add")));
+ $menu->append($add_menu = Menu::factory("submenu")
+ ->id("add_menu")
+ ->label(t("Add")));
$add_menu->append(Menu::factory("dialog")
- ->id("add_photos_item")
- ->label(t("Add photos"))
- ->url(url::site("simple_uploader/app/$item->id")));
+ ->id("add_photos_item")
+ ->label(t("Add photos"))
+ ->url(url::site("simple_uploader/app/$item->id")));
if ($item->is_album()) {
- $add_menu->append(Menu::factory("dialog")
- ->id("add_album_item")
- ->label(t("Add an album"))
- ->url(url::site("form/add/albums/$item->id?type=album")));
- }
+ $add_menu->append(Menu::factory("dialog")
+ ->id("add_album_item")
+ ->label(t("Add an album"))
+ ->url(url::site("form/add/albums/$item->id?type=album")));
+ }
}
$menu->append($options_menu = Menu::factory("submenu")
- ->id("options_menu")
- ->label(t("Photo options")));
+ ->id("options_menu")
+ ->label(t("Photo options")));
if ($item && ($can_edit || $can_add)) {
if ($can_edit) {
$options_menu->append(Menu::factory("dialog")
- ->id("edit_item")
- ->label($item->is_album() ? t("Edit album") : t("Edit photo"))
- ->url(url::site("form/edit/{$item->type}s/$item->id")));
+ ->id("edit_item")
+ ->label($item->is_album() ? t("Edit album") : t("Edit photo"))
+ ->url(url::site("form/edit/{$item->type}s/$item->id")));
}
if ($item->is_album()) {
$options_menu->label(t("Album options"));
if ($can_edit) {
$options_menu->append(Menu::factory("dialog")
- ->id("edit_permissions")
- ->label(t("Edit permissions"))
- ->url(url::site("permissions/browse/$item->id")));
+ ->id("edit_permissions")
+ ->label(t("Edit permissions"))
+ ->url(url::site("permissions/browse/$item->id")));
}
}
}
diff --git a/modules/gallery/helpers/gallery_rss.php b/modules/gallery/helpers/gallery_rss.php
index dee6ae40..f30df092 100644
--- a/modules/gallery/helpers/gallery_rss.php
+++ b/modules/gallery/helpers/gallery_rss.php
@@ -40,7 +40,7 @@ class gallery_rss_Core {
$feed->max_pages = ceil($all_children->find_all()->count() / $limit);
$feed->title = t("Recent Updates");
- $feed->link = url::abs_site("albums/1");
+ $feed->link = item::root()->abs_url();
$feed->description = t("Recent Updates");
return $feed;
@@ -54,7 +54,7 @@ class gallery_rss_Core {
$feed->max_pages = ceil(
$item->viewable()->descendants_count(array("type" => "photo")) / $limit);
$feed->title = html::purify($item->title);
- $feed->link = url::abs_site("albums/{$item->id}");
+ $feed->link = $item->abs_url();
$feed->description = nl2br(html::purify($item->description));
return $feed;
diff --git a/modules/gallery/helpers/item.php b/modules/gallery/helpers/item.php
index 8da88b6e..d907a177 100644
--- a/modules/gallery/helpers/item.php
+++ b/modules/gallery/helpers/item.php
@@ -184,4 +184,12 @@ class item_Core {
return $model;
}
+
+ /**
+ * Return the root Item_Model
+ * @return Item_Model
+ */
+ static function root() {
+ return model_cache::get("item", 1);
+ }
} \ No newline at end of file