From 3fb6a43748aa2ad47a34b6170771f56bbb466d0e Mon Sep 17 00:00:00 2001 From: nickw Date: Tue, 22 Jun 2010 19:23:10 +0000 Subject: Allowing plugin authors to override the default tabs (filters) displayed on the content header. git-svn-id: http://code.elgg.org/elgg/trunk@6542 36083f99-b078-4883-b0ff-0f9b5a30f544 --- views/default/page_elements/content_header.php | 85 +++++++++++--------------- 1 file changed, 34 insertions(+), 51 deletions(-) (limited to 'views/default/page_elements') diff --git a/views/default/page_elements/content_header.php b/views/default/page_elements/content_header.php index 825d6a1ed..79e1ce279 100644 --- a/views/default/page_elements/content_header.php +++ b/views/default/page_elements/content_header.php @@ -25,58 +25,48 @@ $filter_context = $vars['context']; // get the object type $type = $vars['type']; -// tons of empty strings. -$mine_selected = $all_selected = $friend_selected = -$new_button = $action_buttons = $filter_content = ''; +// create an empty string to start with +$new_button = ''; -$all_title = elgg_echo('all'); -$mine_title = elgg_echo('mine'); -$friend_title = elgg_echo('friends'); +// generate a list of default tabs +$default_tabs = array( + 'all' => array( + 'title' => elgg_echo('all'), + 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "{$vars['url']}mod/$type/all.php", + 'selected' => ($filter_context == 'everyone'), + ), + 'mine' => array( + 'title' => elgg_echo('mine'), + 'url' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "{$vars['url']}pg/$type/$username", + 'selected' => ($filter_context == 'mine'), + ), + 'friend' => array( + 'title' => elgg_echo('friends'), + 'url' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "{$vars['url']}pg/$type/$username/friends", + 'selected' => ($filter_context == 'friends'), + ), +); -if (!($page_owner instanceof ElggGroup)){ - if($filter_context == 'everyone') { - $all_selected = "class = 'selected'"; - } - if($filter_context == 'mine') { - $mine_selected = "class = 'selected'"; - } - if($filter_context == 'friends') { - $friend_selected = "class = 'selected'"; - } -} - -// allow plugins to override default page handlers -// @todo switch this over to proper page handling style -$all_link = (isset($vars['all_link'])) ? $vars['all_link'] : "{$vars['url']}mod/$type/all.php"; -$mine_link = (isset($vars['mine_link'])) ? $vars['mine_link'] : "{$vars['url']}pg/$type/$username"; -$friend_link = (isset($vars['friend_link'])) ? $vars['friend_link'] : "{$vars['url']}pg/$type/$username/friends"; -$new_link = (isset($vars['new_link'])) ? $vars['new_link'] : "{$CONFIG->wwwroot}pg/$type/$username/new"; +// 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 = '
' . elgg_view_title($title) . '
'; -$tabs = << - - -EOT; - -// must be logged in to see the filter menu and any action buttons +// 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. - // @todo remove the hard coded reference to the videolist plugin if ($filter_context == 'action') { - $tabs = ''; + $tab_list = ''; } else { + // @todo remove the hard coded reference to the videolist plugin if(get_context() == "videolist"){ $video_link = $CONFIG->wwwroot . "pg/videolist/browse/$username/"; - $new_button .= "" . elgg_echo('videolist:browsemenu') . ''; + $new_button = "" . elgg_echo('videolist:browsemenu') . ''; }else{ + $new_link = (isset($vars['new_link'])) ? $vars['new_link'] : "{$CONFIG->wwwroot}pg/$type/$username/new"; $new_button = "" . elgg_echo($type . ':new') . ''; } $new_button = "
$new_button
"; @@ -85,21 +75,14 @@ if (isloggedin()) { // also hide the tabs if in a group context (ie, listing groups) or // when viewing tools belonging to a group if (get_context() == 'groups' || $page_owner instanceof ElggGroup) { - $tabs = ''; + $tab_list = ''; } -} else { - // only show logged out users the all tab - $page_filter = << - - -EOT; } -?> + +echo << - + $title $new_button - +HTML; +echo $tab_list; -- cgit v1.2.3