aboutsummaryrefslogtreecommitdiff
path: root/mod/tasks/actions/tasks/delete.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/tasks/actions/tasks/delete.php')
-rw-r--r--mod/tasks/actions/tasks/delete.php32
1 files changed, 32 insertions, 0 deletions
diff --git a/mod/tasks/actions/tasks/delete.php b/mod/tasks/actions/tasks/delete.php
new file mode 100644
index 000000000..9e15831f4
--- /dev/null
+++ b/mod/tasks/actions/tasks/delete.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Remove a task
+ *
+ * @package ElggTasks
+ */
+
+$guid = get_input('guid');
+$task = get_entity($guid);
+if ($task) {
+ if ($task->canEdit()) {
+ $container = get_entity($task->container_guid);
+ $list = $task->list_guid;
+
+ if ($task->delete()) {
+ system_message(elgg_echo('tasks:delete:success'));
+ if ($list) {
+ if ($list = get_entity($list)) {
+ forward($list->getURL());
+ }
+ }
+ if (elgg_instanceof($container, 'group')) {
+ forward("tasks/group/$container->guid/all");
+ } else {
+ forward("tasks/owner/$container->username");
+ }
+ }
+ }
+}
+
+register_error(elgg_echo('tasks:delete:failure'));
+forward(REFERER);