/** * Get all tasks records matching the given filter * * @param array Hash array wiht filter criterias * @param array List of lists to get tasks from * @param boolean Include clones of recurring tasks * @return array List of tasks records matchin the criteria * @see tasklist_driver::list_tasks() */ function list_tasks($filter, $lists = null, $virtual = true) { foreach ($this->sync_clients as $cal_id => $cal_sync) { if (!$this->_is_synced($cal_id)) { $this->_sync_calendar($cal_id); } } return parent::list_tasks($filter, $lists); }
/** * Load tasks */ function load_tasks($cals, $query = array('since' => 1), $virtual = false) { $events = array(); $dbtasks = new tasklist_database_driver($this->cal); $tasks = (array) $dbtasks->list_tasks($query, $cals, $virtual); foreach ($tasks as $task) { $task['_type'] = 'task'; if ($task['date']) { $due = $task['date'] . ' ' . ($task['time'] ? $task['time'] . ':00' : '00:00:00'); if (strtotime($due)) { $task['due'] = new DateTime($due); unset($task['date']); unset($task['time']); } } if ($task['startdate']) { $start = $task['startdate'] . ' ' . ($task['starttime'] ? $task['starttime'] . ':00' : '00:00:00'); if (strtotime($start)) { $task['start'] = new DateTime($start); unset($task['startdate']); unset($task['starttime']); } } $events[] = $task; } return $events; }