aboutsummaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-04 04:43:26 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-04 04:43:26 +0000
commit4e80e365f054dea55bd481cbebd7af5fed7bb288 (patch)
treefa8ce71532292f0d37cca4651607125c4e453654 /views
parent719146b6449c1241f70caed2ddb520ce8fbd6da3 (diff)
downloadelgg-4e80e365f054dea55bd481cbebd7af5fed7bb288.tar.gz
elgg-4e80e365f054dea55bd481cbebd7af5fed7bb288.tar.bz2
a better main content view structure
git-svn-id: http://code.elgg.org/elgg/trunk@7525 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views')
-rw-r--r--views/default/content/filter.php43
-rw-r--r--views/default/content/footer.php8
-rw-r--r--views/default/content/header.php44
-rw-r--r--views/default/content/sidebar.php8
-rw-r--r--views/default/css/screen.php6
-rw-r--r--views/default/layouts/main_content.php53
6 files changed, 162 insertions, 0 deletions
diff --git a/views/default/content/filter.php b/views/default/content/filter.php
new file mode 100644
index 000000000..b4d747cbf
--- /dev/null
+++ b/views/default/content/filter.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Main content filter
+ *
+ * Select between user, friends, and all content
+ *
+ * @uses $vars['filter_context'] Filter context: everyone, friends, mine
+ * @uses $vars['filter_override'] HTML for overriding the default filter (override)
+ * @uses $vars['context'] Page context (override)
+ */
+
+if (isset($vars['filter_override'])) {
+ echo $vars['filter_override'];
+ return true;
+}
+
+$context = elgg_get_array_value('context', $vars, elgg_get_context());
+
+if (isloggedin() && $context) {
+ $username = get_loggedin_user()->username;
+ $filter_context = elgg_get_array_value('filter_context', $vars, 'everyone');
+
+ // generate a list of default tabs
+ $tabs = array(
+ 'all' => array(
+ 'title' => elgg_echo('all'),
+ 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "pg/$context/",
+ 'selected' => ($filter_context == 'everyone'),
+ ),
+ 'mine' => array(
+ 'title' => elgg_echo('mine'),
+ 'url' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "pg/$context/$username",
+ 'selected' => ($filter_context == 'mine'),
+ ),
+ 'friend' => array(
+ 'title' => elgg_echo('friends'),
+ 'url' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "pg/$context/$username/friends",
+ 'selected' => ($filter_context == 'friends'),
+ ),
+ );
+
+ echo elgg_view('navigation/tabs', array('tabs' => $tabs));
+}
diff --git a/views/default/content/footer.php b/views/default/content/footer.php
new file mode 100644
index 000000000..66f5d3ff8
--- /dev/null
+++ b/views/default/content/footer.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * Main content footer
+ *
+ * @uses $vars['content'] The content for the footer
+ */
+
+echo $vars['content'];
diff --git a/views/default/content/header.php b/views/default/content/header.php
new file mode 100644
index 000000000..b28dc17c0
--- /dev/null
+++ b/views/default/content/header.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Main content header
+ *
+ * This includes a title and a new content button by default
+ *
+ * @uses $vars['header_override'] HTML for overriding the default header (override)
+ * @uses $vars['title'] Title text (override)
+ * @uses $vars['context'] Page context (override)
+ * @uses $vars['buttons'] Content header buttons (override)
+ */
+
+if (isset($vars['header_override'])) {
+ echo $vars['header_override'];
+ return true;
+}
+
+$context = elgg_get_array_value('context', $vars, elgg_get_context());
+if ($context) {
+ $title = elgg_get_array_value('title', $vars, '');
+ if (!$title) {
+ $title = elgg_echo($context);
+ }
+
+ if (isset($vars['buttons'])) {
+ $buttons = $vars['buttons'];
+ } else {
+ if (isloggedin() && $context) {
+ $username = get_loggedin_user()->username;
+ $new_link = elgg_get_array_value('new_link', $vars, "pg/$context/$username/new");
+ $params = array(
+ 'href' => $new_link = elgg_normalize_url($new_link),
+ 'text' => elgg_echo("$context:new"),
+ 'class' => 'action-button right',
+ );
+ $buttons = elgg_view('output/url', $params);
+ }
+ }
+ echo <<<HTML
+<div id="elgg-main-header" class="elgg-header clearfix">
+ <h2 class="elgg-module-heading">$title</h2>$buttons
+</div>
+HTML;
+}
diff --git a/views/default/content/sidebar.php b/views/default/content/sidebar.php
new file mode 100644
index 000000000..86ca8435f
--- /dev/null
+++ b/views/default/content/sidebar.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * Main content sidebar
+ *
+ * @uses $vars['content] The content for the sidebar
+ */
+
+echo $vars['content'];
diff --git a/views/default/css/screen.php b/views/default/css/screen.php
index 97303822c..18e4a0bad 100644
--- a/views/default/css/screen.php
+++ b/views/default/css/screen.php
@@ -294,6 +294,12 @@ h2 {
border-top:1px solid #DEDEDE;
}
+
+#elgg-main-header {
+ border-bottom: 1px solid #CCCCCC;
+ padding-bottom: 3px;
+}
+
#elgg-header-contents {
width:990px;
position: relative;
diff --git a/views/default/layouts/main_content.php b/views/default/layouts/main_content.php
new file mode 100644
index 000000000..7c42065b0
--- /dev/null
+++ b/views/default/layouts/main_content.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Main content area layout
+ *
+ * @uses $vars['content'] HTML of main content area
+ * @uses $vars['sidebar'] HTML of the sidebar
+ * @uses $vars['header'] HTML of the content area header (override)
+ * @uses $vars['nav'] HTML of the content area nav (override)
+ * @uses $vars['footer'] HTML of the content area footer
+ * @uses $vars['filter'] HTML of the content area filter (override)
+ * @uses $vars['title'] Title text (override)
+ * @uses $vars['context'] Page context (override)
+ * @uses $vars['buttons'] Content header buttons (override)
+ * @uses $vars['filter_context'] Filter context: everyone, friends, mine
+ */
+
+// give plugins an opportunity to add to content sidebars
+$sidebar_content = elgg_get_array_value('sidebar', $vars, '');
+$params = $vars;
+$params['content'] = $sidebar_content;
+$sidebar = elgg_view('content/sidebar', $params);
+
+// navigation defaults to breadcrumbs
+$nav = elgg_get_array_value('nav', $vars, elgg_view('navigation/breadcrumbs'));
+
+// allow page handlers to override the default header
+if (isset($vars['header'])) {
+ $vars['header_override'] = $vars['header'];
+}
+$header = elgg_view('content/header', $vars);
+
+// allow page handlers to override the default filter
+if (isset($vars['filter'])) {
+ $vars['filter_override'] = $vars['filter'];
+}
+$filter = elgg_view('content/filter', $vars);
+
+// the all important content
+$content = elgg_get_array_value('content', $vars, '');
+
+// optional footer for main content area
+$footer_content = elgg_get_array_value('footer', $vars, '');
+$params = $vars;
+$params['content'] = $footer_content;
+$footer = elgg_view('content/footer', $params);
+
+$body = $nav . $header . $filter . $content . $footer;
+
+$params = array(
+ 'content' => $body,
+ 'sidebar' => $sidebar,
+);
+echo elgg_view_layout('one_column_with_sidebar', $params);