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\"> </td>\n 118 <td class=\"olohead\" width=\"600\"> </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> <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\"> </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."'\"> ".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