]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
finished discussion rewrite to use new html/css
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 14 Jan 2011 02:14:20 +0000 (02:14 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 14 Jan 2011 02:14:20 +0000 (02:14 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7881 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/groups/icon.php [moved from mod/groups/graphics/icon.php with 100% similarity]
mod/groups/languages/en.php
mod/groups/lib/discussion.php
mod/groups/start.php
mod/groups/views/default/discussion/group_module.php [moved from mod/groups/views/default/groups/profile/forum_widget.php with 93% similarity]
mod/groups/views/default/forum/maintopic.php [deleted file]
mod/groups/views/default/forum/topics.php [deleted file]
mod/groups/views/default/forum/viewposts.php [deleted file]
mod/groups/views/default/groups/profile/widgets.php
mod/groups/views/default/object/groupforumtopic.php

index af4592f992d566a9523cfa1be7c4b15190a0943b..e5db5d0c562114812749cadf9fcff65ed49414fb 100644 (file)
@@ -101,6 +101,7 @@ $english = array(
        'discussion' => 'Discussion',
        'discussion:add' => 'New discussion topic',
        'discussion:latest' => 'Latest discussion',
+       'discussion:group' => 'Group discussion',
 
        'discussion:topic:created' => 'The discussion topic was created.',
        'discussion:topic:updated' => 'The discussion topic was updated.',
@@ -139,7 +140,7 @@ $english = array(
        'groupstopic:deleted' => 'The topic has been deleted.',
        'groups:topicsticky' => 'Sticky',
        'groups:topicisclosed' => 'This discussion is closed.',
-       'groups:topiccloseddesc' => 'This discussion has now been closed and is not accepting new comments.',
+       'groups:topiccloseddesc' => 'This discussion is 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.",
index 92ee94013ecd572c4e4e33b6df067d62e43d8afe..4a3cd989a17d5eeb1558109f846c989433e50f81 100644 (file)
@@ -165,7 +165,15 @@ function discussion_handle_view_page($guid) {
        elgg_push_breadcrumb($group->name, "pg/discussion/owner/$group->guid");
        elgg_push_breadcrumb($topic->title);
 
-       $content = elgg_view('forum/viewposts', array('entity' => $topic));
+       $content = elgg_view_entity($topic, true);
+       if ($topic->status == 'closed') {
+               $content .= elgg_view_comments($topic, false);
+               $content .= elgg_view('discussion/closed');
+       } elseif ($group->isMember() || isadminloggedin()) {
+               $content .= elgg_view_comments($topic);
+       } else {
+               $content .= elgg_view_comments($topic, false);
+       }
 
        $params = array(
                'content' => $content,
@@ -178,6 +186,12 @@ function discussion_handle_view_page($guid) {
        echo elgg_view_page($title, $body);
 }
 
+/**
+ * Prepare discussion topic form variables
+ *
+ * @param ElggObject $topic Topic object if editing
+ * @return array
+ */
 function discussion_prepare_form_vars($topic = NULL) {
        // input names => defaults
        $values = array(
index 199e3b27daaf582ca32548d26dd098ea93c06e9c..d782c745ff1e96ae73001d7e735a9dcfc4264fbc 100644 (file)
@@ -5,16 +5,16 @@
  * @package ElggGroups
  */
 
+elgg_register_event_handler('init', 'system', 'groups_init');
+
 /**
- * Initialise the groups plugin.
- * Register actions, set up menus
+ * Initialize the groups plugin.
  */
 function groups_init() {
 
        global $CONFIG;
 
        elgg_register_library('elgg:groups', elgg_get_plugin_path() . 'groups/lib/groups.php');
-       elgg_register_library('elgg:discussion', elgg_get_plugin_path() . 'groups/lib/discussion.php');
 
        // Set up the menu
        $item = new ElggMenuItem('groups', elgg_echo('groups'), 'pg/groups/all');
@@ -22,11 +22,9 @@ function groups_init() {
 
        // Register a page handler, so we can have nice URLs
        register_page_handler('groups', 'groups_page_handler');
-       register_page_handler('discussion', 'discussion_page_handler');
 
-       // Register a URL handler for groups and forum topics
+       // Register a URL handler for groups
        register_entity_url_handler('groups_url', 'group', 'all');
-       register_entity_url_handler('groups_groupforumtopic_url', 'object', 'groupforumtopic');
 
        // Register an icon handler for groups
        register_page_handler('groupicon', 'groups_icon_handler');
@@ -45,6 +43,7 @@ function groups_init() {
 
        // Add a page owner handler
        //elgg_register_plugin_hook_handler('page_owner', 'system', 'groups_page_owner_handler');
+
        // Add some widgets
        elgg_register_widget_type('a_users_groups', elgg_echo('groups:widget:membership'), elgg_echo('groups:widgets:description'));
 
@@ -56,16 +55,6 @@ function groups_init() {
        // Access permissions
        elgg_register_plugin_hook_handler('access:collections:write', 'all', 'groups_write_acl_plugin_hook');
        //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'groups_read_acl_plugin_hook');
-       // Notification hooks
-       if (is_callable('register_notification_object'))
-               register_notification_object('object', 'groupforumtopic', elgg_echo('groupforumtopic:new'));
-       elgg_register_plugin_hook_handler('object:notifications', 'object', 'group_object_notifications_intercept');
-
-       // Listen to notification events and supply a more useful message
-       elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'groupforumtopic_notify_message');
-
-       // add the forum tool option
-       add_group_tool_option('forum', elgg_echo('groups:enableforum'), true);
 
        // Now override icons
        elgg_register_plugin_hook_handler('entity:icon:url', 'group', 'groups_groupicon_hook');
@@ -77,86 +66,22 @@ function groups_init() {
        // allow ecml in discussion and profiles
        elgg_register_plugin_hook_handler('get_views', 'ecml', 'groups_ecml_views_hook');
        elgg_register_plugin_hook_handler('get_views', 'ecml', 'groupprofile_ecml_views_hook');
-}
-
-/**
- * Event handler for group forum posts
- *
- */
-function group_object_notifications($event, $object_type, $object) {
-
-       static $flag;
-       if (!isset($flag))
-               $flag = 0;
-
-       if (is_callable('object_notifications'))
-               if ($object instanceof ElggObject) {
-                       if ($object->getSubtype() == 'groupforumtopic') {
-                               //if ($object->countAnnotations('group_topic_post') > 0) {
-                               if ($flag == 0) {
-                                       $flag = 1;
-                                       object_notifications($event, $object_type, $object);
-                               }
-                               //}
-                       }
-               }
-}
-
-/**
- * Intercepts the notification on group topic creation and prevents a notification from going out
- * (because one will be sent on the annotation)
- *
- * @param unknown_type $hook
- * @param unknown_type $entity_type
- * @param unknown_type $returnvalue
- * @param unknown_type $params
- * @return unknown
- */
-function group_object_notifications_intercept($hook, $entity_type, $returnvalue, $params) {
-       if (isset($params)) {
-               if ($params['event'] == 'create' && $params['object'] instanceof ElggObject) {
-                       if ($params['object']->getSubtype() == 'groupforumtopic') {
-                               return true;
-                       }
-               }
-       }
-       return null;
-}
 
-/**
- * Returns a more meaningful message
- *
- * @param unknown_type $hook
- * @param unknown_type $entity_type
- * @param unknown_type $returnvalue
- * @param unknown_type $params
- */
-function groupforumtopic_notify_message($hook, $entity_type, $returnvalue, $params) {
-       $entity = $params['entity'];
-       $to_entity = $params['to_entity'];
-       $method = $params['method'];
-       if (($entity instanceof ElggEntity) && ($entity->getSubtype() == 'groupforumtopic')) {
+       // Register a handler for create groups
+       elgg_register_event_handler('create', 'group', 'groups_create_event_listener');
 
-               $descr = $entity->description;
-               $title = $entity->title;
-               global $CONFIG;
-               $url = $entity->getURL();
+       // Register a handler for delete groups
+       elgg_register_event_handler('delete', 'group', 'groups_delete_event_listener');
 
-               $msg = get_input('topicmessage');
-               if (empty($msg))
-                       $msg = get_input('topic_post');
-               if (!empty($msg))
-                       $msg = $msg . "\n\n"; else
-                       $msg = '';
+       // Make sure the groups initialisation function is called on initialisation
 
-               $owner = get_entity($entity->container_guid);
-               if ($method == 'sms') {
-                       return elgg_echo("groupforumtopic:new") . ': ' . $url . " ({$owner->name}: {$title})";
-               } else {
-                       return get_loggedin_user()->name . ' ' . elgg_echo("groups:viagroups") . ': ' . $title . "\n\n" . $msg . "\n\n" . $entity->getURL();
-               }
-       }
-       return null;
+       // Ensure this runs after other plugins
+       elgg_register_event_handler('init', 'system', 'groups_fields_setup', 10000);
+       
+       elgg_register_event_handler('join', 'group', 'groups_user_join_event_listener');
+       elgg_register_event_handler('leave', 'group', 'groups_user_leave_event_listener');
+       elgg_register_event_handler('pagesetup', 'system', 'groups_submenus');
+       elgg_register_event_handler('annotate', 'all', 'group_object_notifications');
 }
 
 /**
@@ -293,43 +218,6 @@ function groups_page_handler($page) {
        }
 }
 
-/**
- * Discussion page handler
- *
- * URLs take the form of
- *  All topics in site:    pg/discussion/all
- *  List topics in forum:  pg/discussion/owner/<guid>
- *  View discussion topic: pg/discussion/view/<guid>
- *  Add discussion topic:  pg/discussion/add/<guid>
- *  Edit discussion topic: pg/discussion/edit/<guid>
- * 
- * @param array $page Array of url segments for routing
- */
-function discussion_page_handler($page) {
-
-       elgg_load_library('elgg:discussion');
-
-       elgg_push_breadcrumb(elgg_echo('discussion'), 'pg/discussion/all');
-       
-       switch ($page[0]) {
-               case 'all':
-                       discussion_handle_all_page();
-                       break;
-               case 'owner':
-                       discussion_handle_list_page($page[1]);
-                       break;
-               case 'add':
-                       discussion_handle_edit_page('add', $page[1]);
-                       break;
-               case 'edit':
-                       discussion_handle_edit_page('edit', $page[1]);
-                       break;
-               case 'view':
-                       discussion_handle_view_page($page[1]);
-                       break;
-       }
-}
-
 /**
  * Handle group icons.
  *
@@ -347,7 +235,7 @@ function groups_icon_handler($page) {
                set_input('size', $page[1]);
        }
        // Include the standard profile index
-       include($CONFIG->pluginspath . "groups/graphics/icon.php");
+       include($CONFIG->pluginspath . "groups/icon.php");
 }
 
 /**
@@ -362,9 +250,6 @@ function groups_url($entity) {
        return "pg/groups/profile/{$entity->guid}/$title";
 }
 
-function groups_groupforumtopic_url($entity) {
-       return 'pg/discussion/view/' . $entity->guid;
-}
 
 /**
  * Groups created so create an access list for it
@@ -517,34 +402,6 @@ function groups_groupicon_hook($hook, $entity_type, $returnvalue, $params) {
        }
 }
 
-/**
- * A simple function to see who can edit a group discussion post
- * @param the comment $entity
- * @param user who owns the group $group_owner
- * @return boolean
- */
-function groups_can_edit_discussion($entity, $group_owner) {
-
-       //logged in user
-       $user = get_loggedin_userid();
-
-       if (($entity->owner_guid == $user) || $group_owner == $user || isadminloggedin()) {
-               return true;
-       } else {
-               return false;
-       }
-}
-
-/**
- * Overrides topic post getURL() value.
- *
- */
-function group_topicpost_url($annotation) {
-       if ($parent = get_entity($annotation->entity_guid)) {
-               return 'pg/discussion/view/' . $parent->guid . '#' . $annotation->id;
-       }
-}
-
 /**
  * Grabs groups by invitations
  * Have to override all access until there's a way override access to getter functions.
@@ -605,11 +462,6 @@ function activity_profile_menu($hook, $entity_type, $return_value, $params) {
 
 /**
  * Parse ECML on group discussion views
- *
- * @param unknown_type $hook
- * @param unknown_type $entity_type
- * @param unknown_type $return_value
- * @param unknown_type $params
  */
 function groups_ecml_views_hook($hook, $entity_type, $return_value, $params) {
        $return_value['forum/viewposts'] = elgg_echo('groups:ecml:discussion');
@@ -619,11 +471,6 @@ function groups_ecml_views_hook($hook, $entity_type, $return_value, $params) {
 
 /**
  * Parse ECML on group profiles
- *
- * @param unknown_type $hook
- * @param unknown_type $entity_type
- * @param unknown_type $return_value
- * @param unknown_type $params
  */
 function groupprofile_ecml_views_hook($hook, $entity_type, $return_value, $params) {
        $return_value['groups/groupprofile'] = elgg_echo('groups:ecml:groupprofile');
@@ -631,23 +478,214 @@ function groupprofile_ecml_views_hook($hook, $entity_type, $return_value, $param
        return $return_value;
 }
 
-register_extender_url_handler('group_topicpost_url', 'annotation', 'group_topic_post');
 
-// Register a handler for create groups
-elgg_register_event_handler('create', 'group', 'groups_create_event_listener');
 
-// Register a handler for delete groups
-elgg_register_event_handler('delete', 'group', 'groups_delete_event_listener');
+/**
+ * Discussion
+ *
+ */
 
-// Make sure the groups initialisation function is called on initialisation
-elgg_register_event_handler('init', 'system', 'groups_init');
-elgg_register_event_handler('init', 'system', 'groups_fields_setup', 10000); // Ensure this runs after other plugins
-elgg_register_event_handler('join', 'group', 'groups_user_join_event_listener');
-elgg_register_event_handler('leave', 'group', 'groups_user_leave_event_listener');
-elgg_register_event_handler('pagesetup', 'system', 'groups_submenus');
-elgg_register_event_handler('annotate', 'all', 'group_object_notifications');
-
-// Register actions
-global $CONFIG;
-elgg_register_action('discussion/save', $CONFIG->pluginspath . "groups/actions/discussion/save.php");
-elgg_register_action('discussion/delete', $CONFIG->pluginspath . "groups/actions/discussion/delete.php");
+elgg_register_event_handler('init', 'system', 'discussion_init');
+
+/**
+ * Initialize the discussion component
+ */
+function discussion_init() {
+
+       elgg_register_library('elgg:discussion', elgg_get_plugin_path() . 'groups/lib/discussion.php');
+
+       register_page_handler('discussion', 'discussion_page_handler');
+
+       register_entity_url_handler('discussion_override_topic_url', 'object', 'groupforumtopic');
+       //register_extender_url_handler('group_topicpost_url', 'annotation', 'group_topic_post');
+
+       $action_base = elgg_get_plugin_path() . 'groups/actions/discussion';
+       elgg_register_action('discussion/save', "$action_base/save.php");
+       elgg_register_action('discussion/delete', "$action_base/delete.php");
+
+       // add link to owner block
+       elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'discussion_owner_block_menu');
+
+       // add the forum tool option
+       add_group_tool_option('forum', elgg_echo('groups:enableforum'), true);
+       elgg_extend_view('groups/tool_latest', 'discussion/group_module');
+
+       // notifications
+       register_notification_object('object', 'groupforumtopic', elgg_echo('groupforumtopic:new'));
+       elgg_register_plugin_hook_handler('object:notifications', 'object', 'group_object_notifications_intercept');
+       elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'groupforumtopic_notify_message');
+
+}
+
+/**
+ * Discussion page handler
+ *
+ * URLs take the form of
+ *  All topics in site:    pg/discussion/all
+ *  List topics in forum:  pg/discussion/owner/<guid>
+ *  View discussion topic: pg/discussion/view/<guid>
+ *  Add discussion topic:  pg/discussion/add/<guid>
+ *  Edit discussion topic: pg/discussion/edit/<guid>
+ *
+ * @param array $page Array of url segments for routing
+ */
+function discussion_page_handler($page) {
+
+       elgg_load_library('elgg:discussion');
+
+       elgg_push_breadcrumb(elgg_echo('discussion'), 'pg/discussion/all');
+
+       switch ($page[0]) {
+               case 'all':
+                       discussion_handle_all_page();
+                       break;
+               case 'owner':
+                       discussion_handle_list_page($page[1]);
+                       break;
+               case 'add':
+                       discussion_handle_edit_page('add', $page[1]);
+                       break;
+               case 'edit':
+                       discussion_handle_edit_page('edit', $page[1]);
+                       break;
+               case 'view':
+                       discussion_handle_view_page($page[1]);
+                       break;
+       }
+}
+
+/**
+ * Override the discussion topic url
+ *
+ * @param ElggObject $entity Discussion topic
+ * @return string
+ */
+function discussion_override_topic_url($entity) {
+       return 'pg/discussion/view/' . $entity->guid;
+}
+
+/**
+ * Override the annotation url
+ *
+ * @param ElggAnnotation $annotation
+ * @return string
+ */
+function discussion_override_comment_url($annotation) {
+       $parent = get_entity($annotation->entity_guid);
+       if ($parent) {
+               return 'pg/discussion/view/' . $parent->guid . '#' . $annotation->id;
+       }
+}
+
+/**
+ * Add owner block link
+ */
+function discussion_owner_block_menu($hook, $type, $return, $params) {
+       if (elgg_instanceof($params['entity'], 'group')) {
+               if ($params['entity']->forum_enable != "no") {
+                       $url = "pg/discussion/owner/{$params['entity']->guid}";
+                       $item = new ElggMenuItem('discussion', elgg_echo('discussion:group'), $url);
+                       $return[] = $item;
+               }
+       }
+
+       return $return;
+}
+
+/**
+ * Event handler for group forum posts
+ *
+ */
+function group_object_notifications($event, $object_type, $object) {
+
+       static $flag;
+       if (!isset($flag))
+               $flag = 0;
+
+       if (is_callable('object_notifications'))
+               if ($object instanceof ElggObject) {
+                       if ($object->getSubtype() == 'groupforumtopic') {
+                               //if ($object->countAnnotations('group_topic_post') > 0) {
+                               if ($flag == 0) {
+                                       $flag = 1;
+                                       object_notifications($event, $object_type, $object);
+                               }
+                               //}
+                       }
+               }
+}
+
+/**
+ * Intercepts the notification on group topic creation and prevents a notification from going out
+ * (because one will be sent on the annotation)
+ *
+ * @param unknown_type $hook
+ * @param unknown_type $entity_type
+ * @param unknown_type $returnvalue
+ * @param unknown_type $params
+ * @return unknown
+ */
+function group_object_notifications_intercept($hook, $entity_type, $returnvalue, $params) {
+       if (isset($params)) {
+               if ($params['event'] == 'create' && $params['object'] instanceof ElggObject) {
+                       if ($params['object']->getSubtype() == 'groupforumtopic') {
+                               return true;
+                       }
+               }
+       }
+       return null;
+}
+
+/**
+ * Returns a more meaningful message
+ *
+ * @param unknown_type $hook
+ * @param unknown_type $entity_type
+ * @param unknown_type $returnvalue
+ * @param unknown_type $params
+ */
+function groupforumtopic_notify_message($hook, $entity_type, $returnvalue, $params) {
+       $entity = $params['entity'];
+       $to_entity = $params['to_entity'];
+       $method = $params['method'];
+       if (($entity instanceof ElggEntity) && ($entity->getSubtype() == 'groupforumtopic')) {
+
+               $descr = $entity->description;
+               $title = $entity->title;
+               global $CONFIG;
+               $url = $entity->getURL();
+
+               $msg = get_input('topicmessage');
+               if (empty($msg))
+                       $msg = get_input('topic_post');
+               if (!empty($msg))
+                       $msg = $msg . "\n\n"; else
+                       $msg = '';
+
+               $owner = get_entity($entity->container_guid);
+               if ($method == 'sms') {
+                       return elgg_echo("groupforumtopic:new") . ': ' . $url . " ({$owner->name}: {$title})";
+               } else {
+                       return get_loggedin_user()->name . ' ' . elgg_echo("groups:viagroups") . ': ' . $title . "\n\n" . $msg . "\n\n" . $entity->getURL();
+               }
+       }
+       return null;
+}
+
+/**
+ * A simple function to see who can edit a group discussion post
+ * @param the comment $entity
+ * @param user who owns the group $group_owner
+ * @return boolean
+ */
+function groups_can_edit_discussion($entity, $group_owner) {
+
+       //logged in user
+       $user = get_loggedin_userid();
+
+       if (($entity->owner_guid == $user) || $group_owner == $user || isadminloggedin()) {
+               return true;
+       } else {
+               return false;
+       }
+}
similarity index 93%
rename from mod/groups/views/default/groups/profile/forum_widget.php
rename to mod/groups/views/default/discussion/group_module.php
index 969eb0559aa8c2ece911946c86db39e5ac3a4ba3..b42084655b8bd05de8eb4886bdd6bf624660484c 100644 (file)
@@ -18,7 +18,7 @@ $all_link = elgg_view('output/url', array(
 ));
 
 $header = "<span class=\"group-widget-viewall\">$all_link</span>";
-$header .= '<h3>' . elgg_echo('groups:latestdiscussion') . '</h3>';
+$header .= '<h3>' . elgg_echo('discussion:group') . '</h3>';
 
 
 elgg_push_context('widgets');
diff --git a/mod/groups/views/default/forum/maintopic.php b/mod/groups/views/default/forum/maintopic.php
deleted file mode 100644 (file)
index 7031c74..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php\r
-\r
-       /**\r
-        * Elgg Topic individual post view.\r
-        * \r
-        * @package ElggGroups\r
-        * \r
-        * @uses $vars['entity'] The post\r
-        */\r
-        \r
-        $topic = get_input('topic');\r
-        $group_guid = get_input('group_guid');\r
-       \r
-?>\r
-\r
-<div class="entity-listing topic clearfix">\r
-<a class="anchor_link" name="<?php echo $vars['entity']->id; ?>"></a>\r
-       <?php\r
-       // get infomation about the owner of the comment\r
-       if ($post_owner = get_user($vars['entity']->owner_guid)) {\r
-           // display the user icon\r
-           echo "<div class='entity-listing-icon'>" . elgg_view("profile/icon",array('entity' => $post_owner, 'size' => 'tiny')) . "</div>";\r
-           // display the user name\r
-           echo "<div class='entity-listing-info'>";\r
-           // if comment owner, group owner, or site admin - display edit and delete options\r
-           if (groups_can_edit_discussion($vars['entity'], elgg_get_page_owner()->owner_guid)) {\r
-                       echo "<div class='entity-metadata'>";\r
-               echo "<span class='delete-button'>".elgg_view("output/confirmlink",array(\r
-                               'href' => "action/groups/deletepost?post=" . $vars['entity']->id . "&topic=" . get_input('topic') . "&group=" . get_input('group_guid'),\r
-                               'text' => elgg_echo('delete'),\r
-                               'confirm' => elgg_echo('deleteconfirm')\r
-                               ))."</span>";\r
-                       echo "<span class='entity-edit'><a class='link' href=\"".elgg_get_site_url()."pg/discussion/edit/{$vars['entity']->guid}\">".elgg_echo('edit')."</a></span>";\r
-                       echo "</div>";\r
-\r
-               }           \r
-           \r
-           echo "<p class='entity-title'><a href='".$post_owner->getURL()."'>" . $post_owner->name . "</a></p>";\r
-       } else {\r
-               echo "<div class='entity-listing-icon'><img src=\"" . elgg_view('icon/user/default/tiny') . "\" /></div>";\r
-               echo "<div class='entity-listing-info'><p class='entity-title'>" . elgg_echo('profile:deleteduser') . "</p>";\r
-       }\r
-       \r
-       //display the date of the comment\r
-       echo "<p class='entity-subtext'>" . elgg_view_friendly_time($vars['entity']->time_created) . "</p>";\r
-       echo "</div>"; // close entity-listing-info\r
-       echo "</div>"; // close entity-listing.topic\r
-\r
-       //display the actual message posted\r
-       echo "<div class='topic_post maintopic'>";\r
-       echo parse_urls(elgg_view("output/longtext",array("value" => $vars['entity']->description)));\r
-       echo "</div>";\r
-?>\r
-               \r
-<!-- </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
deleted file mode 100644 (file)
index e67294c..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/**
- * Elgg groups plugin
- */
-?>
-
-<div id="content-header" class="clearfix">
-       <div class="content-header-title">
-               <h2><?php echo elgg_echo("groups:forum"); ?></h2>
-       </div>
-       <?php // only show the add topic button if the user is a member
-               if(elgg_get_page_owner()->isMember(get_loggedin_user())) {
-       ?>
-               <div class="content-header-options">
-                       <a class="elgg-action-button" href="<?php echo elgg_get_site_url(); ?>mod/groups/addtopic.php?group_guid=<?php echo $vars['group_guid']; ?>"><?php echo elgg_echo("groups:addtopic"); ?></a>
-               </div>
-       <?php
-               }
-       ?>
-</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
diff --git a/mod/groups/views/default/forum/viewposts.php b/mod/groups/views/default/forum/viewposts.php
deleted file mode 100644 (file)
index 3c9da12..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/**
- * 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'), elgg_get_site_url()."pg/groups/world/");
-elgg_push_breadcrumb($group->name, $group->getURL());
-elgg_push_breadcrumb(elgg_echo('item:object:groupforumtopic'), elgg_get_site_url()."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 = elgg_get_site_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,
-                                                                                       ));
-
-?>
-<?php
-       //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") {
-               echo elgg_view_comments($vars['entity'], false);
-               //this topic has been closed by the owner
-               echo "<h3>" . elgg_echo("groups:topicisclosed") . "</h3>";
-               echo "<p>" . elgg_echo("groups:topiccloseddesc") . "</p>";
-
-       }elseif(elgg_get_page_owner()->isMember(get_loggedin_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);
-       }
index af558c90db5bdc143a9d07953b0219a8cc42332d..3e28c00914a5fc52dda66dd1facfc8bf67f62fb7 100644 (file)
@@ -12,11 +12,6 @@ echo "<div id='group_tools_latest' class='clearfix'>";
        echo "<div class='group_tool_widget activity clearfix'>";
        echo elgg_view("groups/profile/activity_widget", array('entity' => $vars['entity']));
        echo "</div>";
-        
-       // forum latest
-       //echo "<div class='group_tool_widget forum clearfix'>";
-       echo elgg_view("groups/profile/forum_widget", array('entity' => $vars['entity']));
-       //echo "</div>";
        
        // enable tools to extend this area
        echo elgg_view("groups/tool_latest", array('entity' => $vars['entity']));
index a89419931b3b24cfcfa0b6a65eb05a87ee707206..c6f9da4b40f386387d1fc0ee95796836d9a5e459 100644 (file)
@@ -5,7 +5,7 @@
  * @package ElggGroups
 */
 
-//$full = elgg_get_array_value('full', $vars, FALSE);
+$full = elgg_get_array_value('full', $vars, FALSE);
 $topic = elgg_get_array_value('entity', $vars, FALSE);
 
 if (!$topic) {
@@ -46,17 +46,33 @@ $metadata = elgg_view('layout/objects/list/metadata', array(
        'handler' => 'discussion',
 ));
 
-$subtitle = "$poster_text $date $comments_link <span class=\"groups-latest-comment\">$comments_text</span>";
-
 // do not show the metadata and controls in widget view
 if (elgg_in_context('widgets')) {
        $metadata = '';
 }
 
 if ($full) {
+       $subtitle = "$poster_text $date $comments_link";
+
+       $params = array(
+               'entity' => $topic,
+               'title' => false,
+               'metadata' => $metadata,
+               'subtitle' => $subtitle,
+               'tags' => $tags,
+       );
+       $list_body = elgg_view('layout/objects/list/body', $params);
+
+       $info = elgg_view_image_block($poster_icon, $list_body);
+       echo <<<HTML
+$header
+$info
+$body
+HTML;
 
 } else {
        // brief view
+       $subtitle = "$poster_text $date $comments_link <span class=\"groups-latest-comment\">$comments_text</span>";
 
        $params = array(
                'entity' => $topic,