diff options
Diffstat (limited to 'mod/messageboard')
| -rw-r--r-- | mod/messageboard/actions/delete.php | 1 | ||||
| -rw-r--r-- | mod/messageboard/manifest.xml | 7 | ||||
| -rw-r--r-- | mod/messageboard/pages/messageboard/owner.php | 3 | ||||
| -rw-r--r-- | mod/messageboard/start.php | 35 | ||||
| -rw-r--r-- | mod/messageboard/views/default/annotation/messageboard.php | 11 | ||||
| -rw-r--r-- | mod/messageboard/views/default/forms/messageboard/add.php | 2 | ||||
| -rw-r--r-- | mod/messageboard/views/default/messageboard/js.php | 11 | ||||
| -rw-r--r-- | mod/messageboard/views/default/river/object/messageboard/create.php | 23 | ||||
| -rw-r--r-- | mod/messageboard/views/default/widgets/messageboard/content.php | 1 |
9 files changed, 58 insertions, 36 deletions
diff --git a/mod/messageboard/actions/delete.php b/mod/messageboard/actions/delete.php index a40329cb5..a1f62278c 100644 --- a/mod/messageboard/actions/delete.php +++ b/mod/messageboard/actions/delete.php @@ -9,7 +9,6 @@ $annotation_id = (int) get_input('annotation_id'); $message = elgg_get_annotation_from_id($annotation_id); if ($message && $message->canEdit() && $message->delete()) { - remove_from_river_by_annotation($annotation_id); system_message(elgg_echo("messageboard:deleted")); } else { system_message(elgg_echo("messageboard:notdeleted")); diff --git a/mod/messageboard/manifest.xml b/mod/messageboard/manifest.xml index 25c42ee93..617813725 100644 --- a/mod/messageboard/manifest.xml +++ b/mod/messageboard/manifest.xml @@ -8,11 +8,10 @@ <description>This plugin allows users to put a message board on their profile for other users to post comments.</description> <website>http://www.elgg.org/</website> <copyright>See COPYRIGHT.txt</copyright> - <license>GNU Public License version 2</license> + <license>GNU General Public License version 2</license> <requires> - <type>elgg_version</type> - <version>2010030101</version> + <type>elgg_release</type> + <version>1.8</version> </requires> <activate_on_install>true</activate_on_install> - <admin_interface>simple</admin_interface> </plugin_manifest> diff --git a/mod/messageboard/pages/messageboard/owner.php b/mod/messageboard/pages/messageboard/owner.php index 58021c29e..b3e9f45b0 100644 --- a/mod/messageboard/pages/messageboard/owner.php +++ b/mod/messageboard/pages/messageboard/owner.php @@ -16,7 +16,7 @@ elgg_push_breadcrumb($page_owner->name, $page_owner->getURL()); $options = array( 'annotations_name' => 'messageboard', 'guid' => $page_owner_guid, - 'limit' => 10 + 'reverse_order_by' => true, ); if ($history_user) { @@ -47,7 +47,6 @@ if (!$content) { $vars = array( 'filter' => false, - 'buttons' => false, 'content' => $content, 'title' => $title, 'reverse_order_by' => true diff --git a/mod/messageboard/start.php b/mod/messageboard/start.php index efe453286..0c65edc4f 100644 --- a/mod/messageboard/start.php +++ b/mod/messageboard/start.php @@ -26,6 +26,9 @@ function messageboard_init() { $action_path = dirname(__FILE__) . '/actions'; elgg_register_action("messageboard/add", "$action_path/add.php"); elgg_register_action("messageboard/delete", "$action_path/delete.php"); + + // delete annotations for posts + elgg_register_plugin_hook_handler('register', 'menu:annotation', 'messageboard_annotation_menu_setup'); } /** @@ -81,8 +84,10 @@ function messageboard_page_handler($page) { set_input('page_owner_guid', $owner_guid); include "$pages/owner.php"; break; - } + default: + return false; + } return true; } @@ -127,4 +132,32 @@ function messageboard_add($poster, $owner, $message, $access_id = ACCESS_PUBLIC) return $result; } + +/** + * Add edit and delete links for forum replies + */ +function messageboard_annotation_menu_setup($hook, $type, $return, $params) { + $annotation = $params['annotation']; + if ($annotation->name != 'messageboard') { + return $return; + } + + if ($annotation->canEdit()) { + $url = elgg_http_add_url_query_elements('action/messageboard/delete', array( + 'annotation_id' => $annotation->id, + )); + + $options = array( + 'name' => 'delete', + 'href' => $url, + 'text' => "<span class=\"elgg-icon elgg-icon-delete\"></span>", + 'confirm' => elgg_echo('deleteconfirm'), + 'encode_text' => false + ); + $return[] = ElggMenuItem::factory($options); + } + + return $return; +} + elgg_register_event_handler('init', 'system', 'messageboard_init');
\ No newline at end of file diff --git a/mod/messageboard/views/default/annotation/messageboard.php b/mod/messageboard/views/default/annotation/messageboard.php deleted file mode 100644 index 8dfba3a22..000000000 --- a/mod/messageboard/views/default/annotation/messageboard.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php -/** - * Message board post - * - * @uses $vars['annotation'] ElggAnnotation object - * @uses $vars['full_view'] Display fill view or brief view - */ - -$vars['delete_action'] = 'action/messageboard/delete'; - -echo elgg_view('annotation/default', $vars);
\ No newline at end of file diff --git a/mod/messageboard/views/default/forms/messageboard/add.php b/mod/messageboard/views/default/forms/messageboard/add.php index 87bec9b20..b219fd800 100644 --- a/mod/messageboard/views/default/forms/messageboard/add.php +++ b/mod/messageboard/views/default/forms/messageboard/add.php @@ -7,7 +7,7 @@ echo elgg_view('input/plaintext', array( 'name' => 'message_content', - 'class' => 'messageboard-input' + 'class' => 'messageboard-input mbs' )); echo elgg_view('input/hidden', array( diff --git a/mod/messageboard/views/default/messageboard/js.php b/mod/messageboard/views/default/messageboard/js.php index 5d89fcd69..79472069d 100644 --- a/mod/messageboard/views/default/messageboard/js.php +++ b/mod/messageboard/views/default/messageboard/js.php @@ -13,7 +13,7 @@ elgg.messageboard.init = function() { // double whammy for in case the load order changes. .unbind('click', elgg.ui.requiresConfirmation) .removeClass('elgg-requires-confirmation'); -} +}; elgg.messageboard.submit = function(e) { var form = $(this).parents('form'); @@ -23,7 +23,7 @@ elgg.messageboard.submit = function(e) { data: data, success: function(json) { // the action always returns the full ul and li wrapped annotation. - var ul = form.next('ul.elgg-annotation-list'); + var ul = form.next('ul.elgg-list-annotation'); if (ul.length < 1) { form.parent().append(json.output); @@ -35,7 +35,7 @@ elgg.messageboard.submit = function(e) { }); e.preventDefault(); -} +}; elgg.messageboard.deletePost = function(e) { var link = $(this); @@ -44,12 +44,13 @@ elgg.messageboard.deletePost = function(e) { if (confirm(confirmText)) { elgg.action($(this).attr('href'), { success: function() { - $(link).closest('li').remove(); + var item = $(link).closest('.elgg-item'); + item.remove(); } }); } e.preventDefault(); -} +}; elgg.register_hook_handler('init', 'system', elgg.messageboard.init); diff --git a/mod/messageboard/views/default/river/object/messageboard/create.php b/mod/messageboard/views/default/river/object/messageboard/create.php index 975598805..ac10a55c1 100644 --- a/mod/messageboard/views/default/river/object/messageboard/create.php +++ b/mod/messageboard/views/default/river/object/messageboard/create.php @@ -1,11 +1,12 @@ -<?php -/** - * Messageboard river view - */ - -$messageboard = $vars['item']->getAnnotation(); - -echo elgg_view('river/item', array( - 'item' => $vars['item'], - 'message' => $messageboard->value, -)); +<?php
+/**
+ * Messageboard river view
+ */
+
+$messageboard = $vars['item']->getAnnotation();
+$excerpt = elgg_get_excerpt($messageboard->value);
+
+echo elgg_view('river/elements/layout', array(
+ 'item' => $vars['item'],
+ 'message' => $excerpt,
+));
diff --git a/mod/messageboard/views/default/widgets/messageboard/content.php b/mod/messageboard/views/default/widgets/messageboard/content.php index 63f389e6a..35954e7a3 100644 --- a/mod/messageboard/views/default/widgets/messageboard/content.php +++ b/mod/messageboard/views/default/widgets/messageboard/content.php @@ -31,4 +31,5 @@ if ($owner instanceof ElggGroup) { echo elgg_view('output/url', array( 'href' => $url, 'text' => elgg_echo('messageboard:viewall'), + 'is_trusted' => true, ));
\ No newline at end of file |
