$this->session_put($sessionkey . 'cur_month', $month); $this->session_put($sessionkey . 'cur_year', $year); $inline = 1; } // basic information about dates $prev_month['timestamp'] = strtotime("-1 month", mktime(0, 0, 0, $month, 1, $year)); $prev_month['year'] = date('Y', $prev_month['timestamp']); $prev_month['month'] = date('n', $prev_month['timestamp']); $next_month['timestamp'] = strtotime("+1 month", mktime(0, 0, 0, $month, 1, $year)); $next_month['year'] = date('Y', $next_month['timestamp']); $next_month['month'] = date('n', $next_month['timestamp']); $last_day_of_month = date('t', strtotime("{$year}-{$month}-02")); $db = $this->GetDb(); $start = mktime(0, 0, 0, $month, 1, $year); $end = mktime(23, 59, 59, $month, $last_day_of_month, $year); $event_ids = $db->GetCol(cgcalendar_utils::get_query($start, $end, $category, FALSE)); $days = array(); $parms = $params; unset($parms['returnid'], $parms['action'], $parms['page']); $parms['display'] = 'list'; for ($i = 1; $i <= $last_day_of_month; $i++) { $parms['date'] = "{$year}-{$month}-{$i}"; $days[$i]['date'] = mktime(0, 0, 0, $month, $i, $year); $days[$i]['week'] = date('W', $days[$i]['date']); $days[$i]['url'] = $this->create_url($id, 'default', $detailpage, $parms, $inline); // deprecated. $days[$i]['ni_url'] = $this->create_url($id, 'default', $detailpage, $parms, FALSE); $days[$i]['in_url'] = $this->create_url($id, 'default', $detailpage, $parms, TRUE); $days[$i]['events'] = array(); $days[$i]['class'] = ''; }
$week = 1; $year++; } } // build query $fmt = '%04d-W%02d-%d'; if ($first_day_of_week == 1) { $sday = 1; $eday = 7; } else { $sday = 0; $eday = 6; } $start_ut = strtotime(sprintf($fmt, $year, $week, $sday)); $end_ut = strtotime(sprintf($fmt, $year, $week, $eday)); $rs = $db->SelectLimit(cgcalendar_utils::get_query($start_ut, $end_ut, $category, $reverse), $limit); // get the list of event id's. $customfields = null; $event_ids = array(); while ($rs && !$rs->EOF()) { $event_ids[] = $rs->fields['event_id']; $rs->MoveNext(); } $loader = new cgc_event_loader($id, $event_ids, $detailpage, $reverse); if (isset($params['eventtemplate'])) { $loader->set_event_template($params['eventtemplate']); } $events = $loader->get_events(); // build navigation. $navigation = array(); $parms = $params;
$year = $this->session_get($sessionkey . 'year'); } $year = get_parameter_value($params, 'year', date('Y')); if ($sessionkey) { $this->session_put($sessionkey . 'year', $year); $inline = 1; } // basic information about dates $prev_year['timestamp'] = strtotime("-1 year", mktime(0, 0, 0, 1, 1, $year)); $prev_year['year'] = date('Y', $prev_year['timestamp']); $next_year['timestamp'] = strtotime("+1 year", mktime(0, 0, 0, 1, 1, $year)); $next_year['year'] = date('Y', $next_year['timestamp']); $last_day_of_year = mktime(0, 0, 0, 1, 0, $next_year['year']); $start = mktime(0, 0, 0, 1, 1, $year); $end = mktime(23, 59, 59, 12, 31, $year); $idlist = $db->GetCol(cgcalendar_utils::get_query($start, $end, $category, $reverse)); $idlist = array_slice($idlist, 0, $limit); $loader = new cgc_event_loader($id, $idlist, $detailpage, $reverse); if (isset($params['eventtemplate'])) { $loader->set_event_template($params['eventtemplate']); } $events = $loader->get_events(); $parms = $params; unset($parms['action'], $parms['returnid'], $parms['page']); $parms['display'] = 'yearlist'; $parms['year'] = $reverse == false ? $next_year['year'] : $prev_year['year']; $navigation['next'] = $this->CreateURL($id, 'default', $returnid, $parms, $inline); // deprecated $navigation['ni_next'] = $this->CreateURL($id, 'default', $returnid, $parms, false); $navigation['in_next'] = $this->CreateURL($id, 'default', $returnid, $parms, true); $parms['year'] = $reverse == false ? $prev_year['year'] : $next_year['year'];