diff options
Diffstat (limited to 'mod/blog/views/default/object/blog.php')
| -rw-r--r-- | mod/blog/views/default/object/blog.php | 223 |
1 files changed, 86 insertions, 137 deletions
diff --git a/mod/blog/views/default/object/blog.php b/mod/blog/views/default/object/blog.php index 898705911..4403a6006 100644 --- a/mod/blog/views/default/object/blog.php +++ b/mod/blog/views/default/object/blog.php @@ -1,150 +1,99 @@ <?php +/** + * View for blog objects + * + * @package Blog + */ - /** - * Elgg blog individual post view - * - * @package ElggBlog - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Ben Werdmuller <ben@curverider.co.uk> - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.com/ - * - * @uses $vars['entity'] Optionally, the blog post to view - */ +$full = elgg_extract('full_view', $vars, FALSE); +$blog = elgg_extract('entity', $vars, FALSE); - if (isset($vars['entity'])) { - - //display comments link? - if ($vars['entity']->comments_on == 'Off') { - $comments_on = false; - } else { - $comments_on = true; - } - - if (get_context() == "search" && $vars['entity'] instanceof ElggObject) { - - //display the correct layout depending on gallery or list view - if (get_input('search_viewtype') == "gallery") { +if (!$blog) { + return TRUE; +} - //display the gallery view - echo elgg_view("blog/gallery",$vars); +$owner = $blog->getOwnerEntity(); +$container = $blog->getContainerEntity(); +$categories = elgg_view('output/categories', $vars); +$excerpt = $blog->excerpt; +if (!$excerpt) { + $excerpt = elgg_get_excerpt($blog->description); +} - } else { - - echo elgg_view("blog/listing",$vars); +$owner_icon = elgg_view_entity_icon($owner, 'tiny'); +$owner_link = elgg_view('output/url', array( + 'href' => "blog/owner/$owner->username", + 'text' => $owner->name, + 'is_trusted' => true, +)); +$author_text = elgg_echo('byline', array($owner_link)); +$date = elgg_view_friendly_time($blog->time_created); - } +// The "on" status changes for comments, so best to check for !Off +if ($blog->comments_on != 'Off') { + $comments_count = $blog->countComments(); + //only display if there are commments + if ($comments_count != 0) { + $text = elgg_echo("comments") . " ($comments_count)"; + $comments_link = elgg_view('output/url', array( + 'href' => $blog->getURL() . '#blog-comments', + 'text' => $text, + 'is_trusted' => true, + )); + } else { + $comments_link = ''; + } +} else { + $comments_link = ''; +} - - } else { - - if ($vars['entity'] instanceof ElggObject) { - - $url = $vars['entity']->getURL(); - $owner = $vars['entity']->getOwnerEntity(); - $canedit = $vars['entity']->canEdit(); - - } else { - - $url = 'javascript:history.go(-1);'; - $owner = $vars['user']; - $canedit = false; - - } -?> +$metadata = elgg_view_menu('entity', array( + 'entity' => $vars['entity'], + 'handler' => 'blog', + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', +)); - <div class="contentWrapper singleview"> - - <div class="blog_post"> - <h3><a href="<?php echo $url; ?>"><?php echo $vars['entity']->title; ?></a></h3> - <!-- display the user icon --> - <div class="blog_post_icon"> - <?php - echo elgg_view("profile/icon",array('entity' => $owner, 'size' => 'tiny')); - ?> - </div> - <p class="strapline"> - <?php - - echo sprintf(elgg_echo("blog:strapline"), - date("F j, Y",$vars['entity']->time_created) - ); - - ?> - <?php echo elgg_echo('by'); ?> <a href="<?php echo $vars['url']; ?>pg/blog/<?php echo $owner->username; ?>"><?php echo $owner->name; ?></a> - <!-- display the comments link --> - <?php - if($comments_on && $vars['entity'] instanceof ElggObject){ - //get the number of comments - $num_comments = elgg_count_comments($vars['entity']); - ?> - <a href="<?php echo $url; ?>"><?php echo sprintf(elgg_echo("comments")) . " (" . $num_comments . ")"; ?></a><br /> - <?php - } - ?> - </p> - <!-- display tags --> - <?php - - $tags = elgg_view('output/tags', array('tags' => $vars['entity']->tags)); - if (!empty($tags)) { - echo '<p class="tags">' . $tags . '</p>'; - } - - $categories = elgg_view('categories/view', $vars); - if (!empty($categories)) { - echo '<p class="categories">' . $categories . '</p>'; - } - - ?> - <div class="clearfloat"></div> - <div class="blog_post_body"> +$subtitle = "$author_text $date $comments_link $categories"; - <!-- display the actual blog post --> - <?php - - echo elgg_view('output/longtext',array('value' => $vars['entity']->description)); - - ?> - </div><div class="clearfloat"></div> - <!-- display edit options if it is the blog post owner --> - <p class="options"> - <?php - - if ($canedit) { - - ?> - <a href="<?php echo $vars['url']; ?>mod/blog/edit.php?blogpost=<?php echo $vars['entity']->getGUID(); ?>"><?php echo elgg_echo("edit"); ?></a> - <?php - - echo elgg_view("output/confirmlink", array( - 'href' => $vars['url'] . "action/blog/delete?blogpost=" . $vars['entity']->getGUID(), - 'text' => elgg_echo('delete'), - 'confirm' => elgg_echo('deleteconfirm'), - )); - - // Allow the menu to be extended - echo elgg_view("editmenu",array('entity' => $vars['entity'])); - - ?> - <?php - } - - ?> - </p> - </div> - </div> +// do not show the metadata and controls in widget view +if (elgg_in_context('widgets')) { + $metadata = ''; +} -<?php +if ($full) { + + $body = elgg_view('output/longtext', array( + 'value' => $blog->description, + 'class' => 'blog-post', + )); + + $params = array( + 'entity' => $blog, + 'title' => false, + 'metadata' => $metadata, + 'subtitle' => $subtitle, + ); + $params = $params + $vars; + $summary = elgg_view('object/elements/summary', $params); + + echo elgg_view('object/elements/full', array( + 'summary' => $summary, + 'icon' => $owner_icon, + 'body' => $body, + )); - // If we've been asked to display the full view - // Now handled by annotation framework - /*if (isset($vars['full']) && $vars['full'] == true && $comments_on == 'on' && $vars['entity'] instanceof ElggEntity) { - echo elgg_view_comments($vars['entity']); - }*/ - - } +} else { + // brief view - } + $params = array( + 'entity' => $blog, + 'metadata' => $metadata, + 'subtitle' => $subtitle, + 'content' => $excerpt, + ); + $params = $params + $vars; + $list_body = elgg_view('object/elements/summary', $params); -?> + echo elgg_view_image_block($owner_icon, $list_body); +} |
