diff options
author | dave <dave@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-06-19 16:31:35 +0000 |
---|---|---|
committer | dave <dave@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-06-19 16:31:35 +0000 |
commit | 856dc92ef07c9fe06339349224533a12898b31d7 (patch) | |
tree | 4e1a665848a8339a0c37cab948edab259f338d5f /mod/groups/views/default/forum | |
parent | 47e359de2e11aac5c89039fbac11c1c871d3baed (diff) | |
download | elgg-856dc92ef07c9fe06339349224533a12898b31d7.tar.gz elgg-856dc92ef07c9fe06339349224533a12898b31d7.tar.bz2 |
There was no point in group discussions having their own comment annotations, better to use the generic comments so this has been changed and a full group activity stream added. For v1.8, there will need to be an upgrade script which will change 'group_topic_post' -> 'generic_comment' and on all existing topics, take the first annotation of type 'group_topic_post' and populate the topic's description.
git-svn-id: http://code.elgg.org/elgg/trunk@6526 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/groups/views/default/forum')
-rw-r--r-- | mod/groups/views/default/forum/maintopic.php (renamed from mod/groups/views/default/forum/topicposts.php) | 135 | ||||
-rw-r--r-- | mod/groups/views/default/forum/topics.php | 22 | ||||
-rw-r--r-- | mod/groups/views/default/forum/viewposts.php | 85 |
3 files changed, 98 insertions, 144 deletions
diff --git a/mod/groups/views/default/forum/topicposts.php b/mod/groups/views/default/forum/maintopic.php index 7fb32e427..7a4a86da7 100644 --- a/mod/groups/views/default/forum/topicposts.php +++ b/mod/groups/views/default/forum/maintopic.php @@ -1,81 +1,56 @@ -<?php - - /** - * Elgg Topic individual post view. This is all the follow up posts on a particular topic - * - * @package ElggGroups - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Curverider Ltd <info@elgg.com> - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.com/ - * - * @uses $vars['entity'] The posted comment to view - */ - - -?> - -<div class="entity_listing topic clearfloat"> -<a class="anchor_link" name="<?php echo $vars['entity']->id; ?>"></a> - <?php - // get infomation about the owner of the comment - if ($post_owner = get_user($vars['entity']->owner_guid)) { - // display the user icon - echo "<div class='entity_listing_icon'>" . elgg_view("profile/icon",array('entity' => $post_owner, 'size' => 'tiny')) . "</div>"; - // display the user name - echo "<div class='entity_listing_info'>"; - // if comment owner, group owner, or site admin - display edit and delete options - if (groups_can_edit_discussion($vars['entity'], page_owner_entity()->owner_guid)) { - echo "<div class='entity_metadata'>"; - echo "<span class='delete_button'>".elgg_view("output/confirmlink",array( - 'href' => $vars['url'] . "action/groups/deletepost?post=" . $vars['entity']->id . "&topic=" . get_input('topic') . "&group=" . get_input('group_guid'), - 'text' => elgg_echo('delete'), - 'confirm' => elgg_echo('deleteconfirm') - ))."</span>"; - echo "<span class='entity_edit'><a class='link' onclick=\"elgg_slide_toggle(this,'.topic','.edit_comment');\">".elgg_echo('edit')."</a></span>"; - echo "</div>"; - - } - - echo "<p class='entity_title'>" . $post_owner->name . "</p>"; - } else { - echo "<div class='entity_listing_icon'><img src=\"" . elgg_view('icon/user/default/tiny') . "\" /></div>"; - echo "<div class='entity_listing_info'><p class='entity_title'>" . elgg_echo('profile:deleteduser') . "</p>"; - } - - //display the date of the comment - echo "<p class='entity_subtext'>" . friendly_time($vars['entity']->time_created) . "</p>"; - - //display the actual message posted - echo parse_urls(elgg_view("output/longtext",array("value" => $vars['entity']->value))); - - // if comment owner, group owner, or site admin - display edit-form - if (groups_can_edit_discussion($vars['entity'], page_owner_entity()->owner_guid)) { - //get the edit form and details - $submit_input = elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('save'))); - $text_textarea = elgg_view('input/longtext', array('internalname' => 'postComment'.$vars['entity']->id, 'value' => $vars['entity']->value)); - $post = elgg_view('input/hidden', array('internalname' => 'post', 'value' => $vars['entity']->id)); - $field = elgg_view('input/hidden', array('internalname' => 'field_num', 'value' => $vars['entity']->id)); - $topic = elgg_view('input/hidden', array('internalname' => 'topic', 'value' => get_input('topic'))); - $group = elgg_view('input/hidden', array('internalname' => 'group', 'value' => get_input('group_guid'))); - $edittopic_title = elgg_echo('groups:edittopic'); - - $form_body = <<<EOT - - <p class='longtext_inputarea'> - <label>$edittopic_title</label> - $text_textarea</p> - $post - $topic - $group - $field - $submit_input -EOT; - echo "<div class='edit_comment margin_top hidden'>"; - echo elgg_view('input/form', array('action' => "{$vars['url']}action/groups/editpost", 'body' => $form_body, 'internalid' => 'editforumpostForm')); - echo "</div>"; - } - echo "</div>"; // close entity_listing_info -?> - +<?php
+
+ /**
+ * Elgg Topic individual post view.
+ *
+ * @package ElggGroups
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.com/
+ *
+ * @uses $vars['entity'] The post
+ */
+
+ $topic = get_input('topic');
+ $group_guid = get_input('group_guid');
+
+?>
+
+<div class="entity_listing topic clearfloat">
+<a class="anchor_link" name="<?php echo $vars['entity']->id; ?>"></a>
+ <?php
+ // get infomation about the owner of the comment
+ if ($post_owner = get_user($vars['entity']->owner_guid)) {
+ // display the user icon
+ echo "<div class='entity_listing_icon'>" . elgg_view("profile/icon",array('entity' => $post_owner, 'size' => 'tiny')) . "</div>";
+ // display the user name
+ echo "<div class='entity_listing_info'>";
+ // if comment owner, group owner, or site admin - display edit and delete options
+ if (groups_can_edit_discussion($vars['entity'], page_owner_entity()->owner_guid)) {
+ echo "<div class='entity_metadata'>";
+ echo "<span class='delete_button'>".elgg_view("output/confirmlink",array(
+ 'href' => $vars['url'] . "action/groups/deletepost?post=" . $vars['entity']->id . "&topic=" . get_input('topic') . "&group=" . get_input('group_guid'),
+ 'text' => elgg_echo('delete'),
+ 'confirm' => elgg_echo('deleteconfirm')
+ ))."</span>";
+ echo "<span class='entity_edit'><a class='link' href=\"{$vars['url']}pg/groups/edittopic/{$group_guid}/{$topic}/\">".elgg_echo('edit')."</a></span>";
+ echo "</div>";
+
+ }
+
+ echo "<p class='entity_title'>" . $post_owner->name . "</p>";
+ } else {
+ echo "<div class='entity_listing_icon'><img src=\"" . elgg_view('icon/user/default/tiny') . "\" /></div>";
+ echo "<div class='entity_listing_info'><p class='entity_title'>" . elgg_echo('profile:deleteduser') . "</p>";
+ }
+
+ //display the date of the comment
+ echo "<p class='entity_subtext'>" . friendly_time($vars['entity']->time_created) . "</p>";
+
+ //display the actual message posted
+ echo parse_urls(elgg_view("output/longtext",array("value" => $vars['entity']->description)));
+ echo "</div>"; // close entity_listing_info
+?>
+
</div>
\ No newline at end of file diff --git a/mod/groups/views/default/forum/topics.php b/mod/groups/views/default/forum/topics.php index c0f5ff2d1..91834aa08 100644 --- a/mod/groups/views/default/forum/topics.php +++ b/mod/groups/views/default/forum/topics.php @@ -1,13 +1,7 @@ <?php - /** - * Elgg groups plugin - * - * @package ElggGroups - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Curverider - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.com/ - */ +/** + * Elgg groups plugin + */ ?> <div id="content_header" class="clearfloat"> @@ -25,9 +19,7 @@ ?> </div> <?php - if($vars['topics']) - echo $vars['topics']; - else - echo "<p class='margin_top'>". elgg_echo("grouptopic:notcreated") . "</p>"; - -?>
\ No newline at end of file +if($vars['topics']) + echo $vars['topics']; +else + echo "<p class='margin_top'>". elgg_echo("grouptopic:notcreated") . "</p>";
\ No newline at end of file diff --git a/mod/groups/views/default/forum/viewposts.php b/mod/groups/views/default/forum/viewposts.php index 0ff70a38a..aa8b334f2 100644 --- a/mod/groups/views/default/forum/viewposts.php +++ b/mod/groups/views/default/forum/viewposts.php @@ -1,61 +1,48 @@ <?php - - /** - * Elgg groups plugin display topic posts - * - * @package ElggGroups - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Curverider - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.com/ - */ - - // set up breadcrumbs - $group_guid = get_input('group_guid'); - $group = get_entity($group_guid); - elgg_push_breadcrumb(elgg_echo('groups'), $CONFIG->wwwroot."pg/groups/world/"); - elgg_push_breadcrumb($group->name, $group->getURL()); - elgg_push_breadcrumb(elgg_echo('item:object:groupforumtopic'), $CONFIG->wwwroot."pg/groups/forum/{$vars['entity']->container_guid}"); - elgg_push_breadcrumb($vars['entity']->title); - - echo elgg_view('navigation/breadcrumbs'); - - //display follow up comments - $count = $vars['entity']->countAnnotations('group_topic_post'); - $offset = (int) get_input('offset',0); - - $baseurl = $vars['url'] . "mod/groups/topicposts.php?topic={$vars['entity']->guid}&group_guid={$vars['entity']->container_guid}"; - echo elgg_view('navigation/pagination',array( - 'limit' => 50, - 'offset' => $offset, - 'baseurl' => $baseurl, - 'count' => $count, - )); +/** + * Elgg groups plugin display topic posts + */ + +// set up breadcrumbs +$group_guid = get_input('group_guid'); +$group = get_entity($group_guid); +elgg_push_breadcrumb(elgg_echo('groups'), $CONFIG->wwwroot."pg/groups/world/"); +elgg_push_breadcrumb($group->name, $group->getURL()); +elgg_push_breadcrumb(elgg_echo('item:object:groupforumtopic'), $CONFIG->wwwroot."pg/groups/forum/{$vars['entity']->container_guid}"); +elgg_push_breadcrumb($vars['entity']->title); + +echo elgg_view('navigation/breadcrumbs'); + +//display follow up comments +$count = $vars['entity']->countAnnotations('group_topic_post'); +$offset = (int) get_input('offset',0); + +$baseurl = $vars['url'] . "mod/groups/topicposts.php?topic={$vars['entity']->guid}&group_guid={$vars['entity']->container_guid}"; +echo elgg_view('navigation/pagination',array( + 'limit' => 50, + 'offset' => $offset, + 'baseurl' => $baseurl, + 'count' => $count, + )); ?> <!-- grab the topic title --> <h2><?php echo $vars['entity']->title; ?></h2> <?php - - foreach($vars['entity']->getAnnotations('group_topic_post', 50, $offset, "asc") as $post) { - - echo elgg_view("forum/topicposts",array('entity' => $post)); - - } + //display the topic + echo elgg_view("forum/maintopic",array('entity' => $vars['entity'])); // check to find out the status of the topic and act - if($vars['entity']->status != "closed" && page_owner_entity()->isMember($vars['user'])){ - - //display the add comment form, this will appear after all the existing comments - echo elgg_view("forms/forums/addpost", array('entity' => $vars['entity'])); - - } elseif($vars['entity']->status == "closed") { - + if($vars['entity']->status == "closed") { + echo elgg_view_comments($vars['entity'], false); //this topic has been closed by the owner - echo "<h2>" . elgg_echo("groups:topicisclosed") . "</h2>"; + echo "<h3>" . elgg_echo("groups:topicisclosed") . "</h3>"; echo "<p>" . elgg_echo("groups:topiccloseddesc") . "</p>"; - } else { + }elseif(page_owner_entity()->isMember($vars['user'])){ + //comments are on and the user viewing is a member + echo elgg_view_comments($vars['entity']); + }else{ + //the user is not a member so cannot post a comment + echo elgg_view_comments($vars['entity'], false); } - -?> |