aboutsummaryrefslogtreecommitdiff
path: root/mod/blog/views/default/object/blog.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/blog/views/default/object/blog.php')
-rw-r--r--mod/blog/views/default/object/blog.php223
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> &nbsp;
- <!-- 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> &nbsp;
- <?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);
+}