]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
preview of what the main content area looks like with a module approach
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 3 Dec 2010 02:55:03 +0000 (02:55 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 3 Dec 2010 02:55:03 +0000 (02:55 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7509 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/blog/blog_lib.php
mod/blog/start.php
views/default/css/screen.php
views/default/layouts/module.php
views/default/page_elements/main_header.php [new file with mode: 0644]
views/default/page_elements/main_module.php [new file with mode: 0644]
views/default/page_elements/main_nav.php [new file with mode: 0644]

index 593495a0eb7f6a77bd10f0d9e4b6e5fca5fb80f7..adc888ce2545c568f168576db1f3f485c36e5abc 100644 (file)
 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);
 }
 
 /**
index 62f963b4bbe0d72e0fd1049b39d855958e9cdaea..b279de1a336f97d172f078b1ce28f01327d4adc0 100644 (file)
@@ -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,
index acb2878fc1056ef358615211729d796fdefcc3f6..a8c825fdde88e5ee716bd9c56b67e007f8fdbf9c 100644 (file)
@@ -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
index 8c74aae57e355c119517e1a75a8c5102b8ba9829..db940aedc17fd8643a31f821eee608bf4f549e04 100644 (file)
@@ -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 (file)
index 0000000..438a6c4
--- /dev/null
@@ -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 (file)
index 0000000..388a500
--- /dev/null
@@ -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 (file)
index 0000000..0c267b3
--- /dev/null
@@ -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