⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.php

📁 本代码是为客户联系管理而做的系统
💻 PHP
📖 第 1 页 / 共 4 页
字号:
		$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&nbsp;time&nbsp;specified</I>';
						} else {
							$printtime = '<I>No&nbsp;time&nbsp;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(' ', '&nbsp;', $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&nbsp;#$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&nbsp;#$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>&nbsp;&nbsp;&nbsp;$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&nbsp;-&nbsp;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&nbsp;-&nbsp;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 + -