function index() { if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (isset($_POST['timecard_open']) || isset($_POST['timecard_close']) || isset($_POST['timecard_interval'])) { require_once DIR_MODEL . 'timecard.php'; $timecard = new Timecard(); $timecard->handler = $this->handler; $timecard->add(); } elseif (isset($_POST['folder']) && $_POST['folder'] == 'complete') { require_once DIR_MODEL . 'todo.php'; $todo = new Todo(); $todo->handler = $this->handler; $todo->move(); } } $sessionuserid = $this->quote($_SESSION['userid']); $hash['year'] = date('Y'); $hash['month'] = date('n'); $hash['day'] = date('j'); $hash['weekday'] = date('w'); $monthly = mktime(0, 0, 0, $hash['month'] - 1, $hash['day'], $hash['year']); $hash['begin'] = mktime(0, 0, 0, $hash['month'], $hash['day'] - $hash['weekday'], $hash['year']); $hash['end'] = mktime(23, 59, 59, $hash['month'], $hash['day'] + 6 - $hash['weekday'], $hash['year']); $string = "((schedule_type = 0 AND (schedule_date >= '%s' AND schedule_date <= '%s')) OR "; $string .= "(schedule_type = 1 AND (schedule_begin <= '%s' AND schedule_end >= '%s')))"; $where[] = sprintf($string, date('Y-m-d', $hash['begin']), date('Y-m-d', $hash['end']), date('Y-m-d', $hash['end']), date('Y-m-d', $hash['begin'])); $string = "((schedule_level = 0) OR (schedule_level = 1 AND owner = '%s') OR "; $string .= "(schedule_level = 2 AND (schedule_group LIKE '%%[%s]%%' OR schedule_user LIKE '%%[%s]%%')))"; $where[] = sprintf($string, $sessionuserid, $this->quote($_SESSION['group']), $sessionuserid); $where[] = $this->permitWhere(); $field = "*"; $query = sprintf("SELECT %s FROM %sschedule WHERE %s ORDER BY schedule_allday,schedule_time,schedule_endtime", $field, DB_PREFIX, implode(" AND ", $where)); $hash['schedule'] = $this->fetchAll($query); $field = "*"; $query = sprintf("SELECT %s FROM %stimecard WHERE (timecard_date = '%s') AND (owner = '%s')", $field, DB_PREFIX, date('Y-m-d'), $sessionuserid); $hash['timecard'] = $this->fetchOne($query); $field = "*"; $query = sprintf("SELECT %s FROM %stodo WHERE (owner = '%s') AND (todo_complete = 0) ORDER BY todo_noterm, todo_term", $field, DB_PREFIX, $sessionuserid); $hash['todo'] = $this->fetchLimit($query, 0, 5); $field = "*"; $query = sprintf("SELECT %s FROM %smessage WHERE (owner = '%s') AND (folder_id = 0) AND (message_type = 'received') ORDER BY message_date DESC", $field, DB_PREFIX, $sessionuserid); $hash['message'] = $this->fetchLimit($query, 0, 5); $where = array(); $category = $this->permitCategory('forum'); $where[] = "(forum_lastupdate > '" . date('Y-m-d H:i:s', $monthly) . "')"; $where[] = $this->folderWhere($category['folder'], 'all'); $where[] = "(forum_parent = 0)"; $where[] = $this->permitWhere(); $field = "*"; $query = sprintf("SELECT %s FROM %sforum WHERE %s ORDER BY forum_lastupdate DESC", $field, DB_PREFIX, implode(" AND ", $where)); $hash['forum'] = $this->fetchLimit($query, 0, 5); $where = array(); $category = $this->permitCategory('bookmark'); $where[] = $this->folderWhere($category['folder']); $where[] = $this->permitWhere(); $field = "*"; $query = sprintf("SELECT %s FROM %sbookmark WHERE %s ORDER BY bookmark_order, bookmark_date DESC", $field, DB_PREFIX, implode(" AND ", $where)); $hash['bookmark'] = $this->fetchLimit($query, 0, 5); $where = array(); $category = $this->permitCategory('project'); $where[] = "(project_end >= '" . date('Y-m-d') . "')"; $where[] = $this->folderWhere($category['folder'], 'all'); $where[] = "(project_parent = '0')"; $where[] = $this->permitWhere(); $field = "*"; $query = sprintf("SELECT %s FROM %sproject WHERE %s ORDER BY project_begin", $field, DB_PREFIX, implode(" AND ", $where)); $hash['project'] = $this->fetchLimit($query, 0, 5); $hash['group'] = $this->findGroup(); return $hash; }