* Copyright (c) 2004 Platon SDG, http://platon.sk/ * Licensed under terms of GNU General Public License. * All rights reserved. * * Changelog: * 2004-06-20 - created * */ /* $Platon$ */ require_once 'DB.php'; class Task { function get($task_id = 0) /* {{{ */ { global $cfg, $dbh; $task_id = intval($task_id); $get_all = ! ($task_id > 0); $query = sprintf('SELECT t.*, UNIX_TIMESTAMP(t.deadline) AS deadline_ts, u.name AS user_name' .' FROM %s t LEFT JOIN %s u ON t.user_id = u.id' .' WHERE %s ORDER BY deadline ASC', $cfg['tables']['tasks'], $cfg['tables']['users'], $get_all ? '1 = 1' : 't.id = '.$task_id); $ret_ar = $dbh->getAll($query); return $get_all ? $ret_ar : $ret_ar[0]; } /* }}} */ function getList($project_id = 0) /* {{{ */ { global $cfg, $dbh; $project_id = intval($project_id); $get_all = ! ($project_id > 0); $query = sprintf('SELECT t.*, UNIX_TIMESTAMP(t.deadline) AS deadline_ts, u.name AS user_name' .' FROM %s t LEFT JOIN %s u ON t.user_id = u.id' .' WHERE %s ORDER BY deadline ASC', $cfg['tables']['tasks'], $cfg['tables']['users'], $get_all ? '1 = 1' : 't.project_id = '.$project_id); return $dbh->getAll($query); } /* }}} */ function getCategorizedList($project_id = 0) /* {{{ */ { $tasks_all = Task::getList($project_id); $tasks_ret = array( 'processed' => array(), 'scheduled' => array(), 'done' => array() ); foreach ($tasks_all as $task) { if (in_array($task['state'], array('done', 'abandoned'))) { $tasks_ret['done'][] = $task; } else if ($task['state'] == 'scheduled') { $tasks_ret['scheduled'][] = $task; } else { $tasks_ret['processed'][] = $task; } } return $tasks_ret; } /* }}} */ } /* Modeline for ViM {{{ * vim: set ts=4: * vim600: fdm=marker fdl=0 fdc=0: * }}} */ ?>