diff options
author | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-03-18 11:34:19 +0000 |
---|---|---|
committer | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-03-18 11:34:19 +0000 |
commit | c4f61dd4c1b5a28a7c073c734f003ffd45b820d4 (patch) | |
tree | 46054d2ccb246d3133c4523d010a3480cf4d84ac | |
parent | 4e7d013c52cdb2ae00f5faf6bae7519bf3dc72ed (diff) | |
download | elgg-c4f61dd4c1b5a28a7c073c734f003ffd45b820d4.tar.gz elgg-c4f61dd4c1b5a28a7c073c734f003ffd45b820d4.tar.bz2 |
Marcus Povey <marcus@dushka.co.uk>
* Added VERY simple tasklist plugin.
git-svn-id: https://code.elgg.org/elgg/trunk@247 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r-- | mod/tasklist/index.php | 52 | ||||
-rw-r--r-- | mod/tasklist/start.php | 74 | ||||
-rw-r--r-- | mod/tasklist/views/default/tasklist/item.php | 21 | ||||
-rw-r--r-- | mod/tasklist/views/default/tasklist/main.php | 13 | ||||
-rw-r--r-- | mod/tasklist/views/default/tasklist/newtask.php | 7 |
5 files changed, 167 insertions, 0 deletions
diff --git a/mod/tasklist/index.php b/mod/tasklist/index.php new file mode 100644 index 000000000..5491baea8 --- /dev/null +++ b/mod/tasklist/index.php @@ -0,0 +1,52 @@ +<?php + require_once("../../engine/start.php"); + + global $CONFIG; + + //$_SESSION['id'] = 2; + + // Get the user + $owner_id = page_owner(); + $owner = get_user(page_owner()); + + $description = get_input("task"); + $status = get_input("status"); + $action = get_input("action"); + $guid = get_input("guid"); + + $limit = get_input("limit",10); + $offset = get_input("offset",0); + + switch ($action) + { + case 'newtask' : + $taskid = create_entity("object", "task", $owner_id, 0); + + if ($taskid) + { + $entity = get_entity($taskid); + + $entity->setMetaData('task', $task, 'text'); + $entity->setMetaData('status', 'notdone', 'text'); + + + $entity->save(); + } else echo "error"; + + break; + + case 'tick' : + $entity = get_entity($guid); + + $entity->setMetaData('status', 'done', 'text'); + break; + } + + $body = elgg_view("tasklist/main", array( + "name" => $owner->name, + "tasklist" => tasklist_drawtasks($owner_id, $limit, $offset), + "newtask" => tasklist_draw_newtask_form($owner_id) + )); + page_draw("Tasklist",$body); + +?>
\ No newline at end of file diff --git a/mod/tasklist/start.php b/mod/tasklist/start.php new file mode 100644 index 000000000..260109866 --- /dev/null +++ b/mod/tasklist/start.php @@ -0,0 +1,74 @@ +<?php + /** + * Simple tasklist plugin + * + * These parameters are required for the event API, but we won't use them: + * + * @param unknown_type $event + * @param unknown_type $object_type + * @param unknown_type $object + */ + function tasklist_init($event, $object_type, $object = null) { + + global $CONFIG; + + add_menu("Tasklist",$CONFIG->wwwroot . "mod/tasklist/",array( + menu_item("The tasklist plugin",$CONFIG->wwwroot."mod/tasklist/"), + )); + } + + /** + * The entity. + * + * @param ElggObject $entity + */ + function tasklist_draw_task($entity) + { + // Get the status + $status = $entity->getMetaData("status"); + + // Task + $task = $entity->getMetaData("task"); + + // Render the item + return elgg_view("tasklist/item", array( + "owner_id" => $entity->owner_guid, + "task" => $task, + "status" => $status, + "guid" => $entity->guid + )); + } + + function tasklist_drawtasks($ownerid, $offset = 0, $limit = 10) + { + // Get all entities of task + //$entities = get_entities("object","task",$ownerid, "time_created desc", $limit, $offset); + $entities = get_entities_from_metadata("status", "notdone", "object", "task", $limit, $offset); + + if (($entities) && (is_array($entities))) + { + $display = "<table>"; + + foreach($entities as $e) + $display .= tasklist_draw_task($e); + + $display .= "</table>"; + + return $display; + } + + return "No tasks present for user."; + } + + function tasklist_draw_newtask_form($ownerid) + { + return elgg_view("tasklist/newtask", array( + "owner_id" => $ownerid, + "guid" => $entity->guid + )); + } + + // Make sure test_init is called on initialisation + register_event_handler('init','system','tasklist_init'); + +?>
\ No newline at end of file diff --git a/mod/tasklist/views/default/tasklist/item.php b/mod/tasklist/views/default/tasklist/item.php new file mode 100644 index 000000000..a2225300f --- /dev/null +++ b/mod/tasklist/views/default/tasklist/item.php @@ -0,0 +1,21 @@ +<tr> + <td><b><?php echo $vars['task'] ?></b></td> + + <td> + <?php if ($vars['status']=='done') + echo "done"; + else + { +?> + <form method = "post"> + <input type="hidden" name="action" value="tick" /> + <input type="hidden" name="status" value="done" /> + <input type="hidden" name="owner_id" value="<?php echo $vars['owner_id']; ?>"/> + <input type="hidden" name="guid" value="<?php echo $vars['guid']; ?>"/> + <input type="submit" name="Done" value="Done" /> + </form> +<?php + } +?> + </td> +</tr>
\ No newline at end of file diff --git a/mod/tasklist/views/default/tasklist/main.php b/mod/tasklist/views/default/tasklist/main.php new file mode 100644 index 000000000..bb530b3c6 --- /dev/null +++ b/mod/tasklist/views/default/tasklist/main.php @@ -0,0 +1,13 @@ +<?php + /** + * Simple tasklist plugin. + * @author Marcus Povey <marcus@dushka.co.uk> + */ + +?> +<h1><?php echo $vars['name'] ?>'s Tasklist</h1> +<?php echo $vars['tasklist']; ?> + +<?php echo $vars['newtask']; ?> + + diff --git a/mod/tasklist/views/default/tasklist/newtask.php b/mod/tasklist/views/default/tasklist/newtask.php new file mode 100644 index 000000000..420c409d6 --- /dev/null +++ b/mod/tasklist/views/default/tasklist/newtask.php @@ -0,0 +1,7 @@ +<form method="post"> + <textarea name="task"></textarea> + <input type="hidden" name="action" value="newtask"/> + <input type="hidden" name="guid" value="<?php echo $vars['guid']; ?>"/> + <input type="hidden" name="owner_id" value="<?php echo $vars['owner_id']; ?>"/> + <input type="submit" name="submit" /> +</form>
\ No newline at end of file |