aboutsummaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-03-11 18:07:26 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-03-11 18:07:26 +0000
commitbdacb612f3fffa967ef6fda89c081fb7a59894d2 (patch)
treece26e1209d280025645dfca08d36abcacaadaee3 /views
parenta454889d81ed753de06ac6b014ff92ca3c57e039 (diff)
downloadelgg-bdacb612f3fffa967ef6fda89c081fb7a59894d2.tar.gz
elgg-bdacb612f3fffa967ef6fda89c081fb7a59894d2.tar.bz2
Added breadcrumb support and updated the mods with old-style breadcrumbs.
git-svn-id: http://code.elgg.org/elgg/trunk@5366 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views')
-rw-r--r--views/default/navigation/breadcrumbs.php45
-rw-r--r--views/default/page_elements/breadcrumbs.php26
-rw-r--r--views/default/page_elements/content_header.php41
3 files changed, 69 insertions, 43 deletions
diff --git a/views/default/navigation/breadcrumbs.php b/views/default/navigation/breadcrumbs.php
new file mode 100644
index 000000000..1dc97f29c
--- /dev/null
+++ b/views/default/navigation/breadcrumbs.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Displays registered breadcrumbs.
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ *
+ * @uses optional $vars['breadcrumbs'] = array('title' => 'The title', 'link' => 'url')
+ *
+ */
+
+if (isset($vars['breadcrumbs'])) {
+ $breadcrumbs = $vars['breadcrumbs'];
+} else {
+ $breadcrumbs = elgg_get_breadcrumbs();
+}
+
+$formatted_breadcrumbs = array();
+
+foreach ($breadcrumbs as $breadcrumb) {
+ $link = $breadcrumb['link'];
+ $title = $breadcrumb['title'];
+
+ if (!empty($link)) {
+ $formatted_breadcrumbs[] = elgg_view('output/url', array(
+ 'href' => $link,
+ 'text' => $title
+ ));
+ } else {
+ $formatted_breadcrumbs[] = $title;
+ }
+}
+
+$breadcrumbs_html = implode(' &gt; ', $formatted_breadcrumbs);
+
+echo <<<___END
+
+<div id="breadcrumbs">
+ $breadcrumbs_html
+</div>
+
+___END;
+?> \ No newline at end of file
diff --git a/views/default/page_elements/breadcrumbs.php b/views/default/page_elements/breadcrumbs.php
deleted file mode 100644
index 165a6c7dd..000000000
--- a/views/default/page_elements/breadcrumbs.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/**
- * Breadcrumbs
-**/
-// @todo spk to Brett re. making this simpler / scalable
-// grab variables from array
-$breadcrumb_root_url = $vars['breadcrumb_root_url'];
-$breadcrumb_root_text = $vars['breadcrumb_root_text'];
-$breadcrumb_level1_url = $vars['breadcrumb_level1_url'];
-$breadcrumb_level1_text = $vars['breadcrumb_level1_text'];
-$breadcrumb_level2_url = $vars['breadcrumb_level2_url'];
-$breadcrumb_level2_text = $vars['breadcrumb_level2_text'];
-$breadcrumb_currentpage = $vars['breadcrumb_currentpage'];
-?>
-<div id="breadcrumbs">
- <a href="<?php echo $breadcrumb_root_url; ?>"><?php echo $breadcrumb_root_text; ?></a> &gt;
- <?php
- if (isset($vars['breadcrumb_level1_url']) && $vars['breadcrumb_level1_url']) { ?>
- <a href="<?php echo $breadcrumb_level1_url; ?>"><?php echo $breadcrumb_level1_text; ?></a> &gt;
- <?php }
- if (isset($vars['breadcrumb_level2_url']) && $vars['breadcrumb_level2_url']) { ?>
- <a href="<?php echo $breadcrumb_level2_url; ?>"><?php echo $breadcrumb_level2_text; ?></a> &gt;
- <?php }
- echo $breadcrumb_currentpage; ?>
-</div> \ No newline at end of file
diff --git a/views/default/page_elements/content_header.php b/views/default/page_elements/content_header.php
index 9d7bea08a..95e754d59 100644
--- a/views/default/page_elements/content_header.php
+++ b/views/default/page_elements/content_header.php
@@ -1,44 +1,51 @@
<?php
/**
- * Page Content header
- holds the filter menu and any content action buttons
- used on bookmarks, blog, file, pages,
- **/
-
+ * Displays the dropdown filter menu.
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ *
+ */
+
global $CONFIG;
-
+
// set variables
$page_owner = page_owner_entity();
+if (!$page_owner) {
+ $page_owner = get_loggedin_user();
+}
$filter_context = $vars['context']; // so we know if the user is looking at their own, everyone's or all friends
-$type = $vars['type']; // get the object type
+$type = $vars['type']; // get the object type
$mine_selected = '';
$all_selected = '';
$friend_selected = '';
$action_buttons = '';
$title = '';
/* $dash_selected = ''; */
-
-if(!($page_owner instanceof ElggGroup)){
+
+if (!($page_owner instanceof ElggGroup)){
if($filter_context == 'mine') {
$mine_selected = "SELECTED";
}
if($filter_context == 'everyone') {
- $all_selected = "SELECTED";
+ $all_selected = "SELECTED";
}
if($filter_context == 'friends') {
$friend_selected = "SELECTED";
}
- if($filter_context == 'action') {
+ if($filter_context == 'action') {
// if this is an action page, we'll not be displaying the filter
}
/*
- if($filter_context == 'dashboard')
+ if($filter_context == 'dashboard')
$dash_selected = "SELECTED";
*/
-}
+}
// must be logged in to see the filter menu and any action buttons
-if(isloggedin()) {
+if (isloggedin()) {
// if we're not on an action page (add bookmark, create page, upload a file etc)
if ($filter_context != 'action') {
$location_filter = "<select onchange=\"window.open(this.options[this.selectedIndex].value,'_top')\" name=\"file_filter\" class='styled' >";
@@ -47,10 +54,10 @@ if(isloggedin()) {
$location_filter .= "<option {$friend_selected} class='select_option' value=\"{$vars['url']}pg/{$type}/{$_SESSION['user']->username}/friends/\">". elgg_echo($type . ':friends') . "</option>";
$location_filter .= "</select>";
$location_filter = "<div class='content_header_filter'>".$location_filter."</div>";
-
+
// action buttons
if(get_context() != 'bookmarks'){
- $url = $CONFIG->wwwroot . "pg/{$type}/". $page_owner->username . "/new/";
+ $url = $CONFIG->wwwroot . "pg/{$type}/". $page_owner->username . "/new";
} else {
$url = $CONFIG->wwwroot . "pg/{$type}/". $page_owner->username . "/add";
}
@@ -61,7 +68,7 @@ if(isloggedin()) {
// if we're on an action page - we'll just have a simple page title, and no filter menu
$title = "<div class='content_header_title'>".elgg_view_title($title = elgg_echo($type . ':add'))."</div>";
}
-}
+}
?>
<!-- construct the content area header -->
<div id="content_header" class="clearfloat">