aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-03 02:55:03 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-03 02:55:03 +0000
commitab10e3ac5a0b5bbc6cd08c7647a0123364db72f3 (patch)
treed115661a0501d359d9e91d9fa110c81723ee4f9b
parent6b7325c3138ea5a3f20f2d95dce05242b0cdb653 (diff)
downloadelgg-ab10e3ac5a0b5bbc6cd08c7647a0123364db72f3.tar.gz
elgg-ab10e3ac5a0b5bbc6cd08c7647a0123364db72f3.tar.bz2
preview of what the main content area looks like with a module approach
git-svn-id: http://code.elgg.org/elgg/trunk@7509 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r--mod/blog/blog_lib.php35
-rw-r--r--mod/blog/start.php7
-rw-r--r--views/default/css/screen.php16
-rw-r--r--views/default/layouts/module.php21
-rw-r--r--views/default/page_elements/main_header.php27
-rw-r--r--views/default/page_elements/main_module.php5
-rw-r--r--views/default/page_elements/main_nav.php32
7 files changed, 121 insertions, 22 deletions
diff --git a/mod/blog/blog_lib.php b/mod/blog/blog_lib.php
index 593495a0e..adc888ce2 100644
--- a/mod/blog/blog_lib.php
+++ b/mod/blog/blog_lib.php
@@ -15,25 +15,33 @@
function blog_get_page_content_read($owner_guid = NULL, $guid = NULL) {
global $CONFIG;
+ $return = array();
+
if ($guid) {
$blog = get_entity($guid);
if (!elgg_instanceof($blog, 'object', 'blog') || ($blog->status != 'published' && !$blog->canEdit())) {
- $content = elgg_echo('blog:error:post_not_found');
+ $return['body'] = elgg_echo('blog:error:post_not_found');
} else {
elgg_push_breadcrumb($blog->title, $blog->getURL());
- $content = elgg_view_entity($blog, TRUE);
+ $return['body'] = elgg_view_entity($blog, TRUE);
//check to see if comment are on
if ($blog->comments_on != 'Off') {
- $content .= elgg_view_comments($blog);
+ $return['body'] .= elgg_view_comments($blog);
}
}
} else {
- $content = elgg_view('page_elements/content_header', array(
- 'context' => $owner_guid ? 'mine' : 'everyone',
+
+ $params = array(
+ 'type' => 'blog',
+ );
+ $return['header'] = elgg_view('page_elements/main_header', $params);
+
+ $params = array(
'type' => 'blog',
- 'all_link' => "pg/blog"
- ));
+ 'context' => $owner_guid ? 'mine' : 'everyone',
+ );
+ $return['body'] = elgg_view('page_elements/main_nav', $params);
$options = array(
'type' => 'object',
@@ -42,6 +50,7 @@ function blog_get_page_content_read($owner_guid = NULL, $guid = NULL) {
//'order_by_metadata' => array('name'=>'publish_date', 'direction'=>'DESC', 'as'=>'int')
);
+/*
$loggedin_userid = get_loggedin_userid();
if ($owner_guid) {
$options['owner_guid'] = $owner_guid;
@@ -51,7 +60,10 @@ function blog_get_page_content_read($owner_guid = NULL, $guid = NULL) {
$content = elgg_view('page_elements/content_header_member', array('type' => 'blog'));
}
}
+ *
+ */
+/*
// show all posts for admin or users looking at their own blogs
// show only published posts for other users.
if (!(isadminloggedin() || (isloggedin() && $owner_guid == $loggedin_userid))) {
@@ -60,16 +72,17 @@ function blog_get_page_content_read($owner_guid = NULL, $guid = NULL) {
//array('name' => 'publish_date', 'operand' => '<', 'value' => time())
);
}
+*/
$list = elgg_list_entities_from_metadata($options);
if (!$list) {
- $content .= elgg_echo('blog:none');
+ $return['body'] .= elgg_echo('blog:none');
} else {
- $content .= $list;
+ $return['body'] .= $list;
}
}
- return array('content' => $content);
+ return $return;
}
/**
@@ -111,7 +124,7 @@ function blog_get_page_content_edit($guid, $revision = NULL) {
//$sidebar = elgg_view('blog/sidebar_related');
}
- return array('content' => $content, 'sidebar' => $sidebar);
+ return array('body' => $content, 'sidebar' => $sidebar);
}
/**
diff --git a/mod/blog/start.php b/mod/blog/start.php
index 62f963b4b..b279de1a3 100644
--- a/mod/blog/start.php
+++ b/mod/blog/start.php
@@ -153,7 +153,12 @@ function blog_page_handler($page) {
'page' => isset($page[1]) ? $page[1] : FALSE,
));
- $content = elgg_view('navigation/breadcrumbs') . $content_info['content'];
+ $content = elgg_view('navigation/breadcrumbs');
+ $params = array(
+ 'header' => $content_info['header'],
+ 'body' => $content_info['body'],
+ );
+ $content .= elgg_view('page_elements/main_module', $params);
$params = array(
'content' => $content,
diff --git a/views/default/css/screen.php b/views/default/css/screen.php
index acb2878fc..a8c825fdd 100644
--- a/views/default/css/screen.php
+++ b/views/default/css/screen.php
@@ -150,7 +150,7 @@ blockquote {
GENERIC SELECTORS
*************************************** */
h2 {
- border-bottom:1px solid #CCCCCC;
+/* border-bottom:1px solid #CCCCCC; */
padding-bottom:5px;
}
@@ -250,7 +250,7 @@ h2 {
height:24px;
z-index: 9000;
}
-.elgg-header {
+.elgg-page > .elgg-header {
x-overflow: hidden;
position: relative;
width: 100%;
@@ -356,7 +356,19 @@ h2 {
width: 730px;
}
+.elgg-module {
+}
+.elgg-module-heading {
+ float: left;
+ max-width: 530px;
+ margin-right: 10px;
+}
+
+.elgg-maincontent-header {
+ border-bottom: 1px solid #CCCCCC;
+ padding-bottom: 3px;
+}
/* ***************************************
ELGG TOPBAR
diff --git a/views/default/layouts/module.php b/views/default/layouts/module.php
index 8c74aae57..db940aedc 100644
--- a/views/default/layouts/module.php
+++ b/views/default/layouts/module.php
@@ -2,10 +2,11 @@
/**
* Elgg module layout
*
- * @uses $vars['header'] HTML content of the header
- * @uses $vars['body'] HTML content of the body
- * @uses $vars['footer'] HTML content of the footer
- * @uses $vars['class'] Optional additional class for module
+ * @uses $vars['header'] HTML content of the header
+ * @uses $vars['body'] HTML content of the body
+ * @uses $vars['footer'] HTML content of the footer
+ * @uses $vars['class'] Optional additional class for module
+ * @uses $vars['header_class'] Optional additional class for header
*/
$header = elgg_get_array_value('header', $vars, '');
@@ -18,8 +19,14 @@ if ($additional_class) {
$class = "$class $additional_class";
}
+$header_class = 'elgg-header';
+$additional_class = elgg_get_array_value('header_class', $vars, '');
+if ($additional_class) {
+ $header_class = "$header_class $additional_class";
+}
+
if ($header) {
- $header = "<div class=\"elgg-header\">$header</div>";
+ $header = "<div class=\"$header_class\">$header</div>";
}
if ($footer) {
@@ -30,9 +37,7 @@ echo <<<HTML
<div class="$class">
<div class="elgg-inner">
$header
- <div class="elgg-body">
- $body
- </div>
+ <div class="elgg-body">$body</div>
$footer
</div>
</div>
diff --git a/views/default/page_elements/main_header.php b/views/default/page_elements/main_header.php
new file mode 100644
index 000000000..438a6c432
--- /dev/null
+++ b/views/default/page_elements/main_header.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Header for main module
+ *
+ * @uses string $vars['type'] The section type. Should be the same as the page handler. Used for generating URLs.
+ */
+
+$type = $vars['type'];
+$username = get_loggedin_user()->username;
+
+$title = elgg_echo($type);
+
+$new_button = '';
+if (isloggedin()) {
+ $new_link = elgg_get_array_value('new_link', $vars, "pg/$type/$username/new");
+ $params = array(
+ 'href' => $new_link = elgg_normalize_url($new_link),
+ 'text' => elgg_echo("$type:new"),
+ 'class' => 'action-button right',
+ );
+ $new_button = elgg_view('output/url', $params);
+}
+
+echo <<<HTML
+<h2 class="elgg-module-heading">$title</h2>
+$new_button
+HTML;
diff --git a/views/default/page_elements/main_module.php b/views/default/page_elements/main_module.php
new file mode 100644
index 000000000..388a500fe
--- /dev/null
+++ b/views/default/page_elements/main_module.php
@@ -0,0 +1,5 @@
+<?php
+
+$vars['class'] = 'elgg-module-maincontent';
+$vars['header_class'] = 'elgg-maincontent-header clearfix';
+echo elgg_view_layout('module', $vars); \ No newline at end of file
diff --git a/views/default/page_elements/main_nav.php b/views/default/page_elements/main_nav.php
new file mode 100644
index 000000000..0c267b3f2
--- /dev/null
+++ b/views/default/page_elements/main_nav.php
@@ -0,0 +1,32 @@
+<?php
+
+// page handler type
+$type = $vars['type'];
+
+$username = get_loggedin_user()->username;
+
+// so we know if the user is looking at their own, everyone's or all friends
+$filter_context = $vars['context'];
+
+// generate a list of default tabs
+$default_tabs = array(
+ 'all' => array(
+ 'title' => elgg_echo('all'),
+ 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "pg/$type/",
+ '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 = elgg_get_array_value('tabs', $vars, $default_tabs);
+echo elgg_view('navigation/tabs', array('tabs' => $tabs)); \ No newline at end of file