aboutsummaryrefslogtreecommitdiff
path: root/views/default/page/elements/content_header.php
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/page/elements/content_header.php')
-rw-r--r--views/default/page/elements/content_header.php94
1 files changed, 94 insertions, 0 deletions
diff --git a/views/default/page/elements/content_header.php b/views/default/page/elements/content_header.php
new file mode 100644
index 000000000..8809ad8b7
--- /dev/null
+++ b/views/default/page/elements/content_header.php
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Displays the Add New button, and the All, Mine, My Friends tabs for plugins
+ * If a user is not logged in, this only displays the All tab.
+ * If this is in a group context, it doesn't display any tabs
+ *
+ * @uses string $vars['type'] The section type. Should be the same as the page handler. Used for generating URLs.
+ * @uses string $vars['context'] Which filter we're looking at: all, mine, friends, or action. Nothing to do with get_context().
+ *
+ * @uses string $vars['all_link'] Optional. The URL to use for the "All" tab link. Defaults to mod/$type/all.php
+ * @uses string $vars['mine_link'] Optional. The URL to use for the "Mine" tab link. Defaults to pg/$type/$username
+ * @uses string $vars['friends_link'] Optional. The URL to use for the "Friends" tab link. Defaults to pg/$type/$username/friends
+ * @uses string $vars['new_link'] Optional. The URL to use for the "New" button. Defaults to pg/$type/$username/new
+ * @uses array $vars['tabs'] Optional. Override all tab generation. See view:navgiation/tabs for formatting
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+$page_owner = elgg_get_page_owner();
+$logged_in_user = get_loggedin_user();
+$username = $logged_in_user->username;
+
+if (!$page_owner) {
+ $page_owner = $logged_in_user;
+}
+
+// so we know if the user is looking at their own, everyone's or all friends
+$filter_context = $vars['context'];
+
+// get the object type
+$type = $vars['type'];
+
+// create an empty string to start with
+$new_button = '';
+
+// generate a list of default tabs
+$default_tabs = array(
+ 'all' => array(
+ 'title' => elgg_echo('all'),
+ 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "mod/$type/all.php",
+ 'selected' => ($filter_context == 'everyone'),
+ ),
+ 'mine' => array(
+ 'title' => elgg_echo('mine'),
+ 'url' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "pg/$type/$username",
+ 'selected' => ($filter_context == 'mine'),
+ ),
+ 'friend' => array(
+ 'title' => elgg_echo('friends'),
+ 'url' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "pg/$type/$username/friends",
+ 'selected' => ($filter_context == 'friends'),
+ ),
+);
+
+// determine if using default or overwritten tabs
+$tabs = (isset($vars['tabs'])) ? $vars['tabs'] : $default_tabs;
+$tab_list = elgg_view('navigation/tabs', array('tabs' => $tabs));
+
+$title = elgg_echo($type);
+$title = '<div class="content-header-title">' . elgg_view_title($title) . '</div>';
+
+// must be logged in to see any action buttons
+if (isloggedin()) {
+ // only show the new button when not on the add form.
+ // hide the tabs when on the add form.
+ if ($filter_context == 'action') {
+ $tab_list = '';
+ } else {
+ // @todo remove the hard coded reference to the videolist plugin
+ if (elgg_get_context() == "videolist"){
+ $video_link = elgg_get_site_url() . "pg/videolist/browse/$username/";
+ $new_button = "<a href=\"{$video_link}\" class='action-button'>" . elgg_echo('videolist:browsemenu') . '</a>';
+ } else {
+ $new_link = elgg_normalize_url((isset($vars['new_link'])) ? $vars['new_link'] : "pg/$type/$username/new");
+ $new_button = "<a href=\"{$new_link}\" class='action-button'>" . elgg_echo($type . ':new') . '</a>';
+ }
+ $new_button = "<div class='content-header-options'>$new_button</div>";
+ }
+
+ // also hide the tabs if in a group context (ie, listing groups) or
+ // when viewing tools belonging to a group
+ if (elgg_get_context() == 'groups' || $page_owner instanceof ElggGroup) {
+ $tab_list = '';
+ }
+}
+
+echo <<<HTML
+<div id="content-header" class="clearfix">
+ $title $new_button
+</div>
+HTML;
+
+echo $tab_list;