aboutsummaryrefslogtreecommitdiff
path: root/mod/tasks/pages/tasks/owner.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/tasks/pages/tasks/owner.php')
-rw-r--r--mod/tasks/pages/tasks/owner.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/mod/tasks/pages/tasks/owner.php b/mod/tasks/pages/tasks/owner.php
new file mode 100644
index 000000000..801c00be9
--- /dev/null
+++ b/mod/tasks/pages/tasks/owner.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * List a user's or group's tasks
+ *
+ * @package ElggTasks
+ */
+
+$owner = elgg_get_page_owner_entity();
+if (!$owner) {
+ forward('tasks/all');
+}
+
+// access check for closed groups
+group_gatekeeper();
+
+$title = elgg_echo('tasks:lists:owner', array($owner->name));
+
+elgg_push_breadcrumb($owner->name);
+
+elgg_register_title_button('tasks', 'add');
+
+$options = array(
+ 'type' => 'object',
+ 'subtypes' => 'task',
+ 'container_guid' => elgg_get_page_owner_guid(),
+ 'full_view' => false,
+ 'metadata_name' => 'list_guid',
+ 'metadata_value' => 0,
+);
+
+$content = elgg_list_entities_from_metadata($options);
+
+if (!$content) {
+ $content = '<p>' . elgg_echo('tasks:none') . '</p>';
+}
+
+$filter_context = '';
+if (elgg_get_page_owner_guid() == elgg_get_logged_in_user_guid()) {
+ $filter_context = 'mine';
+}
+
+$sidebar = elgg_view('tasks/sidebar/navigation');
+$sidebar .= elgg_view('tasks/sidebar');
+
+$params = array(
+ 'filter_context' => $filter_context,
+ 'content' => $content,
+ 'title' => $title,
+ 'sidebar' => $sidebar,
+);
+
+if (elgg_instanceof($owner, 'group')) {
+ $params['filter'] = '';
+}
+
+$body = elgg_view_layout('content', $params);
+
+echo elgg_view_page($title, $body);