aboutsummaryrefslogtreecommitdiff
path: root/mod/messageboard
diff options
context:
space:
mode:
Diffstat (limited to 'mod/messageboard')
-rw-r--r--mod/messageboard/actions/delete.php1
-rw-r--r--mod/messageboard/manifest.xml7
-rw-r--r--mod/messageboard/pages/messageboard/owner.php3
-rw-r--r--mod/messageboard/start.php35
-rw-r--r--mod/messageboard/views/default/annotation/messageboard.php11
-rw-r--r--mod/messageboard/views/default/forms/messageboard/add.php2
-rw-r--r--mod/messageboard/views/default/messageboard/js.php11
-rw-r--r--mod/messageboard/views/default/river/object/messageboard/create.php23
-rw-r--r--mod/messageboard/views/default/widgets/messageboard/content.php1
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