aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordave <dave@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-06-19 16:31:35 +0000
committerdave <dave@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-06-19 16:31:35 +0000
commit856dc92ef07c9fe06339349224533a12898b31d7 (patch)
tree4e1a665848a8339a0c37cab948edab259f338d5f
parent47e359de2e11aac5c89039fbac11c1c871d3baed (diff)
downloadelgg-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
-rw-r--r--mod/groups/actions/forums/addpost.php58
-rw-r--r--mod/groups/actions/forums/addtopic.php7
-rw-r--r--mod/groups/actions/forums/deletepost.php47
-rw-r--r--mod/groups/actions/forums/editpost.php48
-rw-r--r--mod/groups/actions/forums/edittopic.php121
-rw-r--r--mod/groups/activity.php55
-rw-r--r--mod/groups/addtopic.php35
-rw-r--r--mod/groups/all.php5
-rw-r--r--mod/groups/discussions.php33
-rw-r--r--mod/groups/edit.php2
-rw-r--r--mod/groups/edittopic.php45
-rw-r--r--mod/groups/forum.php75
-rw-r--r--mod/groups/languages/en.php14
-rw-r--r--mod/groups/start.php22
-rw-r--r--mod/groups/views/default/forms/forums/addpost.php34
-rw-r--r--mod/groups/views/default/forms/forums/edittopic.php11
-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.php22
-rw-r--r--mod/groups/views/default/forum/viewposts.php85
-rw-r--r--mod/groups/views/default/groups/css.php3
-rw-r--r--mod/groups/views/default/groups/forum_latest.php17
-rw-r--r--mod/groups/views/default/object/groupforumtopic.php118
-rw-r--r--mod/groups/views/default/river/forum/topic/create.php17
23 files changed, 384 insertions, 625 deletions
diff --git a/mod/groups/actions/forums/addpost.php b/mod/groups/actions/forums/addpost.php
deleted file mode 100644
index c277b795d..000000000
--- a/mod/groups/actions/forums/addpost.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/**
- * Elgg groups: add post to a topic
- *
- * @package ElggGroups
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.org/
- */
-
-// Make sure we're logged in and have a CSRF token
-gatekeeper();
-
-// Get input
-$topic_guid = (int) get_input('topic_guid');
-$group_guid = (int) get_input('group_guid');
-$post = get_input('topic_post');
-
-
-// make sure we have text in the post
-if (!$post) {
- register_error(elgg_echo("grouppost:nopost"));
- forward($_SERVER['HTTP_REFERER']);
-}
-
-
-// Check that user is a group member
-$group = get_entity($group_guid);
-$user = get_loggedin_user();
-if (!$group->isMember($user)) {
- register_error(elgg_echo("groups:notmember"));
- forward($_SERVER['HTTP_REFERER']);
-}
-
-
-// Let's see if we can get an form topic with the specified GUID, and that it's a group forum topic
-$topic = get_entity($topic_guid);
-if (!$topic || $topic->getSubtype() != "groupforumtopic") {
- register_error(elgg_echo("grouptopic:notfound"));
- forward($_SERVER['HTTP_REFERER']);
-}
-
-
-// add the post to the forum topic
-$post_id = $topic->annotate('group_topic_post', $post, $topic->access_id, $user->guid);
-if ($post_id == false) {
- system_message(elgg_echo("groupspost:failure"));
- forward($_SERVER['HTTP_REFERER']);
-}
-
-// add to river
-add_to_river('river/forum/create', 'create', $user->guid, $topic_guid, "", 0, $post_id);
-
-system_message(elgg_echo("groupspost:success"));
-
-forward($_SERVER['HTTP_REFERER']);
diff --git a/mod/groups/actions/forums/addtopic.php b/mod/groups/actions/forums/addtopic.php
index 085e2196e..1bb4c0588 100644
--- a/mod/groups/actions/forums/addtopic.php
+++ b/mod/groups/actions/forums/addtopic.php
@@ -49,6 +49,8 @@
$grouptopic->access_id = $access;
// Set its title and description appropriately
$grouptopic->title = $title;
+ // Set its title and description appropriately
+ $grouptopic->description = $message;
// Before we can set metadata, we need to save the topic
if (!$grouptopic->save()) {
register_error(elgg_echo("grouptopic:error"));
@@ -60,10 +62,7 @@
}
// add metadata
$grouptopic->status = $status; // the current status i.e sticky, closed, resolved, open
-
- // now add the topic message as an annotation
- $grouptopic->annotate('group_topic_post',$message,$access, $user);
-
+
// add to river
add_to_river('river/forum/topic/create','create',$_SESSION['user']->guid,$grouptopic->guid);
diff --git a/mod/groups/actions/forums/deletepost.php b/mod/groups/actions/forums/deletepost.php
deleted file mode 100644
index 14336c1fa..000000000
--- a/mod/groups/actions/forums/deletepost.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
- /**
- * Elgg Groups: delete topic comment action
- *
- * @package ElggGroups
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.org/
- */
-
- // Ensure we're logged in
- if (!isloggedin()) forward();
-
-
- // Make sure we can get the comment in question
- $post_id = (int) get_input('post');
- $group_guid = (int) get_input('group');
- $topic_guid = (int) get_input('topic');
-
- if ($post = get_annotation($post_id)) {
-
- //check that the user can edit as well as admin
- if ($post->canEdit() || ($post->owner_guid == $_SESSION['user']->guid)) {
-
- //delete forum comment
- $post->delete();
-
- // remove river entry if it exists
- remove_from_river_by_annotation($post_id);
-
- //display confirmation message
- system_message(elgg_echo("grouppost:deleted"));
- }
-
- } else {
- $url = "";
- system_message(elgg_echo("grouppost:notdeleted"));
- }
-
- // Forward to the group forum page
- global $CONFIG;
- $url = $CONFIG->wwwroot . "mod/groups/topicposts.php?topic={$topic_guid}&group_guid={$group_guid}";
- forward($url);
-
-?> \ No newline at end of file
diff --git a/mod/groups/actions/forums/editpost.php b/mod/groups/actions/forums/editpost.php
deleted file mode 100644
index 5ce1fac13..000000000
--- a/mod/groups/actions/forums/editpost.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
- /**
- * Elgg groups plugin edit post action.
- *
- * @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/
- */
-
-
- $group_guid = get_input('group');
- $group_entity = get_entity($group_guid);
-
- //get the required variables
- $post = get_input("post");
- $field_num = get_input("field_num");
- $post_comment = get_input("postComment{$field_num}");
- $annotation = get_annotation($post);
- $commentOwner = $annotation->owner_guid;
- $access_id = $annotation->access_id;
- $topic = get_input("topic");
-
- if ($annotation) {
-
- //can edit? Either the comment owner or admin can
- if (groups_can_edit_discussion($annotation, page_owner_entity()->owner_guid)) {
-
- update_annotation($post, "group_topic_post", $post_comment, "",$commentOwner, $access_id);
- system_message(elgg_echo("groups:forumpost:edited"));
-
- } else {
- system_message(elgg_echo("groups:forumpost:error"));
- }
-
- } else {
-
- system_message(elgg_echo("groups:forumpost:error"));
- }
-
- // Forward to the group forum page
- $url = $CONFIG->wwwroot . "mod/groups/topicposts.php?topic={$topic}&group_guid={$group_guid}/";
- forward($url);
-
-
-?> \ No newline at end of file
diff --git a/mod/groups/actions/forums/edittopic.php b/mod/groups/actions/forums/edittopic.php
index 10b54ed61..b677a713c 100644
--- a/mod/groups/actions/forums/edittopic.php
+++ b/mod/groups/actions/forums/edittopic.php
@@ -1,87 +1,66 @@
<?php
+/**
+* Elgg groups plugin edit topic action.
+ */
- /**
- * Elgg groups plugin edit topic action.
- *
- * @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/
- */
-
- // Make sure we're logged in (send us to the front page if not)
- if (!isloggedin()) forward();
+// Make sure we're logged in (send us to the front page if not)
+if (!isloggedin()) forward();
- // Check the user is a group member
- $group_entity = get_entity(get_input('group_guid'));
- if (!$group_entity->isMember($vars['user'])) forward();
+// Check the user is a group member
+$group_entity = get_entity(get_input('group_guid'));
+if (!$group_entity->isMember($vars['user'])) forward();
-
- // Get input data
- $title = strip_tags(get_input('topictitle'));
- $message = get_input('topicmessage');
- $message_id = get_input('message_id');
- $tags = get_input('topictags');
- $topic_guid = get_input('topic');
- $access = get_input('access_id');
- $group_guid = get_input('group_guid');
- //$user = $_SESSION['user']->getGUID(); // you need to be logged in to comment on a group forum
- $status = get_input('status'); // sticky, resolved, closed
-
- // Convert string of tags into a preformatted array
- $tagarray = string_to_tag_array($tags);
+// Get input data
+$title = strip_tags(get_input('topictitle'));
+$message = get_input('topicmessage');
+$message_id = get_input('message_id');
+$tags = get_input('topictags');
+$topic_guid = get_input('topic');
+$access = get_input('access_id');
+$group_guid = get_input('group_guid');
+$status = get_input('status'); // open, closed
- // Make sure we actually have permission to edit
- $topic = get_entity($topic_guid);
- if ($topic)
- {
+// Convert string of tags into a preformatted array
+$tagarray = string_to_tag_array($tags);
- $user = $topic->getOwner();
-
- if ($topic->getSubtype() == "groupforumtopic") {
+// Make sure we actually have permission to edit
+$topic = get_entity($topic_guid);
+if ($topic){
+ $user = $topic->getOwner();
+ if ($topic->getSubtype() == "groupforumtopic") {
- // Convert string of tags into a preformatted array
- $tagarray = string_to_tag_array($tags);
+ // Convert string of tags into a preformatted array
+ $tagarray = string_to_tag_array($tags);
+
+ // Make sure the title isn't blank
+ if (empty($title) || empty($message)) {
+ register_error(elgg_echo("groupstopic:blank"));
- // Make sure the title isn't blank
- if (empty($title) || empty($message)) {
- register_error(elgg_echo("groupstopic:blank"));
-
// Otherwise, save the forum
- } else {
-
- $topic->access_id = $access;
-
+ } else {
+ $topic->access_id = $access;
// Set its title
- $topic->title = $title;
-
+ $topic->title = $title;
+ // Set the message
+ $topic->description = $message;
// if no tags are present, clear existing ones
- if (is_array($tagarray)) {
- $topic->tags = $tagarray;
- } else $topic->clearMetadata('tags');
-
+ if (is_array($tagarray)) {
+ $topic->tags = $tagarray;
+ } else $topic->clearMetadata('tags');
// edit metadata
- $topic->status = $status; // the current status i.e sticky, closed, resolved
-
- // now let's edit the message annotation
- update_annotation($message_id, "group_topic_post", $message, "",$user, $access);
-
+ $topic->status = $status; // the current status i.e sticky, closed, resolved
+
// save the changes
- if (!$topic->save()) {
+ if (!$topic->save()) {
// register_error(elgg_echo("forumtopic:error"));
- }
-
- // Success message
- system_message(elgg_echo("groups:forumtopic:edited"));
-
- }
- }
+ }
+ // Success message
+ system_message(elgg_echo("groups:forumtopic:edited"));
}
- // Forward to the group forum page
- global $CONFIG;
- $url = $CONFIG->wwwroot . "pg/groups/forum/{$group_guid}/";
- forward($url);
-
-?>
+ }
+}
+// Forward to the group forum page
+global $CONFIG;
+$url = $CONFIG->wwwroot . "pg/groups/forum/{$group_guid}/";
+forward($url);
diff --git a/mod/groups/activity.php b/mod/groups/activity.php
new file mode 100644
index 000000000..18a97265b
--- /dev/null
+++ b/mod/groups/activity.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Elgg group activity
+ */
+
+require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+
+$group_guid = (int)get_input('group');
+set_page_owner($group_guid);
+if (!(page_owner_entity() instanceof ElggGroup)) {
+ forward();
+}
+group_gatekeeper();
+
+global $CONFIG;
+
+// set up breadcrumbs
+$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('groups:activity'));
+
+$area1 = elgg_view('navigation/breadcrumbs');
+
+$limit = get_input("limit", 20);
+$offset = get_input("offset", 0);
+$group_guid = get_input("group", 7);
+// Sanitise variables -- future proof in case they get sourced elsewhere
+$limit = (int) $limit;
+$offset = (int) $offset;
+$group_guid = (int) $group_guid;
+
+$entities = elgg_get_entities(array(
+ 'container_guids' => $group_guid,
+ 'group_by' => 'e.guid'
+));
+
+$entity_guids = array();
+foreach ($entities as $entity) {
+ $entity_guids[] = $entity->getGUID();
+}
+
+if (count($entity_guids) > 0) {
+ $river_items = elgg_view_river_items('', $entity_guids, '', '', '', '', $limit);
+} else {
+ $river_items .= elgg_echo('groups:no_activity');
+}
+
+$area1 .= elgg_view_title(elgg_echo('groups:activity'));
+$area1 .= "<div class='group_listings hide_comments'>".$river_items."</div>";
+$title = sprintf(elgg_echo("groups:activity"), page_owner_entity()->name);
+$body = elgg_view_layout('one_column_with_sidebar', $area1);
+
+// Finally draw the page
+page_draw($title, $body); \ No newline at end of file
diff --git a/mod/groups/addtopic.php b/mod/groups/addtopic.php
index ed9343fef..cc02fa4eb 100644
--- a/mod/groups/addtopic.php
+++ b/mod/groups/addtopic.php
@@ -1,29 +1,20 @@
<?php
+/**
+ * Elgg Groups add a forum topic page
+ */
- /**
- * Elgg Groups add a forum topic page
- *
- * @package ElggGroups
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.com/
- */
-
- // Load Elgg engine
- require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-
- gatekeeper();
+// Load Elgg engine
+require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
- $page_owner = set_page_owner((int) get_input('group_guid'));
+group_gatekeeper();
- if (!(page_owner_entity() instanceof ElggGroup)) forward();
+$page_owner = set_page_owner((int) get_input('group_guid'));
- // sort the display
- $area2 = elgg_view("forms/forums/addtopic");
- $body = elgg_view_layout('one_column_with_sidebar', $area1.$area2);
+if (!(page_owner_entity() instanceof ElggGroup)) forward();
- // Display page
- page_draw(elgg_echo('groups:addtopic'),$body);
+// sort the display
+$area2 = elgg_view("forms/forums/addtopic");
+$body = elgg_view_layout('one_column_with_sidebar', $area1.$area2);
-?> \ No newline at end of file
+// Display page
+page_draw(elgg_echo('groups:addtopic'),$body); \ No newline at end of file
diff --git a/mod/groups/all.php b/mod/groups/all.php
index 9e19fce09..6f0c16add 100644
--- a/mod/groups/all.php
+++ b/mod/groups/all.php
@@ -35,11 +35,12 @@
$options = array(
'type' => 'object',
'subtype' => 'groupforumtopic',
- 'annotation_name' => 'group_topic_post',
+ 'annotation_name' => 'generic_comment',
+ 'order_by' => 'e.last_action desc',
'limit' => 40,
'fullview' => TRUE
);
- $objects = elgg_list_entities_from_annotations($options);
+ $objects = elgg_list_entities($options);
break;
}
diff --git a/mod/groups/discussions.php b/mod/groups/discussions.php
deleted file mode 100644
index 44bc5e610..000000000
--- a/mod/groups/discussions.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
- /**
- * Elgg all group forum discussions page
- * This page will show all topic dicussions ordered by last comment, regardless of which group
- * they are part of
- *
- * @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/
- */
-
- // Load Elgg engine
- require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-
- // access check for closed groups
- group_gatekeeper();
-
- // Display them
- $area1 = elgg_view_title(elgg_echo("groups:latestdiscussion"));
- set_context('search');
- $area1 .= list_entities_from_annotations("object", "groupforumtopic", "group_topic_post", "", 40, 0, 0, false, true);
- set_context('groups');
-
- $body = elgg_view_layout("one_column_with_sidebar", $area1);
-
- // Display page
- page_draw(elgg_echo('groups:latestdiscussion'),$body);
-
-
-?> \ No newline at end of file
diff --git a/mod/groups/edit.php b/mod/groups/edit.php
index 94160891a..cbb181ef3 100644
--- a/mod/groups/edit.php
+++ b/mod/groups/edit.php
@@ -10,7 +10,7 @@
*/
require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
- gatekeeper();
+ group_gatekeeper();
$group_guid = get_input('group_guid');
$group = get_entity($group_guid);
diff --git a/mod/groups/edittopic.php b/mod/groups/edittopic.php
index 6c4b97a25..b09efacbe 100644
--- a/mod/groups/edittopic.php
+++ b/mod/groups/edittopic.php
@@ -1,36 +1,25 @@
<?php
+/**
+ * Elgg Groups edit a forum topic page
+ */
- /**
- * Elgg Groups edit a forum topic page
- *
- * @package ElggGroups
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.com/
- */
-
- // Load Elgg engine
- require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+// Load Elgg engine
+require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
- gatekeeper();
+gatekeeper();
- get_input('group');
- $page_owner = set_page_owner((int)get_input('group'));
-
- // check the user is a member of the group
- //if (!$page_owner->isMember($_SESSION['user'])) forward();
+get_input('group');
+$page_owner = set_page_owner((int)get_input('group'));
- if (!(page_owner_entity() instanceof ElggGroup)) forward();
+// check the user is a member of the group
+if (!(page_owner_entity() instanceof ElggGroup)) forward();
- //get the topic
- $topic = get_entity((int) get_input('topic'));
-
- // sort the display
- $area2 = elgg_view("forms/forums/edittopic", array('entity' => $topic));
- $body = elgg_view_layout('one_column_with_sidebar', $area2);
+//get the topic
+$topic = get_entity((int) get_input('topic'));
- // Display page
- page_draw(elgg_echo('groups:edittopic'),$body);
+// sort the display
+$area2 = elgg_view("forms/forums/edittopic", array('entity' => $topic));
+$body = elgg_view_layout('one_column_with_sidebar', $area2);
-?> \ No newline at end of file
+// Display page
+page_draw(elgg_echo('groups:edittopic'),$body); \ No newline at end of file
diff --git a/mod/groups/forum.php b/mod/groups/forum.php
index 32ffea2da..c06bb2ebb 100644
--- a/mod/groups/forum.php
+++ b/mod/groups/forum.php
@@ -1,54 +1,45 @@
<?php
- /**
- * Elgg groups forum
- *
- * @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 forum
+ */
- require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
- $group_guid = (int)get_input('group_guid');
- set_page_owner($group_guid);
- if (!(page_owner_entity() instanceof ElggGroup)) {
- forward();
- }
+$group_guid = (int)get_input('group_guid');
+set_page_owner($group_guid);
+if (!(page_owner_entity() instanceof ElggGroup)) {
+ forward();
+}
- group_gatekeeper();
+group_gatekeeper();
- //get any forum topics
- $options = array(
- 'type' => 'object',
- 'subtype' => 'groupforumtopic',
- 'annotation_name' => 'group_topic_post',
- 'limit' => 20,
- 'container_guid' => $group_guid,
- 'fullview' => FALSE
- );
+//get any forum topics
+$options = array(
+ 'type' => 'object',
+ 'subtype' => 'groupforumtopic',
+ 'limit' => 20,
+ 'order_by' => 'e.last_action desc',
+ 'container_guid' => $group_guid,
+ 'fullview' => FALSE
+);
- $topics = elgg_list_entities_from_annotations($options);
+//$topics = elgg_list_entities_from_annotations($options);
+$topics = elgg_list_entities($options);
- // set up breadcrumbs
- $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'));
+// set up breadcrumbs
+$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'));
- $area1 = elgg_view('navigation/breadcrumbs');
+$area1 = elgg_view('navigation/breadcrumbs');
- $area1 .= elgg_view("forum/topics", array('topics' => $topics, 'group_guid' => $group_guid));
- set_context('groups');
+$area1 .= elgg_view("forum/topics", array('topics' => $topics, 'group_guid' => $group_guid));
+set_context('groups');
- $body = elgg_view_layout('one_column_with_sidebar', $area1);
+$body = elgg_view_layout('one_column_with_sidebar', $area1);
- $title = elgg_echo('item:object:groupforumtopic');
+$title = elgg_echo('item:object:groupforumtopic');
- // Finally draw the page
- page_draw($title, $body);
-
-
-
-?> \ No newline at end of file
+// Finally draw the page
+page_draw($title, $body); \ No newline at end of file
diff --git a/mod/groups/languages/en.php b/mod/groups/languages/en.php
index 5a17fbb26..0bd0cbd39 100644
--- a/mod/groups/languages/en.php
+++ b/mod/groups/languages/en.php
@@ -58,7 +58,8 @@ $english = array(
'groups:viagroups' => "via groups",
'groups:group' => "Group",
'groups:search:tags' => "tag",
-
+ 'groups:activity' => "Group activity",
+ 'groups:no_activity' => "There is no group activity yet",
'groups:notfound' => "Group not found",
'groups:notfound:details' => "The requested group either does not exist or you do not have access to it",
@@ -93,8 +94,6 @@ $english = array(
'groups:enablefiles' => 'Enable group files',
'groups:yes' => 'yes',
'groups:no' => 'no',
-
- 'group:created' => 'Created %s with %d posts',
'groups:lastupdated' => 'Last updated %s by %s',
'groups:pages' => 'Group pages',
'groups:files' => 'Group files',
@@ -104,6 +103,8 @@ $english = array(
*/
'group:replies' => 'Replies',
+ 'groups:forum:created' => 'Created %s with %d comments',
+ 'groups:forum:created:single' => 'Created %s with %d reply',
'groups:forum' => 'Discussion',
'groups:addtopic' => 'Add a topic',
'groups:forumlatest' => 'Latest discussion',
@@ -127,8 +128,8 @@ $english = array(
'grouptopic:created' => 'Your topic was created.',
'groupstopic:deleted' => 'The topic has been deleted.',
'groups:topicsticky' => 'Sticky',
- 'groups:topicisclosed' => 'This topic is closed.',
- 'groups:topiccloseddesc' => 'This topic has now been closed and is not accepting new comments.',
+ 'groups:topicisclosed' => 'This discussion is closed.',
+ 'groups:topiccloseddesc' => 'This discussion has now been closed and is not accepting new comments.',
'grouptopic:error' => 'Your group topic could not be created. Please try again or contact a system administrator.',
'groups:forumpost:edited' => "You have successfully edited the forum post.",
'groups:forumpost:error' => "There was a problem editing the forum post.",
@@ -186,8 +187,9 @@ or click below to view the group's join requests:
'groupforum:river:update' => 'this discussion topic',
'groupforum:river:created' => '%s has created',
'groupforum:river:create' => 'a new discussion topic titled',
- 'groupforum:river:posted' => '%s has posted a new comment',
+ 'groupforum:river:posted' => '%s has posted a comment',
'groupforum:river:annotate:create' => 'on this discussion topic',
+ 'groupforumtopic:river:annotate' => 'a new comment on this discussion topic',
'groupforum:river:postedtopic' => '%s has started a new discussion topic titled',
'groups:river:member' => '%s is now a member of',
'groups:river:togroup' => 'to the group',
diff --git a/mod/groups/start.php b/mod/groups/start.php
index e3f4d019a..7b11def20 100644
--- a/mod/groups/start.php
+++ b/mod/groups/start.php
@@ -75,6 +75,7 @@
// Register profile menu hook
register_plugin_hook('profile_menu', 'profile', 'forum_profile_menu');
+ register_plugin_hook('profile_menu', 'profile', 'activity_profile_menu');
// allow ecml in discussion
register_plugin_hook('get_views', 'ecml', 'groups_ecml_views_hook');
@@ -276,6 +277,15 @@
set_input('group_guid', $page[1]);
include($CONFIG->pluginspath . "groups/forum.php");
break;
+ case "edittopic":
+ set_input('group', $page[1]);
+ set_input('topic', $page[2]);
+ include($CONFIG->pluginspath . "groups/edittopic.php");
+ break;
+ case "activity":
+ set_input('group', $page[1]);
+ include($CONFIG->pluginspath . "groups/activity.php");
+ break;
case "owned" :
// Owned by a user
if (isset($page[1]))
@@ -581,6 +591,18 @@
}
return $return_value;
}
+
+ function activity_profile_menu($hook, $entity_type, $return_value, $params) {
+ global $CONFIG;
+
+ if ($params['owner'] instanceof ElggGroup) {
+ $return_value[] = array(
+ 'text' => elgg_echo('Activity'),
+ 'href' => "{$CONFIG->url}pg/groups/activity/{$params['owner']->getGUID()}"
+ );
+ }
+ return $return_value;
+ }
/**
* Parse ECML on group discussion views
diff --git a/mod/groups/views/default/forms/forums/addpost.php b/mod/groups/views/default/forms/forums/addpost.php
deleted file mode 100644
index c5236c532..000000000
--- a/mod/groups/views/default/forms/forums/addpost.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
- /**
- * Elgg group forum post edit/add page
- *
- * @package ElggGroups
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.com/
- *
- * @uses $vars['entity'] Optionally, the post to edit
- */
-
-?>
-<form action="<?php echo $vars['url']; ?>action/groups/addpost" method="post" class="margin_top">
- <label><?php echo elgg_echo("groups:reply"); ?></label>
- <?php
-
- echo elgg_view("input/longtext",array(
- "internalname" => "topic_post",
- "value" => $body,
- ));
- ?>
-
-
- <!-- pass across the topic guid -->
- <input type="hidden" name="topic_guid" value="<?php echo $vars['entity']->guid; ?>" />
- <input type="hidden" name="group_guid" value="<?php echo $vars['entity']->container_guid; ?>" />
-
- <?php echo elgg_view('input/securitytoken'); ?>
- <!-- display the post button -->
- <input type="submit" class="submit_button" value="<?php echo elgg_echo('post'); ?>" />
-</form>
diff --git a/mod/groups/views/default/forms/forums/edittopic.php b/mod/groups/views/default/forms/forums/edittopic.php
index 89c8c441b..cfaae5dd9 100644
--- a/mod/groups/views/default/forms/forums/edittopic.php
+++ b/mod/groups/views/default/forms/forums/edittopic.php
@@ -17,12 +17,7 @@
$status = $vars['entity']->status;
$tags = $vars['entity']->tags;
$title = $vars['entity']->title;
- $message = $vars['entity']->getAnnotations('group_topic_post', 1, 0, "asc");
-
- foreach($message as $mes){
- $messsage_content = $mes->value;
- $message_id = $mes->id;
- }
+ $message = $vars['entity']->description;
// get the group GUID
$group_guid = get_input("group");
@@ -72,7 +67,7 @@
echo elgg_view("input/longtext",array(
"internalname" => "topicmessage",
- "value" => $messsage_content,
+ "value" => html_entity_decode($message, ENT_COMPAT, 'UTF-8')
));
?>
</p>
@@ -82,8 +77,6 @@
<label><?php echo elgg_echo("groups:topicstatus"); ?><br />
<select name="status">
<option value="open" <?php if($status == "") echo "SELECTED";?>><?php echo elgg_echo('groups:topicopen'); ?></option>
- <option value="sticky" <?php if($status == "sticky") echo "SELECTED";?>><?php echo elgg_echo('groups:topicsticky'); ?></option>
- <option value="resolved" <?php if($status == "resolved") echo "SELECTED";?>><?php echo elgg_echo('groups:topicresolved'); ?></option>
<option value="closed" <?php if($status == "closed") echo "SELECTED";?>><?php echo elgg_echo('groups:topicclosed'); ?></option>
</select>
</label>
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);
}
-
-?>
diff --git a/mod/groups/views/default/groups/css.php b/mod/groups/views/default/groups/css.php
index fc160453a..d435b1f7c 100644
--- a/mod/groups/views/default/groups/css.php
+++ b/mod/groups/views/default/groups/css.php
@@ -150,5 +150,4 @@
- force tinyMCE to correct width */
.edit_comment .defaultSkin table.mceLayout {
width: 694px !important;
-}
-
+} \ No newline at end of file
diff --git a/mod/groups/views/default/groups/forum_latest.php b/mod/groups/views/default/groups/forum_latest.php
index 3c6ce6ccf..865b04ca2 100644
--- a/mod/groups/views/default/groups/forum_latest.php
+++ b/mod/groups/views/default/groups/forum_latest.php
@@ -8,23 +8,26 @@ if($vars['entity']->forum_enable != 'no'){
<h3><?php echo elgg_echo('groups:latestdiscussion'); ?></h3>
<?php
- $forum = elgg_get_entities_from_annotations(array('types' => 'object', 'subtypes' => 'groupforumtopic', 'annotation_names' => 'group_topic_post', 'container_guid' => $vars['entity']->guid, 'limit' => 6, 'order_by' => 'maxtime desc'));
+ $forum = elgg_get_entities(array('types' => 'object', 'subtypes' => 'groupforumtopic', 'container_guid' => $vars['entity']->guid, 'limit' => 6));
if($forum){
foreach($forum as $f){
- $count_annotations = $f->countAnnotations("group_topic_post");
+ $count_annotations = $f->countAnnotations("generic_comment");
echo "<div class='entity_listing clearfloat'>";
echo "<div class='entity_listing_icon'>" . elgg_view('profile/icon',array('entity' => $f->getOwnerEntity(), 'size' => 'tiny')) . "</div>";
echo "<div class='entity_listing_info'><p class='entity_title'><a href=\"{$vars['url']}mod/groups/topicposts.php?topic={$f->guid}&group_guid={$vars['entity']->guid}\">" . $f->title . "</a></p>";
- echo "<p class='entity_subtext'>".elgg_echo('groups:posts').": " . $count_annotations . "</p></div>";
+ echo "<p class='entity_subtext'>".elgg_echo('comments').": " . $count_annotations . "</p></div>";
echo "</div>";
}
} else {
- $create_discussion = $vars['url'] . "mod/groups/addtopic.php?group_guid=" . page_owner();
- echo "<p class='margin_top'><a href=\"{$create_discussion}\">".elgg_echo("groups:addtopic")."</a></p>";
+ if(page_owner_entity()->isMember($vars['user'])){
+ $create_discussion = $vars['url'] . "mod/groups/addtopic.php?group_guid=" . page_owner();
+ echo "<p class='margin_top'><a href=\"{$create_discussion}\">".elgg_echo("groups:addtopic")."</a></p>";
+ }else{
+ echo "<p class='margin_top'>". elgg_echo("grouptopic:notcreated") . "</p>";
+ }
}
-}//end of forum active check
-?> \ No newline at end of file
+}//end of forum active check \ No newline at end of file
diff --git a/mod/groups/views/default/object/groupforumtopic.php b/mod/groups/views/default/object/groupforumtopic.php
index 8d5d655c0..e32f83cd4 100644
--- a/mod/groups/views/default/object/groupforumtopic.php
+++ b/mod/groups/views/default/object/groupforumtopic.php
@@ -1,71 +1,71 @@
<?php
-
- /**
- * Elgg Groups latest discussion listing
- *
- * @package ElggGroups
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.com/
- */
+/**
+ * Elgg Groups latest discussion listing
+ *
+ * @package ElggGroups
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+*/
- //get the required variables
- $title = htmlentities($vars['entity']->title, ENT_QUOTES, 'UTF-8');
- //$description = get_entity($vars['entity']->description);
- $topic_owner = get_user($vars['entity']->owner_guid);
- $group = get_entity($vars['entity']->container_guid);
- $forum_created = friendly_time($vars['entity']->time_created);
- $counter = $vars['entity']->countAnnotations("group_topic_post");
- $last_post = $vars['entity']->getAnnotations("group_topic_post", 1, 0, "desc");
-
- //get the time and user
- if ($last_post) {
- foreach($last_post as $last) {
- $last_time = $last->time_created;
- $last_user = $last->owner_guid;
- }
+//get the required variables
+$title = htmlentities($vars['entity']->title, ENT_QUOTES, 'UTF-8');
+//$description = get_entity($vars['entity']->description);
+$topic_owner = get_user($vars['entity']->owner_guid);
+$group = get_entity($vars['entity']->container_guid);
+$forum_created = friendly_time($vars['entity']->time_created);
+$counter = $vars['entity']->countAnnotations("generic_comment");
+$last_post = $vars['entity']->getAnnotations("generic_comment", 1, 0, "desc");
+//get the time and user
+if ($last_post) {
+ foreach($last_post as $last) {
+ $last_time = $last->time_created;
+ $last_user = $last->owner_guid;
}
+}
- $u = get_user($last_user);
+$u = get_user($last_user);
- //select the correct output depending on where you are
- if(get_context() == "search"){
-
- $info = "<p class='entity_subtext groups'>" . sprintf(elgg_echo('group:created'), $forum_created, $counter) . "<br />";
- if (($last_time) && ($u)) $info.= sprintf(elgg_echo('groups:lastupdated'), friendly_time($last_time), " <a href=\"" . $u->getURL() . "\">" . $u->name . "</a>");
- $info .= '</p>';
- //get the group avatar
- $icon = elgg_view("profile/icon",array('entity' => $u, 'size' => 'tiny'));
- //get the group and topic title
- $info .= "<p class='entity_subtext'><b>" . elgg_echo('Topic') . ":</b> <a href=\"{$vars['url']}mod/groups/topicposts.php?topic={$vars['entity']->guid}&group_guid={$group->guid}\">{$title}</a></p>";
- if ($group instanceof ElggGroup) {
- $info .= "<p class='entity_title'><b>" . elgg_echo('group') . ":</b> <a href=\"{$group->getURL()}\">".htmlentities($group->name, ENT_QUOTES, 'UTF-8') ."</a></p>";
- }
-
+//select the correct output depending on where you are
+if(get_context() == "search"){
+ var_export($counter);
+ if($counter == 1){
+ $info = "<p class='entity_subtext groups'>" . sprintf(elgg_echo('groups:forum:created:single'), $forum_created, $counter) . "<br />";
}else{
+ $info = "<p class='entity_subtext groups'>" . sprintf(elgg_echo('groups:forum:created'), $forum_created, $counter) . "<br />";
+ }
+ if (($last_time) && ($u)) $info.= sprintf(elgg_echo('groups:lastupdated'), friendly_time($last_time), " <a href=\"" . $u->getURL() . "\">" . $u->name . "</a>");
+ $info .= '</p>';
+ //get the group avatar
+ $icon = elgg_view("profile/icon",array('entity' => $u, 'size' => 'tiny'));
+ //get the group and topic title
+ $info .= "<p class='entity_subtext'><b>" . elgg_echo('Topic') . ":</b> <a href=\"{$vars['url']}mod/groups/topicposts.php?topic={$vars['entity']->guid}&group_guid={$group->guid}\">{$title}</a></p>";
+ if ($group instanceof ElggGroup) {
+ $info .= "<p class='entity_title'><b>" . elgg_echo('group') . ":</b> <a href=\"{$group->getURL()}\">".htmlentities($group->name, ENT_QUOTES, 'UTF-8') ."</a></p>";
+ }
- $info = "<p class='entity_subtext groups'>" . sprintf(elgg_echo('group:created'), $forum_created, $counter) . "</p>";
- $info .= "<p class='entity_title'>" . elgg_echo('groups:started') . " " . $topic_owner->name . ": <a href=\"{$vars['url']}mod/groups/topicposts.php?topic={$vars['entity']->guid}&group_guid={$group->guid}\">{$title}</a></p>";
+}else{
+ if($counter == 1){
+ $info = "<p class='entity_subtext groups'>" . sprintf(elgg_echo('groups:forum:created:single'), $forum_created, $counter) . "</p>";
+ }else{
+ $info = "<p class='entity_subtext groups'>" . sprintf(elgg_echo('groups:forum:created'), $forum_created, $counter) . "</p>";
+ }
+ $info .= "<p class='entity_title'>" . elgg_echo('groups:started') . " " . $topic_owner->name . ": <a href=\"{$vars['url']}mod/groups/topicposts.php?topic={$vars['entity']->guid}&group_guid={$group->guid}\">{$title}</a></p>";
- if (groups_can_edit_discussion($vars['entity'], page_owner_entity()->owner_guid)) {
- // display the delete link to those allowed to delete
- $info .= "<div class='delete_button'>" . elgg_view("output/confirmlink", array(
- 'href' => $vars['url'] . "action/groups/deletetopic?topic=" . $vars['entity']->guid . "&group=" . $vars['entity']->container_guid,
- 'text' => " ",
- 'confirm' => elgg_echo('deleteconfirm'),
- )) . "</div>";
+ if (groups_can_edit_discussion($vars['entity'], page_owner_entity()->owner_guid)) {
+ // display the delete link to those allowed to delete
+ $info .= "<div class='delete_button'>" . elgg_view("output/confirmlink", array(
+ 'href' => $vars['url'] . "action/groups/deletetopic?topic=" . $vars['entity']->guid . "&group=" . $vars['entity']->container_guid,
+ 'text' => " ",
+ 'confirm' => elgg_echo('deleteconfirm'),
+ )) . "</div>";
- }
+ }
- if (($last_time) && ($u)) {
- $info.= "<p class='entity_subtext'>" . elgg_echo('groups:updated') . " " . friendly_time($last_time) . " by <a href=\"" . $u->getURL() . "\">" . $u->name . "</a></p>";
- }
- //get the user avatar
- $icon = elgg_view("profile/icon",array('entity' => $topic_owner, 'size' => 'tiny'));
+ if (($last_time) && ($u)) {
+ $info.= "<p class='entity_subtext'>" . elgg_echo('groups:updated') . " " . friendly_time($last_time) . " by <a href=\"" . $u->getURL() . "\">" . $u->name . "</a></p>";
}
+ //get the user avatar
+ $icon = elgg_view("profile/icon",array('entity' => $topic_owner, 'size' => 'tiny'));
+}
- //display
- echo elgg_view_listing($icon, $info);
-
-?> \ No newline at end of file
+//display
+echo elgg_view_listing($icon, $info); \ No newline at end of file
diff --git a/mod/groups/views/default/river/forum/topic/create.php b/mod/groups/views/default/river/forum/topic/create.php
index 0b65f79b6..fb2a3556d 100644
--- a/mod/groups/views/default/river/forum/topic/create.php
+++ b/mod/groups/views/default/river/forum/topic/create.php
@@ -7,19 +7,20 @@
$group_guid = $object->container_guid;
$group = get_entity($group_guid);
$url = $vars['url'] . "mod/groups/topicposts.php?topic=" . $forumtopic . "&group_guid=" . $group_guid;
- $comment = $object->getAnnotations("group_topic_post", 1, 0, "asc");
- foreach($comment as $c){
- $contents = $c->value;
- }
+ //$comment = $object->getAnnotations("group_topic_post", 1, 0, "asc");
+ //foreach($comment as $c){
+ $contents = $object->description;
+ //}
$contents = strip_tags($contents);//this is so we don't get large images etc in the activity river
$url_user = "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a>";
$string = sprintf(elgg_echo("groupforum:river:postedtopic"),$url_user) . ": ";
$string .= "<a href=\"" . $url . "\">" . $object->title . "</a>";
- if(get_context() != 'groups'){
- $string .= " " . elgg_echo('groups:ingroup') . " <a href=\"{$group->getURL()}\">" . $group->name . "</a>";
+ $string .= " " . elgg_echo('groups:ingroup') . " <a href=\"{$group->getURL()}\">" . $group->name . "</a>";
+ $string .= " <span class='entity_subtext'>". friendly_time($object->time_created) ."</span>";
+ if (isloggedin() && $object->status != "closed") {
+ $string .= '<a class="river_comment_form_button link">' . elgg_echo('generic_comments:text') . '</a>';
+ $string .= elgg_view('likes/forms/link', array('entity' => $object));
}
- $string .= " <span class='entity_subtext'>". friendly_time($object->time_created) ."</span> <a class='river_comment_form_button link' href=\"{$object_url}\">Visit discussion</a>";
- $string .= elgg_view('likes/forms/link', array('entity' => $object));
$string .= "<div class=\"river_content_display\">";
$string .= elgg_make_excerpt($contents, 200);
$string .= "</div>";