diff options
Diffstat (limited to 'modules/gallery/controllers/albums.php')
| -rw-r--r-- | modules/gallery/controllers/albums.php | 24 | 
1 files changed, 22 insertions, 2 deletions
| diff --git a/modules/gallery/controllers/albums.php b/modules/gallery/controllers/albums.php index ccf6c1cb..b2ec0700 100644 --- a/modules/gallery/controllers/albums.php +++ b/modules/gallery/controllers/albums.php @@ -1,7 +1,7 @@  <?php defined("SYSPATH") or die("No direct script access.");  /**   * Gallery - a web based photo album viewer and editor - * Copyright (C) 2000-2011 Bharat Mediratta + * 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 @@ -69,12 +69,32 @@ class Albums_Controller extends Items_Controller {              "item" => $album,              "children" => $album->viewable()->children($page_size, $offset),              "parents" => $album->parents()->as_array(), // view calls empty() on this +            "breadcrumbs" => Breadcrumb::array_from_item_parents($album),              "children_count" => $children_count));      $template->content = new View("album.html"); -      $album->increment_view_count();      print $template; +    item::set_display_context_callback("Albums_Controller::get_display_context"); +  } + +  static function get_display_context($item) { +    $where = array(array("type", "!=", "album")); +    $position = item::get_position($item, $where); +    if ($position > 1) { +      list ($previous_item, $ignore, $next_item) = +        $item->parent()->viewable()->children(3, $position - 2, $where); +    } else { +      $previous_item = null; +      list ($next_item) = $item->parent()->viewable()->children(1, $position, $where); +    } + +    return array("position" => $position, +                 "previous_item" => $previous_item, +                 "next_item" => $next_item, +                 "sibling_count" => $item->parent()->viewable()->children_count($where), +                 "parents" => $item->parents()->as_array(), +                 "breadcrumbs" => Breadcrumb::array_from_item_parents($item));    }    public function create($parent_id) { | 
