]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
amtrak does not have wifi so here is one big commit with group blogs, blog widget...
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sat, 25 Dec 2010 17:07:41 +0000 (17:07 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sat, 25 Dec 2010 17:07:41 +0000 (17:07 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7720 36083f99-b078-4883-b0ff-0f9b5a30f544

16 files changed:
mod/blog/actions/blog/save.php
mod/blog/languages/en.php
mod/blog/lib/blog.php
mod/blog/start.php
mod/blog/views/default/blog/group_module.php [new file with mode: 0644]
mod/blog/views/default/blog/sidebar.php [new file with mode: 0644]
mod/blog/views/default/blog/sidebar/archives.php [new file with mode: 0644]
mod/blog/views/default/blog/sidebar/revisions.php [moved from mod/blog/views/default/blog/sidebar_revisions.php with 100% similarity]
mod/blog/views/default/blog/sidebar/tagcloud.php [new file with mode: 0644]
mod/blog/views/default/blog/sidebar_menu.php [deleted file]
mod/blog/views/default/forms/blog/save.php
mod/blog/views/default/input/datetime.php
mod/blog/views/default/object/blog.php
mod/blog/views/default/widgets/blog/content.php [new file with mode: 0644]
mod/blog/views/default/widgets/blog/edit.php [new file with mode: 0644]
mod/groups/views/default/groups/css.php

index 11d366a449f3f6f8e7a50201ef9bdb5bc29be362..4e6e9133b38f41e1948af9904938aef4e5675654 100644 (file)
@@ -24,7 +24,6 @@ if ($guid) {
                register_error(elgg_echo('blog:error:post_not_found'));
                forward(get_input('forward', REFERER));
        }
-       $success_forward_url = get_input('forward', $blog->getURL());
 
        // save some data for revisions once we save the new edit
        $revision_text = $blog->description;
@@ -32,7 +31,6 @@ if ($guid) {
 } else {
        $blog = new ElggBlog();
        $blog->subtype = 'blog';
-       $success_forward_url = get_input('forward');
        $new_post = TRUE;
 }
 
@@ -45,7 +43,7 @@ $values = array(
        'comments_on' => 'On',
        'excerpt' => '',
        'tags' => '',
-       'container_guid' => ''
+       'container_guid' => (int)get_input('container_guid'),
 );
 
 // fail if a required entity isn't set
@@ -150,7 +148,11 @@ if (!$error) {
                if ($new_post && $blog->status == 'published') {
                        add_to_river('river/object/blog/create', 'create', get_loggedin_userid(), $blog->getGUID());
                }
-               forward($success_forward_url);
+               if ($blog->status == 'published') {
+                       forward($blog->getURL());
+               } else {
+                       forward("pg/blog/edit/$blog->guid");
+               }
        } else {
                register_error(elgg_echo('blog:error:cannot_save'));
                forward($error_forward_url);
index 39e1a7ad070a11d72076b2476b3c85e78716c02e..d247c01503b8d691d885606f65b01c101023114b 100644 (file)
@@ -16,7 +16,11 @@ $english = array(
 
        'blog:title:user_blogs' => '%s\'s Blogs',
        'blog:title:all_blogs' => 'All Site Blogs',
-       'blog:title:friends' => 'All Friends\' Blogs',
+       'blog:title:friends' => 'Friends\' Blogs',
+
+       'blog:group' => 'Group blog',
+       'blog:enableblog' => 'Enable group blog',
+       'blog:write' => 'Write a blog post',
 
        // Editing
        'blog:new' => 'New blog post',
@@ -40,7 +44,7 @@ $english = array(
        'blog:message:saved' => 'Blog post saved.',
        'blog:error:cannot_save' => 'Cannot save blog post.',
        'blog:error:cannot_write_to_container' => 'Insufficient access to save blog to group.',
-       'blog:error:post_not_found' => 'This post has been removed or is invalid.',
+       'blog:error:post_not_found' => 'This post has been removed, is invalid, or you do not have permission to view it.',
        'blog:messages:warning:draft' => 'There is an unsaved draft of this post!',
        'blog:edit_revision_notice' => '(Old version)',
        'blog:message:deleted_post' => 'Blog post deleted.',
@@ -54,6 +58,11 @@ $english = array(
        // river
        'blog:river:create' => 'published a blog post',
        'river:commented:object:blog' => 'the blog',
+
+       // widget
+       'blog:widget:description' => 'Display your latest blog posts',
+       'blog:moreblogs' => 'More blog posts',
+       'blog:numbertodisplay' => 'Number of blog posts to display',
 );
 
 add_translation('en', $english);
index f3d059ae34b333dfbec12114e9994c33000dc14a..3a67af1931d565aad9118f4305a7f0910079b24a 100644 (file)
@@ -22,11 +22,22 @@ function blog_get_page_content_read($guid = NULL) {
        $return['filter'] = '';
        $return['header'] = '';
 
-       if (!elgg_instanceof($blog, 'object', 'blog') || !$blog->canEdit()) {
+       if (!elgg_instanceof($blog, 'object', 'blog')) {
                $return['content'] = elgg_echo('blog:error:post_not_found');
                return $return;
        }
 
+       elgg_set_page_owner_guid($blog->getContainerGUID());
+       $return['title'] = htmlspecialchars($blog->title);
+
+       $container = $blog->getContainerEntity();
+       $crumbs_title = elgg_echo('blog:owned_blogs', array($container->name));
+       if (elgg_instanceof($container, 'group')) {
+               elgg_push_breadcrumb($crumbs_title, "pg/blog/group/$container->guid/owner");
+       } else {
+               elgg_push_breadcrumb($crumbs_title, "pg/blog/owner/$container->username");
+       }
+
        elgg_push_breadcrumb($blog->title);
        $return['content'] = elgg_view_entity($blog, TRUE);
        //check to see if comment are on
@@ -43,11 +54,11 @@ function blog_get_page_content_read($guid = NULL) {
  * @param int $owner_guid The GUID of the page owner or NULL for all blogs
  * @return array
  */
-function blog_get_page_content_list($owner_guid = NULL) {
+function blog_get_page_content_list($container_guid = NULL) {
 
        $return = array();
 
-       $return['filter_context'] = $owner_guid ? 'mine' : 'all';
+       $return['filter_context'] = $container_guid ? 'mine' : 'all';
 
        $options = array(
                'type' => 'object',
@@ -57,16 +68,23 @@ function blog_get_page_content_list($owner_guid = NULL) {
        );
 
        $loggedin_userid = get_loggedin_userid();
-       if ($owner_guid) {
-               $options['owner_guid'] = $owner_guid;
+       if ($container_guid) {
+               $options['container_guid'] = $container_guid;
+               $container = get_entity($container_guid);
+               if (!$container) {
+
+               }
+               $return['title'] = elgg_echo('blog:title:user_blogs', array($container->name));
+               elgg_set_page_owner_guid($container_guid);
 
-               // do not want to highlight the current page so pop what was already added
-               elgg_pop_breadcrumb();
-               $crumbs_title = elgg_echo('blog:owned_blogs', array(get_user($owner_guid)->name));
+               $crumbs_title = elgg_echo('blog:owned_blogs', array($container->name));
                elgg_push_breadcrumb($crumbs_title);
 
+               if (elgg_instanceof($container, 'group')) {
+                       $return['filter'] = '';
+               }
 
-               if ($owner_guid == $loggedin_userid) {
+               if ($container_guid == $loggedin_userid) {
                        $return['filter_context'] = 'mine';
                } else{
                        // do not show button or select a tab when viewing someone else's posts
@@ -75,11 +93,12 @@ function blog_get_page_content_list($owner_guid = NULL) {
                }
        } else {
                $return['filter_context'] = 'all';
+               $return['title'] = elgg_echo('blog:title:all_blogs');
        }
 
        // 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))) {
+       if (!(isadminloggedin() || (isloggedin() && $container_guid == $loggedin_userid))) {
                $options['metadata_name_value_pairs'] = array(
                        array('name' => 'status', 'value' => 'published'),
                        //array('name' => 'publish_date', 'operand' => '<', 'value' => time())
@@ -104,11 +123,17 @@ function blog_get_page_content_list($owner_guid = NULL) {
  */
 function blog_get_page_content_friends($user_guid) {
 
-       elgg_push_breadcrumb(elgg_echo('friends'));
+       elgg_set_page_owner_guid($user_guid);
+       $user = get_user($user_guid);
 
        $return = array();
 
        $return['filter_context'] = 'friends';
+       $return['title'] = elgg_echo('blog:title:friends');
+
+       $crumbs_title = elgg_echo('blog:owned_blogs', array($user->name));
+       elgg_push_breadcrumb($crumbs_title, "pg/blog/owner/{$user->username}");
+       elgg_push_breadcrumb(elgg_echo('friends'));
 
        if (!$friends = get_user_friends($user_guid, ELGG_ENTITIES_ANY_VALUE, 0)) {
                $return['content'] .= elgg_echo('friends:none:you');
@@ -160,6 +185,10 @@ function blog_get_page_content_archive($owner_guid, $lower = 0, $upper = 0) {
 
        $now = time();
 
+       $user = get_user($owner_guid);
+
+       $crumbs_title = elgg_echo('blog:owned_blogs', array($user->name));
+       elgg_push_breadcrumb($crumbs_title, "pg/blog/owner/{$user->username}");
        elgg_push_breadcrumb(elgg_echo('blog:archives'));
 
        if ($lower) {
@@ -229,11 +258,12 @@ function blog_get_page_content_archive($owner_guid, $lower = 0, $upper = 0) {
 /**
  * Get page components to edit a blog post.
  *
- * @param int     $guid     GUID of blog post
+ * @param string  $page     'edit' or 'new'
+ * @param int     $guid     GUID of blog post or container
  * @param int     $revision Annotation id for revision to edit (optional)
  * @return array
  */
-function blog_get_page_content_edit($guid, $revision = NULL) {
+function blog_get_page_content_edit($page, $guid = 0, $revision = NULL) {
 
        $return = array(
                'buttons' => '',
@@ -244,7 +274,7 @@ function blog_get_page_content_edit($guid, $revision = NULL) {
        $vars['internalid'] = 'blog-post-edit';
        $vars['internalname'] = 'blog_post';
 
-       if ($guid) {
+       if ($page == 'edit') {
                $blog = get_entity((int)$guid);
 
                $title = elgg_echo('blog:edit');
@@ -274,11 +304,18 @@ function blog_get_page_content_edit($guid, $revision = NULL) {
 
                        $content = elgg_view_form('blog/save', $vars, $body_vars);
                        $content .= elgg_view('js/blog/save_draft');
-                       $sidebar = elgg_view('blog/sidebar_revisions', $vars);
+                       $sidebar = elgg_view('blog/sidebar/revisions', $vars);
                } else {
                        $content = elgg_echo('blog:error:cannot_edit_post');
                }
        } else {
+               if (!$guid) {
+                       $container = get_loggedin_user();
+               } else {
+                       $container = get_entity($guid);
+               }
+               elgg_set_page_owner_guid($container->guid);
+
                elgg_push_breadcrumb(elgg_echo('blog:new'));
                $body_vars = blog_prepare_form_vars($blog);
 
index 3086d9087516d81990061213e378bf2b57be311a..8dc3737f89a4400b4ba2fc9a784fd29ac10f031b 100644 (file)
@@ -5,12 +5,12 @@
  * @package Blog
  *
  * @todo
- * Either drop support for "publish date" or duplicate more entity getter
+ * Either drop support for "publish date" or duplicate more entity getter
  * functions to work with a non-standard time_created.
- * Show friends blog posts
- * Widget
- * Pingbacks
- * Notifications
+ * - Pingbacks
+ * - Notifications
+ * - River entry for posts saved as drafts and later published
+ * - Group menu
  */
 
 elgg_register_event_handler('init', 'system', 'blog_init');
@@ -47,7 +47,11 @@ function blog_init() {
        // Register for search.
        register_entity_type('object', 'blog');
 
-       //elgg_register_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), 'profile, dashboard');
+       // Add group option
+       add_group_tool_option('blog', elgg_echo('blog:enableblog'), true);
+       elgg_extend_view('groups/tool_latest', 'blog/group_module');
+
+       elgg_register_widget_type('blog', elgg_echo('blog'), elgg_echo('blog:widget:description'), 'profile');
 
        // register actions
        $action_path = elgg_get_plugin_path() . 'blog/actions/blog';
@@ -74,14 +78,19 @@ function blog_runonce() {
 /**
  * Dispatches blog pages.
  * URLs take the form of
- *     pg/blog/[all|owner|read|edit|archive|new]/[username]/[time_start|guid]/[time_end|title]
+ *  All blogs:       pg/blog/all
+ *  User's blogs:    pg/blog/owner/<username>
+ *  Friends' blog:   pg/blog/friends/<username>
+ *  User's archives: pg/blog/archives/<username>/<time_start>/<time_stop>
+ *  Blog post:       pg/blog/read/<guid>/<title>
+ *  New post:        pg/blog/new
+ *  Edit post:       pg/blog/edit/<guid>/<revision>
+ *  Preview post:    pg/blog/preview/<guid>
+ *  Group blog:      pg/blog/group/<guid>/owner
+ *  Group new post:  pg/blog/group/<guid>/new
  *
- * Without an action, show all blogs
- * Without a guid, show all post for that user.
  * Title is ignored
  *
- * If archive, uses time_start/end
- *
  * @todo no archives for all blogs or friends
  *
  * @param array $page
@@ -105,80 +114,61 @@ function blog_page_handler($page) {
                blog_url_forwarder($page);
        }
 
+
        elgg_load_library('elgg:blog');
 
-       // push breadcrumb
+       // push all blogs breadcrumb
        elgg_push_breadcrumb(elgg_echo('blog:blogs'), "pg/blog/all/");
 
        if (!isset($page[0])) {
                $page[0] = 'all';
        }
-
-       // if username not set, we are showing all blog posts
-       if (!isset($page[1])) {
-               $title = elgg_echo('blog:title:all_blogs');
-               $params = blog_get_page_content_list();
-       } else {
-               $username = $page[1];
-               // forward away if invalid user.
-               if (!$user = get_user_by_username($username)) {
-                       register_error('blog:error:unknown_username');
-                       forward(REFERER);
-               }
-
-               set_page_owner($user->getGUID());
-               $crumbs_title = elgg_echo('blog:owned_blogs', array($user->name));
-               $crumbs_url = "pg/blog/owner/$username/";
-               elgg_push_breadcrumb($crumbs_title, $crumbs_url);
-
-               $action = $page[0];
-               // yeah these are crap names, but they're used for different things.
-               $page2 = isset($page[2]) ? $page[2] : FALSE;
-               $page3 = isset($page[3]) ? $page[3] : FALSE;
-
-               switch ($action) {
-                       case 'owner':
-                               $title = elgg_echo('blog:title:user_blogs', array($user->name));
-                               $params = blog_get_page_content_list($user->getGUID());
-                               break;
-                       
-                       case 'read':
-                               $title = elgg_echo('blog:title:user_blogs', array($user->name));
-                               $params = blog_get_page_content_read($page2);
-                               break;
-
-                       case 'new':
-                       case 'edit':
+       
+       $page_type = $page[0];
+       switch ($page_type) {
+               case 'owner':
+                       $user = get_user_by_username($page[1]);
+                       $params = blog_get_page_content_list($user->guid);
+                       break;
+               case 'friends':
+                       $user = get_user_by_username($page[1]);
+                       $params = blog_get_page_content_friends($user->guid);
+                       break;
+               case 'archive':
+                       $user = get_user_by_username($page[1]);
+                       $params = blog_get_page_content_archive($user->guid, $page[2], $page[3]);
+                       break;
+               case 'read':
+                       $params = blog_get_page_content_read($page[1]);
+                       break;
+               case 'new':
+                       gatekeeper();
+                       $params = blog_get_page_content_edit($page_type);
+                       break;
+               case 'edit':
+                       gatekeeper();
+                       $params = blog_get_page_content_edit($page_type, $page[1], $page[2]);
+                       break;
+               case 'group':
+                       if ($page[2] == 'new') {
                                gatekeeper();
-                               $title = elgg_echo('blog:edit');
-                               $params = blog_get_page_content_edit($page2, $page3);
-                               break;
-
-                       case 'archive':
-                               $title = elgg_echo('blog:archives');
-                               $params = blog_get_page_content_archive($user->getGUID(), $page2, $page3);
-                               break;
-
-                       case 'friends':
-                               $title = elgg_echo('blog:title:friends');
-                               $params = blog_get_page_content_friends($user->getGUID());
-                               break;
-
-                       default:
-                               forward("pg/blog/owner/$username/");
-                               break;
-               }
+                               $params = blog_get_page_content_edit($page_type, $page[1]);
+                       } else {
+                               $params = blog_get_page_content_list($page[1]);
+                       }
+                       break;
+               case 'all':
+               default:
+                       $title = elgg_echo('blog:title:all_blogs');
+                       $params = blog_get_page_content_list();
+                       break;
        }
-
-       $sidebar_menu = elgg_view('blog/sidebar_menu', array(
-               'page' => $action,
-       ));
-
-       $params['sidebar'] .= $sidebar_menu;
+       
+       $params['sidebar'] .= elgg_view('blog/sidebar', array('page' => $page_type));
 
        $body = elgg_view_layout('content', $params);
 
-       echo elgg_view_page($title, $body);
+       echo elgg_view_page($params['title'], $body);
 }
 
 /**
@@ -216,20 +206,20 @@ function blog_url_forwarder($page) {
 }
 
 /**
- * Format and return the correct URL for blogs.
+ * Format and return the URL for blogs.
  *
- * @param ElggObject $entity
+ * @param ElggObject $entity Blog object
  * @return string URL of blog.
  */
 function blog_url_handler($entity) {
-       if (!$user = get_entity($entity->owner_guid)) {
+       if (!$entity->getOwnerEntity()) {
                // default to a standard view if no owner.
                return FALSE;
        }
 
        $friendly_title = elgg_get_friendly_title($entity->title);
 
-       return "pg/blog/read/{$user->username}/{$entity->guid}/$friendly_title";
+       return "pg/blog/read/{$entity->guid}/$friendly_title";
 }
 
 /**
diff --git a/mod/blog/views/default/blog/group_module.php b/mod/blog/views/default/blog/group_module.php
new file mode 100644 (file)
index 0000000..6e75966
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Group blog module
+ */
+
+$group = elgg_get_page_owner();
+
+$all_link = elgg_view('output/url', array(
+       'href' => "pg/blog/group/$group->guid/owner",
+       'text' => elgg_echo('link:view:all'),
+));
+
+$header = "<span class=\"group-widget-viewall\">$all_link</span>";
+$header .= '<h3>' . elgg_echo('blog:group') . '</h3>';
+
+
+elgg_push_context('widgets');
+$options = array(
+       'type' => 'object',
+       'subtype' => 'blog',
+       'container_guid' => elgg_get_page_owner_guid(),
+       'limit' => 6,
+       'full_view' => false,
+       'pagination' => false,
+);
+$content = elgg_list_entities($options);
+elgg_pop_context();
+
+$new_link = elgg_view('output/url', array(
+       'href' => "pg/blog/group/$group->guid/new",
+       'text' => elgg_echo('blog:write'),
+));
+$content .= "<span class='elgg-widget-more'>$new_link</span>";
+
+
+$params = array(
+       'header' => $header,
+       'body' => $content,
+);
+echo elgg_view('layout/objects/module', $params);
diff --git a/mod/blog/views/default/blog/sidebar.php b/mod/blog/views/default/blog/sidebar.php
new file mode 100644 (file)
index 0000000..63ed85c
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Blog sidebar
+ *
+ * @package Blog
+ */
+
+// fetch & display latest comments
+if ($vars['page'] == 'all') {
+       echo elgg_view_latest_comments(0, 'object', 'blog');
+} elseif ($vars['page'] == 'owner') {
+       // @todo - what we want is the latest comments on this user's blog posts - elgg does not support this
+       echo elgg_view_latest_comments(elgg_get_page_owner_guid(), 'object', 'blog');
+}
+
+echo elgg_view('blog/sidebar/archives', $vars);
+
+echo elgg_view('blog/sidebar/tagcloud', $vars);
diff --git a/mod/blog/views/default/blog/sidebar/archives.php b/mod/blog/views/default/blog/sidebar/archives.php
new file mode 100644 (file)
index 0000000..9904be2
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Blog archives
+ */
+
+$loggedin_user = get_loggedin_user();
+$page_owner = elgg_get_page_owner();
+
+// This is a limitation of the URL schema.
+if ($page_owner && $vars['page'] != 'friends') {
+       $dates = blog_get_blog_months($user);
+
+       if ($dates) {
+               $title = elgg_echo('blog:archives');
+               $content = '<ul class="blog-archives">';
+               foreach($dates as $date) {
+                       $date = $date->yearmonth;
+
+                       $timestamplow = mktime(0, 0, 0, substr($date,4,2) , 1, substr($date, 0, 4));
+                       $timestamphigh = mktime(0, 0, 0, ((int) substr($date, 4, 2)) + 1, 1, substr($date, 0, 4));
+
+                       $link = elgg_get_site_url() . 'pg/blog/archive/' . $page_owner->username . '/' . $timestamplow . '/' . $timestamphigh;
+                       $month = elgg_echo('date:month:' . substr($date, 4, 2), array(substr($date, 0, 4)));
+                       $content .= "<li><a href=\"$link\" title=\"$month\">$month</a></li>";
+               }
+               $content .= '</ul>';
+
+               echo elgg_view('layout/objects/module', array('title' => $title, 'body' => $content));
+       }
+}
\ No newline at end of file
diff --git a/mod/blog/views/default/blog/sidebar/tagcloud.php b/mod/blog/views/default/blog/sidebar/tagcloud.php
new file mode 100644 (file)
index 0000000..2f5ce39
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Blog tag cloud
+ */
+
+$loggedin_user = get_loggedin_user();
+$page_owner = elgg_get_page_owner();
+
+if ($page_owner && $vars['page'] != 'friends') {
+
+       // friends page lists all tags; mine lists owner's
+       $owner_guid = ($vars['page'] == 'friends') ? '' : $page_owner->getGUID();
+       $options = array(
+               'type' => 'object',
+               'subtype' => 'blog',
+               'owner_guid' => $owner_guid,
+               'threshold' => 0,
+               'limit' => 50,
+               'tag_name' => 'tags',
+       );
+       echo elgg_view_tagcloud($options);
+} else {
+       $options = array(
+               'type' => 'object',
+               'subtype' => 'blog',
+               'threshold' => 0,
+               'limit' => 50,
+               'tag_name' => 'tags',
+       );
+       echo elgg_view_tagcloud($options);
+}
diff --git a/mod/blog/views/default/blog/sidebar_menu.php b/mod/blog/views/default/blog/sidebar_menu.php
deleted file mode 100644 (file)
index 7dfbeb1..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/**
- * Blog sidebar menu.
- *
- * @package Blog
- */
-
-// a few cases to consider:
-// 1. looking at all posts
-// 2. looking at a user's post
-// 3. looking at your posts
-
-/*
-Logged in or not doesn't matter unless you're looking at your blog.
-       Does it matter then on the side bar?
-
-All blogs:
-       Archives
-
-Owned blogs;
-       Archives
-*/
-
-$loggedin_user = get_loggedin_user();
-$page_owner = elgg_get_page_owner();
-
-// include a view for plugins to extend
-echo elgg_view("blogs/sidebar", array("object_type" => 'blog'));
-
-// fetch & display latest comments on all blog posts
-echo elgg_view_latest_comments(0, 'object', 'blog');
-
-// only show archives for users or groups.
-// This is a limitation of the URL schema.
-if ($page_owner && $vars['page'] != 'friends') {
-       $dates = blog_get_blog_months($user);
-
-       if ($dates) {
-               $title = elgg_echo('blog:archives');
-               $content = '<ul class="blog-archives">';
-               foreach($dates as $date) {
-                       $date = $date->yearmonth;
-
-                       $timestamplow = mktime(0, 0, 0, substr($date,4,2) , 1, substr($date, 0, 4));
-                       $timestamphigh = mktime(0, 0, 0, ((int) substr($date, 4, 2)) + 1, 1, substr($date, 0, 4));
-
-                       $link = elgg_get_site_url() . 'pg/blog/archive/' . $page_owner->username . '/' . $timestamplow . '/' . $timestamphigh;
-                       $month = elgg_echo('date:month:' . substr($date, 4, 2), array(substr($date, 0, 4)));
-                       $content .= "<li><a href=\"$link\" title=\"$month\">$month</a></li>";
-               }
-               $content .= '</ul>';
-
-               echo elgg_view('layout/objects/module', array('title' => $title, 'body' => $content));
-       }
-
-       // friends page lists all tags; mine lists owner's
-       $owner_guid = ($vars['page'] == 'friends') ? '' : $page_owner->getGUID();
-       $options = array(
-               'type' => 'object',
-               'subtype' => 'blog',
-               'owner_guid' => $owner_guid,
-               'threshold' => 0,
-               'limit' => 50,
-               'tag_name' => 'tags',
-       );
-       echo elgg_view_tagcloud($options);
-} else {
-       $options = array(
-               'type' => 'object',
-               'subtype' => 'blog',
-               'threshold' => 0,
-               'limit' => 50,
-               'tag_name' => 'tags',
-       );
-       echo elgg_view_tagcloud($options);
-}
index f493409856e9b53c6d962d0026023699746208c6..8597c135c91b279bc24d43e8bae0bd9264ef1a18 100644 (file)
@@ -5,8 +5,6 @@
  * @package Blog
  */
 
-$forward = $_SERVER['HTTP_REFERER'];
-
 $draft_warning = $vars['draft_warning'];
 if ($draft_warning) {
        $draft_warning = '<span class="message warning">' . $draft_warning . '</span>';
@@ -89,6 +87,7 @@ $access_input = elgg_view('input/access', array(
        'value' => $vars['access_id']
 ));
 
+// not being used
 $publish_date_label = elgg_echo('blog:publish_date');
 $publish_date_input = elgg_view('input/datetime', array(
        'internalname' => 'publish_date',
@@ -99,9 +98,8 @@ $publish_date_input = elgg_view('input/datetime', array(
 $categories_input = elgg_view('categories', $vars);
 
 // hidden inputs
-//$container_guid_input = elgg_view('input/hidden', array('internalname' => 'container_guid', 'value' => $vars['container_guid']));
+$container_guid_input = elgg_view('input/hidden', array('internalname' => 'container_guid', 'value' => elgg_get_page_owner_guid()));
 $guid_input = elgg_view('input/hidden', array('internalname' => 'guid', 'value' => $vars['guid']));
-$forward_input = elgg_view('input/hidden', array('internalname' => 'forward', 'value' => $forward));
 
 
 echo <<<___HTML
@@ -150,7 +148,6 @@ $categories_input
 
 $guid_input
 $container_guid_input
-$forward_input
 
 $action_buttons
 
index 5586464f1d870cdad0e171c3cbcbe44c006c3172..f4bad188c50efe7680d4dcd0742f7d1727860d9e 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 /**
  * A date-time view for the blog publication date.
+ *
+ * not being used
  */
 
 // default date to current time
index 639031113fd4c71eaf983c2ea2564fbb4bb0154d..19018492a5d4bcae3a695256e8bdc55984f0401c 100644 (file)
@@ -69,7 +69,7 @@ if ($blog->canEdit()) {
                $metadata .= "<li>$status_text</li>";
        }
 
-       $edit_url = elgg_get_site_url() . "pg/blog/edit/{$owner->username}/{$blog->getGUID()}/";
+       $edit_url = elgg_get_site_url() . "pg/blog/edit/{$blog->getGUID()}/";
        $edit_link = elgg_view('output/url', array(
                'href' => $edit_url,
                'text' => elgg_echo('edit'),
@@ -91,6 +91,11 @@ $metadata .= '</ul>';
 
 $subtitle = "$author_text $date $categories $comments_link";
 
+// do not show the metadata and controls in widget view
+if (elgg_in_context('widgets')) {
+       $metadata = '';
+}
+
 if ($full) {
 
        $header = elgg_view_title($blog->title);
diff --git a/mod/blog/views/default/widgets/blog/content.php b/mod/blog/views/default/widgets/blog/content.php
new file mode 100644 (file)
index 0000000..83d1c0c
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+/**
+ * User blog widget display view
+ */
+
+$num = $vars['entity']->num_display;
+
+$options = array(
+       'type' => 'object',
+       'subtype' => 'blog',
+       'container_guid' => $vars['entity']->owner_guid,
+       'limit' => $num,
+       'full_view' => FALSE,
+       'pagination' => FALSE,
+);
+$content = elgg_list_entities($options);
+
+echo $content;
+
+if ($content) {
+       $blog_url = "pg/blog/owner/" . elgg_get_page_owner()->username;
+       $more_link = elgg_view('output/url', array(
+               'href' => $blog_url,
+               'text' => elgg_echo('blog:moreblogs'),
+       ));
+       echo "<span class=\"elgg-widget-more\">$more_link</span>";
+} else {
+       echo elgg_echo('blog:noblogs');
+}
diff --git a/mod/blog/views/default/widgets/blog/edit.php b/mod/blog/views/default/widgets/blog/edit.php
new file mode 100644 (file)
index 0000000..aaa9d1a
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+/**
+ * User blog widget edit view
+ */
+
+// set default value
+if (!isset($vars['entity']->num_display)) {
+       $vars['entity']->num_display = 4;
+}
+
+$params = array(
+       'internalname' => 'params[num_display]',
+       'value' => $vars['entity']->num_display = 4,
+       'options' => array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
+);
+$dropdown = elgg_view('input/pulldown', $params);
+
+?>
+<p>
+       <?php echo elgg_echo('blog:numbertodisplay'); ?>:
+       <?php echo $dropdown; ?>
+</p>
index acd18550eca659c363b159b7b4f6522efb0b0d2c..da80cc7a7c6fa65734258371d42f7b61cd5fa881 100644 (file)
@@ -6,6 +6,29 @@
  */
 
 ?>
+#group_tools_latest > .elgg-module {
+       float: left;
+       margin-bottom: 40px;
+       min-height: 200px;
+       width: 350px;
+}
+
+#group_tools_latest > .elgg-module .elgg-head {
+       padding: 5px 5px 3px;
+       background-color: #e4e4e4;
+       border-bottom: 1px solid #cccccc;
+       -moz-border-radius: 4px 4px 0 0;
+}
+
+#group_tools_latest > .elgg-module .elgg-head h3 {
+       color: #333333;
+}
+
+.group-widget-viewall {
+       float: right;
+       font-size: 85%;
+}
+
 /* group listings */
 .group_count {
        float:right;