]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #4631. Admins are now able to delete river items.
authorSem <sembrestels@riseup.net>
Sat, 7 Jul 2012 01:03:04 +0000 (03:03 +0200)
committerSem <sembrestels@riseup.net>
Sat, 7 Jul 2012 01:03:04 +0000 (03:03 +0200)
actions/river/delete.php [new file with mode: 0644]
engine/lib/navigation.php
engine/lib/river.php
languages/en.php

diff --git a/actions/river/delete.php b/actions/river/delete.php
new file mode 100644 (file)
index 0000000..0d82979
--- /dev/null
@@ -0,0 +1,21 @@
+<?php
+/**
+ * River item delete action
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+$id = get_input('id', false);
+
+if ($id !== false && elgg_is_admin_logged_in()) {
+       if (elgg_delete_river(array('id' => $id))) {
+               system_message(elgg_echo('river:delete:success'));
+       } else {
+               register_error(elgg_echo('river:delete:fail'));
+       }
+} else {
+       register_error(elgg_echo('river:delete:fail'));
+}
+
+forward(REFERER);
index 4ff009bfb7cc14dacfa795a96d9d5c50341c5d31..61d283f4babf210a2c8b06b5a335b4db8de1a4a3 100644 (file)
@@ -335,6 +335,18 @@ function elgg_river_menu_setup($hook, $type, $return, $params) {
                                $return[] = ElggMenuItem::factory($options);
                        }
                }
+               
+               if ($object->canEdit() && elgg_is_admin_logged_in()) {
+                       $options = array(
+                                       'name' => 'delete',
+                                       'href' => "action/river/delete?id=$item->id",
+                                       'text' => elgg_view_icon('delete'),
+                                       'title' => elgg_echo('delete'),
+                                       'is_action' => true,
+                                       'priority' => 200,
+                               );
+                       $return[] = ElggMenuItem::factory($options);
+               }
        }
 
        return $return;
index 711832f7050317c1ceda567a4d0ae8e3300b948e..b717a7756cfce31f4f64895213b367d2b0077dff 100644 (file)
@@ -643,9 +643,11 @@ function elgg_river_init() {
        elgg_register_page_handler('activity', 'elgg_river_page_handler');
        $item = new ElggMenuItem('activity', elgg_echo('activity'), 'activity');
        elgg_register_menu_item('site', $item);
-
+       
        elgg_register_widget_type('river_widget', elgg_echo('river:widget:title'), elgg_echo('river:widget:description'));
 
+       elgg_register_action('river/delete', '', 'admin');
+
        elgg_register_plugin_hook_handler('unit_test', 'system', 'elgg_river_test');
 }
 
index 7cd0911159b166c7bfac0f91b25fcb26d6db03aa..7b4bc97719c61f0a5ce704bff4a45089364d635e 100644 (file)
@@ -437,6 +437,8 @@ $english = array(
        'river:ingroup' => 'in the group %s',
        'river:none' => 'No activity',
        'river:update' => 'Update for %s',
+       'river:delete:success' => 'River item has been deleted',
+       'river:delete:fail' => 'River item could not be deleted',
 
        'river:widget:title' => "Activity",
        'river:widget:description' => "Display latest activity",