📄 index.php
字号:
$data = cachetasks($year . '-' . $month . '-1', $year . '-' . $month .
$enddate_tmp[2], NULL, NULL, NULL, NULL, NULL, $watch);
}
############################## WEEKLY ############################
} elseif ($_REQUEST['do'] == "weekly") {
if ($week) {
$weeknum = $week;
} else {
$weeknum = week_number("$year-$month-$day");
}
$startdate = start_of_week($weeknum, $year);
$dayofweek = day_of_week(date("Y-m-d", $startdate));
if ($user['weekstart'] < 7) {
$startdate = strtotime(date('Y-m-d', $startdate) . " +$user[weekstart] days");
}
if ($user['weekstart'] == 7) {
$startday = 0 ;
} else {
$startday = $user['weekstart'] - 1;
}
if ($dayofweek < $startday) {
$offset = $startday - $dayofweek;
$startdate = strtotime(date('Y-m-d', $startdate) . " -$offset days");
} elseif ($dayofweek > $startday) {
$offset = $dayofweek - $startday;
$startdate = strtotime(date('Y-m-d', $startdate) . " +$offset days");
}
$enddate = strtotime(date('Y-m-d', $startdate) . " +6 days");
$data = cachetasks(date('Y-m-d', $startdate), date('Y-m-d', $enddate), NULL, NULL, NULL, NULL, NULL, $watch);
############################ YEARLY VIEW ############################
} elseif ($_REQUEST['do'] == "yearly") {
$startdate = "$year-01-01"; $enddate = "$year-12-31";
$data = cachetasks($startdate, $enddate, NULL, NULL, NULL, NULL, NULL, $watch);
############################ DAILY VIEW ############################
} elseif ($_REQUEST['do'] == "daily") {
$startdate = $date; $enddate = $date;
$data = cachetasks($startdate, $enddate, NULL, NULL, NULL, NULL, NULL, $watch);
echo "<br /><table width=\"100%\"><tr><td valign=\"top\">";
}
##################################################################################
for ($i = 0; $i < 24; $i++) {
$end_table[$i] = array();
}
// We'll use the user's "ticket_number" setting for number of items to show per page.
if ($settings['ticket_number']) {
$perpage = $settings['ticket_number'];
} else {
$perpage = 20;
}
// We start on page 1 unless the user navigation has specified otherwise
if (isset($_REQUEST['page'])) {
$page = $_REQUEST['page'];
} else {
$page = 1;
}
$thispage = 0; $curpage = 1;
##################################################################################
################################ SHOW LIST VIEW ###################################
##################################################################################
$startdate_ts = iff(is_int($startdate), $startdate, strtotime($startdate));
$enddate_ts = iff(is_int($enddate), $enddate, strtotime($enddate));
// Assemble the daily list view data.
if ($_REQUEST['type'] == "list") {
if (is_array($data)) {
foreach ($data AS $key => $var) {
if (!$_REQUEST['overdue'] AND (!$_REQUEST['search']) AND (!((strtotime($key) >= $startdate_ts) AND (strtotime($key) <= $enddate_ts)))) {
continue;
}
if (is_array($var)) {
foreach ($var AS $key2 => $var2) {
$skip = 0;
if (!$var2[0]) {
break;
}
$var2[1] = trimstring($var2[1], 30, 1);
$var2[2] = trimstring($var2[2], 15, 1);
$time = explode(':', $var2[4]);
if ($var2[4] != "00:00:00") {
if ($_REQUEST['overdue']) {
$printtime = format_date($var2[3], 'day') . '<br />' . time_ampm($var2[4], 1);
} else {
$printtime = time_ampm($var2[4], 1);
}
$showtime = 1;
} else {
if ($_REQUEST['overdue']) {
$printtime = format_date($var2[3], 'day') . '<br /><I>No time specified</I>';
} else {
$printtime = '<I>No time specified</I>';
}
$time[0] = NULL;
$time[1] = NULL;
$time[2] = NULL;
}
$tmp_today = strtotime($today);
if ($tmp_last != $var2[3] OR (!$var2[3]) OR (!$have_drawn_mid)) {
$tmp_last = $var2[3];
if ($_REQUEST['do'] != 'daily') {
$draw_mid = 1;
}
} else {
$draw_mid = 0;
}
$tmp_item = strtotime($var2[3]);
if (($tmp_today > $tmp_item) AND !$var2[5]) {
// The item is overdue and not completed
if ($_REQUEST['overdue'] != NULL) {
// If we're showing overdue items, show it, otherwise, skip it
$item_color = "red";
} else {
if (!(strtotime("$year-$month-$day" == $tmp_item))) {
$skip = 1;
$overdue++;
} else {
$item_color = "red";
}
}
} else {
// The item isn't overdue or it's in the past but finished
if ($_REQUEST['overdue']) {
$normal++;
$skip = 1;
} else {
$item_color = "black";
}
}
if ($tmp_today == $tmp_item) {
$printdate = 'Today';
} else {
$printdate = explode('-', $var2[3]);
$printdate = format_date($var2[3]) . " $printdate[0]";
$printdate = str_replace(' ', ' ', $printdate);
if ($var2[6]) {
$printtime = $printtime . '*';
}
}
if ($var2[5]) {
$this_completed = 1;
$var2[1] = "[$var2[1]]";
$var2[2] = "[$var2[2]]";
$var2[5] = "Yes";
} else {
$var2[5] = "No";
$this_completed = 0;
}
if ($var2[8]) {
// If this is someone else's ticket, italicize it
$var2[1] = "<I>$var2[1]</I>";
$var2[2] = "<I>$var2[2]</I>";
}
if($var2[7]) {
// If this is a ticket reminder, link to the ticket
if (!$skip) {
if ($_REQUEST['do'] == 'daily') {
$ticket_rows[] = array(
form_checkbox_single("$var2[0]|$var2[3]|1", 1, '', 'ids'),
"$printdate",
"<B>$var2[1]</B>",
"$var2[5]",
"<a href=\"../tickets/ticketview.php?id=$var2[0]\">Ticket #$var2[0]</a>"
);
$table_row = NULL;
} else {
$table_row = array(
form_checkbox_single("$var2[0]|$var2[3]|1", 1, '', 'ids'),
"$printdate",
"<B>$var2[1]</B>",
"$var2[5]",
"<a href=\"../tickets/ticketview.php?id=$var2[0]\">Ticket #$var2[0]</a>"
);
}
}
} else {
// Otherwise, show view and edit links
if ($var2[10] == $user['id']) {
$editlink = "<A HREF=\"edit.php?id=$var2[0]\">Edit</A>";
} else {
$editlink = NULL;
}
$table_row = array(
form_checkbox_single("$var2[0]|$var2[3]", 1, '', 'ids'),
"$printtime",
"<B>$var2[1]</B>: $var2[2]",
"$var2[5]",
"<a href=\"viewtask.php?id=$var2[0]&date=$var2[3]\">View</a> $editlink"
);
}
if (!$skip) {
$thispage++;
$completed_items += $this_completed;
if ($_REQUEST['type'] == 'list') {
// If we're generating a list, also handle pagination
if ($thispage > $perpage) {
$thispage = 1;
$curpage++;
}
// Are we on the desired page?
if ($curpage != $page) {
// Nope, wrong page, skip
$skip = 1;
} else {
$skip = 0;
}
$count++;
} else {
$count++;
}
}
if ((!$skip) AND is_array($table_row)) {
if ($_REQUEST['do'] == 'daily') {
if ($time[0] != NULL) {
if ($draw_mid) {
$end_table[(int)$time[0]][] = table_midheader($printdate);
$have_drawn_mid = 1;
}
$end_table[(int)$time[0]][] = $table_row;
} else {
if ($draw_mid) {
$notime_table[] = table_midheader($printdate);
$have_drawn_mid = 1;
}
$notime_table[] = $table_row;
}
} else {
if ($draw_mid) {
$lead_table[] = table_midheader($printdate);
$have_drawn_mid = 1;
}
$lead_table[] = $table_row;
}
}
}
}
}
}
$tmp_table = array();
for ($i = 0; $i < 8; $i++) {
foreach ($end_table[$i] as $key => $var) {
$tmp_table[] = $var;
}
}
if (count($tmp_table)) {
if ($_REQUEST['type'] == 'calendar' AND $showtime) {
$lead_table[] = array('<B><U>12pm - 7am</U></B>');
}
foreach($tmp_table AS $val) {
$lead_table[] = $val;
}
$tmp_table = array();
}
for ($i = 8; $i < 19; $i++) {
foreach ($end_table[$i] as $key => $var) {
$tmp_table[] = $var;
}
if (count($tmp_table)) {
if ($_REQUEST['type'] == 'calendar') {
$lead_table[] = array('<B><U>'. time_ampm("$i:00:00", 2) . "</U></B>");
}
foreach($tmp_table AS $val) {
$lead_table[] = $val;
}
$tmp_table = array();
}
}
for ($i = 19; $i < 24; $i++) {
foreach ($end_table[$i] as $key => $var) {
$tmp_table[] = $var;
}
}
if (count($tmp_table)) {
if ($_REQUEST['type'] == 'calendar') {
$lead_table[] = array('<B><U>7pm - 12pm</U></B>');
}
foreach($tmp_table AS $val) {
$lead_table[] = $val;
}
}
// Now add the non-timed events
if (is_array($notime_table)) {
if ($_REQUEST['type'] == 'calendar') {
$lead_table[] = array('<B><U>Untimed Events</U></B>');
}
foreach ($notime_table AS $val) {
$lead_table[] = $val;
}
}
$table = $lead_table;
$form = form_select('action', array(0 => 'Toggle Complete', 1 => 'Delete', 2 => 'Stop Repeating'));
$form .= form_hidden('do', $_REQUEST['do']) . form_hidden('type', $_REQUEST['type']);
$form .= form_hidden('year', $year) . form_hidden('month', $month) . form_hidden('day', $day);
$form .= form_hidden('watch', $watch) . form_hidden('week', $week) . form_hidden('overdue', $_REQUEST['overdue']);
$form .= "<input type=\"submit\" name=\"Process\" value=\"Process\">\n";
if ($_REQUEST['search']) {
$form .= form_hidden('search', htmlspecialchars($_REQUEST['search']));
$form .= form_hidden('title', htmlspecialchars($_REQUEST['title']));
$form .= form_hidden('description', htmlspecialchars($_REQUEST['description']));
$form .= form_hidden('completed', htmlspecialchars($_REQUEST['completed']));
$form .= form_hidden('ystartdate', htmlspecialchars($_REQUEST['ystartdate']));
$form .= form_hidden('mstartdate', htmlspecialchars($_REQUEST['mstartdate']));
$form .= form_hidden('dstartdate', htmlspecialchars($_REQUEST['dstartdate']));
$form .= form_hidden('yenddate', htmlspecialchars($_REQUEST['yenddate']));
$form .= form_hidden('menddate', htmlspecialchars($_REQUEST['menddate']));
$form .= form_hidden('denddate', htmlspecialchars($_REQUEST['denddate']));
if (is_array($_REQUEST['techs'])) {
$form .= form_hidden('techs', join('|', $_REQUEST['techs']));
} else {
$form .= form_hidden('techs', '');
}
$form .= form_hidden('taskid', $_REQUEST['taskid']);
}
$width = array("5%",'10%',"10%","20%","5%");
$cols = array('<input type="checkbox" name="allbox" onclick="checkall(this.form);" />', 'When', 'Item', 'Complete', 'Options');
echo "<form method=\"post\" action=\"index.php\" name=\"tasks\" id=\"tasks\">";
table_header('Your Tasks');
table_content($cols, $table, '', '', '', '', $width);
table_footer('', 'Left', $form);
$form2 = form_select('action', array(0 => 'Toggle Complete', 1 => 'Delete', 2 => 'Stop Repeating'));
$form2 .= "<input type=\"submit\" name=\"Process\" value=\"Process\">\n";
$cols = array('<input type="checkbox" name="allbox2" onclick="checkall(this.form);" />', 'When', 'Item', 'Complete', 'Options');
if (is_array($ticket_rows)) {
table_header('Your Ticket Reminders');
table_content($cols, $ticket_rows, '', '', '', '', $width);
table_footer('', 'Left', $form2);
}
// key
?>
<table cellpadding="2">
<tr><td colspan="2" align="center"><b><u>Key</u></b></td></tr>
<tr><td>* Repeating task</b></td><td>* on left of entry</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -