1<?php
2require('include.php');
3if(!xml2php("schedule")) {
4	$smarty->assign('error_msg',"Error in language file");
5}
6/* load the date formate from the js calendar */
7$wo_id = $_GET['wo_id'];
8
9/* check if work order closed we don't want to reschedule a work order if it's closed */
10if(isset($wo_id)) {
11	$q = "SELECT WORK_ORDER_CURRENT_STATUS FROM ".PRFX."TABLE_WORK_ORDER WHERE WORK_ORDER_ID=".$db->qstr($wo_id);
12	if(!$rs = $db->execute($q)) {
13		force_page('core', 'error&error_msg=MySQL Error: '.$db->ErrorMsg().'&menu=1&type=database');
14		exit;
15	} else {
16		$status = $rs->fields['WORK_ORDER_CURRENT_STATUS'];
17	}
18
19
20	if($status == '6') {
21		force_page('workorder', 'view&wo_id='.$wo_id.'&error_msg=Can not set a schedule for closed work order&page_title=Work Order ID '.$wo_id.'&type=warning');
22	} elseif ($status == '7') {
23		force_page('workorder', 'view&wo_id='.$wo_id.'&error_msg=Can not set a schedule for closed work order&page_title=Work Order ID '.$wo_id.'&type=warning');
24	} elseif ($status == '8') {
25		force_page('workorder', 'view&wo_id='.$wo_id.'&error_msg=Can not set a schedule for closed work order&page_title=Work Order ID '.$wo_id.'&type=warning');
26	} elseif ($status == '9') {
27		force_page('workorder', 'view&wo_id='.$wo_id.'&error_msg=Can not set a schedule for closed work order&page_title=Work Order ID '.$wo_id.'&type=warning');
28	}
29
30}
31
32
33$y = $VAR['y'] ;
34$m = $VAR['m'];
35$d = $VAR['d'];
36/* get Date Formatting value from database and assign it to $format*/
37$q = 'SELECT * FROM '.PRFX.'TABLE_COMPANY';
38	if(!$rs = $db->execute($q)) {
39		force_page('core', 'error&error_msg=MySQL Error: '.$db->ErrorMsg().'&menu=1&type=database');
40		exit;
41	} else {
42		$format = $rs->fields['COMPANY_DATE_FORMAT'];
43	}
44// Stripping out the percentage signs so php can render it correctly
45$literals = "%";
46$Dformat = str_replace($literals, "", $format);
47//Now lets display the right date format
48if($Dformat == 'd/m/Y' || $Dformat == 'd/m/y'  ){
49$cur_date = $d."/".$m."/".$y;}
50elseif($Dformat == 'm/d/Y' || $Dformat == 'm/d/y' ){
51$cur_date = $m."/".$d."/".$y;}
52//Assign it to Smarty
53$smarty->assign('cur_date', $cur_date);
54
55$date_array = array('y'=>$y, 'm'=>$m, 'd'=>$d, 'wo_id'=>$wo_id);
56$smarty->assign('date_array',$date_array);
57
58/* load start time from setup */
59$q = "SELECT OFFICE_HOUR_START,OFFICE_HOUR_END FROM ".PRFX."SETUP";
60if(!$rs = $db->execute($q)) {
61	force_page('core', 'error&error_msg=MySQL Error: '.$db->ErrorMsg().'&menu=1&type=database');
62	exit;
63}
64$H = $rs->fields['OFFICE_HOUR_START'];
65$E = $rs->fields['OFFICE_HOUR_END'];
66
67if(empty($H) || empty($E)) {
68	force_page('core', 'error&error_msg=You must first set a start and stop times in the control center');
69	exit;
70}
71
72/* get the curent login */
73if(!isset($VAR['tech'])) {
74	$tech = $_SESSION['login_id'];
75} else {
76	$tech = $VAR['tech'];
77}
78
79/* get list of techs for dropdown*/
80$q = "SELECT EMPLOYEE_DISPLAY_NAME FROM ".PRFX."TABLE_EMPLOYEE WHERE EMPLOYEE_ID=".$db->qstr($tech);
81	if(!$rs = $db->execute($q)) {
82		force_page('core', 'error&error_msg=MySQL Error: '.$db->ErrorMsg().'&menu=1&type=database');
83		exit;
84	}
85$smarty->assign('tech', $rs->fields['EMPLOYEE_DISPLAY_NAME']);
86
87/* this will be pulled from the database latter */
88$business_start = mktime($H,0,0,$m,$d,$y);
89$business_end = mktime($E,0,0,$m,$d,$y);
90
91
92/* look in the database for a scheduleed event and build the calander */
93	$q = "SELECT * FROM ".PRFX."TABLE_SCHEDULE WHERE SCHEDULE_START >= " . $business_start. " AND SCHEDULE_START  <= " .$business_end. "
94			AND  EMPLOYEE_ID ='".$tech."' ORDER BY SCHEDULE_START ASC";
95	if(!$rs = $db->Execute($q)) {
96		force_page('core', 'error&error_msg=MySQL Error: '.$db->ErrorMsg().'&menu=1&type=database');
97			exit;
98	}
99
100	$sch = array();
101	while (!$rs->EOF ){
102		array_push($sch, array(
103				 "SCHEDULE_ID"		=> $rs->fields["SCHEDULE_ID"],
104				 "SCHEDULE_START"	=> $rs->fields["SCHEDULE_START"],
105				 "SCHEDULE_END"		=> $rs->fields["SCHEDULE_END"],
106				 "SCHEDULE_NOTES"	=> $rs->fields["SCHEDULE_NOTES"],
107				 "WORK_ORDER_ID"	=> $rs->fields["WORK_ORDER_ID"]
108				 ));
109		$rs->MoveNext();
110	}
111
112
113
114/* start the calendar var */
115$calendar .= "<table  cellpadding=\"0\" cellspacing=\"0\"  class=\"olotable\">\n
116		<tr>\n
117			<td class=\"olohead\" width=\"75\">&nbsp;</td>\n
118			<td class=\"olohead\" width=\"600\">&nbsp;</td>\n
119		</tr>\n"	;
120
121$i = 0;
122$start = mktime($H,0,0,$m,$d,$y);
123
124while($start <= $business_end){
125
126	if(date("i",$start) == 0) {
127
128		$calendar .= "<tr><td class=\"olotd\" nowrap>&nbsp;<b>".date("h:i a", $start)."</b></td>\n";
129
130		if($start >= $sch[$i]['SCHEDULE_START'] && $start <= $sch[$i]['SCHEDULE_END']){
131
132			if($start == $sch[$i]['SCHEDULE_START']){
133
134					if($sch[$i]['WORK_ORDER_ID'] != 0) {
135						$calendar .= "<td class=\"menutd2\" align=\"center\" onClick=\"window.location='?page=workorder:view&wo_id=".$sch[$i]['WORK_ORDER_ID']."page_title=Work Order ID ".$sch[$i]['WORK_ORDER_ID ']."'\"><b>\n";
136						$calendar .= "Work Order ID ". $sch[$i]['WORK_ORDER_ID']." From: ".date("h:i a",$sch[$i]['SCHEDULE_START'])." To: ".date("h:i a",$sch[$i]['SCHEDULE_END'])." ".$sch[$i]['SCHEDULE_NOTES']."\n";
137						$calendar . "</b></td>\n";
138					} else {
139						$calendar .= "<td class=\"menutd2\" align=\"center\" onClick=\"window.location='?page=schedule:view&sch_id=".$sch[$i]['SCHEDULE_ID']."'\">";
140						$calendar .= "<b>From: ".date("h:i a",$sch[$i]['SCHEDULE_START'])." To: ".date("h:i a",$sch[$i]['SCHEDULE_END']).' '.$sch[$i]['SCHEDULE_NOTES']."\n";
141						$calendar .= "</b></td>\n";
142					}
143
144			} else {
145				$calendar .= "<td class=\"menutd2\">&nbsp;</td>\n";
146			}
147
148		} else {
149
150			$calendar .= "<td class=\"olotd\" onClick=\"window.location='?page=schedule:new&starttime=".date("h:i a", $start)."&day=".$cur_date."&wo_id=".$wo_id."&tech=".$tech."'\"></td>\n";
151		}
152
153		$calendar .= "</tr>";
154	} else {
155		$calendar .= "<tr>\n<td></td>\n";
156
157		if($start >= $sch[$i]['SCHEDULE_START'] && $start <= $sch[$i]['SCHEDULE_END']){
158
159			if($start == $sch[$i]['SCHEDULE_START']) {
160
161				if($sch[$i]['WORK_ORDER_ID'] != 0) {
162					$calendar .= "<td class=\"menutd2\" align=\"center\" onClick=\"window.location='?page=workorder:view&wo_id=".$sch[$i]['WORK_ORDER_ID']."page_title=Work Order ID ".$sch[$i]['WORK_ORDER_ID ']."'\"><b>\n";
163					$calendar .= "Work Order ID ". $sch[$i]['WORK_ORDER_ID']." From: ".date("h:i a",$sch[$i]['SCHEDULE_START'])." To: ".date("h:i a",$sch[$i]['SCHEDULE_END'])." ".$sch[$i]['SCHEDULE_NOTES']."\n";
164					$calendar . "</b></td>\n";
165				} else {
166					$calendar .= "<td class=\"menutd2\" align=\"center\" onClick=\"window.location='?page=schedule:view&sch_id=".$sch[$i]['SCHEDULE_ID']."'\">";
167					$calendar .= "<b>From: ".date("h:i a",$sch[$i]['SCHEDULE_START'])." To: ".date("h:i a",$sch[$i]['SCHEDULE_END']).' '.$sch[$i]['SCHEDULE_NOTES']."\n";
168					$calendar .= "</b></td>\n";
169				}
170
171			}  else {
172				$calendar .= "<td class=\"menutd2\"><br></td>\n</tr>";
173			}
174
175		} else {
176			$calendar .= "<td class=\"olotd4\" onClick=\"window.location='?page=schedule:new&starttime=".date("h:i a", $start) ."&day=".$cur_date."&wo_id=".$wo_id."&tech=".$tech."'\">&nbsp; ".date("h:i a", $start)."</td>\n</tr>";
177		}
178
179	}
180
181	if($start == $sch[$i]['SCHEDULE_END']) {
182		$i++;
183	}
184	$start = mktime(date("H",$start),date("i",$start)+15,0,$m,$d,$y);
185
186
187}
188
189$calendar .= "\n</table>";
190
191/* feed smarty */
192$smarty->assign('calendar', $calendar);
193$smarty->assign('cur_date', $cur_date);
194$smarty->assign('d', $d);
195$smarty->assign('m', $m);
196$smarty->assign('y', $y);
197$smarty->display('schedule'.SEP.'print.tpl');
198
199
200?>
201