function list_tickets($sort_by_field = '', $sort_value = '', $my_offset = 0) { // list tickets =================================================== global $istest, $iw_width, $units_side_bar_height, $do_blink, $nature, $disposition, $patient, $incident, $incidents, $gt_status; // 12/3/10 $time = microtime(true); // Gets microseconds @session_start(); // $captions = array(get_text("Current situation"), "{$incidents} closed today", "{$incidents} closed yesterday+", "{$incidents} closed this week", "{$incidents} closed last week", "{$incidents} closed last week+", "{$incidents} closed this month", "{$incidents} closed last month", "{$incidents} closed this year", "{$incidents} closed last year", "Scheduled"); $by_severity = array(0, 0, 0); // counters // 5/2/10 if (!array_key_exists('func', $_GET)) { // 3/15/11 $func = 0; } else { extract($_GET); } if (array_key_exists('func', $_GET) && $_GET['func'] == 10) { // 3/15/11 $func = 10; } $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}' ORDER BY `id` ASC;"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $al_groups = array(); $al_names = ""; $a_gp_bounds = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; $query2 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$row['group']}';"; // 6/10/11 $result2 = mysql_query($query2); // 4/18/11 while ($row2 = stripslashes_deep(mysql_fetch_assoc($result2))) { // // 6/10/11 $al_names .= $row2['group_name'] . ", "; } } if (is_super()) { // 6/10/11 $al_names .= "Superadmin Level"; } if (isset($_SESSION['list_type'])) { $func = $_SESSION['list_type']; } // 12/02/10 persistance for the tickets list $cwi = get_variable('closed_interval'); // closed window interval in hours $get_sortby = empty($_GET) || !empty($_GET) && empty($_GET['sortby']) ? "" : $_GET['sortby']; $get_offset = empty($_GET) || !empty($_GET) && empty($_GET['offset']) ? "" : $_GET['offset']; if (!isset($_GET['status'])) { $open = "Open"; } else { $open = isset($_GET['status']) && $_GET['status'] == $GLOBALS['STATUS_OPEN'] ? "Open" : ""; $open = isset($_GET['status']) && $_GET['status'] == $GLOBALS['STATUS_SCHEDULED'] ? "Scheduled" : ""; // 11/29/10 } if (isset($_SESSION['viewed_groups'])) { // 6/10/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } else { $curr_viewed = $al_groups; } $curr_names = ""; // 6/10/11 $z = 0; // 6/10/11 foreach ($curr_viewed as $grp_id) { // 6/10/11 $counter = count($curr_viewed) > $z + 1 ? ", " : ""; $curr_names .= get_groupname($grp_id); $curr_names .= $counter; $z++; } $heading = $captions[$func] . " - " . get_variable('map_caption'); $regs_string = "<FONT SIZE='-1'>Allocated " . get_text("Regions") . ": " . $al_names . " | Currently Viewing " . get_text("Regions") . ": " . $curr_names . "</FONT>"; // 6/10/11 $eols = array("\r\n", "\n", "\r"); // all flavors of eol @session_start(); $query = "SELECT `id` FROM `{$GLOBALS['mysql_prefix']}responder`"; // 5/12/10 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), __FILE__, __LINE__); unset($result); $required = 48 + mysql_affected_rows() * 22; // derived by trial and error - emphasis the latter = 7/18/10 $the_height = (int) min(round($units_side_bar_height * $_SESSION['scr_height']), $required); // see main for $units_side_bar_height value $buttons_width = (int) get_variable('map_width') - 50; $show_controls = isset($_SESSION['hide_controls']) && $_SESSION['hide_controls'] == "s" ? "" : "none"; // 3/15/11 $col_butt = isset($_SESSION['hide_controls']) && $_SESSION['hide_controls'] == "s" ? "" : "none"; // 3/15/11 $exp_butt = isset($_SESSION['hide_controls']) && $_SESSION['hide_controls'] == "h" ? "" : "none"; // 3/15/11 $show_resp = isset($_SESSION['resp_list']) && $_SESSION['resp_list'] == "s" ? "" : "none"; // 3/15/11 $resp_col_butt = isset($_SESSION['resp_list']) && $_SESSION['resp_list'] == "s" ? "" : "none"; // 3/15/11 $resp_exp_butt = isset($_SESSION['resp_list']) && $_SESSION['resp_list'] == "h" ? "" : "none"; // 3/15/11 $show_facs = isset($_SESSION['facs_list']) && $_SESSION['facs_list'] == "s" ? "" : "none"; // 3/15/11 $facs_col_butt = isset($_SESSION['facs_list']) && $_SESSION['facs_list'] == "s" ? "" : "none"; // 3/15/11 $facs_exp_butt = isset($_SESSION['facs_list']) && $_SESSION['facs_list'] == "h" ? "" : "none"; // 3/15/11 $user_level = is_super() ? 9999 : $_SESSION['user_id']; $regions_inuse = get_regions_inuse($user_level); $group = get_regions_inuse_numbers($user_level); // dump($group); // dump(get_tickets_allocated($group)); $test_size = 1200; // scale map down if monitor width LT test value - 6/28/11 $map_factor = $_SESSION['scr_width'] < $test_size ? $_SESSION['scr_width'] / $test_size : 1.0; // a float $col_width = max(320, intval($_SESSION['scr_width'] * 0.45)); $ctrls_width = $col_width * 0.75; ?> <DIV style='z-index: 1;'> <TABLE BORDER=0> <A NAME='top'></a> <TR CLASS='header'><TD COLSPAN='99' ALIGN='center'><FONT CLASS='header' STYLE='background-color: inherit;'><?php print $heading; ?> </FONT> <SPAN ID='sev_counts' CLASS='sev_counts'></SPAN> </TD></TR> <TR CLASS='header'><TD COLSPAN='99' ALIGN='center'> <SPAN ID='region_flags' style='background: #00FFFF; font-weight: bold;'></SPAN> </TD></TR> <TR CLASS='spacer'><TD CLASS='spacer' COLSPAN='99' ALIGN='center'> </TD></TR> <TR><TD align = 'left' VALIGN='TOP' > <TABLE> <TR class = 'heading'><TH width = <?php print $col_width; ?> ALIGN='center' COLSPAN='99'>Incidents <SPAN ID='sched_flag'></SPAN> <SPAN id='collapse_incs' onClick="hideDiv('incs_list_sh', 'collapse_incs', 'expand_incs')" style = 'display: "";'><IMG SRC = './markers/collapse.png' ALIGN='right'></SPAN> <SPAN id='expand_incs' onClick="showDiv('incs_list_sh', 'collapse_incs', 'expand_incs')" style = 'display: none;'><IMG SRC = './markers/expand.png' ALIGN='right'></SPAN> </TH></TR> <TR><TD> <DIV ID='incs_list_sh'> <DIV ID = 'side_bar'></DIV> </DIV> </TD></TR> </TABLE> <TABLE> <TR class = 'heading'><TH width = <?php print $col_width; ?> ALIGN='center' COLSPAN='99'>Responders <SPAN id='collapse_resp' onClick="hideDiv('resp_list_sh', 'collapse_resp', 'expand_resp')" style = "display: <?php print $resp_col_butt; ?> ;"><IMG SRC = './markers/collapse.png' ALIGN='right'></SPAN> <SPAN id='expand_resp' onClick="showDiv('resp_list_sh', 'collapse_resp', 'expand_resp')" style = "display: <?php print $resp_exp_butt; ?> ;"><IMG SRC = './markers/expand.png' ALIGN='right'></SPAN> </TH></TR> <TR><TD> <DIV ID='resp_list_sh' style='display: <?php print $show_resp; ?> '> <DIV ID = 'side_bar_r' style='min-height: 100px; max-height: <?php print $the_height; ?> px; overflow-y: scroll; overflow-x: hidden;'></DIV> <DIV ID = 'side_bar_rl'></DIV> <DIV STYLE = "height:12px;"> </DIV> <DIV ID = 'units_legend'></DIV> </DIV> </TD></TR> </TABLE> <TABLE> <TR class = 'heading'><TH width = <?php print $col_width; ?> ALIGN='center' COLSPAN='99'>Facilities <SPAN id='collapse_facs' onClick="hideDiv('facs_list_sh', 'collapse_facs', 'expand_facs')" style = "display: <?php print $facs_col_butt; ?> ;"><IMG SRC = './markers/collapse.png' ALIGN='right'></SPAN> <SPAN id='expand_facs' onClick="showDiv('facs_list_sh', 'collapse_facs', 'expand_facs')" style = "display: <?php print $facs_exp_butt; ?> ;"><IMG SRC = './markers/expand.png' ALIGN='right'></SPAN> </TH></TR> <TR><TD> <DIV ID='facs_list_sh' style='display: <?php print $show_facs; ?> '> <DIV ID = 'side_bar_f' style="min-height: 100px; max-height: <?php print $the_height; ?> px; overflow-y: scroll; overflow-x: hidden;"></DIV> <DIV STYLE = "height:12px"> </DIV> <DIV ID = 'facs_legend'></DIV> </DIV> </TD></TR> </TABLE> </TD> <TD></TD> <TD CLASS='td_label'> <TABLE> <TR><TD ALIGN='center' padding="0"> <DIV ID='map' STYLE='WIDTH: <?php print round($map_factor * get_variable('map_width')); ?> PX; HEIGHT: <?php print round($map_factor * get_variable('map_height')); ?> PX; z-index: 999;'></DIV> </TD></TR> <TR><TD ALIGN='center' style='padding: 0'> <BR /><CENTER><A HREF='#' onClick='doGrid()'><u>Grid</U></A> <A HREF='#' onClick='doTraffic()'><U>Traffic</U></A></CENTER> </TD></TR> <TR><TD> </TD></TR> <!-- 3/15/11 --> <TR><TD> <TABLE ALIGN='center' WIDTH='<?php print $ctrls_width; ?> '> <TR class='heading'><TH ALIGN='center' COLSPAN=99>Show / Hide <SPAN id='collapse_buttons' onClick="hideDiv('buttons_sh', 'collapse_buttons', 'expand_buttons')" style = "display: <?php print $col_butt; ?> ;"><IMG SRC = './markers/collapse.png' ALIGN='right'></SPAN> <SPAN id='expand_buttons' onClick="showDiv('buttons_sh', 'collapse_buttons', 'expand_buttons')" style = "display: <?php print $exp_butt; ?> ;"><IMG SRC = './markers/expand.png' ALIGN='right'></SPAN> </TH></TR> <TR class='even'><TD> <CENTER> <TABLE ID='buttons_sh' style='display: <?php print $show_controls; ?> ;'> <TR CLASS='odd'><TD> <TABLE> <TR class='heading_2'><TH ALIGN='center' WIDTH='<?php print $ctrls_width; ?> '>Incidents</TH></TR> <TR><TD> <!-- 3/15/11 --> <DIV class='pri_button' onClick="set_pri_chkbox('normal'); hideGroup(1, 'Incident');"><IMG SRC = './our_icons/sm_blue.png' STYLE = 'vertical-align: middle'BORDER=0> Normal: <input type=checkbox id='normal' onClick="set_pri_chkbox('normal')"/> </DIV> <DIV class='pri_button' onClick="set_pri_chkbox('medium'); hideGroup(2, 'Incident');"><IMG SRC = './our_icons/sm_green.png' BORDER=0 STYLE = 'vertical-align: middle'> Medium: <input type=checkbox id='medium' onClick="set_pri_chkbox('medium')"/> </DIV> <DIV class='pri_button' onClick="set_pri_chkbox('high'); hideGroup(3, 'Incident');"><IMG SRC = './our_icons/sm_red.png' BORDER=0 STYLE = 'vertical-align: middle'> High: <input type=checkbox id='high' onClick="set_pri_chkbox('high')"/> </DIV> <DIV class='pri_button' ID = 'pri_all' class='pri_button' STYLE = 'display: none; width: 70px;' onClick="set_pri_chkbox('all'); hideGroup(4, 'Incident');"><IMG SRC = './our_icons/sm_blue.png' BORDER=0 STYLE = 'vertical-align: middle'><IMG SRC = './our_icons/sm_green.png' BORDER=0 STYLE = 'vertical-align: middle'><IMG SRC = './our_icons/sm_red.png' BORDER=0 STYLE = 'vertical-align: middle'> All <input type=checkbox id='all' STYLE = 'display:none;' onClick="set_pri_chkbox('all')"/> </DIV> <DIV class='pri_button' ID = 'pri_none' class='pri_button' STYLE = 'width: 60px;' onClick="set_pri_chkbox('none'); hideGroup(5, 'Incident');"><IMG SRC = './our_icons/sm_white.png' BORDER=0 STYLE = 'vertical-align: middle'> None <input type=checkbox id='none' STYLE = 'display:none;' onClick="set_pri_chkbox('none')"/> </DIV> </TD></TR> </TABLE> </TD></TR> <TR CLASS='odd'><TD> <DIV ID = 'boxes' ALIGN='center' VALIGN='middle' style='text-align: center; vertical-align: middle;'></DIV> </TD></TR> <!-- 12/03/10, 3/15/11 --> <TR CLASS='odd'><TD> <DIV ID = 'fac_boxes' ALIGN='center' VALIGN='middle' style='text-align: center; vertical-align: middle;'></DIV> </TD></TR> <!-- 12/03/10, 3/15/11 --> <TR CLASS='odd'><TD> <DIV ID = 'poly_boxes' ALIGN='center' VALIGN='middle' style='text-align: center; vertical-align: middle;'></DIV> </TD></TR> </TABLE> </CENTER> </TD></TR> </TABLE> </TD></TR> <TR><TD CLASS='td_label' COLSPAN=99 ALIGN='CENTER'> <A HREF="mailto:info@TicketsCAD.org?subject=Question/Comment on Tickets Dispatch System"><u>Contact us</u> <IMG SRC="mail.png" BORDER="0" STYLE="vertical-align: text-bottom"></A> </TD></TR> </TABLE> </TD></TR> </TABLE> </DIV> <FORM NAME='unit_form' METHOD='get' ACTION="<?php print $_SESSION['unitsfile']; ?> "> <!-- 7/28/10 --> <INPUT TYPE='hidden' NAME='func' VALUE='responder'> <INPUT TYPE='hidden' NAME='view' VALUE=''> <INPUT TYPE='hidden' NAME='edit' VALUE=''> <INPUT TYPE='hidden' NAME='id' VALUE=''> </FORM> <FORM NAME='tick_form' METHOD='get' ACTION='<?php print $_SESSION['editfile']; ?> '> <!-- 11/27/09 7/28/10 --> <INPUT TYPE='hidden' NAME='id' VALUE=''> </FORM> <FORM NAME='sort_form' METHOD='post' ACTION='main.php'> <!-- 6/11/10 --> <INPUT TYPE='hidden' NAME='order' VALUE=''> </FORM> <FORM NAME='fac_sort_form' METHOD='post' ACTION='main.php'> <!-- 3/15/11 --> <INPUT TYPE='hidden' NAME='forder' VALUE=''> </FORM> <FORM NAME='facy_form_ed' METHOD='get' ACTION='<?php print $_SESSION['facilitiesfile']; ?> '> <!-- 8/3/10 --> <INPUT TYPE='hidden' NAME='id' VALUE=''> <INPUT TYPE='hidden' NAME='edit' VALUE='true'> </FORM> <SCRIPT> //================================= 7/18/10 $('region_flags').innerHTML = "<?php print $regs_string; ?> "; // 5/2/10 <?php function get_buttons($user_id) { // 5/3/11 $regs_viewed = ""; if (isset($_SESSION['viewed_groups'])) { $regs_viewed = explode(",", $_SESSION['viewed_groups']); } $query2 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$user_id}' ORDER BY `group`"; // 5/3/11 $result2 = mysql_query($query2) or do_error($query2, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $al_buttons = ""; while ($row2 = stripslashes_deep(mysql_fetch_assoc($result2))) { // 5/3/11 if (!empty($regs_viewed)) { if (in_array($row2['group'], $regs_viewed)) { $al_buttons .= "<DIV style='display: block;'><INPUT TYPE='checkbox' CHECKED name='frm_group[]' VALUE='{$row2['group']}'></INPUT>" . get_groupname($row2['group']) . " </DIV>"; } else { $al_buttons .= "<DIV style='display: block;'><INPUT TYPE='checkbox' name='frm_group[]' VALUE='{$row2['group']}'></INPUT>" . get_groupname($row2['group']) . " </DIV>"; } } else { $al_buttons .= "<DIV style='display: block;'><INPUT TYPE='checkbox' CHECKED name='frm_group[]' VALUE='{$row2['group']}'></INPUT>" . get_groupname($row2['group']) . " </DIV>"; } } // dump($al_buttons); return $al_buttons; } if (get_num_groups() && COUNT(get_allocates(4, $_SESSION['user_id'])) > 1) { // 6/10/11 ?> side_bar_html= ""; side_bar_html+="<TABLE><TR class='even'><TD COLSPAN=99 CLASS='td_label' ><form name='region_form' METHOD='post' action='main.php'><DIV>"; side_bar_html += "<?php print get_buttons($_SESSION['user_id']); ?> "; side_bar_html+="</DIV></form></TD></TR><TR><TD> </TD></TR><TR><TD ALIGN='center'><INPUT TYPE='button' VALUE='Update' onClick='form_validate(document.region_form);'></TD></TR></TABLE>"; $("region_boxes").innerHTML = side_bar_html; <?php } ?> var boundary = new Array(); var bound_names = new Array(); function add_hash(in_str) { // prepend # if absent return (in_str.substr(0,1)=="#")? in_str : "#" + in_str; } function do_landb() { // JS function - 8/1/11 var points = new Array(); <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` WHERE `line_status` = 0 AND `use_with_bm` = 1"; $result = mysql_query($query) or do_error($query, $query, mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $empty = FALSE; extract($row); $name = $row['line_name']; switch ($row['line_type']) { case "p": // poly $points = explode(";", $line_data); echo "\n\tvar points = new Array();\n"; for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> var thepoint = new GLatLng(<?php print $coords[0]; ?> , <?php print $coords[1]; ?> ); bounds.extend(thepoint); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1 && count($points) > 2) { ?> var polyline = new GPolygon(points,add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> ,add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> ); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> ); <?php } ?> map.addOverlay(polyline); <?php break; case "c": // circle $temp = explode(";", $line_data); $radius = $temp[1]; $coords = explode(",", $temp[0]); $lat = $coords[0]; $lng = $coords[1]; $fill_opacity = intval($filled) == 0 ? 0 : $fill_opacity; echo "\n drawCircle({$lat}, {$lng}, {$radius}, add_hash('{$line_color}'), {$line_width}, {$line_opacity}, add_hash('{$fill_color}'), {$fill_opacity}, {$name}); // 513\n"; break; case "t": // text banner $temp = explode(";", $line_data); $banner = $temp[1]; $coords = explode(",", $temp[0]); echo "\n var point = new GLatLng(parseFloat({$coords[0]}) , parseFloat({$coords[1]}));\n"; $the_banner = htmlentities($banner, ENT_QUOTES); $the_width = intval(trim($line_width), 10); // font size echo "\n drawBanner( point, '{$the_banner}', '{$the_banner}', {$the_width});\n"; break; } // end switch } // end while () unset($query, $result); ?> } // end function do_landb() /* try { do_landb(); // 7/3/11 - show lines } catch (e) { } */ //================================= 7/18/10 var spe=500; var NameOfYourTags="mi"; var swi=1; var na=document.getElementsByName(NameOfYourTags); var sho; doBlink(); function doBlink() { if (swi == 1) { sho="visible"; swi=0; } else { sho="hidden"; swi=1; } for(i=0;i<na.length;i++) { na[i].style.visibility=sho; } setTimeout("doBlink()", spe); } Array.prototype.contains = function (element) { for (var i = 0; i < this.length; i++) { if (this[i] == element) { return true; } } return false; } function writeConsole(content) { top.consoleRef=window.open('','myconsole', 'width=800,height=250' +',menubar=0' +',toolbar=0' +',status=0' +',scrollbars=1' +',resizable=1') top.consoleRef.document.writeln('<html><head><title>Console</title></head>' +'<body bgcolor=white onLoad="self.focus()">' +content +'</body></html>' ) // end top.consoleRef.document.writeln() top.consoleRef.document.close(); } // end function writeConsole(content) function isNull(val) { // checks var stuff = null; return val === null; } function to_session(the_name, the_value) { // generic session variable writer - 3/8/10, 4/4/10 function local_handleResult(req) { // the called-back function } // end function local handleResult var params = "f_n=" + the_name; // 1/20/09 params += "&f_v=" + the_value; // 4/4/10 sendRequest ('do_session_get.php',local_handleResult, params); // does the work via POST } function to_server(the_unit, the_status) { // write unit status data via ajax xfer var querystr = "frm_responder_id=" + the_unit; querystr += "&frm_status_id=" + the_status; var url = "as_up_un_status.php?" + querystr; // var payload = syncAjax(url); // if (payload.substring(0,1)=="-") { alert ("<?php print __LINE__; ?> : msg failed "); return false; } else { parent.frames['upper'].show_msg ('Unit status update applied!') return true; } // end if/else (payload.substring(... ) } // end function to_server() function to_server_fac(the_unit, the_status) { // 3/15/11 // 3/15/11 var querystr = "frm_responder_id=" + the_unit; querystr += "&frm_status_id=" + the_status; var url = "as_up_fac_status.php?" + querystr; var payload = syncAjax(url); if (payload.substring(0,1)=="-") { alert ("<?php print __LINE__; ?> : msg failed "); return false; } else { parent.frames['upper'].show_msg ('Facility status update applied!') return true; } // end if/else (payload.substring(... ) } // end function to_server_fac() function syncAjax(strURL) { // synchronous ajax function if (window.XMLHttpRequest) { AJAX=new XMLHttpRequest(); } else { AJAX=new ActiveXObject("Microsoft.XMLHTTP"); } if (AJAX) { AJAX.open("GET", strURL, false); AJAX.send(null); // e return AJAX.responseText; } else { alert ("<?php print __LINE__; ?> : failed"); return false; } } // end function sync Ajax(strURL) var starting = false; function do_mail_win(the_id) { if(starting) {return;} // dbl-click catcher starting=true; var url = "do_unit_mail.php?name=" + escape(the_id); // newwindow_mail=window.open(url, "mail_edit", "titlebar, location=0, resizable=1, scrollbars, height=320,width=720,status=0,toolbar=0,menubar=0,location=0, left=100,top=300,screenX=100,screenY=300"); if (isNull(newwindow_mail)) { alert ("Email edit operation requires popups to be enabled -- please adjust your browser options."); return; } newwindow_mail.focus(); starting = false; } // end function do mail_win() function do_fac_mail_win(the_name, the_addrs) { // 3/8/10 if(starting) {return;} // dbl-click catcher starting=true; var url = (isNull(the_name))? "do_fac_mail.php?" : "do_fac_mail.php?name=" + escape(the_name) + "&addrs=" + escape(the_addrs); // newwindow_mail=window.open(url, "mail_edit", "titlebar, location=0, resizable=1, scrollbars, height=320,width=720,status=0,toolbar=0,menubar=0,location=0, left=100,top=300,screenX=100,screenY=300"); if (isNull(newwindow_mail)) { alert ("Email edit operation requires popups to be enabled -- please adjust your browser options."); return; } newwindow_mail.focus(); starting = false; } // end function do mail_win() function do_close_tick(the_id) { // 3/15/11 if(starting) {return;} // dbl-click catcher starting=true; var url = "close_in.php?ticket_id=" + escape(the_id); // newwindow_close = window.open(url, "close_ticket", "titlebar, location=0, resizable=1, scrollbars, height=300, width=700, status=0, toolbar=0, menubar=0, left=100,top=100,screenX=100,screenY=100"); if (isNull(newwindow_close)) { alert ("Close Ticket operation requires popups to be enabled -- please adjust your browser options."); return; } newwindow_close.focus(); starting = false; } // end function do mail_win() function to_str(instr) { // 0-based conversion - 2/13/09 function ord( string ) { return (string+'').charCodeAt(0); } function chr( ascii ) { return String.fromCharCode(ascii); } function to_char(val) { return(chr(ord("A")+val)); } var lop = (instr % 26); // low-order portion, a number var hop = ((instr - lop)==0)? "" : to_char(((instr - lop)/26)-1) ; // high-order portion, a string return hop+to_char(lop); } function sendRequest(url,callback,postData) { // 2/14/09 var req = createXMLHTTPObject(); if (!req) return; var method = (postData) ? "POST" : "GET"; req.open(method,url,true); req.setRequestHeader('User-Agent','XMLHTTP/1.0'); if (postData) req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); req.onreadystatechange = function () { if (req.readyState != 4) return; if (req.status != 200 && req.status != 304) { <?php if ($istest) { print "\t\t\talert('HTTP error ' + req.status + '" . __LINE__ . "');\n"; } ?> return; } callback(req); } if (req.readyState == 4) return; req.send(postData); } var XMLHttpFactories = [ function () {return new XMLHttpRequest() }, function () {return new ActiveXObject("Msxml2.XMLHTTP") }, function () {return new ActiveXObject("Msxml3.XMLHTTP") }, function () {return new ActiveXObject("Microsoft.XMLHTTP") } ]; function createXMLHTTPObject() { var xmlhttp = false; for (var i=0;i<XMLHttpFactories.length;i++) { try { xmlhttp = XMLHttpFactories[i](); } catch (e) { // continue; } break; } return xmlhttp; } function get_chg_disp_tr() { // 5/5/11 var chg_disp_tr ="<TR><TD COLSPAN=99 ALIGN='center'>\n"; chg_disp_tr +="\t\t<FORM NAME = 'frm_interval_sel' STYLE = 'display:inline' >\n"; chg_disp_tr +="\t\t<SELECT NAME = 'frm_interval' onChange = 'do_listtype(this.value);'>\n"; chg_disp_tr +="\t\t<OPTION VALUE='99' SELECTED><?php print get_text("Change display"); ?> </OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='0'><?php print get_text("Current situation"); ?> </OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='1'><?php print $incidents; ?> closed today</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='2'><?php print $incidents; ?> closed yesterday+</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='3'><?php print $incidents; ?> closed this week</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='4'><?php print $incidents; ?> closed last week</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='5'><?php print $incidents; ?> closed last week+</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='6'><?php print $incidents; ?> closed this month</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='7'><?php print $incidents; ?> closed last month</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='8'><?php print $incidents; ?> closed this year</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='9'><?php print $incidents; ?> closed last year</OPTION>\n"; chg_disp_tr +="\t\t</SELECT>\n</FORM>\n"; chg_disp_tr +="\t\t<SPAN ID = 'btn_go' onClick='document.to_listtype.submit()' CLASS='conf_button' STYLE = 'margin-left: 10px; display:none'><U>Next</U></SPAN>"; chg_disp_tr +="\t\t<SPAN ID = 'btn_can' onClick='hide_btns_closed(); hide_btns_scheduled(); ' CLASS='conf_button' STYLE = 'margin-left: 10px; display:none'><U>Cancel</U></SPAN>"; chg_disp_tr +="<br /><br /></TD></TR>\n"; return chg_disp_tr; } // end function get chg_disp_tr() <?php $quick = (is_super() || is_administrator()) && intval(get_variable('quick') == 1); // 8/3/10 print $quick ? "var quick = true;\n" : "var quick = false;\n"; ?> var tr_id_fixed_part = "tr_id_"; // 3/2/10 if (GBrowserIsCompatible()) { // $("map").style.backgroundImage = "url(./markers/loading.jpg)"; $("map").style.backgroundImage = "url('http://maps.google.com/staticmap?center=<?php echo get_variable('def_lat'); ?> ,<?php echo get_variable('def_lng'); ?> &zoom=<?php echo get_variable('def_zoom'); ?> &size=<?php echo round($map_factor * get_variable('map_width')); ?> x<?php echo round($map_factor * get_variable('map_height')); ?> &key=<?php echo get_variable('gmaps_api_key'); ?> ')"; var colors = new Array ('odd', 'even'); function drawCircle(lat, lng, radius, strokeColor, strokeWidth, strokeOpacity, fillColor, fillOpacity, name) { // 8/19/09 // drawCircle(53.479874, -2.246704, 10.0, "#000080", 1, 0.75, "#0000FF", .5); var d2r = Math.PI/180; var r2d = 180/Math.PI; var Clat = radius * 0.014483; var Clng = Clat/Math.cos(lat * d2r); var Cpoints = []; for (var i=0; i < 33; i++) { var theta = Math.PI * (i/16); Cy = lat + (Clat * Math.sin(theta)); Cx = lng + (Clng * Math.cos(theta)); var P = new GPoint(Cx,Cy); Cpoints.push(P); } var polygon = new GPolygon(Cpoints, strokeColor, strokeWidth, strokeOpacity, fillColor, fillOpacity); map.addOverlay(polygon); } function drawBanner(point, html, text, font_size, color, name) { // Create the banner // alert("<?php echo __LINE__; ?> " + color); var invisibleIcon = new GIcon(G_DEFAULT_ICON, "./markers/markerTransparent.png"); // Custom icon is identical to the default icon, except invisible map.setCenter(point, 8); // map.addControl(new GLargeMapControl()); // map.addControl(new GMapTypeControl()); var the_color = (typeof color == 'undefined')? "#000000" : color ; // default to black var style_str = 'background-color:transparent;font-weight:bold;border:0px black solid;white-space:nowrap; font-size:' + font_size + 'px; font-family:arial; opacity: 0.9; color:' + add_hash(the_color) + ';'; var contents = '<div><div style= "' + style_str + '">'+text+'<\/div><\/div>'; var label=new ELabel(point, contents, null, new GSize(-8,4), 75, 1); map.addOverlay(label); var marker = new GMarker(point,invisibleIcon); // Create an invisible GMarker // map.addOverlay(marker); } // end function draw Banner() function URLEncode(plaintext ) { // 3/15/11 The Javascript escape and unescape functions do, // NOT correspond with what browsers actually do... var SAFECHARS = "0123456789" + // Numeric "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic "abcdefghijklmnopqrstuvwxyz" + // guess "-_.!*'()"; // RFC2396 Mark characters var HEX = "0123456789ABCDEF"; var encoded = ""; for (var i = 0; i < plaintext.length; i++ ) { var ch = plaintext.charAt(i); if (ch == " ") { encoded += "+"; // x-www-urlencoded, rather than %20 } else if (SAFECHARS.indexOf(ch) != -1) { encoded += ch; } else { var charCode = ch.charCodeAt(0); if (charCode > 255) { alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" + "(URL encoding only supports 8-bit characters.)\n" + "A space (+) will be substituted." ); encoded += "+"; } else { encoded += "%"; encoded += HEX.charAt((charCode >> 4) & 0xF); encoded += HEX.charAt(charCode & 0xF); } } } // end for(...) return encoded; }; // end function // Tickets show / hide by Priority functions function set_initial_pri_disp() { $('normal').checked = true; $('medium').checked = true; $('high').checked = true; $('all').checked = true; $('none').checked = false; } function hideGroup(color, category) { // 8/7/09 Revised function to correct incorrect display, revised 12/03/10 completely revised var priority = color; var priority_name=""; if(priority == 1) { priority_name="normal"; } if(priority == 2) { priority_name="medium"; } if(priority == 3) { priority_name="high"; } if(priority == 4) { priority_name="all"; } if(priority == 5) { priority_name="none"; } if(priority == 1) { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if ((gmarkers[i].id == priority) && (gmarkers[i].category == category)) { gmarkers[i].show(); } if ((gmarkers[i].id != priority) && (gmarkers[i].category == category)) { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = true; $('medium').checked = false; $('high').checked = false; $('all').checked = false; $('none').checked = false; $('pri_all').style.display = ''; $('pri_none').style.display = ''; } // end if priority == 1 if(priority == 2) { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if ((gmarkers[i].id == priority) && (gmarkers[i].category == category)) { gmarkers[i].show(); } if ((gmarkers[i].id != priority) && (gmarkers[i].category == category)) { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = false; $('medium').checked = true; $('high').checked = false; $('all').checked = false; $('none').checked = false; $('pri_all').style.display = ''; $('pri_none').style.display = ''; } // end if priority == 2 if(priority == 3) { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if ((gmarkers[i].id == priority) && (gmarkers[i].category == category)) { gmarkers[i].show(); } if ((gmarkers[i].id != priority) && (gmarkers[i].category == category)) { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = false; $('medium').checked = false; $('high').checked = true; $('all').checked = false; $('none').checked = false; $('pri_all').style.display = ''; $('pri_none').style.display = ''; } // end if priority == 3 if(priority == 4) { // show All for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if (gmarkers[i].category == category) { gmarkers[i].show(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = true; $('medium').checked = true; $('high').checked = true; $('all').checked = true; $('none').checked = false; $('pri_all').style.display = 'none'; $('pri_none').style.display = ''; } // end if priority == 4 if(priority == 5) { // hide all for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if (gmarkers[i].category == category) { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = false; $('medium').checked = false; $('high').checked = false; $('all').checked = false; $('none').checked = true; $('pri_all').style.display = ''; $('pri_none').style.display = 'none'; } // end if priority == 5 } // end function hideGroup(color, category) function set_pri_chkbox(control) { var pri_control = control; if($(pri_control).checked == true) { $(pri_control).checked = false; } else { $(pri_control).checked = true; } } // End of Tickets show / hide by Priority functions // Units show / hide functions function set_categories() { // 12/03/10 - checks current session values and sets checkboxes and view states for hide and show. var curr_cats = <?php echo json_encode(get_category_butts()); ?> ; var cat_sess_stat = <?php echo json_encode(get_session_status()); ?> ; var hidden = <?php print find_hidden(); ?> ; var shown = <?php print find_showing(); ?> ; var number_of_units = <?php print get_no_units(); ?> ; if(hidden!=0) { $('ALL').style.display = ''; $('ALL_BUTTON').style.display = ''; $('ALL').checked = false; } else { $('ALL').style.display = 'none'; $('ALL_BUTTON').style.display = 'none'; $('ALL').checked = false; } if((shown!=0) && (number_of_units > 0)) { $('NONE').style.display = ''; $('NONE_BUTTON').style.display = ''; $('NONE').checked = false; } else { $('NONE').style.display = 'none'; $('NONE_BUTTON').style.display = 'none'; $('NONE').checked = false; } for (var i = 0; i < curr_cats.length; i++) { var catname = curr_cats[i]; if(cat_sess_stat[i]=="s") { for (var j = 0; j < gmarkers.length; j++) { if ((gmarkers[j]) && (gmarkers[j].category) && (gmarkers[j].category == catname)) { gmarkers[j].show(); var catid = catname + j; if($(catid)) { $(catid).style.display = ""; } } } $(catname).checked = true; } else { for (var j = 0; j < gmarkers.length; j++) { if ((gmarkers[j]) && (gmarkers[j].category) && (gmarkers[j].category == catname)) { gmarkers[j].hide(); var catid = catname + j; if($(catid)) { $(catid).style.display = "none"; } } } $(catname).checked = false; } } } function do_view_cats() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('go_can').style.display = 'inline'; $('can_button').style.display = 'inline'; $('go_button').style.display = 'inline'; } function cancel_buttons() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('go_can').style.display = 'none'; $('can_button').style.display = 'none'; $('go_button').style.display = 'none'; $('ALL').checked = false; $('NONE').checked = false; } function set_chkbox(control) { var units_control = control; if($(units_control).checked == true) { $(units_control).checked = false; } else { $(units_control).checked = true; } do_view_cats(); } function do_go_button() { // 12/03/10 Show Hide categories var curr_cats = <?php echo json_encode(get_category_butts()); ?> ; if ($('ALL').checked == true) { for (var i = 0; i < curr_cats.length; i++) { var category = curr_cats[i]; var params = "f_n=show_hide_" +URLEncode(category)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gb_handleResult, params); $(category).checked = true; for (var j = 0; j < gmarkers.length; j++) { var catid = category + j; if($(catid)) { $(catid).style.display = ""; } if((gmarkers[j]) && (gmarkers[j].category!="Incident")) { gmarkers[j].show(); } } } $('ALL').checked = false; $('ALL').style.display = 'none'; $('ALL_BUTTON').style.display = 'none'; $('NONE').style.display = ''; $('NONE_BUTTON').style.display = ''; $('go_button').style.display = 'none'; $('can_button').style.display = 'none'; } else if ($('NONE').checked == true) { for (var i = 0; i < curr_cats.length; i++) { var category = curr_cats[i]; var params = "f_n=show_hide_" +URLEncode(category)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gb_handleResult, params); $(category).checked = false; for (var j = 0; j < gmarkers.length; j++) { var catid = category + j; if($(catid)) { $(catid).style.display = "none"; } if((gmarkers[j]) && (gmarkers[j].category!="Incident")) { gmarkers[j].hide(); } } } $('NONE').checked = false; $('ALL').style.display = ''; $('ALL_BUTTON').style.display = ''; $('NONE').style.display = 'none'; $('NONE_BUTTON').style.display = 'none'; $('go_button').style.display = 'none'; $('can_button').style.display = 'none'; } else { var x = 0; var y = 0; for (var i = 0; i < curr_cats.length; i++) { var category = curr_cats[i]; if ($(category).checked == true) { x++; var params = "f_n=show_hide_" +URLEncode(category)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gb_handleResult, params); $(category).checked = true; for (var j = 0; j < gmarkers.length; j++) { var catid = category + j; if($(catid)) { $(catid).style.display = ""; } if ((gmarkers[j]) && (gmarkers[j].category) && (gmarkers[j].category == category)) { gmarkers[j].show(); } } } } for (var i = 0; i < curr_cats.length; i++) { var category = curr_cats[i]; if ($(category).checked == false) { y++; var params = "f_n=show_hide_" +URLEncode(category)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gb_handleResult, params); $(category).checked = false; var y=0; for (var j = 0; j < gmarkers.length; j++) { var catid = category + j; if($(catid)) { $(catid).style.display = "none"; } if ((gmarkers[j]) && (gmarkers[j].category) && (gmarkers[j].category == category)) { gmarkers[j].hide(); } } } } } $('go_button').style.display = 'none'; $('can_button').style.display = 'none'; if((x > 0) && (x < curr_cats.length)) { $('ALL').style.display = ''; $('ALL_BUTTON').style.display = ''; $('NONE').style.display = ''; $('NONE_BUTTON').style.display = ''; } if(x == 0) { $('ALL').style.display = ''; $('ALL_BUTTON').style.display = ''; $('NONE').style.display = 'none'; $('NONE_BUTTON').style.display = 'none'; } if(x == curr_cats.length) { $('ALL').style.display = 'none'; $('ALL_BUTTON').style.display = 'none'; $('NONE').style.display = ''; $('NONE_BUTTON').style.display = ''; } } // end function do_go_button() function gb_handleResult(req) { // 12/03/10 The persist callback function } // Facilities show / hide functions function set_fac_categories() { // 12/03/10 - checks current session values and sets checkboxes and view states for hide and show, revised 3/15/11. var fac_curr_cats = <?php echo json_encode(get_fac_category_butts()); ?> ; var fac_cat_sess_stat = <?php echo json_encode(get_fac_session_status()); ?> ; var fac_hidden = <?php print find_fac_hidden(); ?> ; var fac_shown = <?php print find_fac_showing(); ?> ; if(fac_hidden!=0) { $('fac_ALL').style.display = ''; $('fac_ALL_BUTTON').style.display = ''; $('fac_ALL').checked = false; } else { $('fac_ALL').style.display = 'none'; $('fac_ALL_BUTTON').style.display = 'none'; $('fac_ALL').checked = false; } if(fac_shown!=0) { $('fac_NONE').style.display = ''; $('fac_NONE_BUTTON').style.display = ''; $('fac_NONE').checked = false; } else { $('fac_NONE').style.display = 'none'; $('fac_NONE_BUTTON').style.display = 'none'; $('fac_NONE').checked = false; } for (var i = 0; i < fac_curr_cats.length; i++) { var fac_catname = fac_curr_cats[i]; if(fac_cat_sess_stat[i]=="s") { for (var j = 0; j < fmarkers.length; j++) { if (fmarkers[j].category == fac_catname) { fmarkers[j].show(); var fac_catid = fac_catname + j; if($(fac_catid)) { $(fac_catid).style.display = ""; } } } $(fac_catname).checked = true; } else { for (var j = 0; j < fmarkers.length; j++) { if (fmarkers[j].category == fac_catname) { fmarkers[j].hide(); var fac_catid = fac_catname + j; if($(fac_catid)) { $(fac_catid).style.display = "none"; } } } $(fac_catname).checked = false; } } } function do_view_fac_cats() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('fac_go_can').style.display = 'inline'; $('fac_can_button').style.display = 'inline'; $('fac_go_button').style.display = 'inline'; } function fac_cancel_buttons() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('fac_go_can').style.display = 'none'; $('fac_can_button').style.display = 'none'; $('fac_go_button').style.display = 'none'; $('fac_ALL').checked = false; $('fac_NONE').checked = false; } function set_fac_chkbox(control) { var fac_control = control; if($(fac_control).checked == true) { $(fac_control).checked = false; } else { $(fac_control).checked = true; } do_view_fac_cats(); } function do_go_facilities_button() { // 12/03/10 Show Hide categories var fac_curr_cats = <?php echo json_encode(get_fac_category_butts()); ?> ; if ($('fac_ALL').checked == true) { for (var i = 0; i < fac_curr_cats.length; i++) { var fac_category = fac_curr_cats[i]; var params = "f_n=show_hide_fac_" +URLEncode(fac_category)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gb_handleResult, params); $(fac_category).checked = true; for (var j = 0; j < fmarkers.length; j++) { var fac_catid = fac_category + j; if($(fac_catid)) { $(fac_catid).style.display = ""; } if(fmarkers[j].category != "Incident") { fmarkers[j].show(); } } } $('fac_ALL').checked = false; $('fac_ALL').style.display = 'none'; $('fac_ALL_BUTTON').style.display = 'none'; $('fac_NONE').style.display = ''; $('fac_NONE_BUTTON').style.display = ''; $('fac_go_button').style.display = 'none'; $('fac_can_button').style.display = 'none'; } else if ($('fac_NONE').checked == true) { for (var i = 0; i < fac_curr_cats.length; i++) { var fac_category = fac_curr_cats[i]; var params = "f_n=show_hide_fac_" +URLEncode(fac_category)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gb_handleResult, params); $(fac_category).checked = false; for (var j = 0; j < fmarkers.length; j++) { var fac_catid = fac_category + j; if($(fac_catid)) { $(fac_catid).style.display = "none"; } if(fmarkers[j].category != "Incident") { fmarkers[j].hide(); } } } $('fac_NONE').checked = false; $('fac_ALL').style.display = ''; $('fac_ALL_BUTTON').style.display = ''; $('fac_NONE').style.display = 'none'; $('fac_NONE_BUTTON').style.display = 'none'; $('fac_go_button').style.display = 'none'; $('fac_can_button').style.display = 'none'; } else { var x = 0; var y = 0; for (var i = 0; i < fac_curr_cats.length; i++) { var fac_category = fac_curr_cats[i]; if ($(fac_category).checked == true) { if($('fac_table').style.display == 'none') { $('fac_table').style.display = 'inline-block'; $('side_bar_f').style.display = 'inline-block'; } x++; var params = "f_n=show_hide_fac_" +URLEncode(fac_category)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gb_handleResult, params); $(fac_category).checked = true; for (var j = 0; j < fmarkers.length; j++) { var fac_catid = fac_category + j; if($(fac_catid)) { $(fac_catid).style.display = ""; } if(fmarkers[j].category == fac_category) { fmarkers[j].show(); } } } } for (var i = 0; i < fac_curr_cats.length; i++) { var fac_category = fac_curr_cats[i]; if ($(fac_category).checked == false) { y++; var params = "f_n=show_hide_fac_" +URLEncode(fac_category)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gb_handleResult, params); $(fac_category).checked = false; var y=0; for (var j = 0; j < fmarkers.length; j++) { var fac_catid = fac_category + j; if($(fac_catid)) { $(fac_catid).style.display = "none"; } if(fmarkers[j].category == fac_category) { fmarkers[j].hide(); } } } } } var hidden = <?php print find_hidden(); ?> ; var shown = <?php print find_showing(); ?> ; $('fac_go_button').style.display = 'none'; $('fac_can_button').style.display = 'none'; if((x > 0) && (x < fac_curr_cats.length)) { $('fac_ALL').style.display = ''; $('fac_ALL_BUTTON').style.display = ''; $('fac_NONE').style.display = ''; $('fac_NONE_BUTTON').style.display = ''; } if(x == 0) { $('fac_ALL').style.display = ''; $('fac_ALL_BUTTON').style.display = ''; $('fac_NONE').style.display = 'none'; $('fac_NONE_BUTTON').style.display = 'none'; } if(x == fac_curr_cats.length) { $('fac_ALL').style.display = 'none'; $('fac_ALL_BUTTON').style.display = 'none'; $('fac_NONE').style.display = ''; $('fac_NONE_BUTTON').style.display = ''; } } // end function do_go_button() function gfb_handleResult(req) { // 12/03/10 The persist callback function } // end of facilities show / hide functions // show hide polygons function do_view_bnd() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('bnd_go_can').style.display = 'inline'; $('bnd_can_button').style.display = 'inline'; $('bnd_go_button').style.display = 'inline'; } function bnd_cancel_buttons() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('bnd_go_can').style.display = 'none'; $('bnd_can_button').style.display = 'none'; $('bnd_go_button').style.display = 'none'; $('BND_ALL').checked = false; $('BND_NONE').checked = false; } function set_bnd_chkbox(control) { var bnd_control = control; if($(bnd_control).checked == true) { $(bnd_control).checked = false; } else { $(bnd_control).checked = true; } do_view_bnd(); } function do_go_bnd_button() { // 12/03/10 Show Hide categories var bnd_curr = bound_names; if ($('BND_ALL').checked == true) { for (var i = 0; i < bnd_curr.length; i++) { var bnds = bnd_curr[i]; var params = "f_n=show_hide_bnds_" +URLEncode(bnds)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gbb_handleResult, params); $(bnds).checked = true; if(boundary[i]) { boundary[i].show(); } } $('BND_ALL').checked = false; $('BND_ALL').style.display = 'none'; $('BND_ALL_BUTTON').style.display = 'none'; $('BND_NONE').style.display = ''; $('BND_NONE_BUTTON').style.display = ''; $('bnd_go_button').style.display = 'none'; $('bnd_can_button').style.display = 'none'; } else if ($('BND_NONE').checked == true) { for (var i = 0; i < bnd_curr.length; i++) { var bnds = bnd_curr[i]; var params = "f_n=show_hide_bnds_" +URLEncode(bnds)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gbb_handleResult, params); $(bnds).checked = false; if(boundary[i]) { boundary[i].hide(); } } $('BND_NONE').checked = false; $('BND_ALL').style.display = ''; $('BND_ALL_BUTTON').style.display = ''; $('BND_NONE').style.display = 'none'; $('BND_NONE_BUTTON').style.display = 'none'; $('bnd_go_button').style.display = 'none'; $('bnd_can_button').style.display = 'none'; } else { var x = 0; var y = 0; for (var i = 0; i < bnd_curr.length; i++) { var bnds = bnd_curr[i]; if ($(bnds) && ($(bnds).checked == true)) { x++; var params = "f_n=show_hide_bnds_" +URLEncode(bnds)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gbb_handleResult, params); $(bnds).checked = true; if((boundary[i]) && (bound_names.contains(bnds))) { boundary[i].show(); } } } for (var i = 0; i < bnd_curr.length; i++) { var bnds = bnd_curr[i]; if ($(bnds) && ($(bnds).checked == false)) { y++; var params = "f_n=show_hide_bnds_" +URLEncode(bnds)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist2.php"; // 3/15/11 sendRequest (url, gbb_handleResult, params); $(bnds).checked = false; if((boundary[i]) && (bound_names.contains(bnds))) { boundary[i].hide(); } } } } var hidden = <?php print find_bnd_hidden(); ?> ; var shown = <?php print find_bnd_showing(); ?> ; $('bnd_go_button').style.display = 'none'; $('bnd_can_button').style.display = 'none'; if((x > 0) && (x < bnd_curr.length)) { $('BND_ALL').style.display = ''; $('BND_ALL_BUTTON').style.display = ''; $('BND_NONE').style.display = ''; $('BND_NONE_BUTTON').style.display = ''; } if(x == 0) { $('BND_ALL').style.display = ''; $('BND_ALL_BUTTON').style.display = ''; $('BND_NONE').style.display = 'none'; $('BND_NONE_BUTTON').style.display = 'none'; } if(x == bnd_curr.length) { $('BND_ALL').style.display = 'none'; $('BND_ALL_BUTTON').style.display = 'none'; $('BND_NONE').style.display = ''; $('BND_NONE_BUTTON').style.display = ''; } } // end function do_go_bnd_button() function set_bnds() { // 12/03/10 - checks current session values and sets checkboxes and view states for hide and show, revised 3/15/11. var bnd_curr = <?php echo json_encode(get_bnd_session()); ?> ; var bnd_names_curr = <?php echo json_encode(get_bnd_session_names()); ?> ; var fac_hidden = <?php print find_bnd_hidden(); ?> ; var fac_shown = <?php print find_bnd_showing(); ?> ; if(fac_hidden!=0) { if($('BND_ALL')) { $('BND_ALL').style.display = '';} if($('BND_ALL_BUTTON')) { $('BND_ALL_BUTTON').style.display = '';} if($('BND_ALL')) { $('BND_ALL').checked = false;} } else { if($('BND_ALL')) { $('BND_ALL').style.display = 'none';} if($('BND_ALL_BUTTON')) { $('BND_ALL_BUTTON').style.display = 'none';} if($('BND_ALL')) { $('BND_ALL').checked = false;} } if(fac_shown!=0) { if($('BND_NONE')) { $('BND_NONE').style.display = '';} if($('BND_NONE_BUTTON')) { $('BND_NONE_BUTTON').style.display = '';} if($('BND_NONE')) { $('BND_NONE').checked = false;} } else { if($('BND_NONE')) { $('BND_NONE').style.display = 'none';} if($('BND_NONE_BUTTON')) { $('BND_NONE_BUTTON').style.display = 'none';} if($('BND_NONE')) { $('BND_NONE').checked = false;} } for (var i = 0; i < bnd_curr.length; i++) { var bnds = bnd_curr[i]; var bnd_nm = bnd_names_curr[i]; if(bnds == "s") { boundary[i].show(); $(bnd_nm).checked = true; } else { boundary[i].hide(); $(bnd_nm).checked = false; } } } function gbb_handleResult(req) { // 12/03/10 The persist callback function } // end of functions for showing and hiding boundaries var show_cont; var hide_cont; var divarea; function hideDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = 'none'; $(hide_cont).style.display = 'none'; $(show_cont).style.display = ''; } var params = "f_n=" +controlarea+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function showDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = ''; $(hide_cont).style.display = ''; $(show_cont).style.display = 'none'; } var params = "f_n=" +controlarea+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function show_All() { // 8/7/09 Revised function to correct incorrect display, 12/03/10, revised to remove units show and hide from this function for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if (gmarkers[i].category == "Incident") { gmarkers[i].show(); } } } // end for () $("show_all_icon").style.display = "none"; $("incidents").style.display = "inline-block"; } // end function var starting = false; function checkArray(form, arrayName) { // 5/3/11 var retval = new Array(); for(var i=0; i < form.elements.length; i++) { var el = form.elements[i]; if(el.type == "checkbox" && el.name == arrayName && el.checked) { retval.push(el.value); } } return retval; } function checkForm(form) { // 5/3/11 var errmsg=""; var itemsChecked = checkArray(form, "frm_group[]"); if(itemsChecked.length > 0) { var params = "f_n=viewed_groups&v_n=" +itemsChecked+ "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist3.php"; // 3/15/11 sendRequest (url, fvg_handleResult, params); // form.submit(); } else { errmsg+= "\tYou cannot Hide all the regions\n"; if (errmsg!="") { alert ("Please correct the following and re-submit:\n\n" + errmsg); return false; } } } function fvg_handleResult(req) { // 6/10/11 The persist callback function for viewed groups. document.region_form.submit(); } function form_validate(theForm) { // 5/3/11 // alert("Validating"); checkForm(theForm); } // end function validate(theForm) function do_mail_fac_win(id) { // Facility email 9/22/09 if(starting) {return;} starting=true; var url = "do_fac_mail.php?fac_id=" + id; newwindow_in=window.open (url, 'Email_Window', 'titlebar, resizable=1, scrollbars, height=300,width=600,status=0,toolbar=0,menubar=0,location=0, left=50,top=150,screenX=100,screenY=300'); if (isNull(newwindow_in)) { alert ("This requires popups to be enabled. Please adjust your browser options."); return; } newwindow_in.focus(); starting = false; } function do_sel_update (in_unit, in_val) { // 12/17/09 to_server(in_unit, in_val); } function do_sel_update_fac (in_unit, in_val) { // 3/15/11 to_server_fac(in_unit, in_val); } function do_sidebar_unit (instr, id, sym, myclass, tip_str, category) { // sidebar_string, sidebar_index, row_class, icon_info, mouseover_str - 1/7/09 // alert ("1196 id: " + id); // alert ("1197 sym: " + sym); var tr_id = category + id; if (isNull(tip_str)) { side_bar_html += "<TR ID = '" + tr_id + "' CLASS='" + colors[(id)%2] +"'><TD CLASS='" + myclass + "' onClick = myclick(" + id + "); ALIGN = 'left'>" + (sym) + "</TD>"+ instr +"</TR>\n"; // 2/6/10 moved onclick to TD } else { side_bar_html += "<TR ID = '" + tr_id + "' onMouseover=\"Tip('" + tip_str + "');\" onmouseout=\"UnTip();\" CLASS='" + colors[(id)%2] +"'><TD CLASS='" + myclass + "' onClick = myclick(" + id + "); ALIGN = 'left'>" + (sym) + "</TD>"+ instr +"</TR>\n"; // 1/3/10 added tip param } } // end function do sidebar_unit () <?php // 5/17/10 $use_quick = (int) $func == 0 || (int) $func == 10 ? FALSE : TRUE; // 11/29/10 if ($use_quick) { $js_func = "open_tick_window"; } elseif ($quick && !is_guest()) { $js_func = "myclick_ed_tick"; } else { $js_func = "myclick"; } ?> function open_tick_window (id) { // 5/2/10 var url = "single.php?ticket_id="+ id; var tickWindow = window.open(url, 'mailWindow', 'resizable=1, scrollbars, height=600, width=600, left=100,top=100,screenX=100,screenY=100'); tickWindow.focus(); } function do_patient(id) { // patient edit 6/23/11 if(starting) {return;} starting=true; var url = "patient_w.php?action=list&ticket_id=" + id; newwindow=window.open (url, 'Patient_Window', 'titlebar, resizable=1, scrollbars, height=300,width=550,status=0,toolbar=0,menubar=0,location=0, left=50,top=150,screenX=50,screenY=150'); if (isNull(newwindow)) { alert ("This requires popups to be enabled. Please adjust your browser options."); return; } newwindow.focus(); starting = false; } function myclick(id) { // Responds to sidebar click, then triggers listener above - note [i] GEvent.trigger(gmarkers[id], "click"); location.href = "#top"; } function do_sidebar (instr, id, sym, myclass, tip_str) { // sidebar_string, sidebar_index, row_class, icon_info, mouseover_str - 1/7/09 var tr_id = tr_id_fixed_part + id; side_bar_html += "<TR onClick = 'myclick(" + id + ");' ID = '" + tr_id + "' onMouseover=\"Tip('" + tip_str + "');\" onmouseout=\"UnTip();\" CLASS='" + colors[id%2] +"'>"; side_bar_html += "<TD CLASS='" + myclass + "' ALIGN = 'left'>" + (sym) + "</TD>"+ instr +"</TR>\n"; // 1/3/10 added tip param } // end function do sidebar () function do_sidebar_t_ed (instr, line_no, rcd_id, letter, tip_str) { // ticket edit, tip str added 1/3/10 side_bar_html += "<TR onMouseover=\"Tip('" + tip_str.replace("'", "") + "');\" onmouseout=\"UnTip();\" CLASS='" + colors[(line_no)%2] +"'>"; side_bar_html += "<TD CLASS='td_data'>" + letter + "</TD>" + instr +"</TR>\n"; // 2/13/09, 10/29/09 removed period } function do_sidebar_u_iw (instr, id, sym, myclass) { // constructs unit incident sidebar row - 1/7/09 var tr_id = tr_id_fixed_part + id; side_bar_html += "<TR ID = '" + tr_id + "' CLASS='" + colors[id%2] +"' onClick = myclick(" + id + ");><TD CLASS='" + myclass + "'>" + (sym) + "</TD>"+ instr +"</TR>\n"; // 10/30/09 removed period } // end function do sidebar () function myclick_ed_tick(id) { // Responds to sidebar click - edit ticket data <?php $the_action = is_guest() ? "main.php" : $_SESSION['editfile']; 2 / 27 / 10; ?> document.tick_form.id.value=id; // 11/27/09 document.tick_form.action='<?php print $the_action; ?> '; // 11/27/09 document.tick_form.submit(); } function do_sidebar_u_ed (sidebar, line_no, on_click, letter, tip, category) { // unit edit - letter = icon str // alert ("1251 line_no: " + line_no); // alert ("1252 letter: " + letter); var tr_id = category + line_no; side_bar_html += "<TR ID = '" + tr_id + "' CLASS='" + colors[(line_no+1)%2] +"'>"; side_bar_html += "<TD onClick = '" + on_click+ "' CLASS='td_data'>" + letter + "</TD>" + sidebar +"</TR>\n"; // 2/13/09, 10/29/09 removed period } function myclick_nm(id) { // Responds to sidebar click - view responder data document.unit_form.id.value=id; // 11/27/09 if (quick) { document.unit_form.edit.value="true"; } else { document.unit_form.view.value="true"; } document.unit_form.submit(); } function do_sidebar_fac_ed (fac_instr, fac_id, fac_sym, myclass, fac_type) { // constructs facilities sidebar row 9/22/09 var fac_type_id = fac_type + fac_id; side_bar_html += "<TR ID = '" + fac_type_id + "' CLASS='" + colors[(fac_id+1)%2] +"'>"; side_bar_html += "<TD width='5%' CLASS='" + myclass + "' onClick = fac_click_ed(" + fac_id + ");><B>" + (fac_sym) + "</B></TD>"; side_bar_html += fac_instr +"</TR>\n"; // 10/30/09 removed period location.href = "#top"; } // end function do sidebar_fac_ed () function do_sidebar_fac_iw (fac_instr, fac_id, fac_sym, myclass, fac_type) { // constructs facilities sidebar row 9/22/09 var fac_type_id = fac_type + fac_id; side_bar_html += "<TR ID = '" + fac_type_id + "' CLASS='" + colors[(fac_id+1)%2] +"' WIDTH = '100%';>" side_bar_html += "<TD width='5%' CLASS='" + myclass + "'><B>" + (fac_sym) + "</B></TD>"; side_bar_html += fac_instr +"</TR>\n"; // 10/30/09 removed period location.href = "#top"; } // end function do sidebar_fac_iw () function fac_click_iw(fac_id) { // Responds to facilities sidebar click, triggers listener above 9/22/09 GEvent.trigger(fmarkers[fac_id], "click"); } function fac_click_ed(id) { // Responds to facility sidebar click - edit data document.facy_form_ed.id.value=id; // 11/27/09 document.facy_form_ed.submit(); } var curr_loc; // 3/15/11 var currzoom; // 3/15/11 var currbnds; // 3/15/11 // Creates marker and sets up click event infowindow 10/21/09 added stat to hide unavailable units, 12/03/10 added category. 3/19/11 added tip param function createMarker(point, tabs, color, stat, id, sym, category, region, tip) { // 3/19/11 // alert(sym); var group = category || 0; // if absent from call var region = region || 0; var tip_val = tip || ""; // if absent from call points = true; var myIcon = new GIcon(baseIcon); var origin = ((sym.length)>3)? (sym.length)-3: 0; // pick low-order three chars 3/22/11 var iconStr = sym.substring(origin); var icon_url = "./our_icons/gen_icon.php?blank=" + escape(icons[color]) + "&text=" + iconStr; // 1/6/09 // var icon_url = "./our_icons/gen_icon.php?blank=" + escape(icons[color]) + "&text=" + sym; // 1/6/09 myIcon.image = icon_url; var marker = new GMarker(point,{icon:myIcon, title: tip_val}); // 3/19/11 marker.id = color; // for hide/unhide marker.category = category; // 12/03/10 for show / hide by status marker.region = region; // 12/03/10 for show / hide by status marker.stat = stat; // 10/21/09 GEvent.addListener(marker, "click", function() { // here for both side bar and icon click map.closeInfoWindow(); which = id; gmarkers[which].hide(); marker.openInfoWindowTabsHtml(infoTabs[id]); curr_loc = point; // 3/15/11 currbnds = map.getBounds(); // 3/15/11 currzoom = map.getBoundsZoomLevel(currbnds); // 3/15/11 setTimeout(function() { // wait for rendering complete - 11/6/08 if ($("detailmap")) { // 10/9/08 var dMapDiv = $("detailmap"); var detailmap = new GMap2(dMapDiv); detailmap.addControl(new GSmallMapControl()); detailmap.setCenter(point, 17); // larger # = closer detailmap.addOverlay(marker); } else { // alert($("detailmap")); } },3000); // end setTimeout(...) }); gmarkers[id] = marker; // marker to array for side_bar click function gmarkers[id]['x'] = "y"; // ???? infoTabs[id] = tabs; // tabs to array if (!(map_is_fixed)){ bounds.extend(point); } return marker; } // end function create Marker() function test(location) { // 3/15/11 alert(location) } function createdummyMarker(point, tabs, id) { // Creates dummymarker and sets up click event infowindow for "no maps" added tickets and units. 7/28/10 points = true; var icon = new GIcon(baseIcon); var icon_url = "./our_icons/question1.png"; // 7/28/10 icon.image = icon_url; var dummymarker = new GMarker(point, icon); GEvent.addListener(dummymarker, "click", function() { map.closeInfoWindow(); which = id; gmarkers[which].hide(); dummymarker.openInfoWindowTabsHtml(infoTabs[id]); setTimeout(function() { if ($("detailmap")) { var dMapDiv = $("detailmap"); var detailmap = new GMap2(dMapDiv); detailmap.addControl(new GSmallMapControl()); detailmap.setCenter(point, 17); detailmap.addOverlay(dummymarker); } else { // alert($("detailmap")); } },3000); // end setTimeout(...) }); gmarkers[id] = dummymarker; // marker to array for side_bar click function infoTabs[id] = tabs; // tabs to array if (!(map_is_fixed)){ bounds.extend(point); } return dummymarker; } // end function create dummyMarker() var the_grid; var grid = false; function doGrid() { if (grid) { map.removeOverlay(the_grid); } else { the_grid = new LatLonGraticule(); map.addOverlay(the_grid); } grid = !grid; } // end function doGrid var trafficInfo = new GTrafficOverlay(); var toggleState = true; function doTraffic() { // 10/16/08 if (toggleState) { map.removeOverlay(trafficInfo); } else { map.addOverlay(trafficInfo); } toggleState = !toggleState; // swap } // end function doTraffic() var icons=[]; // note globals icons[0] = 4; // units white icons[<?php print $GLOBALS['SEVERITY_NORMAL']; ?> +1] = 1; // blue icons[<?php print $GLOBALS['SEVERITY_MEDIUM']; ?> +1] = 2; // yellow icons[<?php print $GLOBALS['SEVERITY_HIGH']; ?> +1] = 3; // red icons[<?php print $GLOBALS['SEVERITY_HIGH']; ?> +2] = 0; // black var map; var center; var zoom = <?php echo get_variable('def_zoom'); ?> ; var points = false; <?php $dzf = get_variable('def_zoom_fixed'); print "\tvar map_is_fixed = "; print $dzf == 1 || $dzf == 3 ? "true;\n" : "false;\n"; $kml_olays = array(); $dir = "./kml_files"; if ($dh = @opendir($dir)) { // 12/8/10 $i = 1; $temp = explode("/", $_SERVER['REQUEST_URI']); $temp[count($temp) - 1] = "kml_files"; // $server_str = "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . implode("/", $temp) . "/"; while (false !== ($filename = @readdir($dh))) { // 12/8/10 if (!is_dir($filename)) { echo "\tvar kml_" . $i . " = new GGeoXml(\"" . $server_str . $filename . "\");\n"; $kml_olays[] = "map.addOverlay(kml_" . $i . ");"; $i++; } } // end if ($dh = @opendir($dir)) } ?> function do_add_note (id) { // 8/12/09 var url = "add_note.php?ticket_id="+ id; var noteWindow = window.open(url, 'mailWindow', 'resizable=1, scrollbars, height=240, width=600, left=100,top=100,screenX=100,screenY=100'); noteWindow.focus(); } function do_sort_sub(sort_by){ // 6/11/10 document.sort_form.order.value = sort_by; document.sort_form.submit(); } function do_fac_sort_sub(sort_by){ // 3/15/11 document.fac_sort_form.forder.value = sort_by; document.fac_sort_form.submit(); } function do_track(callsign) { if (parent.frames["upper"].logged_in()) { // if(starting) {return;} // 6/6/08 // starting=true; map.closeInfoWindow(); var width = <?php print get_variable('map_width'); ?> +360; var spec ="titlebar, resizable=1, scrollbars, height=640,width=" + width + ",status=0,toolbar=0,menubar=0,location=0, left=100,top=300,screenX=100,screenY=300"; var url = "track_u.php?source="+callsign; newwindow=window.open(url, callsign, spec); if (isNull(newwindow)) { alert ("Track display requires popups to be enabled. Please adjust your browser options."); return; } // starting = false; newwindow.focus(); } } // end function do track() function do_popup(id) { // added 7/9/09 if (parent.frames["upper"].logged_in()) { map.closeInfoWindow(); var mapWidth = <?php print get_variable('map_width'); ?> +32; var mapHeight = <?php print get_variable('map_height'); ?> +150; // 3/12/10 var spec ="titlebar, resizable=1, scrollbars, height=" + mapHeight + ", width=" + mapWidth + ", status=no,toolbar=no,menubar=no,location=0, left=100,top=300,screenX=100,screenY=300"; var url = "incident_popup.php?id="+id; newwindow=window.open(url, id, spec); if (isNull(newwindow)) { alert ("Popup Incident display requires popups to be enabled. Please adjust your browser options."); return; } // starting = false; newwindow.focus(); } } // end function do popup() function do_sched_jobs(choice) { // 11/29/10 - added Scheduled tickets to menu. 12/02/10 Added persistance for the list view var params = "f_n=list_type&v_n=" + choice + "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 flag 1, value h var url = "persist2.php"; // 3/15/11 sendRequest (url, cs_handleResult, params); // ($to_str, $text, $ticket_id) document.to_listtype.func.value=choice; } // end function do_listtype() function do_curr_jobs(choice) { // 11/29/10 - added Scheduled tickets to menu. 12/02/10 Added persistance for the list view var params = "f_n=list_type&v_n=" + choice + "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 flag 1, value h var url = "persist2.php"; // 3/15/11 sendRequest (url, cs_handleResult, params); // ($to_str, $text, $ticket_id) document.to_listtype.func.value=choice; } // end function do_listtype() function do_listtype(choice) { // 11/29/10 - added Scheduled tickets to menu. 12/02/10 Added persistance for the list view var params = "f_n=list_type&v_n=" + choice + "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 flag 1, value h var url = "persist2.php"; // 3/15/11 sendRequest (url, l_handleResult, params); // ($to_str, $text, $ticket_id) document.to_listtype.func.value=choice; show_btns_closed() } // end function do_listtype() function l_handleResult(req) { // the 'called-back' persist function - nill content for the tickets list type persistance } function cs_handleResult(req) { // the 'called-back' function for show current or scheduled document.to_listtype.submit(); } var side_bar_html = "<TABLE border=0 CLASS='sidebar' WIDTH = <?php print $col_width; ?> >"; var sched_html = ""; // 3/15/11 <?php $query_sched = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status`='{$GLOBALS['STATUS_SCHEDULED']}' AND `booked_date` >= (NOW() + INTERVAL 2 DAY)"; // 11/29/10 $result_sched = mysql_query($query_sched) or do_error($query_sched, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); // 11/29/10 $num_sched = mysql_num_rows($result_sched); // 11/29/10 if ($num_sched != 0 && $func != 10) { // 11/29/10 $scheduled_link = $num_sched >= 2 ? "Scheduled Jobs: " . $num_sched : "Scheduled Jobs: " . $num_sched; $order_by = !empty($get_sortby) ? $get_sortby : $_SESSION['sortorder']; // use default sort order? ?> sched_html +="\t\t<SPAN class='scheduled' TITLE='Click link to view a list of scheduled jobs that are not shown on the current situation screen. Scheduled jobs that are due in the next 2 days are shown on the current situation screen and have a * in front of the ID, the date is highlighted and is the scheduled date.' onClick='do_sched_jobs(10);'><u><?php print $scheduled_link; ?> </u></SPAN>\n"; // 3/15/11 <?php } // 11/29/10 if ($num_sched != 0 && $func == 10) { // 11/29/10 ?> sched_html +="\t\t<SPAN class='scheduled' TITLE='Click link view current situation screen including scheduled jobs that are due in the next 2 days. Scheduled jobs are shown with a * in front of the ID, the date is highlighted and is the scheduled date.' onClick='do_curr_jobs(0);'>Click to view current situation</SPAN>\n"; // 3/15/11 <?php } // 11/29/10 ?> var incs_array = new Array(); var incs_groups = new Array(); var gmarkers = []; var fmarkers = []; var rowIds = []; // 3/8/10 var infoTabs = []; var facinfoTabs = []; var which; var i = 0; // sidebar/icon index map = new GMap2($("map")); // create the map var geocoder = null; geocoder = new GClientGeocoder(); <?php $maptype = get_variable('maptype'); // 08/02/09 switch ($maptype) { case "1": break; case "2": ?> map.setMapType(G_SATELLITE_MAP);<?php break; case "3": ?> map.setMapType(G_PHYSICAL_MAP);<?php break; case "4": ?> map.setMapType(G_HYBRID_MAP);<?php break; default: print "ERROR in " . basename(__FILE__) . " " . __LINE__ . "<BR />"; } ?> // map.addControl(new GSmallMapControl()); // 8/25/08 map.addControl(new GLargeMapControl()); map.setUIToDefault(); // 8/13/10 map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(<?php echo get_variable('def_lat'); ?> , <?php echo get_variable('def_lng'); ?> ), <?php echo get_variable('def_zoom'); ?> ); mapBounds=new GLatLngBounds(map.getBounds().getSouthWest(), map.getBounds().getNorthEast()); // 4/4/09 var bounds = new GLatLngBounds(); // create bounding box <?php if (get_variable('terrain') == 1) { ?> map.addMapType(G_PHYSICAL_MAP); <?php } ?> map.enableScrollWheelZoom(); // drawCircle(40.847060, -75.216801, 500, add_hash('FF0000'), 20, 0.5, add_hash('FF0000'), 0); // 472 var baseIcon = new GIcon(); var defzoom = <?php print get_variable('def_zoom'); ?> ; // 3/15/11 baseIcon.shadow = "./markers/sm_shadow.png"; // ./markers/sm_shadow.png baseIcon.iconSize = new GSize(20, 34); baseIcon.shadowSize = new GSize(37, 34); baseIcon.iconAnchor = new GPoint(9, 34); baseIcon.infoWindowAnchor = new GPoint(9, 2); baseIcon.infoShadowAnchor = new GPoint(18, 25); GEvent.addListener(map, "infowindowclose", function() { // re-center after move/zoom var zoomfactor = -2; // 3/15/11 var newzoom = currzoom + zoomfactor; base_zoom = map.getZoom(); if (currzoom > (base_zoom - zoomfactor)) { // 3/15/11 map.setCenter(curr_loc, newzoom); } else { map.setCenter(curr_loc, currzoom); } map.addOverlay(gmarkers[which]); }); do_landb(); // 8/1/11 - show scribbles <?php //-----------------------BOUNDARIES STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); GEvent.addListener(map, "click", function(overlay,boundpoint) { for (var n = 0; n < boundary.length; n++) { if (boundary[n].Contains(boundpoint)) { map.openInfoWindowHtml(boundpoint,"This is " + bound_names[n]); } } }); <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}' ORDER BY `id` ASC;"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $a_gp_bounds = array(); $a_all_boundaries = array(); $gp_bounds = array(); $all_boundaries = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; $query2 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$row['group']}';"; // 6/10/11 $result2 = mysql_query($query2); // 4/18/11 while ($row2 = stripslashes_deep(mysql_fetch_assoc($result2))) { // // 6/10/11 if ($row2['boundary'] != 0) { $a_gp_bounds[] = $row2['boundary']; $a_all_boundaries[] = $row2['boundary']; } } } if (isset($_SESSION['viewed_groups'])) { // 6/10/11 foreach (explode(",", $_SESSION['viewed_groups']) as $val_vg) { $query3 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$val_vg}';"; $result3 = mysql_query($query3); // 6/10/11 while ($row3 = stripslashes_deep(mysql_fetch_assoc($result3))) { if ($row3['boundary'] != 0) { $gp_bounds[] = $row3['boundary']; $all_boundaries[] = $row3['boundary']; } } } } else { $gp_bounds = $a_gp_bounds; $all_boundaries = $a_all_boundaries; } foreach ($gp_bounds as $value) { // 6/10/11 ?> var points = new Array(); <?php if ($value != 0) { $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` WHERE `id`='{$value}' LIMIT 1"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); $row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn)); extract($row_bn); $bn_name = $row_bn['line_name']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) ?> <?php if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> , {clickable:false, id:"region"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false, id:region}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } } //-------------------------END OF BOUNDARIES STUFF------------------------- $order_by = !empty($get_sortby) ? $get_sortby : $_SESSION['sortorder']; // use default sort order? //fix limits according to setting "ticket_per_page" $limit = ""; if ($_SESSION['ticket_per_page'] && check_for_rows("SELECT id FROM `{$GLOBALS['mysql_prefix']}ticket`") > $_SESSION['ticket_per_page']) { if ($_GET['offset']) { $limit = "LIMIT {$_GET['offset']},{$_SESSION['ticket_per_page']}"; } else { $limit = "LIMIT 0,{$_SESSION['ticket_per_page']}"; } } $restrict_ticket = get_variable('restrict_user_tickets') && !is_administrator() ? " AND owner={$_SESSION['user_id']}" : ""; $time_back = mysql_format_date(time() - intval(get_variable('delta_mins')) * 60 - $cwi * 3600); if (isset($_SESSION['viewed_groups'])) { // 6/10/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { // 6/10/11 $x = 0; $where2 = "AND ("; foreach ($al_groups as $grp) { $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; $where2 = "AND ("; foreach ($curr_viewed as $grp) { $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `{$GLOBALS['mysql_prefix']}allocates`.`type` = 1"; switch ($func) { case 0: $where = "WHERE (`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_OPEN']}' OR (`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_SCHEDULED']}' AND `{$GLOBALS['mysql_prefix']}ticket`.`booked_date` <= (NOW() + INTERVAL 2 DAY)) OR \n\t\t\t\t(`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_CLOSED']}' AND `{$GLOBALS['mysql_prefix']}ticket`.`problemend` >= '{$time_back}')){$where2}"; // 11/29/10, 4/18/11, 4/18/11 break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: $the_start = get_start($func); // mysql timestamp format $the_end = get_end($func); $where = " WHERE (`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_CLOSED']}' AND `{$GLOBALS['mysql_prefix']}ticket`.`problemend` BETWEEN '{$the_start}' AND '{$the_end}') {$where2} "; // 4/18/11, 4/18/11 break; case 10: $where = "WHERE (`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_SCHEDULED']}' AND `{$GLOBALS['mysql_prefix']}ticket`.`booked_date` >= (NOW() + INTERVAL 2 DAY)) {$where2}"; // 11/29/10, 4/18/11, 4/18/11 break; default: print "error - error - error - error " . __LINE__; } // end switch($func) if ($sort_by_field && $sort_value) { //sort by field? $query = "SELECT *,UNIX_TIMESTAMP(problemstart) AS problemstart,UNIX_TIMESTAMP(problemend) AS problemend,\n\t\t\tUNIX_TIMESTAMP(date) AS date,UNIX_TIMESTAMP(updated) AS updated, in_types.type AS `type`, in_types.id AS `t_id` \n\t\t\tFROM `{$GLOBALS['mysql_prefix']}allocates`\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` ON `{$GLOBALS['mysql_prefix']}allocates`.`resource_id`=`{$GLOBALS['mysql_prefix']}ticket`.`id` \t\t\t\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}in_types` ON `{$GLOBALS['mysql_prefix']}ticket`.`in_types_id`=`{$GLOBALS['mysql_prefix']}in_types`.`in_types.id` \n\t\t\tWHERE {$sort_by_field}='{$sort_value}' {$restrict_ticket} AND `{$GLOBALS['mysql_prefix']}allocates`.`type` = 1 ORDER BY {$order_by}"; } else { // 2/2/09, 8/12/09, updated 4/18/11 to support regional operation $query = "SELECT *,UNIX_TIMESTAMP(problemstart) AS problemstart,\n\t\t\tUNIX_TIMESTAMP(problemend) AS problemend,\n\t\t\tUNIX_TIMESTAMP(booked_date) AS booked_date,\t\n\t\t\tUNIX_TIMESTAMP(date) AS date, \n\t\t\t(`{$GLOBALS['mysql_prefix']}ticket`.`street`) AS ticket_street, \n\t\t\t(`{$GLOBALS['mysql_prefix']}ticket`.`state`) AS ticket_city, \n\t\t\t(`{$GLOBALS['mysql_prefix']}ticket`.`city`) AS ticket_state,\n\t\t\tUNIX_TIMESTAMP(`{$GLOBALS['mysql_prefix']}ticket`.updated) AS updated,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.`id` AS `tick_id`,\n\t\t\t`{$GLOBALS['mysql_prefix']}in_types`.type AS `type`, \n\t\t\t`{$GLOBALS['mysql_prefix']}in_types`.`id` AS `t_id`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.`description` AS `tick_descr`, \n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.lat AS `lat`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.lng AS `lng`, \n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.lat AS `fac_lat`,\n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.lng AS `fac_lng`, \n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.`name` AS `fac_name`,\n\t\t\t(SELECT COUNT(*) as numfound FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\t\t\tWHERE `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id` = `{$GLOBALS['mysql_prefix']}ticket`.`id` \n\t\t\t\tAND `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' ) \n\t\t\t\tAS `units_assigned`\t\t\t\n\t\t\tFROM `{$GLOBALS['mysql_prefix']}ticket` \n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` \n\t\t\t\tON `{$GLOBALS['mysql_prefix']}ticket`.id=`{$GLOBALS['mysql_prefix']}allocates`.`resource_id`\t\t\t\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}in_types` \n\t\t\t\tON `{$GLOBALS['mysql_prefix']}ticket`.in_types_id=`{$GLOBALS['mysql_prefix']}in_types`.`id` \n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}facilities` \n\t\t\t\tON `{$GLOBALS['mysql_prefix']}ticket`.rec_facility=`{$GLOBALS['mysql_prefix']}facilities`.`id`\n\t\t\t{$where} {$restrict_ticket} \n\t\t\t GROUP BY tick_id ORDER BY `status` DESC, `severity` DESC, `{$GLOBALS['mysql_prefix']}ticket`.`id` ASC\n\t\t\tLIMIT 1000 OFFSET {$my_offset}"; // 2/2/09, 10/28/09, 2/21/10 // print $query; } $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $the_offset = isset($_GET['frm_offset']) ? (int) $_GET['frm_offset'] : 0; $sb_indx = 0; // note zero base! $acts_ary = $pats_ary = array(); // 6/2/10 $query = "SELECT `ticket_id`, COUNT(*) AS `the_count` FROM `{$GLOBALS['mysql_prefix']}action` GROUP BY `ticket_id`"; $result_temp = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result_temp))) { $acts_ary[$row['ticket_id']] = $row['the_count']; } $query = "SELECT `ticket_id`, COUNT(*) AS `the_count` FROM `{$GLOBALS['mysql_prefix']}patient` GROUP BY `ticket_id`"; $result_temp = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result_temp))) { $pats_ary[$row['ticket_id']] = $row['the_count']; } $temp = (string) round(microtime(true) - $time, 3); // snap (__LINE__, $temp ); $line_limit = 25; // 5/5/11 if (mysql_num_rows($result) > $line_limit) { ?> side_bar_html += get_chg_disp_tr(); // get 'Change display' select list row <?php } ?> side_bar_html += "<TR class='spacer'><TD CLASS='spacer' COLSPAN=99> </TD></TR>"; // 3/15/11 side_bar_html += "<TR class='even'><TH colspan=99 align='center'>Click/Mouse-over for information</TH></TR>"; // 3/15/11 side_bar_html += "<TR class='odd'><TD></TD><TD align='left' COLSPAN=2><B><?php print $incident; ?> </B></TD><TD align='left'><B><?php print $nature; ?> </B></TD><TD align='left'><B> Addr</B></TD><TD align='left'><B>P</B></TD><TD align='left'><B>A</B></TD><TD align='left'><B>U</B></TD><TD align='left'><B> As of</B></TD></TR>"; <?php // =========================== begin major while() for incidents ========== $temp = (string) round(microtime(true) - $time, 3); $use_quick = (int) $func == 0 || (int) $func == 10 ? FALSE : TRUE; // 11/29/10 if ($use_quick) { $js_func = "open_tick_window"; } elseif ($quick && !is_guest()) { $js_func = "myclick_ed_tick"; } else { $js_func = "myclick"; } while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 7/7/10 $tick_gps = get_allocates(1, $row['tick_id']); // 6/10/11 // dump($tick_gps); $grp_names = "Groups Assigned: "; // 6/10/11 $y = 0; // 6/10/11 foreach ($tick_gps as $value) { // 6/10/11 $counter = count($tick_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $onclick_str = "onClick = '{$js_func}({$row['tick_id']});'"; // onClick = to_wherever(999); -6/23/11 /* dump(__LINE__); dump($onclick_str); dump($pat_onclick_str); */ $by_severity[$row['severity']]++; // 5/2/10 if ($func > 0) { // closed? - 5/16/10 $onclick = " open_tick_window({$row['tick_id']})"; } else { $onclick = $quick ? " myclick_ed_tick({$row['tick_id']}) " : "myclick({$sb_indx})"; // 1/2/10 } if ($do_blink && $row['units_assigned'] == 0 && $row['status'] == $GLOBALS['STATUS_OPEN']) { // 4/11/10 $blinkst = "<blink>"; $blinkend = "</blink>"; } else { $blinkst = $blinkend = ""; } $tip = str_replace("'", "`", $grp_names . " / " . $row['contact'] . "/" . $row['ticket_street'] . "/" . $row['ticket_city'] . "/" . $row['ticket_state'] . "/" . $row['phone'] . "/" . $row['scope']); // tooltip string - 1/3/10 $sp = $row['status'] == $GLOBALS['STATUS_SCHEDULED'] && $func != 10 ? "*" : ""; print "\t\tvar scheduled = '{$sp}';\n"; ?> var sym = (<?php print addslashes($sb_indx); ?> +1).toString(); // for sidebar var sym2= scheduled + (<?php print addslashes($sb_indx); ?> +1).toString(); // for icon <?php $the_id = $row['tick_id']; // 11/27/09 if ($row['tick_descr'] == '') { $row['tick_descr'] = '[no description]'; } // 8/12/09 if (get_variable('abbreviate_description')) { //do abbreviations on description, affected if neccesary if (strlen($row['tick_descr']) > get_variable('abbreviate_description')) { $row['tick_descr'] = substr($row['tick_descr'], 0, get_variable('abbreviate_description')) . '...'; } } if (get_variable('abbreviate_affected')) { if (strlen($row['affected']) > get_variable('abbreviate_affected')) { $row['affected'] = substr($row['affected'], 0, get_variable('abbreviate_affected')) . '...'; } } switch ($row['severity']) { //color tickets by severity case $GLOBALS['SEVERITY_MEDIUM']: $severityclass = 'severity_medium'; break; case $GLOBALS['SEVERITY_HIGH']: $severityclass = 'severity_high'; break; default: $severityclass = 'severity_normal'; break; } $A = array_key_exists($the_id, $acts_ary) ? $acts_ary[$the_id] : 0; // 6/2/10 $P = array_key_exists($the_id, $pats_ary) ? $pats_ary[$the_id] : 0; if ($row['status'] == $GLOBALS['STATUS_CLOSED']) { $strike = "<strike>"; $strikend = "</strike>"; } else { $strike = $strikend = ""; } $address_street = replace_quotes($row['ticket_street']) . " " . replace_quotes($row['ticket_city']); $sidebar_line = "<TD ALIGN='left' CLASS='{$severityclass}' {$onclick_str} COLSPAN=2><NOBR>{$strike}" . $sp . replace_quotes(shorten($row['scope'], 20)) . " {$strikend}</NOBR></TD>"; //10/27/09, 8/2/10 $sidebar_line .= "<TD ALIGN='left' CLASS='{$severityclass}' {$onclick_str}><NOBR>{$strike}" . shorten($row['type'], 20) . " {$strikend}</NOBR></TD>"; // 8/2/10 $sidebar_line .= "<TD ALIGN='left' CLASS='{$severityclass}' {$onclick_str}><NOBR>{$strike}" . replace_quotes(shorten($row['ticket_street'] . ' ' . $row['ticket_city'], 20)) . " {$strikend}</NOBR></TD>"; // 8/2/10 if ($P == 0) { $sidebar_line .= "<TD></TD>"; } else { $pat_onclick_str = "onClick = 'do_patient({$row['tick_id']});'"; $sidebar_line .= "<TD CLASS='disp_stat' {$pat_onclick_str}><NOBR><B>{$P}</B></TD>"; } $sidebar_line .= "<TD CLASS='td_data'> " . $A . " </NOBR></TD>"; $sidebar_line .= "<TD CLASS='td_data'>{$blinkst}{$row['units_assigned']}{$blinkend}</TD>"; $disp_date = $row['status'] == $GLOBALS['STATUS_SCHEDULED'] ? format_sb_date($row['booked_date']) : format_sb_date($row['updated']); // 01/06/11 $date_hlite = $row['status'] == $GLOBALS['STATUS_SCHEDULED'] ? " class='scheduled'" : ""; $sidebar_line .= "<TD {$date_hlite}><NOBR> " . $disp_date . "</NOBR></TD>"; // 01/06/11 if (my_is_float($row['lat'])) { // 6/21/10 $street = empty($row['ticket_street']) ? "" : replace_quotes($row['ticket_street']) . "<BR/>" . replace_quotes($row['ticket_city']) . " " . replace_quotes($row['ticket_state']); $todisp = is_guest() || is_unit() ? "" : " <A HREF='{$_SESSION['routesfile']}?ticket_id={$the_id}'><U>Dispatch</U></A>"; // 7/27/10 $rand = $istest ? "&rand=" . chr(rand(65, 90)) : ""; // 10/21/08 $tab_1 = "<TABLE CLASS='infowin' width='{$iw_width}' >"; $tab_1 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>{$strike}" . replace_quotes(shorten($row['scope'], 48)) . "{$strikend}</B></TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD ALIGN='left'>As of:</TD><TD ALIGN='left'>" . format_date($row['updated']) . "</TD></TR>"; if (is_int($row['booked_date'])) { $tab_1 .= "<TR CLASS='odd'><TD>Booked Date:</TD><TD ALIGN='left'>" . format_date($row['booked_date']) . "</TD></TR>"; //10/27/09, 3/15/11 } $tab_1 .= "<TR CLASS='even'><TD ALIGN='left'>Reported by:</TD><TD ALIGN='left'>" . replace_quotes(shorten($row['contact'], 32)) . "</TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD ALIGN='left'>Phone:</TD><TD ALIGN='left'>" . format_phone($row['phone']) . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD ALIGN='left'>Addr:</TD><TD ALIGN='left'>{$address_street}</TD></TR>"; $end_date = intval($row['problemend']) > 1 ? $row['problemend'] : time() - intval(get_variable('delta_mins')) * 60; $elapsed = my_date_diff($row['problemstart'], $end_date); // 5/13/10 $tab_1 .= "<TR CLASS='odd'><TD ALIGN='left'>Status:</TD><TD ALIGN='left'>" . get_status($row['status']) . " ({$elapsed})</TD></TR>"; // 3/27/10 $tab_1 .= empty($row['fac_name']) ? "" : "<TR CLASS='even'><TD ALIGN='left'>Receiving Facility:</TD><TD ALIGN='left'>" . replace_quotes(shorten($row['fac_name'], 30)) . "</TD></TR>"; //3/27/10, 3/15/11 $utm = get_variable('UTM'); if ($utm == 1) { $coords = $row['lat'] . "," . $row['lng']; // 8/12/09 $tab_1 .= "<TR CLASS='even'><TD ALIGN='left'>UTM grid:</TD><TD ALIGN='left'>" . toUTM($coords) . "</TD></TR>"; } $tab_1 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'><FONT SIZE='-1'>"; $tab_1 .= $todisp . " <A HREF='main.php?id=" . $the_id . "'><U>Details</U></A>"; // 08/8/02 if (!is_guest()) { if (can_edit()) { //8/27/10 $tab_1 .= " <A HREF='{$_SESSION['editfile']}?id=" . $the_id . $rand . "'><U>Edit</U></A>"; } if (!is_closed($the_id) && !is_unit()) { // 3/3/11 $tab_1 .= " <A HREF='#' onClick = do_close_tick('" . $the_id . "');><U>" . get_text("Close incident") . " </U></A><BR /><BR /> "; // 3/3/11 } $tab_1 .= " <SPAN onClick = do_popup('" . $the_id . "');><FONT COLOR='blue'><B><U>Popup</B></U></FONT></SPAN> "; // 7/7/09 $tab_1 .= "<SPAN onClick = 'do_add_note (" . $the_id . ");'><FONT COLOR='blue'><B><U>Add note</B></U></FONT></SPAN><BR /><BR />"; // 7/7/09 if (can_edit()) { //8/27/10 $tab_1 .= "<A HREF='patient.php?ticket_id=" . $the_id . $rand . "'><U>Add {$patient}</U></A> "; // 7/9/09 $tab_1 .= "<A HREF='action.php?ticket_id=" . $the_id . $rand . "'><U>Add Action</U></A>"; } } $tab_1 .= "</FONT></TD></TR></TABLE>"; // 11/6/08 $tab_2 = "<TABLE CLASS='infowin' width='{$iw_width}' >"; // 8/12/09 $tab_2 .= "<TR CLASS='even'>\t<TD ALIGN='left'>Description:</TD><TD ALIGN='left'>" . replace_quotes(shorten(str_replace($eols, " ", $row['tick_descr']), 48)) . "</TD></TR>"; // str_replace("\r\n", " ", $my_string) $tab_2 .= "<TR CLASS='odd'>\t\t<TD ALIGN='left'>{$disposition}:</TD><TD ALIGN='left'>" . shorten(replace_quotes($row['comments']), 48) . "</TD></TR>"; // 8/13/09, 3/15/11 $tab_2 .= "<TR CLASS='even'>\t<TD ALIGN='left'>911 contact:</TD><TD ALIGN='left'>" . shorten($row['nine_one_one'], 48) . "</TD></TR>"; // 6/26/10 $locale = get_variable('locale'); // 08/03/09 switch ($locale) { case "0": $tab_2 .= "<TR CLASS='odd'>\t<TD ALIGN='left'>USNG:</TD><TD ALIGN='left'>" . LLtoUSNG($row['lat'], $row['lng']) . "</TD></TR>"; // 8/23/08, 10/15/08, 8/3/09 break; case "1": $tab_2 .= "<TR CLASS='odd'>\t<TD ALIGN='left'>OSGB:</TD><TD ALIGN='left'>" . LLtoOSGB($row['lat'], $row['lng']) . "</TD></TR>"; // 8/23/08, 10/15/08, 8/3/09 break; case "2": $coords = $row['lat'] . "," . $row['lng']; // 8/12/09 $tab_2 .= "<TR CLASS='odd'>\t<TD ALIGN='left'>UTM:</TD><TD ALIGN='left'>" . toUTM($coords) . "</TD></TR>"; // 8/23/08, 10/15/08, 8/3/09 break; default: print "ERROR in " . basename(__FILE__) . " " . __LINE__ . "<BR />"; } $tab_2 .= "<TR>\t\t\t\t\t<TD COLSPAN=2 ALIGN='left'>" . show_assigns(0, $the_id) . "</TD></TR>"; $tab_2 .= "</TABLE>"; // 11/6/08. 3/15/11 ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(shorten($row['scope'], 12)); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("More ..", "<?php print str_replace($eols, " ", $tab_2); ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; <?php if ($row['lat'] == "0.999999" && $row['lng'] == "0.999999") { // check for lat and lng values set in no maps state 7/28/10 ?> var point = new GLatLng(<?php print get_variable('def_lat'); ?> , <?php print get_variable('def_lng'); ?> ); // for each ticket if (!(map_is_fixed)){ // 4/3/09 bounds.extend(point); } var dummymarker = createdummyMarker(point, myinfoTabs, <?php print $sb_indx; ?> ); // (point,tabs, id) - plots dummy icon in default position for tickets added in no maps operation 7/28/10 map.addOverlay(dummymarker); var the_class = ((map_is_fixed) && (!(mapBounds.containsLatLng(point))))? "emph" : "td_label"; <?php } else { ?> var point = new GLatLng(<?php print $row['lat']; ?> , <?php print $row['lng']; ?> ); // for each ticket if (!(map_is_fixed)){ // 4/3/09 bounds.extend(point); } var category = "Incident"; var region = "<?php print get_first_group(1, $row['tick_id']); ?> "; var tip_str = "<?php print $tip; ?> "; // 3/19/11 var marker = createMarker(point, myinfoTabs,<?php print $row['severity'] + 1; ?> , 0, <?php print $sb_indx; ?> , sym2, category, region, tip_str); // 3/19/11 // (point,tabs, color, id, sym) - 1/6/09, 10/21/09 added 0 for stat display to avoid conflicts with unit marker hide by unavailable status map.addOverlay(marker); var the_class = ((map_is_fixed) && (!(mapBounds.containsLatLng(point))))? "emph" : "td_label"; incs_array[i] = <?php print $row['tick_id']; ?> ; <?php $allocated_groups = get_allocates(1, $row['tick_id']); // 4/18/11 echo "var groups = [];\n"; foreach ($allocated_groups as $key => $value) { echo "groups[{$key}] = {$value};\n"; } ?> incs_groups[i] = groups; // 4/18/11 i++; // 4/18/11 <?php } // end of check for no maps markes } // end if (my_is_float($row['lat'])) $use_quick = (int) $func == 0 || (int) $func == 10 ? FALSE : TRUE; // 11/29/10 if ($quick || $use_quick) { // 5/18/10, 11/29/10 print "\t\t\tdo_sidebar_t_ed (\"{$sidebar_line}\", ({$the_offset} + {$sb_indx}), {$row['tick_id']}, sym, \"{$tip}\");\n"; } else { print "\t\t do_sidebar (\"{$sidebar_line}\", {$sb_indx}, ({$the_offset} + {$sb_indx}+1), the_class, \"{$tip}\");\n"; } if (intval($row['radius']) > 0) { $color = substr($row['color'], 0, 1) == "#" ? $row['color'] : "#000000"; // black default ?> // drawCircle( 38.479874, -78.246704, 50.0, "#000080", 1, 0.75, "#0000FF", .2); drawCircle( <?php print $row['lat']; ?> , <?php print $row['lng']; ?> , <?php print $row['radius']; ?> , "<?php print $color; ?> ", 1, 0.75, "<?php print $color; ?> ", .<?php print $row['opacity']; ?> ); <?php } // end if (intval($row['radius']) $sb_indx++; } // end tickets while ($row = ...) // $temp = (string) ( round((microtime(true) - $time), 3)); // snap (__LINE__, $temp ); $query_sched = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status`='{$GLOBALS['STATUS_SCHEDULED']}'"; // 11/29/10 $result_sched = mysql_query($query_sched) or do_error($query_sched, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); // 11/29/10 $num_sched = mysql_num_rows($result_sched); // 11/29/10 if (mysql_num_rows($result) <= $line_limit) { ?> side_bar_html += get_chg_disp_tr(); <?php } // end if (mysql_num_rows($result)<= $line_limit) ?> side_bar_html +="\t\t<SPAN ID = 'btn_go' onClick='document.to_listtype.submit()' CLASS='conf_button' STYLE = 'margin-left: 10px; display:none'><U>Next</U></SPAN>"; side_bar_html +="\t\t<SPAN ID = 'btn_can' onClick='hide_btns_closed(); hide_btns_scheduled(); ' CLASS='conf_button' STYLE = 'margin-left: 10px; display:none'><U>Cancel</U></SPAN>"; side_bar_html +="<br /><br /></TD></TR>\n"; <?php if ($sb_indx == 0) { $txt_str = $func > 0 ? "closed tickets this period!" : "current tickets!"; print "\n\t\tside_bar_html += \"<TR CLASS='even'><TD COLSPAN='99' ALIGN='center'><I><B>No {$txt_str}</B></I></TD></TR>\";"; print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TD COLSPAN='99' ><BR /><BR /></TD></TR>\";"; } $limit = 1000; $link_str = ""; $query = "SELECT `id` FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status` = '{$GLOBALS['STATUS_CLOSED']}'"; $result_cl = mysql_query($query) or do_error($query, 'mysql_query', mysql_error(), basename(__FILE__), __LINE__); if (mysql_affected_rows() > $limit) { $sep = ", "; $rcds = mysql_affected_rows(); for ($j = 0; $j < ceil($rcds / $limit); $j++) { $sep = $j == ceil($rcds / $limit) - 1 ? "" : ", "; $temp = (string) ($j * $limit); $link_str .= "<SPAN onClick = 'document.to_closed.frm_offset.value={$temp}; document.to_closed.submit();'><U>" . ($j + 1) . "K</U></SPAN>{$sep}"; } } $sev_string = "" . get_text("Severities") . ": <SPAN CLASS='severity_normal'>" . get_text("Normal") . " ({$by_severity[$GLOBALS['SEVERITY_NORMAL']]})</SPAN>, <SPAN CLASS='severity_medium'>" . get_text("Medium") . " ({$by_severity[$GLOBALS['SEVERITY_MEDIUM']]})</SPAN>, <SPAN CLASS='severity_high'>" . get_text("High") . " ({$by_severity[$GLOBALS['SEVERITY_HIGH']]})</SPAN>"; unset($acts_ary, $pats_ary, $result_temp, $result_cl); // snap(__LINE__, round((microtime(true) - $time), 3)); ?> side_bar_html +="<TR class='spacer'><TD class='spacer' COLSPAN='99' ALIGN='center'> </TD></TR>\n"; // 4/18/11 side_bar_html +="</TABLE>\n"; $("side_bar").innerHTML = side_bar_html; // side_bar_html to incidents div $("sched_flag").innerHTML = sched_html; // side_bar_html to incidents div $('sev_counts').innerHTML = "<?php print $sev_string; ?> "; // 5/2/10 // for (var n = 0; n < incs_array.length; n++) { // 4/18/11 // alert("Incident ID " + incs_array[n] + " Incident Groups " + incs_groups[n]); // 4/18/11 // } // 4/18/11 // ========================================== RESPONDER start ================================================ side_bar_html ="<TABLE border=0 CLASS='sidebar' WIDTH = <?php print $col_width; ?> >\n"; // initialize units sidebar string side_bar_html += "<TR CLASS = 'spacer'><TD CLASS='spacer' COLSPAN=99> </TD></TR>"; // 3/15/11 points = false; i++; var j=0; <?php $u_types = array(); // 1/1/09 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}unit_types` ORDER BY `id`"; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $u_types[$row['id']] = array($row['name'], $row['icon']); // name, index, aprs - 1/5/09, 1/21/09 } unset($result); // Categories for Unit status $categories = array(); // 12/03/10 $categories = get_category_butts(); // 12/03/10 $assigns = array(); // 8/3/08 $tickets = array(); // ticket id's $query = "SELECT `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`, \n\t\t`{$GLOBALS['mysql_prefix']}assigns`.`responder_id`, \n\t\t`{$GLOBALS['mysql_prefix']}ticket`.`scope` AS `ticket` \n\t\tFROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` ON `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`=`{$GLOBALS['mysql_prefix']}ticket`.`id`"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_as = stripslashes_deep(mysql_fetch_array($result_as))) { $assigns[$row_as['responder_id']] = $row_as['ticket']; $tickets[$row_as['responder_id']] = $row_as['ticket_id']; } unset($result_as); $eols = array("\r\n", "\n", "\r"); // all flavors of eol $status_vals = array(); // build array of $status_vals $status_vals[''] = $status_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}un_status` ORDER BY `id`"; $result_st = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_st = stripslashes_deep(mysql_fetch_array($result_st))) { $temp = $row_st['id']; $status_vals[$temp] = $row_st['status_val']; $status_hide[$temp] = $row_st['hide']; } unset($result_st); $assigns_ary = array(); // construct array of responder_id's on active calls $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` WHERE ((`clear` IS NULL) OR (DATE_FORMAT(`clear`,'%y') = '00')) "; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $assigns_ary[$row['responder_id']] = TRUE; } $order_values = array(1 => "`nr_assigned` DESC, `handle` ASC, `r`.`name` ASC", 2 => "`type_descr` ASC, `handle` ASC", 3 => "`stat_descr` ASC, `handle` ASC", 4 => "`handle` ASC"); // 6/24/10 if (array_key_exists('order', $_POST) && isset($_POST['order'])) { $_SESSION['unit_flag_2'] = $_POST['order']; } elseif (empty($_SESSION['unit_flag_2'])) { $_SESSION['unit_flag_2'] = 1; } $order_str = $order_values[$_SESSION['unit_flag_2']]; // 6/11/10 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 4/18/11 $result = mysql_query($query); // 4/18/11 $al_groups = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 4/18/11 $al_groups[] = $row['group']; } if (isset($_SESSION['viewed_groups'])) { $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 4/18/11 $where2 = "WHERE ("; // 4/18/11 foreach ($al_groups as $grp) { // 4/18/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 4/18/11 $where2 = "WHERE ("; // 4/18/11 foreach ($curr_viewed as $grp) { // 4/18/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `a`.`type` = 2"; //-----------------------UNIT RING FENCE STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); <?php $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` `l`\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}responder` `r` ON ( `l`.`id` = `r`.`ring_fence`)\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = `a`.`resource_id` )\t\n\t\t\t\t{$where2} AND `use_with_u_rf`=1 GROUP BY `l`.`id`"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $all_boundaries[] = $row_bn['ring_fence']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> , {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } // End while //-------------------------END OF UNIT RING FENCE STUFF------------------------- //-----------------------UNIT EXCLUSION ZONE STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); <?php $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` `l`\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}responder` `r` ON ( `l`.`id` = `r`.`excl_zone`)\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = `a`.`resource_id` )\t\n\t\t\t\t{$where2} AND `use_with_u_ex`=1 GROUP BY `l`.`id`"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $all_boundaries[] = $row_bn['excl_zone']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> , {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } // End while //-------------------------END OF UNIT EXCLUSION ZONE STUFF------------------------- $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated`, \n\t\t`t`.`id` AS `type_id`, \n\t\t`r`.`id` AS `unit_id`, \n\t\t`r`.`name` AS `name`,\n\t\t`r`.`ring_fence` AS `ring_fence`,\t\t\n\t\t`s`.`description` AS `stat_descr`, \n\t\t`r`.`description` AS `unit_descr`, \n\t\t`t`.`description` AS `type_descr`,\n\t\t(SELECT COUNT(*) as numfound FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\tWHERE `{$GLOBALS['mysql_prefix']}assigns`.`responder_id` = unit_id \tAND ( `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )) AS `nr_assigned` \n\t\tFROM `{$GLOBALS['mysql_prefix']}responder` `r` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = a.resource_id )\t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}unit_types` `t` ON ( `r`.`type` = t.id )\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}un_status` `s` ON ( `r`.`un_status_id` = s.id ) \t\t\n\t\t{$where2} GROUP BY unit_id ORDER BY {$order_str}"; // 2/1/10, 3/8/10, 4/18/11, 6/11/10 // dump($query); $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $units_ct = mysql_affected_rows(); // 1/4/10 if ($units_ct == 0) { print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TH></TH><TH ALIGN='center' COLSPAN=99><I><B>No units!</I></B></TH></TR>\"\n"; } else { $checked = array("", "", "", ""); $checked[$_SESSION['unit_flag_2']] = " CHECKED"; ?> side_bar_html += "<TR CLASS = 'even'><TD COLSPAN=99 ALIGN='center'>"; side_bar_html += "<I><B>Sort</B>: "; side_bar_html += "Unit » <input type = radio name = 'frm_order' value = 1 <?php print $checked[1]; ?> onClick = 'do_sort_sub(this.value);' /> "; side_bar_html += "Type » <input type = radio name = 'frm_order' value = 2 <?php print $checked[2]; ?> onClick = 'do_sort_sub(this.value);' /> "; side_bar_html += "Status » <input type = radio name = 'frm_order' value = 3 <?php print $checked[3]; ?> onClick = 'do_sort_sub(this.value);' />"; side_bar_html += "</I></TD></TR>"; <?php print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TD></TD><TD><B>Unit</B> ({$units_ct}) </TD>\t<TD onClick = 'do_mail_win(0); ' ALIGN = 'center'><IMG SRC='mail_red.png' /></TD><TD ALIGN='left' COLSPAN='2'><B>{$incident}</B></TD><TD> <B>Status</B></TD><TD><B>M</B></TD><TD><B> As of</B></TD></TR>\"\n"; // 12/17/10 // print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TD></TD><TD><B>Unit</B> ({$units_ct}) </TD> <TD onClick = 'do_mail_win(0); ' ALIGN = 'center'><IMG SRC='mail_red.png' /></TD><TD> <B>Status</B></TD><TD ALIGN='left' COLSPAN='2'><B>{$incident}</B></TD><TD><B>M</B></TD><TD><B> As of</B></TD></TR>\"\n" ; // 12/17/10 // print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TD></TD><TD><B>Unit</B> ({$units_ct}) </TD> <TD onClick = 'do_mail_win(null, null); ' ALIGN = 'center'><IMG SRC='mail_red.png' /></TD><TD> <B>Status</B></TD><TD ALIGN='left' COLSPAN='2'><B>{$incident}</B></TD><TD><B>M</B></TD><TD><B> As of</B></TD></TR>\"\n" ; } $aprs = $instam = $locatea = $gtrack = $glat = $t_tracker = $ogts = FALSE; //7/23/09 $utc = gmdate("U"); // 3/25/09 // =========================== begin major while() for RESPONDER ========== $chgd_unit = $_SESSION['unit_flag_1']; // possibly 0 - 4/8/10 $_SESSION['unit_flag_1'] = 0; // one-time only - 4/11/10 while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 7/7/10 $resp_gps = get_allocates(2, $row['unit_id']); // 6/10/11 $grp_names = "Groups Assigned: "; // 6/10/11 $y = 0; // 6/10/11 foreach ($resp_gps as $value) { // 6/10/11 $counter = count($resp_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $tip = str_replace("'", "`", $grp_names . " / " . htmlentities($row['name'], ENT_QUOTES)); // tooltip string - 1/3/10 $latitude = $row['lat']; // 7/18/10 $longitude = $row['lng']; // 7/18/10 $on_click = !my_is_float($row['lat']) || $quick ? " myclick_nm({$row['unit_id']}) " : "myclick({$sb_indx})"; // 1/2/10 $got_point = FALSE; $name = $row['name']; // 10/8/09 $index = $row['icon_str']; // 4/27/11 print "\t\tvar sym = \"{$index}\";\n"; // for sidebar and icon 10/8/09 - 4/22/11 // 2/13/09 $todisp = is_guest() || is_unit() ? "" : " <A HREF='{$_SESSION['unitsfile']}?func=responder&view=true&disp=true&id=" . $row['unit_id'] . "'><U>Dispatch</U></A> "; // 08/8/02 $toedit = is_guest() || is_user() || is_unit() ? "" : " <A HREF='{$_SESSION['unitsfile']}?func=responder&edit=true&id=" . $row['unit_id'] . "'><U>Edit</U></A> "; // 7/27/10 $totrack = intval($row['mobile']) == 0 || empty($row['callsign']) ? "" : " <SPAN onClick = do_track('" . $row['callsign'] . "');><B><U>Tracks</B></U> </SPAN>"; $tofac = is_guest() ? "" : "<A HREF='{$_SESSION['unitsfile']}?func=responder&view=true&dispfac=true&id=" . $row['unit_id'] . "'><U>To Facility</U></A> "; // 08/8/02 $hide_unit = $row['hide'] == "y" ? "1" : "0"; // 3/8/10 $track_type = get_remote_type($row); // 7/8/11 // print "Track Type = " . $track_type; $row_track = FALSE; if ($track_type > 0) { // get most recent mobile track data $do_legend = TRUE; $query = "SELECT *,UNIX_TIMESTAMP(packet_date) AS `packet_date`, UNIX_TIMESTAMP(updated) AS `updated` FROM `{$GLOBALS['mysql_prefix']}tracks`\n\t\t\t\tWHERE `source`= '{$row['callsign']}' ORDER BY `packet_date` DESC LIMIT 1"; // newest $result_tr = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_track = mysql_affected_rows() > 0 ? stripslashes_deep(mysql_fetch_assoc($result_tr)) : FALSE; $aprs_updated = $row_track['updated']; $aprs_speed = $row_track['speed']; if ($row_track && my_is_float($row_track['latitude'])) { $latitude = $row_track['latitude']; $longitude = $row_track['longitude']; // 7/7/10 echo "\t\tvar point = new GLatLng(" . $row_track['latitude'] . ", " . $row_track['longitude'] . "); // 677\n"; $got_point = TRUE; } unset($result_tr); } if (my_is_float($row['lat'])) { echo "\t\tvar point = new GLatLng(" . $row['lat'] . ", " . $row['lng'] . ");\t// 753\n"; $got_point = TRUE; } $the_bull = ""; // define the bullet $update_error = strtotime('now - 6 hours'); // set the time for silent setting // NAME $the_bg_color = $GLOBALS['UNIT_TYPES_BG'][$row['icon']]; // 2/1/10 $the_text_color = $GLOBALS['UNIT_TYPES_TEXT'][$row['icon']]; $arrow = $chgd_unit == $row['unit_id'] ? "<IMG SRC='rtarrow.gif' />" : ""; // 4/8/10 $sidebar_line = "<TD ALIGN='left' onClick = '{$on_click}' TITLE = '" . htmlentities($row['name'], ENT_QUOTES) . "' >{$arrow}<SPAN STYLE='background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};'>" . htmlentities($row['handle'], ENT_QUOTES) . "</B></U></SPAN></TD>"; // MAIL if (!is_guest() && is_email($row['contact_via'])) { // 2/1/10 $mail_link = "\t<TD CLASS='mylink' ALIGN='center'>" . " <IMG SRC='mail.png' BORDER=0 TITLE = 'click to email unit {$row['handle']}'" . " onclick = 'do_mail_win(\\\"{$row['unit_id']}\\\");'> " . " </TD>"; // 4/26/09, 12/17/10 // dump(__LINE__); // dump($mail_link); } else { $mail_link = "\t<TD ALIGN='center'>na</TD>"; } $sidebar_line .= $mail_link; // DISPATCHES 3/16/09 $units_assigned = 0; if (array_key_exists($row['unit_id'], $assigns_ary)) { // this unit assigned? - 6/4/10 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` t ON ({$GLOBALS['mysql_prefix']}assigns.ticket_id = t.id)\n\t\t\t\tWHERE `responder_id` = '{$row['unit_id']}' AND ( `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $units_assigned = mysql_num_rows($result_as); } // end if(array_key_exists () switch ($units_assigned) { case 0: $ass_td = "<TD COLSPAN='2' onClick = '{$on_click}' > na </TD>"; break; case 1: $row_assign = stripslashes_deep(mysql_fetch_assoc($result_as)); $the_disp_stat = get_disp_status($row_assign) . " "; $tip = htmlentities("{$row_assign['contact']}/{$row_assign['street']}/{$row_assign['city']}/{$row_assign['phone']}/{$row_assign['scope']}", ENT_QUOTES); switch ($row_assign['severity']) { //color tickets by severity case $GLOBALS['SEVERITY_MEDIUM']: $severityclass = 'severity_medium'; break; case $GLOBALS['SEVERITY_HIGH']: $severityclass = 'severity_high'; break; default: $severityclass = 'severity_normal'; break; } // end switch() $ass_td = "<TD ALIGN='left' onMouseover=\\\"Tip('{$tip}')\\\" onmouseout=\\\"UnTip()\\\" onClick = '{$on_click}' COLSPAN=2 CLASS='{$severityclass}' >{$the_disp_stat}" . shorten($row_assign['scope'], 20) . "</TD>"; break; default: // multiples $ass_td = "<TD COLSPAN=2 onClick = '{$on_click}' CLASS='disp_stat'> {$units_assigned} </TD> "; break; } // end switch(($units_assigned)) $sidebar_line .= $ass_td; // STATUS $sidebar_line .= "<TD>" . get_status_sel($row['unit_id'], $row['un_status_id'], "u") . "</TD>"; // status // MOBILITY $the_bull = ""; // dump($row_track); if ($row_track) { if ($row_track['speed'] > 50) { $the_bull = "<FONT COLOR = 'black'><B>" . $GLOBALS['TRACK_2L'][$track_type] . "</B></FONT>"; } if ($row_track['speed'] < 50) { $the_bull = "<FONT COLOR = 'black'><B>" . $GLOBALS['TRACK_2L'][$track_type] . "</B></FONT>"; } if ($row_track['speed'] == 0) { $the_bull = "<FONT COLOR = 'red'><B>" . $GLOBALS['TRACK_2L'][$track_type] . "</B></FONT>"; } } $cstip = htmlentities($row['callsign'], ENT_QUOTES); $tip_str = "onMouseover=\\\"Tip('{$cstip}')\\\" onmouseout=\\\"UnTip();\\\" "; $sidebar_line .= "<TD {$tip_str} onClick = '{$on_click}'>{$the_bull}</TD>"; // as of $the_time = $row['updated']; $the_class = ""; $strike = $strike_end = ""; $the_flag = $name . "_flag"; if ($track_type > 0 && abs($utc - $the_time) > $GLOBALS['TOLERANCE']) { // attempt to identify non-current values snap(__LINE__, abs($utc - $the_time)); $strike = "<STRIKE>"; $strike_end = "</STRIKE>"; } $sidebar_line .= "<TD CLASS='{$the_class}'> {$strike} <SPAN id = '" . $name . "'>" . format_sb_date($the_time) . "</SPAN>{$strike_end} <SPAN ID = '" . $the_flag . "'></SPAN></TD>"; // 6/17/08 if (my_is_float($row['lat'])) { // 5/4/09 // tab 1 $temptype = $u_types[$row['type_id']]; $the_type = $temptype[0]; // 1/1/09 $tab_1 = "<TABLE CLASS='infowin' width='{$iw_width}' >"; $tab_1 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>{$row['handle']}</B> - " . $the_type . "</TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD ALIGN='left'>Description:</TD><TD ALIGN='left'>" . shorten(str_replace($eols, " ", $row['unit_descr']), 32) . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD ALIGN='left'>{$gt_status}:</TD><TD ALIGN='left'> {$row['stat_descr']}</TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD ALIGN='left'>Contact:</TD><TD ALIGN='left'>" . $row['contact_name'] . " Via: " . $row['contact_via'] . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD ALIGN='left'>As of:</TD><TD ALIGN='left'>" . format_date($row['updated']) . "</TD></TR>"; if (array_key_exists($row['unit_id'], $assigns_ary)) { $tab_1 .= "<TR CLASS='even'><TD ALIGN='left' CLASS='emph'>Dispatched to:</TD><TD ALIGN='left' CLASS='emph'><A HREF='main.php?id=" . $tickets[$row['unit_id']] . "'>" . shorten($assigns[$row['unit_id']], 20) . "</A></TD></TR>"; } $tab_1 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'>" . $tofac . $todisp . $totrack . $toedit . " <A HREF='{$_SESSION['unitsfile']}?func=responder&view=true&id=" . $row['unit_id'] . "'><U>View</U></A></TD></TR>"; // 08/8/02 $tab_1 .= "</TABLE>"; // tab 2 if ($row_track) { // three tabs if track data $tab_2 = "<TABLE CLASS='infowin' width='{$iw_width}' >"; $tab_2 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . $row_track['source'] . "</B></TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD ALIGN='left'>Course: </TD><TD ALIGN='left'>" . $row_track['course'] . ", Speed: " . $row_track['speed'] . ", Alt: " . $row_track['altitude'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD ALIGN='left'>Closest city: </TD><TD ALIGN='left'>" . $row_track['closest_city'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD ALIGN='left'>{$gt_status}: </TD><TD ALIGN='left'>" . $row_track['status'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD ALIGN='left'>As of: </TD><TD ALIGN='left'> {$strike} " . format_date($row_track['packet_date']) . " {$strike_end} (UTC)</TD></TR></TABLE>"; ?> var myinfoTabs = [ new GInfoWindowTab("<?php print $row['handle']; ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("<?php print $GLOBALS['TRACK_2L'][$track_type]; ?> <?php print addslashes(substr($row_track['source'], -3)); ?> ", "<?php print $tab_2; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; <?php } else { // else two tabs ?> var myinfoTabs = [ new GInfoWindowTab("<?php print $row['handle']; ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; <?php } // end if(!($tabs_done)) } // end position data available $tip = isset($tip) ? $tip : "No Tip String"; if (!my_is_float($row['lat']) || $quick) { // 11/27/09 $resp_cat = get_category($row['unit_id']); print "\t\tdo_sidebar_u_ed (\"{$sidebar_line}\", {$sb_indx}, '{$on_click}', sym, \"{$tip}\", \"{$resp_cat}\");\n"; // (sidebar, line_no, on_click, letter) } else { ?> var the_class = ((map_is_fixed) && (!(mapBounds.containsLatLng(point))))? "emph" : "td_label"; do_sidebar_unit ("<?php print $sidebar_line; ?> ", <?php print $sb_indx; ?> , sym, the_class, "<?php print $tip; ?> ", "<?php print get_category($row['unit_id']); ?> "); // (instr, id, sym, myclass, tip) - 1/3/10 <?php } if (my_is_float($latitude)) { // map position? $the_color = $row['mobile'] == "1" ? 0 : 4; // icon color black, white -- 4/18/09 $the_group = get_category($row['unit_id']); // 3/15/11 if ($latitude == "0.999999" && $longitude == "0.999999") { // check for no maps added points 7/28/10 $dummylat = get_variable('def_lat'); $dummylng = get_variable('def_lng'); echo "\t\tvar point = new GLatLng(" . $dummylat . ", " . $dummylng . "); // 677\n"; ?> var dummymarker = createdummyMarker(point, myinfoTabs, <?php print $sb_indx; ?> ); // 859 - 7/28/10. Plots dummy icon in default position for units added in no maps operation map.addOverlay(dummymarker); <?php } else { ?> var the_group = '<?php print $the_group; ?> '; // 3/15/11 var tip_str = ""; var region = "<?php print get_first_group(2, $row['unit_id']); ?> "; var marker = createMarker(point, myinfoTabs, <?php print $the_color; ?> , <?php print $hide_unit; ?> , <?php print $sb_indx; ?> , sym, the_group, region, tip_str); // 7/28/10, 3/15/11 map.addOverlay(marker); <?php } // end check for no maps added points } // end if (my_is_float()) ?> var rowId = <?php print $sb_indx; ?> ; // row index for row hide/show - 3/2/10 rowIds.push(rowId); // form is "tr_id_??" where ?? is the row no. <?php $sb_indx++; // zero-based } // end ========== while() for RESPONDER ========== // $temp = (string) ( round((microtime(true) - $time), 3)); $source_legend = isset($do_legend) ? "<TD CLASS='emph' ALIGN='left'>Source time</TD>" : "<TD></TD>"; // if any remote data/time 3/24/09 print "\n\tside_bar_html+= \"<TR CLASS='\" + colors[i%2] +\"'><TD COLSPAN='7' ALIGN='right'>{$source_legend}</TD></TR>\";\n"; ?> var legends = "<TR class='even'><TD ALIGN='center' COLSPAN='99'><TABLE ALIGN='center' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> >"; // 3/15/11 legends += "<TR CLASS='spacer'><TD CLASS='spacer' COLSPAN='99' ALIGN='center'> </TD></TR><TR class='even'><TD ALIGN='center' COLSPAN='99'><B>Responders Legend</B></TD></TR>"; // 3/15/11 legends += "<TR CLASS='even'><TD COLSPAN='99' ALIGN='center'> <B>M</B>obility: stopped: <FONT COLOR='red'>•</FONT> moving: <FONT COLOR='green'>•</FONT> fast: <FONT COLOR='white'>•</FONT> silent: <FONT COLOR='black'>•</FONT> </TD></TR>"; // 3/15/11 legends += "<TR CLASS='even'><TD COLSPAN='99' ALIGN='center'><?php print get_units_legend(); ?> </TD></TR></TABLE>"; // 3/15/11 $("side_bar_r").innerHTML = side_bar_html; // 12/03/10 $("side_bar_rl").innerHTML = legends + "</TABLE>"; // 12/03/10 side_bar_html= ""; // 12/03/10 side_bar_html+="<TABLE><TR class='heading_2'><TH width = <?php print $ctrls_width; ?> ALIGN='center'>Responders</TH></TR><TR class='odd'><TD COLSPAN=99 CLASS='td_label' ><form action='#'>"; // 12/03/10, 3/15/11 <?php if ($units_ct > 0) { // 3/15/11 foreach ($categories as $key => $value) { // 12/03/10 ?> side_bar_html += "<DIV class='cat_button' onClick='set_chkbox(\"<?php print $value; ?> \")'><?php print $value; ?> : <input type=checkbox id='<?php print $value; ?> ' onClick='set_chkbox(\"<?php print $value; ?> \")'/> </DIV>"; <!-- 12/03/10 --> <?php } $all = "ALL"; // 12/03/10 $none = "NONE"; // 12/03/10 ?> side_bar_html += "<DIV ID = 'ALL_BUTTON' class='cat_button' onClick='set_chkbox(\"<?php print $all; ?> \")'><FONT COLOR = 'red'>ALL</FONT><input type=checkbox id='<?php print $all; ?> ' onClick='set_chkbox(\"<?php print $all; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'NONE_BUTTON' class='cat_button' onClick='set_chkbox(\"<?php print $none; ?> \")'><FONT COLOR = 'red'>NONE</FONT><input type=checkbox id='<?php print $none; ?> ' onClick='set_chkbox(\"<?php print $none; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'go_can' style='float:right; padding:2px;'><SPAN ID = 'go_button' onClick='do_go_button()' class='conf_next_button' STYLE = 'display:none;'><U>Next</U></SPAN>"; side_bar_html += "<SPAN ID = 'can_button' onClick='cancel_buttons()' class='conf_can_button' STYLE = 'display:none;'><U>Cancel</U></SPAN></DIV>"; side_bar_html+="</form></TD></TR></TABLE>"; <!-- 12/03/10 --> <?php } else { foreach ($categories as $key => $value) { // 12/03/10 ?> side_bar_html += "<DIV class='cat_button' STYLE='display: none;' onClick='set_chkbox(\"<?php print $value; ?> \")'><?php print $value; ?> : <input type=checkbox id='<?php print $value; ?> ' onClick='set_chkbox(\"<?php print $value; ?> \")'/> </DIV>"; <!-- 12/03/10 --> <?php } $all = "ALL"; // 12/03/10 $none = "NONE"; // 12/03/10 ?> side_bar_html += "<DIV class='cat_button' style='color: red;'>None Defined ! </DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'ALL_BUTTON' class='cat_button' STYLE='display: none;' onClick='set_chkbox(\"<?php print $all; ?> \")'><FONT COLOR = 'red'>ALL</FONT><input type=checkbox id='<?php print $all; ?> ' onClick='set_chkbox(\"<?php print $all; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'NONE_BUTTON' class='cat_button' STYLE='display: none;' onClick='set_chkbox(\"<?php print $none; ?> \")'><FONT COLOR = 'red'>NONE</FONT><input type=checkbox id='<?php print $none; ?> ' onClick='set_chkbox(\"<?php print $none; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html +="</form></TD></TR></TABLE></DIV>"; <!-- 12/03/10 --> <?php } ?> $("boxes").innerHTML = side_bar_html; // 12/03/10 side_bar_html to responders div <?php // snap(__LINE__, round((microtime(true) - $time), 3)); $fac_categories = array(); // 12/03/10 $fac_categories = get_fac_category_butts(); // 12/03/10 ?> // ==================================== Add Facilities to Map 8/1/09 ================================================ side_bar_html ="<TABLE border=0 CLASS='sidebar' >\n"; var icons=[]; var g=0; var fmarkers = []; var baseIcon = new GIcon(); baseIcon.shadow = "./markers/sm_shadow.png"; baseIcon.iconSize = new GSize(30, 30); baseIcon.iconAnchor = new GPoint(15, 30); baseIcon.infoWindowAnchor = new GPoint(9, 2); var fac_icon = new GIcon(baseIcon); fac_icon.image = icons[1]; function createfacMarker(fac_point, fac_name, id, fac_icon, type, region) { var region = region || 0; var fac_marker = new GMarker(fac_point, fac_icon); // Show this markers index in the info window when it is clicked var fac_html = fac_name; fac_marker.category = type; fac_marker.region = region; fmarkers[id] = fac_marker; GEvent.addListener(fac_marker, "click", function() {fac_marker.openInfoWindowHtml(fac_html);}); return fac_marker; } <?php $fac_order_values = array(1 => "`handle`,`fac_type_name` ASC", 2 => "`fac_type_name`,`handle` ASC", 3 => "`fac_status_val`,`fac_type_name` ASC"); // 3/15/11 if (array_key_exists('forder', $_POST)) { $_SESSION['fac_flag_2'] = $_POST['forder']; } elseif (empty($_SESSION['fac_flag_2'])) { $_SESSION['fac_flag_2'] = 2; } // 3/15/11 $fac_order_str = $fac_order_values[$_SESSION['fac_flag_2']]; // 3/15/11 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $al_groups = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; } if (isset($_SESSION['viewed_groups'])) { $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($al_groups as $grp) { // 6/10/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($curr_viewed as $grp) { // 6/10/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `{$GLOBALS['mysql_prefix']}allocates`.`type` = 3"; // 6/10/11 //-----------------------FACILITY BOUNDARY / CATCHMENT FENCE STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); <?php $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` `l`\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}facilities` `f` ON ( `l`.`id` = `f`.`boundary`)\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` ON ( `f`.`id` = `{$GLOBALS['mysql_prefix']}allocates`.`resource_id` )\t\n\t\t\t\t{$where2} AND `use_with_f`=1 GROUP BY `l`.`id`"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $all_boundaries[] = $row_bn['boundary']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, "<?php print $line_color; ?> ", <?php print $line_width; ?> , <?php print $line_opacity; ?> , "<?php print $fill_color; ?> ", <?php print $fill_opacity; ?> , {clickable:false, id: "catchment"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, "<?php print $line_color; ?> ", <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false, id: "catchment"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } // End while //-------------------------END OF FACILITY BOUNDARY / CATCHMENT STUFF------------------------- $query_fac = "SELECT *,UNIX_TIMESTAMP(updated) AS updated, `{$GLOBALS['mysql_prefix']}facilities`.id AS fac_id, \n\t\t`{$GLOBALS['mysql_prefix']}facilities`.description AS facility_description,\n\t\t`{$GLOBALS['mysql_prefix']}facilities`.boundary AS boundary,\t\t\n\t\t`{$GLOBALS['mysql_prefix']}fac_types`.name AS fac_type_name, \n\t\t`{$GLOBALS['mysql_prefix']}facilities`.name AS facility_name, \n\t\t`{$GLOBALS['mysql_prefix']}fac_status`.status_val AS fac_status_val, \n\t\t`{$GLOBALS['mysql_prefix']}facilities`.status_id AS fac_status_id\n\t\tFROM `{$GLOBALS['mysql_prefix']}facilities`\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` ON ( `{$GLOBALS['mysql_prefix']}facilities`.`id` = `{$GLOBALS['mysql_prefix']}allocates`.resource_id )\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_types` ON `{$GLOBALS['mysql_prefix']}facilities`.type = `{$GLOBALS['mysql_prefix']}fac_types`.id \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_status` ON `{$GLOBALS['mysql_prefix']}facilities`.status_id = `{$GLOBALS['mysql_prefix']}fac_status`.id \n\t\t{$where2} \n\t\tGROUP BY fac_id ORDER BY {$fac_order_str}"; // 3/15/11, 6/10/11 $result_fac = mysql_query($query_fac) or do_error($query_fac, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $temp = $col_width; $mail_str = may_email() ? "do_fac_mail_win();" : ""; // 7/2/10 print "\n\t\tside_bar_html += \"<TR CLASS='even' colspan='99'><TABLE ID='fac_table' STYLE='display: inline-block; width: 100%'>\"\n"; $facs_ct = mysql_affected_rows(); // 1/4/10 if ($facs_ct == 0) { print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TH COLSPAN=99 ALIGN='center'><I><B>No Facilities!</I></B></TH></TR>\"\n"; // 3/15/11 } else { $fs_checked = array("", "", "", ""); $fs_checked[$_SESSION['fac_flag_2']] = " CHECKED"; ?> side_bar_html += "<TR CLASS = 'even'><TD COLSPAN=99 ALIGN='center'>"; // 3/15/11 side_bar_html += "<I><B>Sort</B>: "; side_bar_html += "Handle» <input type = radio name = 'frm_order' value = 1 <?php print $fs_checked[1]; ?> onClick = 'do_fac_sort_sub(this.value);' /> "; // 3/15/11, 5/3/11 side_bar_html += "Type » <input type = radio name = 'frm_order' value = 2 <?php print $fs_checked[2]; ?> onClick = 'do_fac_sort_sub(this.value);' /> "; // 3/15/11, 5/3/11 side_bar_html += "Status » <input type = radio name = 'frm_order' value = 3 <?php print $fs_checked[3]; ?> onClick = 'do_fac_sort_sub(this.value);' />"; // 3/15/11, 5/3/11 side_bar_html += "</I></TD></TR>"; // 3/15/11 <?php print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TD> </TD><TD ALIGN='left'><B>Facility</B> ({$facs_ct}) </TD><TD ALIGN='left'><IMG SRC='mail_red.png' BORDER=0 onClick = '{$mail_str}'/></TD><TD> <B>Status</B></TD><TD ALIGN='left'><B>Type</B></TD><TD ALIGN='left'><B> As of</B></TD></TR>\"\n"; // 7/2/10, 3/15/11 } // =========================== begin major while() for FACILITIES ========== $quick = !is_guest() && intval(get_variable('quick') == 1); // 11/27/09 $sb_indx = 0; // for fac's only 8/5/10 while ($row_fac = mysql_fetch_assoc($result_fac)) { // 7/7/10 $fac_gps = get_allocates(3, $row_fac['fac_id']); // 6/10/11 $grp_names = "Groups Assigned: "; // 6/10/11 $y = 0; // 6/10/11 foreach ($fac_gps as $value) { // 6/10/11 $counter = count($fac_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $grp_names .= " / "; $fac_id = $row_fac['fac_id']; $fac_type = $row_fac['icon']; $fac_type_name = $row_fac['fac_type_name']; $fac_region = get_first_group(3, $fac_id); $fac_index = $row_fac['icon_str']; $fac_name = $row_fac['handle']; // 10/8/09 $on_click = $quick ? "fac_click_ed({$fac_id})" : ($clickevent = "fac_click_iw({$sb_indx})"); // 8/5/10 print "\t\tvar fac_sym = '" . addslashes($fac_index) . "';\n"; // for sidebar and icon 10/8/09 - 4/27/11 $toroute = is_guest() || is_unit() ? "" : " <A HREF='{$_SESSION['routesfile']}?ticket_id=" . $fac_id . "'><U>Dispatch</U></A>"; // 11/10/09, 7/27/10 if (is_guest() || is_unit()) { // 7/27/10 $facedit = $toroute = $facmail = ""; } else { $facedit = " <A HREF='{$_SESSION['facilitiesfile']}?func=responder&edit=true&id=" . $row_fac['fac_id'] . "'><U>Edit</U></A>"; $facmail = " <SPAN onClick = do_mail_fac_win('" . $row_fac['fac_id'] . "');><U><B>Email</B></U></SPAN>"; $toroute = " <A HREF='{$_SESSION['facroutesfile']}?fac_id=" . $fac_id . "'><U>Route To Facility</U></A>"; // 8/2/08 } if (my_is_float($row_fac['lat']) && my_is_float($row_fac['lng'])) { // $f_disp_name = $row_fac['handle']; // 10/8/09 $facility_display_name = $f_disp_name = $row_fac['handle']; $the_bg_color = $GLOBALS['FACY_TYPES_BG'][$row_fac['icon']]; // 2/8/10 $the_text_color = $GLOBALS['FACY_TYPES_TEXT'][$row_fac['icon']]; // 2/8/10 $sidebar_fac_line = "<TD width='20%' onClick = '{$on_click}' TITLE = '" . $grp_names . addslashes($facility_display_name) . "' ALIGN='left'><SPAN STYLE='background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};' >" . addslashes(shorten($facility_display_name, 24)) . "</SPAN></TD>"; //11/29/10, 3/15/11 // MAIL if (may_email() && (is_email($row_fac['contact_email']) || is_email($row_fac['security_email']))) { // 7/2/10 /* $mail_link = "\t<TD width='5%' CLASS='mylink' ALIGN='left'>" . "<IMG SRC='mail.png' width='10' height='10' BORDER=0 TITLE = 'click to email facility {$f_disp_temp[0]}'" . " onclick = 'do_mail_win(\\\"{$f_disp_temp[0]},{$row_fac['contact_email']}\\\");'> " . "</TD>"; // 4/26/09 */ // 5/19/11 $mail_link = "\t<TD width='5%' CLASS='mylink' ALIGN='left'>" . "<IMG SRC='mail.png' width='10' height='10' BORDER=0 TITLE = 'click to email facility {$f_disp_name[0]}'" . " onclick = 'do_mail_win(\\\"{$f_disp_name[0]},{$row_fac['contact_email']}\\\");'> " . "</TD>"; // 4/26/09 } else { $mail_link = "\t<TD ALIGN='left'>na</TD>"; } $sidebar_fac_line .= $mail_link; // STATUS $sidebar_fac_line .= "<TD width='20%'>" . get_status_sel($row_fac['fac_id'], $row_fac['fac_status_id'], "f") . "</TD>"; // status, 3/15/11 $sidebar_fac_line .= "<TD width='25%' ALIGN='left' onClick = '{$on_click};' > " . addslashes(shorten($row_fac['fac_type_name'], 16)) . "</TD>"; // $sidebar_fac_line .= "<TD width='15%' ALIGN='left' onClick = '{$on_click};' >" . addslashes($row_fac['status_val']) ."</TD>"; $sidebar_fac_line .= "<TD width='20%' onClick = '{$on_click};' > " . format_sb_date($row_fac['updated']) . "</TD>"; $fac_tab_1 = "<TABLE CLASS='infowin' width='{$iw_width}' >"; $fac_tab_1 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . addslashes(shorten($facility_display_name, 48)) . "</B></TD></TR>"; $fac_tab_1 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'><B>" . addslashes(shorten($row_fac['fac_type_name'], 48)) . "</B></TD></TR>"; $fac_tab_1 .= "<TR CLASS='even'><TD ALIGN='left'>Description: </TD><TD ALIGN='left'>" . replace_quotes(addslashes(str_replace($eols, " ", $row_fac['facility_description']))) . "</TD></TR>"; $fac_tab_1 .= "<TR CLASS='odd'><TD ALIGN='left'>Status: </TD><TD ALIGN='left'>" . addslashes($row_fac['status_val']) . " </TD></TR>"; $fac_tab_1 .= "<TR CLASS='even'><TD ALIGN='left'>Contact: </TD><TD ALIGN='left'>" . addslashes($row_fac['contact_name']) . " Email: " . addslashes($row_fac['contact_email']) . "</TD></TR>"; $fac_tab_1 .= "<TR CLASS='odd'><TD ALIGN='left'>Phone: </TD><TD ALIGN='left'>" . addslashes($row_fac['contact_phone']) . " </TD></TR>"; $fac_tab_1 .= "<TR CLASS='even'><TD ALIGN='left'>As of: </TD><TD ALIGN='left'> " . format_date($row_fac['updated']) . "</TD></TR>"; $fac_tab_1 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'>" . $facedit . $facmail . " <A HREF='{$_SESSION['facilitiesfile']}?func=responder&view=true&id=" . $row_fac['fac_id'] . "'><U>View</U></A></TD></TR>"; // $fac_tab_1 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'>" . $toroute . $facedit ." <A HREF='{$_SESSION['facilitiesfile']}?func=responder&view=true&id=" . $row_fac['fac_id'] . "'><U>View</U></A></TD></TR>"; $fac_tab_1 .= "</TABLE>"; $fac_tab_2 = "<TABLE CLASS='infowin' width='{$iw_width}' >"; $fac_tab_2 .= "<TR CLASS='odd'><TD ALIGN='left'>Security contact: </TD><TD ALIGN='left'>" . replace_quotes(addslashes($row_fac['security_contact'])) . " </TD></TR>"; $fac_tab_2 .= "<TR CLASS='even'><TD ALIGN='left'>Security email: </TD><TD ALIGN='left'>" . addslashes($row_fac['security_email']) . " </TD></TR>"; $fac_tab_2 .= "<TR CLASS='odd'><TD ALIGN='left'>Security phone: </TD><TD ALIGN='left'>" . addslashes($row_fac['security_phone']) . " </TD></TR>"; $fac_tab_2 .= "<TR CLASS='even'><TD ALIGN='left'>Access rules: </TD><TD ALIGN='left'>" . replace_quotes(addslashes(str_replace($eols, " ", $row_fac['access_rules']))) . "</TD></TR>"; $fac_tab_2 .= "<TR CLASS='odd'><TD ALIGN='left'>Security reqs: </TD><TD ALIGN='left'>" . replace_quotes(addslashes(str_replace($eols, " ", $row_fac['security_reqs']))) . "</TD></TR>"; $fac_tab_2 .= "<TR CLASS='even'><TD ALIGN='left'>Opening hours: </TD><TD ALIGN='left'>" . replace_quotes(addslashes(str_replace($eols, " ", $row_fac['opening_hours']))) . "</TD></TR>"; $fac_tab_2 .= "<TR CLASS='odd'><TD ALIGN='left'>Prim pager: </TD><TD ALIGN='left'>" . addslashes($row_fac['pager_p']) . " </TD></TR>"; $fac_tab_2 .= "<TR CLASS='even'><TD ALIGN='left'>Sec pager: </TD><TD ALIGN='left'>" . addslashes($row_fac['pager_s']) . " </TD></TR>"; $fac_tab_2 .= "</TABLE>"; ?> var myfacinfoTabs = [ new GInfoWindowTab("<?php print replace_quotes(nl2brr(addslashes(shorten($row_fac['facility_name'], 10)))); ?> ", "<?php print $fac_tab_1; ?> "), new GInfoWindowTab("More ...", "<?php print str_replace($eols, " ", $fac_tab_2); ?> ") ]; <?php if ($row_fac['lat'] == 0.999999 && $row_fac['lng'] == 0.999999) { // check for facilities entered in no maps mode 7/28/10 echo "var fac_icon = new GIcon(baseIcon);\n"; echo "var fac_type = {$fac_type};\n"; echo "var fac_type_name = \"{$fac_type_name}\";\n"; echo "var region = \"{$fac_region}\";\n"; echo "var fac_icon_url = \"./our_icons/question1.png\";\n"; echo "fac_icon.image = fac_icon_url;\n"; echo "var fac_point = new GLatLng(" . get_variable('def_lat') . "," . get_variable('def_lng') . ");\n"; echo "var fac_marker = createfacMarker(fac_point, myfacinfoTabs, g, fac_icon, fac_type_name, region);\n"; echo "map.addOverlay(fac_marker);\n"; echo "\n"; } else { echo "var fac_icon = new GIcon(baseIcon);\n"; echo "var fac_type = {$fac_type};\n"; echo "var fac_type_name = \"{$fac_type_name}\";\n"; echo "var region = \"{$fac_region}\";\n"; ?> var origin = ((fac_sym.length)>3)? (fac_sym.length)-3: 0; // pick low-order three chars 3/22/11 var iconStr = fac_sym.substring(origin); <?php echo "var fac_icon_url = \"./our_icons/gen_fac_icon.php?blank={$fac_type}&text=\" + (iconStr) + \"\";\n"; echo "fac_icon.image = fac_icon_url;\n"; echo "var fac_point = new GLatLng(" . $row_fac['lat'] . "," . $row_fac['lng'] . ");\n"; echo "var fac_marker = createfacMarker(fac_point, myfacinfoTabs, g, fac_icon, fac_type_name, region);\n"; echo "map.addOverlay(fac_marker);\n"; echo "\n"; } ?> if (fac_marker.isHidden()) { fac_marker.show(); } else { fac_marker.hide(); } <?php } // end if my_is_float ?> if(quick) { // set up for facility edit - 11/27/09 do_sidebar_fac_ed ("<?php print $sidebar_fac_line; ?> ", g, fac_sym, fac_icon, fac_type_name); } else { // set up for facility infowindow do_sidebar_fac_iw ("<?php print $sidebar_fac_line; ?> ", g, fac_sym, fac_icon, fac_type_name); } g++; <?php $sb_indx++; // zero-based - 6/30/10 } // end while() // $temp = (string) ( round((microtime(true) - $time), 3)); // snap (__LINE__, $temp ); ?> side_bar_html += "</TD></TR>\n"; // 11/29/10, 12/03/10 <?php // =====================================End of functions to show facilities======================================================================== ?> if (!(map_is_fixed)){ if (!points) { // any? map.setCenter(new GLatLng(<?php echo get_variable('def_lat'); ?> , <?php echo get_variable('def_lng'); ?> ), <?php echo get_variable('def_zoom'); ?> ); } else { center = bounds.getCenter(); zoom = map.getBoundsZoomLevel(bounds); map.setCenter(center,zoom); } // end if/else (!points) } // end if (!(map_is_fixed)) side_bar_html +="</TABLE></TD></TR>\n"; // 3/15/11 $("side_bar_f").innerHTML = side_bar_html; //side_bar_html to facilities div side_bar_html ="<TABLE border='0' VALIGN='top' ALIGN='center' CLASS='sidebar' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> >"; // 11/29/10, 3/15/11 side_bar_html +="<TR CLASS='spacer'><TD CLASS='spacer' COLSPAN='99' ALIGN='center'> </TD></TR>"; // 11/29/10, 3/15/11 side_bar_html +="<TR class='even'><TD ALIGN='center' COLSPAN=99><B>Facilities Legend</B></TD></TR>"; // legend row, 11/29/10, 3/15/11 side_bar_html +="<TR class='even'><TD ALIGN='center' COLSPAN=99><?php print get_facilities_legend(); ?> </TD></TR></TABLE>\n"; // 3/15/11 $("facs_legend").innerHTML = side_bar_html + "</TABLE>"; //side_bar_html to facilities legend div side_bar_html = ""; side_bar_html+="<TABLE><TR class='heading_2'><TH width = <?php print $ctrls_width; ?> ALIGN='center'>Facilities</TH></TR><TR class='odd'><TD COLSPAN=99 CLASS='td_label' ><form action='#'>"; // 12/03/10, 3/15/11 <?php if (!empty($fac_categories)) { function get_fac_icon($fac_cat) { // returns legend string $icons = $GLOBALS['fac_icons']; $sm_fac_icons = $GLOBALS['sm_fac_icons']; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_types` WHERE `name` = \"{$fac_cat}\""; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $print = ""; while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $fac_icon = $row['icon']; $print .= "<IMG SRC = './our_icons/" . $sm_fac_icons[$fac_icon] . "' STYLE = 'vertical-align: middle'>"; } unset($result); return $print; } foreach ($fac_categories as $key => $value) { // 12/03/10 $curr_icon = get_fac_icon($value); ?> side_bar_html += "<DIV class='cat_button' onClick='set_fac_chkbox(\"<?php print $value; ?> \")'><?php print get_fac_icon($value); ?> <?php print $value; ?> : <input type=checkbox id='<?php print $value; ?> ' onClick='set_fac_chkbox(\"<?php print $value; ?> \")'/> </DIV>"; <!-- 12/03/10 --> <?php } $all = "fac_ALL"; // 12/03/10 $none = "fac_NONE"; // 12/03/10 ?> side_bar_html += "<DIV ID = 'fac_ALL_BUTTON' class='cat_button' onClick='set_fac_chkbox(\"<?php print $all; ?> \")'><FONT COLOR = 'red'>ALL</FONT><input type=checkbox id='<?php print $all; ?> ' onClick='set_fac_chkbox(\"<?php print $all; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'fac_NONE_BUTTON' class='cat_button' onClick='set_fac_chkbox(\"<?php print $none; ?> \")'><FONT COLOR = 'red'>NONE</FONT><input type=checkbox id='<?php print $none; ?> ' onClick='set_fac_chkbox(\"<?php print $none; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'fac_go_can' style='float:right; padding:2px;'><SPAN ID = 'fac_go_button' onClick='do_go_facilities_button()' class='conf_next_button' STYLE = 'display:none;'><U>Next</U></SPAN>"; side_bar_html += "<SPAN ID = 'fac_can_button' onClick='fac_cancel_buttons()' class='conf_can_button' STYLE = 'display:none;'><U>Cancel</U></SPAN></DIV>"; side_bar_html+="</DIV></form></TD></TR></TABLE>"; <!-- 12/03/10, 3/15/11 --> $("fac_boxes").innerHTML = side_bar_html; // 12/03/10 side_bar_html to responders div <?php } else { function get_fac_icon($fac_cat) { // returns legend string $icons = $GLOBALS['fac_icons']; $sm_fac_icons = $GLOBALS['sm_fac_icons']; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_types` WHERE `name` = \"{$fac_cat}\""; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $print = ""; while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $fac_icon = $row['icon']; $print .= "<IMG SRC = './our_icons/" . $sm_fac_icons[$fac_icon] . "' STYLE = 'vertical-align: middle'>"; } unset($result); return $print; } foreach ($fac_categories as $key => $value) { // 12/03/10 $curr_icon = get_fac_icon($value); ?> side_bar_html += "<DIV class='cat_button' STYLE='display: none;' onClick='set_fac_chkbox(\"<?php print $value; ?> \")'><?php print get_fac_icon($value); ?> <?php print $value; ?> : <input type=checkbox id='<?php print $value; ?> ' onClick='set_fac_chkbox(\"<?php print $value; ?> \")'/> </DIV>"; <!-- 12/03/10 --> <?php } $all = "fac_ALL"; // 12/03/10 $none = "fac_NONE"; // 12/03/10 ?> side_bar_html= ""; // 12/03/10 side_bar_html+="<TABLE><TR class='heading_2'><TH width = <?php print $ctrls_width; ?> ALIGN='center' COLSPAN='99'>Facilities</TH></TR><TR class='odd'><TD COLSPAN=99 CLASS='td_label'><form action='#'>"; // 12/03/10, 3/15/11 side_bar_html += "<DIV class='cat_button' style='color: red;'>None Defined ! </DIV>"; <!-- 12/03/10, 3/15/11 --> <?php $all = "fac_ALL"; // 12/03/10 $none = "fac_NONE"; // 12/03/10 ?> side_bar_html += "<DIV ID = 'fac_ALL_BUTTON' class='cat_button' STYLE='display: none;'><input type=checkbox id='<?php print $all; ?> '/></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'fac_NONE_BUTTON' class='cat_button' STYLE='display: none;'><input type=checkbox id='<?php print $none; ?> '/></DIV>"; <!-- 12/03/10 --> side_bar_html += "</form></TD></TR></TABLE></DIV>"; <!-- 12/03/10 --> $("fac_boxes").innerHTML = side_bar_html; // 12/03/10 side_bar_html to responders div <?php } // ------------------------------Buttons for boundaries show and hide $boundary_names = array(); $bn = 0; // $query = "SELECT * FROM `$GLOBALS[mysql_prefix]mmarkup`"; // $result = mysql_query($query)or do_error($query, mysql_error(), basename(__FILE__), __LINE__); // while ($row = stripslashes_deep(mysql_fetch_assoc($result))) {; // $boundary_names[$bn] = $row['line_name']; // $bn++; // } foreach ($all_boundaries as $key => $value) { $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` WHERE `id`='{$value}'"; $result = mysql_query($query) or do_error($query, mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $boundary_names[$bn] = $row['line_name']; $bn++; } } ?> side_bar_html= ""; // 6/10/11 side_bar_html+="<TABLE><TR class='heading_2'><TH width = <?php print $ctrls_width; ?> ALIGN='center'>Boundaries and Fences</TH></TR><TR class='odd'><TD COLSPAN=99 CLASS='td_label' ><form action='#'>"; // 6/10/11 <?php $counter = count($boundary_names); if ($counter == 0) { ?> side_bar_html += "<DIV class='cat_button' STYLE='display: none;'>No Boundaries</DIV>"; <!-- 6/10/11 --> side_bar_html += "<DIV class='cat_button' style='color: red;'>None Defined ! </DIV>"; <!-- 6/10/11 --> side_bar_html +="</form></TD></TR></TABLE></DIV>"; <!-- 6/10/11 --> <?php } else { foreach ($boundary_names as $key => $value) { // 6/10/11 ?> side_bar_html += "<DIV class='cat_button' onClick='set_bnd_chkbox(\"<?php print $value; ?> \")'><?php print $value; ?> : <input type=checkbox id='<?php print $value; ?> ' onClick='set_bnd_chkbox(\"<?php print $value; ?> \")'/> </DIV>"; <!--6/10/11 --> <?php } $all = "BND_ALL"; // 6/10/11 $none = "BND_NONE"; // 6/10/11 ?> side_bar_html += "<DIV ID = 'BND_ALL_BUTTON' class='cat_button' onClick='set_bnd_chkbox(\"<?php print $all; ?> \")'><FONT COLOR = 'red'>ALL</FONT><input type=checkbox id='<?php print $all; ?> ' onClick='set_bnd_chkbox(\"<?php print $all; ?> \")'/></FONT></DIV>"; <!-- 6/10/11 --> side_bar_html += "<DIV ID = 'BND_NONE_BUTTON' class='cat_button' onClick='set_bnd_chkbox(\"<?php print $none; ?> \")'><FONT COLOR = 'red'>NONE</FONT><input type=checkbox id='<?php print $none; ?> ' onClick='set_bnd_chkbox(\"<?php print $none; ?> \")'/></FONT></DIV>"; <!-- 6/10/11 --> side_bar_html += "<DIV ID = 'bnd_go_can' style='float:right; padding:2px;'><SPAN ID = 'bnd_go_button' onClick='do_go_bnd_button()' class='conf_next_button' STYLE = 'display:none;'><U>Next</U></SPAN>"; side_bar_html += "<SPAN ID = 'bnd_can_button' onClick='bnd_cancel_buttons()' class='conf_can_button' STYLE = 'display:none;'><U>Cancel</U></SPAN></DIV>"; side_bar_html+="</form></TD></TR></TABLE>"; <!-- 6/10/11 --> <?php } ?> $("poly_boxes").innerHTML = side_bar_html; // 12/03/10 side_bar_html to responders div <?php // ---------------------------end of Buttons for boundaries show and hide // code below revised 11/29/10 to remove scheduled / current buttons and repair faulty display of facilities // $query = "SELECT * FROM `$GLOBALS[mysql_prefix]ticket` WHERE `problemend` IS NOT NULL "; // 10/21/09 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status` = 1 "; // 10/21/09 $result_ct = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_closed = mysql_num_rows($result_ct); unset($result_ct); $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status` = 3 "; // 10/21/09 $result_scheduled = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_scheduled = mysql_num_rows($result_scheduled); unset($result_scheduled); if (!empty($addon)) { print "\n\tside_bar_html +=\"" . $addon . "\"\n"; } do_kml(); // kml display - 6/28/11 ?> // ============================================================================================================= } // end if (GBrowserIsCompatible()) else { alert("Sorry, browser compatibility problem. Contact your tech support group."); } function tester() { alert("2093 " + gmarkers.length); for (i=0; i<gmarkers.length; i++) { alert("2095 " + i + " " + gmarkers[i]['x']); } } </SCRIPT> <?php // snap(__LINE__, round((microtime(true) - $time), 3)); echo "Elapsed: " . round(microtime(true) - $time, 3) . "s"; }
var retval = new Array(); for(var i=0; i < form.elements.length; i++) { var el = form.elements[i]; if(el.type == "checkbox" && el.name == arrayName && el.checked) { retval.push(el.value); } } return retval; } function checkForm(form) { // 6/10/11 var errmsg=""; var itemsChecked = checkArray(form, "frm_group[]"); if(itemsChecked.length > 0) { var params = "f_n=viewed_groups&v_n=" +itemsChecked+ "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist3.php"; // 3/15/11 sendRequest (url, fvg_handleResult, params); // form.submit(); } else { errmsg+= "\tYou cannot Hide all the regions\n"; if (errmsg!="") { alert ("Please correct the following and re-submit:\n\n" + errmsg); return false; } } } function fvg_handleResult(req) { // 6/10/11 The persist callback function for viewed groups.
function list_facilities($addon = '', $start) { // global {$_SESSION['fip']}, $fmp, {$_SESSION['editfile']}, {$_SESSION['addfile']}, {$_SESSION['unitsfile']}, {$_SESSION['facilitiesfile']}, {$_SESSION['routesfile']}, {$_SESSION['facroutesfile']}; global $iw_width, $u_types, $tolerance; // $assigns = array(); // $tickets = array(); $query = "SELECT `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`, `{$GLOBALS['mysql_prefix']}assigns`.`responder_id`, `{$GLOBALS['mysql_prefix']}ticket`.`scope` AS `ticket` FROM `{$GLOBALS['mysql_prefix']}assigns` LEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` ON `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`=`{$GLOBALS['mysql_prefix']}ticket`.`id`"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_as = stripslashes_deep(mysql_fetch_assoc($result_as))) { $assigns[$row_as['responder_id']] = $row_as['ticket']; $tickets[$row_as['responder_id']] = $row_as['ticket_id']; } unset($result_as); $calls = array(); $calls_nr = array(); $calls_time = array(); $query = "SELECT * , UNIX_TIMESTAMP(packet_date) AS `packet_date` FROM `{$GLOBALS['mysql_prefix']}tracks` ORDER BY `packet_date` ASC"; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), __FILE__, __LINE__); while ($row = mysql_fetch_assoc($result)) { if (isset($calls[$row['source']])) { // array_key_exists ( mixed key, array search ) $calls_nr[$row['source']]++; } else { array_push($calls, trim($row['source'])); $calls[trim($row['source'])] = TRUE; $calls_nr[$row['source']] = 1; } $calls_time[$row['source']] = $row['packet_date']; // save latest - note query order } $query = "SELECT `id` FROM `{$GLOBALS['mysql_prefix']}facilities`"; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), __FILE__, __LINE__); $facilities = mysql_affected_rows() > 0 ? mysql_affected_rows() : "<I>none</I>"; unset($result); ?> <SCRIPT > var color=0; var colors = new Array ('odd', 'even'); function hideDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = 'none'; $(hide_cont).style.display = 'none'; $(show_cont).style.display = ''; } var params = "f_n=" +controlarea+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function showDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = ''; $(hide_cont).style.display = ''; $(show_cont).style.display = 'none'; } var params = "f_n=" +controlarea+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function hideGroup(color) { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if (gmarkers[i].id == color) { gmarkers[i].show(); } else { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () elem = $("allIcons"); elem.style.visibility = "visible"; } // end function function showAll() { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { gmarkers[i].show(); } } // end for () elem = $("allIcons"); elem.style.visibility = "hidden"; } // end function function checkArray(form, arrayName) { // 5/3/11 var retval = new Array(); for(var i=0; i < form.elements.length; i++) { var el = form.elements[i]; if(el.type == "checkbox" && el.name == arrayName && el.checked) { retval.push(el.value); } } return retval; } function checkForm(form) { // 6/10/11 var errmsg=""; var itemsChecked = checkArray(form, "frm_group[]"); if(itemsChecked.length > 0) { var params = "f_n=viewed_groups&v_n=" +itemsChecked+ "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist3.php"; // 3/15/11 sendRequest (url, fvg_handleResult, params); // form.submit(); } else { errmsg+= "\tYou cannot Hide all the regions\n"; if (errmsg!="") { alert ("Please correct the following and re-submit:\n\n" + errmsg); return false; } } } function fvg_handleResult(req) { // 6/10/11 The persist callback function for viewed groups. document.region_form.submit(); } function form_validate(theForm) { // 5/3/11 // alert("Validating"); checkForm(theForm); } // end function validate(theForm) function sendRequest(url,callback,postData) { // 2/14/09 var req = createXMLHTTPObject(); if (!req) return; var method = (postData) ? "POST" : "GET"; req.open(method,url,true); req.setRequestHeader('User-Agent','XMLHTTP/1.0'); if (postData) req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); req.onreadystatechange = function () { if (req.readyState != 4) return; if (req.status != 200 && req.status != 304) { return; } callback(req); } if (req.readyState == 4) return; req.send(postData); } var XMLHttpFactories = [ function () {return new XMLHttpRequest() }, function () {return new ActiveXObject("Msxml2.XMLHTTP") }, function () {return new ActiveXObject("Msxml3.XMLHTTP") }, function () {return new ActiveXObject("Microsoft.XMLHTTP") } ]; function createXMLHTTPObject() { var xmlhttp = false; for (var i=0;i<XMLHttpFactories.length;i++) { try { xmlhttp = XMLHttpFactories[i](); } catch (e) { continue; } break; } return xmlhttp; } function createMarker(point, tabs, color, id, fac_id) { // (point, myinfoTabs,<?php print $row['type']; ?> , i) points = true; // at least one // var letter = to_str(id); var fac_id = fac_id; var icon = new GIcon(listIcon); var icon_url = "./our_icons/gen_fac_icon.php?blank=" + escape(icons[color]) + "&text=" + fac_id; icon.image = icon_url; // var marker = new GMarker(point, icon); marker.id = color; // for hide/unhide - unused GEvent.addListener(marker, "click", function() { // here for both side bar and icon click if (marker) { map.closeInfoWindow(); which = id; gmarkers[which].hide(); marker.openInfoWindowTabsHtml(infoTabs[id]); setTimeout(function() { // wait for rendering complete if ($("detailmap")) { var dMapDiv = $("detailmap"); var detailmap = new GMap2(dMapDiv); detailmap.addControl(new GSmallMapControl()); detailmap.setCenter(point, 17); // larger # = closer detailmap.addOverlay(marker); } else { } },4000); // end setTimeout(...) } // end if (marker) }); // end GEvent.add Listener() gmarkers[id] = marker; // marker to array for side_bar click function infoTabs[id] = tabs; // tabs to array if (!(map_is_fixed)) { bounds.extend(point); } return marker; } // end function create Marker() function createdummyMarker(point, tabs, color, id, fac_id) { // 7/28/10 points = true; // at least one // var letter = to_str(id); var fac_id = fac_id; var icon = new GIcon(listIcon); var icon_url = "./our_icons/question1.png"; icon.image = icon_url; // var dummymarker = new GMarker(point, icon); dummymarker.id = color; // for hide/unhide - unused GEvent.addListener(dummymarker, "click", function() { // here for both side bar and icon click if (dummymarker) { map.closeInfoWindow(); which = id; gmarkers[which].hide(); dummymarker.openInfoWindowTabsHtml(infoTabs[id]); setTimeout(function() { // wait for rendering complete if ($("detailmap")) { var dMapDiv = $("detailmap"); var detailmap = new GMap2(dMapDiv); detailmap.addControl(new GSmallMapControl()); detailmap.setCenter(point, 17); // larger # = closer detailmap.addOverlay(dummymarker); } else { } },4000); // end setTimeout(...) } // end if (marker) }); // end GEvent.add Listener() gmarkers[id] = dummymarker; // marker to array for side_bar click function infoTabs[id] = tabs; // tabs to array if (!(map_is_fixed)) { bounds.extend(point); } return dummymarker; } // end function createdummyMarker() function do_sidebar (sidebar, id, the_class, fac_id) { var fac_id = fac_id; side_bar_html += "<TR CLASS='" + colors[(id)%2] +"'>"; side_bar_html += "<TD CLASS='" + the_class + "' onClick = myclick(" + id + "); >" + fac_id + sidebar +"</TD></TR>\n"; // 3/15/11 } function do_sidebar_nm (sidebar, line_no, id, fac_id) { var fac_id = fac_id; var letter = to_str(line_no); side_bar_html += "<TR CLASS='" + colors[(line_no)%2] +"'>"; side_bar_html += "<TD onClick = myclick_nm(" + id + "); >" + fac_id + sidebar +"</TD></TR>\n"; // 1/23/09, 10/29/09 removed period, 11/11/09, 3/15/11 } function myclick_nm(v_id) { // Responds to sidebar click - view responder data document.view_form.id.value=v_id; document.view_form.submit(); } function myclick(id) { // Responds to sidebar click, then triggers listener above - note [id] GEvent.trigger(gmarkers[id], "click"); location.href = '#top'; // 11/11/090 } function do_lat (lat) { document.forms[0].frm_lat.value=lat.toFixed(6); } function do_lng (lng) { document.forms[0].frm_lng.value=lng.toFixed(6); } function do_ngs() { // LL to USNG var loc = <?php print get_variable('locale'); ?> ; document.forms[0].frm_ngs.disabled=false; if(loc == 0) { document.forms[0].frm_ngs.value = LLtoUSNG(document.forms[0].frm_lat.value, document.forms[0].frm_lng.value, 5); } if(loc == 1) { document.forms[0].frm_ngs.value = LLtoOSGB(document.forms[0].frm_lat.value, document.forms[0].frm_lng.value); } if(loc == 2) { document.forms[0].frm_ngs.value = LLtoOSGB(document.forms[0].frm_lat.value, document.forms[0].frm_lng.value); } document.forms[0].frm_ngs.disabled=true; } function do_sel_update_fac (in_unit, in_val) { // 3/15/11 to_server_fac(in_unit, in_val); } function to_server_fac(the_unit, the_status) { // 3/15/11 var querystr = "frm_responder_id=" + the_unit; querystr += "&frm_status_id=" + the_status; var url = "as_up_fac_status.php?" + querystr; // 3/15/11 var payload = syncAjax(url); // if (payload.substring(0,1)=="-") { alert ("<?php print __LINE__; ?> : msg failed "); return false; } else { parent.frames['upper'].show_msg ('Facility status update applied!') return true; } // end if/else (payload.substring(... ) } // end function to_server() var icons=new Array; // maps type to icon blank <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_types` ORDER BY `id`"; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $icons = $GLOBALS['fac_icons']; while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // map type to blank icon id $blank = $icons[$row['icon']]; print "\ticons[" . $row['id'] . "] = " . $row['icon'] . ";\n"; // } unset($result); $dzf = get_variable('def_zoom_fixed'); print "\tvar map_is_fixed = "; print my_is_int($dzf) && $dzf == 2 || my_is_int($dzf) && $dzf == 3 ? "true;\n" : "false;\n"; ?> var map; var side_bar_html = "<TABLE border=0 CLASS='sidebar' ID='tbl_facilities'>"; side_bar_html += "<TR class='even'> <TD><B>Icon</B></TD><TD><B>Handle</B></TD><TD ALIGN='left'><B>Name</B></TD><TD ALIGN='left'><B><?php print get_text("Type"); ?> </B></TD><TD ALIGN='left'><B><?php print get_text("Status"); ?> </B></TD><TD ALIGN='left'><B><?php print get_text("As of"); ?> </B></TD></TR>"; var gmarkers = []; var infoTabs = []; var which; var i = <?php print $start; ?> ; // sidebar/icon index var points = false; // none map = new GMap2($("map")); // create the map <?php $maptype = get_variable('maptype'); switch ($maptype) { case "1": break; case "2": ?> map.setMapType(G_SATELLITE_MAP);<?php break; case "3": ?> map.setMapType(G_PHYSICAL_MAP);<?php break; case "4": ?> map.setMapType(G_HYBRID_MAP);<?php break; default: print "ERROR in " . basename(__FILE__) . " " . __LINE__ . "<BR />"; } ?> // map.addControl(new GSmallMapControl()); map.setUIToDefault(); // 8/13/10 map.addControl(new GMapTypeControl()); <?php if (get_variable('terrain') == 1) { ?> map.addMapType(G_PHYSICAL_MAP); <?php } ?> map.setCenter(new GLatLng(<?php echo get_variable('def_lat'); ?> , <?php echo get_variable('def_lng'); ?> ), <?php echo get_variable('def_zoom'); ?> ); mapBounds=new GLatLngBounds(map.getBounds().getSouthWest(), map.getBounds().getNorthEast()); var bounds = new GLatLngBounds(); // create bounding box map.enableScrollWheelZoom(); do_landb(); // 8/1/11 - show scribbles var listIcon = new GIcon(); listIcon.image = "./markers/yellow.png"; // yellow.png - 16 X 28 listIcon.shadow = "./markers/sm_shadow.png"; listIcon.iconSize = new GSize(30, 30); listIcon.shadowSize = new GSize(16, 28); listIcon.iconAnchor = new GPoint(8, 28); listIcon.infoWindowAnchor = new GPoint(9, 2); listIcon.infoShadowAnchor = new GPoint(18, 25); GEvent.addListener(map, "infowindowclose", function() { // re-center after move/zoom map.addOverlay(gmarkers[which]) }); //-----------------------BOUNDARIES STUFF--------------------6/10/11 var thepoint; var points = new Array(); var boundary = new Array(); var bound_names = new Array(); GEvent.addListener(map, "click", function(overlay,boundpoint) { for (var n = 0; n < boundary.length; n++) { if (boundary[n].Contains(boundpoint)) { map.openInfoWindowHtml(boundpoint,"This is " + bound_names[n]); } } }); <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}' ORDER BY `id` ASC;"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $a_gp_bounds = array(); $gp_bounds = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; $query2 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$row['group']}';"; // 6/10/11 $result2 = mysql_query($query2); // 4/18/11 while ($row2 = stripslashes_deep(mysql_fetch_assoc($result2))) { // // 6/10/11 if ($row2['boundary'] != 0) { $a_gp_bounds[] = $row2['boundary']; } } } if (isset($_SESSION['viewed_groups'])) { // 6/10/11 foreach (explode(",", $_SESSION['viewed_groups']) as $val_vg) { $query3 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$val_vg}';"; $result3 = mysql_query($query3); // 6/10/11 while ($row3 = stripslashes_deep(mysql_fetch_assoc($result3))) { if ($row3['boundary'] != 0) { $gp_bounds[] = $row3['boundary']; } } } } else { $gp_bounds = $a_gp_bounds; } foreach ($gp_bounds as $value) { // 6/10/11 ?> var points = new Array(); <?php if ($value != 0) { $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` WHERE `id`='{$value}' AND `use_with_f`=1"; // print $query_bn; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $points = explode(";", $line_data); for ($xx = 0; $xx < count($points); $xx++) { $coords = explode(",", $points[$xx]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) ?> <?php switch ($row_bn['line_type']) { case "p": // poly if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, "<?php print $line_color; ?> ", <?php print $line_width; ?> , <?php print $line_opacity; ?> , "<?php print $fill_color; ?> ", <?php print $fill_opacity; ?> , {clickable:false}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, "<?php print $line_color; ?> ", <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php break; case "c": $temp = explode(";", $line_data); $radius = $temp[1]; $coords = explode(",", $temp[0]); $lat = $coords[0]; $lng = $coords[1]; $fill_opacity = intval($filled) == 0 ? 0 : $fill_opacity; echo "\n drawCircle({$lat}, {$lng}, {$radius}, add_hash('{$line_color}'), {$line_opacity}, {$line_width}, add_hash('{$fill_color}'), {$fill_opacity}); // 513\n"; break; } } // End while } // end if $value !=0 } // end foreach $gp_bounds //-------------------------END OF BOUNDARIES STUFF------------------------- $eols = array("\r\n", "\n", "\r"); // all flavors of eol $status_vals = array(); // build array of $status_vals $status_vals[''] = $status_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_status` ORDER BY `id`"; $result_st = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_st = stripslashes_deep(mysql_fetch_assoc($result_st))) { $temp = $row_st['id']; $status_vals[$temp] = $row_st['status_val']; } unset($result_st); $type_vals = array(); // build array of $status_vals $type_vals[''] = $type_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_types` ORDER BY `id`"; $result_ty = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_ty = stripslashes_deep(mysql_fetch_assoc($result_ty))) { $temp = $row_ty['id']; $type_vals[$temp] = $row_ty['name']; } unset($result_ty); $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $al_groups = array(); while ($row_gp = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row_gp['group']; } if (isset($_SESSION['viewed_groups'])) { // 6/10/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($al_groups as $grp) { // 6/10/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($curr_viewed as $grp) { // 6/10/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `a`.`type` = 3"; // 6/10/11 unset($result); // 3/15/11, 6/10/11 $query = "SELECT *,UNIX_TIMESTAMP(updated) AS updated, \n\t\t`f`.id AS id, \n\t\t`f`.status_id AS status_id,\n\t\t`f`.boundary AS boundary,\t\t\n\t\t`f`.description AS facility_description,\n\t\t`t`.name AS fac_type_name, \n\t\t`f`.name AS name,\n\t\t`f`.type AS type,\n\t\t`f`.street AS street,\n\t\t`f`.city AS city,\n\t\t`f`.state AS state \n\t\tFROM `{$GLOBALS['mysql_prefix']}facilities` `f`\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `f`.`id` = a.resource_id )\t\t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_types` `t` ON `f`.type = `t`.id \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_status` `s` ON `f`.status_id = `s`.id \n\t\t{$where2} GROUP BY `f`.id ORDER BY `f`.type ASC"; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_facilities = mysql_affected_rows(); $i = 0; // counter // ============================================================================= $utc = gmdate("U"); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // ========== major while() for Facility ========== $boundary = $row['boundary']; //-----------------------FACILITY BOUNDARIES / CATCHMENT STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); <?php $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` WHERE `id`='{$boundary}' AND `use_with_f`=1"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { $the_type = $row_bn['line_type']; switch ($the_type) { case "p": extract($row_bn); $bn_name = $row_bn['line_name']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, "<?php print $line_color; ?> ", <?php print $line_width; ?> , <?php print $line_opacity; ?> , "<?php print $fill_color; ?> ", <?php print $fill_opacity; ?> , {clickable:false}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, "<?php print $line_color; ?> ", <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php break; case "c": extract($row_bn); $temp = explode(";", $line_data); $radius = $temp[1]; $coords = explode(",", $temp[0]); $lat = $coords[0]; $lng = $coords[1]; $fill_opacity = intval($filled) == 0 ? 0 : $fill_opacity; echo "\n drawCircle({$lat}, {$lng}, {$radius}, add_hash('{$line_color}'), {$line_opacity}, {$line_width}, add_hash('{$fill_color}'), {$fill_opacity}); // 513\n"; break; } // end switch } // End while //-------------------------END OF FACILITY BOUNDARIES STUFF------------------------- $fac_gps = get_allocates(3, $row['id']); // 6/10/11 $grp_names = "Groups Assigned: "; // 6/10/11 $y = 0; // 6/10/11 foreach ($fac_gps as $value) { // 6/10/11 $counter = count($fac_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $grp_names .= " / "; $the_bg_color = $GLOBALS['FACY_TYPES_BG'][$row['icon']]; // 2/8/10 $the_text_color = $GLOBALS['FACY_TYPES_TEXT'][$row['icon']]; // 2/8/10 $the_on_click = my_is_float($row['lat']) ? " onClick = myclick({$i}); " : " onClick = myclick_nm({$row['unit_id']}); "; // 3/15/11 $got_point = FALSE; print "\n\t\tvar i={$i};\n"; if (is_guest()) { $toedit = $tomail = $toroute = ""; } else { $toedit = " <A HREF='{$_SESSION['facilitiesfile']}?func=responder&edit=true&id=" . $row['id'] . "'><U>Edit</U></A>"; $tomail = " <SPAN onClick = 'do_mail_in_win({$row['id']})'><U><B>Email</B></U></SPAN>"; $toroute = " <A HREF='{$_SESSION['facroutesfile']}?fac_id=" . $row['id'] . "'><U>Route To Facility</U></A>"; } $temp = $row['status_id']; $the_status = array_key_exists($temp, $status_vals) ? $status_vals[$temp] : "??"; $temp_type = $row['type']; $the_type = array_key_exists($temp_type, $type_vals) ? $type_vals[$temp_type] : "??"; if (!$got_point && my_is_float($row['lat'])) { if ($row['lat'] == 0.999999 && $row['lng'] == 0.999999) { echo "\t\tvar point = new GLatLng(" . get_variable('def_lat') . ", " . get_variable('def_lng') . ");\n"; } else { echo "\t\tvar point = new GLatLng(" . $row['lat'] . ", " . $row['lng'] . ");\n"; } $got_point = TRUE; } $update_error = strtotime('now - 6 hours'); // set the time for silent setting $index = $row['icon_str']; // name $display_name = $name = htmlentities($row['name'], ENT_QUOTES); $handle = htmlentities($row['handle'], ENT_QUOTES); // 7/7/11 $sidebar_line = " <TD WIDTH='15%' TITLE = '{$row['handle']}' {$the_on_click}><U><SPAN STYLE='background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};'>" . addslashes(shorten($handle, 15)) . "</SPAN></U></TD>"; // 6/10/11 $sidebar_line .= "<TD WIDTH='40%' TITLE = '" . addslashes($name) . "' {$the_on_click}><U><SPAN STYLE='background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};'><NOBR>" . addslashes(shorten($name, 24)) . "</NOBR></SPAN></U></TD><TD WIDTH='15%'>{$the_type}</TD>"; $sidebar_line .= "<TD WIDTH='20%' CLASS='td_data' TITLE = '" . addslashes($the_status) . "'> " . get_status_sel($row['id'], $row['status_id'], 'f') . "</TD>"; // 3/15/11 // as of $strike = $strike_end = ""; $the_time = $row['updated']; $the_class = ""; $strike = $strike_end = ""; $sidebar_line .= "<TD WIDTH='20%' CLASS='{$the_class}'> {$strike} <NOBR>" . format_sb_date($the_time) . "</NOBR> {$strike_end}</TD>"; // tab 1 if (my_is_float($row['lat'])) { // position data? $temptype = $u_types[$row['type']]; $the_type = $temptype[0]; $tab_1 = "<TABLE CLASS='infowin' width='{$iw_width}'>"; $tab_1 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . addslashes(shorten($display_name, 48)) . "</B> - " . $the_type . "</TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD ALIGN='right'>Description: </TD><TD ALIGN='left'>" . addslashes(shorten(str_replace($eols, " ", $row['description']), 32)) . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD ALIGN='right'>Status: </TD><TD ALIGN='left'>" . $the_status . " </TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD ALIGN='right'>Contact: </TD><TD ALIGN='left'>" . addslashes($row['contact_name']) . " Via: " . addslashes($row['contact_email']) . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD ALIGN='right'>As of: </TD><TD ALIGN='left'>" . format_date($row['updated']) . "</TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'>" . $toedit . $tomail . " <A HREF='{$_SESSION['facilitiesfile']}?func=responder&view=true&id=" . $row['id'] . "'><U>View</U></A></TD></TR>"; // 08/8/02 $tab_1 .= "</TABLE>"; $tab_2 = "<TABLE CLASS='infowin' width='{$iw_width}' ALIGN = 'center' >"; $tab_2 .= "<TR CLASS='odd'><TD ALIGN='right' STYLE= 'width:50%'>Security contact: </TD><TD ALIGN='left' STYLE= 'width:50%'>" . addslashes($row['security_contact']) . " </TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD ALIGN='right'>Security email: </TD><TD ALIGN='left'>" . addslashes($row['security_email']) . " </TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD ALIGN='right'>Security phone: </TD><TD ALIGN='left'>" . addslashes($row['security_phone']) . " </TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD ALIGN='right'>" . get_text("Access rules") . ": </TD><TD ALIGN='left'>" . addslashes(str_replace($eols, " ", $row['access_rules'])) . "</TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD ALIGN='right'>Security reqs: </TD><TD ALIGN='left'>" . addslashes(str_replace($eols, " ", $row['security_reqs'])) . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD ALIGN='right'>Opening hours: </TD><TD ALIGN='left'>" . addslashes(str_replace($eols, " ", $row['opening_hours'])) . "</TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD ALIGN='right'>Prim pager: </TD><TD ALIGN='left'>" . addslashes($row['pager_p']) . " </TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD ALIGN='right'>Sec pager: </TD><TD ALIGN='left'>" . addslashes($row['pager_s']) . " </TD></TR>"; $tab_2 .= "</TABLE>"; // tab 2 $tabs_done = FALSE; // default if (!$tabs_done) { // ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(addslashes(shorten($row['name'], 10))); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("More ...", "<?php print str_replace($eols, " ", $tab_2); ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; <?php } // end if/else $name = $row['name']; // 10/8/09 4/28/11 if ($row['lat'] == 0.999999 && $row['lng'] == 0.999999) { // check for facilities added in no mpas mode 7/28/10 ?> var fac_id = "<?php print $index; ?> "; // 10/8/09 var the_class = ((map_is_fixed) && (!(mapBounds.containsLatLng(point))))? "emph" : "td_label"; do_sidebar ("<?php print $sidebar_line; ?> ", i, the_class, fac_id); var dummymarker = createdummyMarker(point, myinfoTabs,<?php print $row['type']; ?> , i, fac_id); // 771 (point,tabs, color, id) map.addOverlay(dummymarker); <?php } else { ?> var fac_id = "<?php print $index; ?> "; // 10/8/09 var the_class = ((map_is_fixed) && (!(mapBounds.containsLatLng(point))))? "emph" : "td_label"; do_sidebar ("<?php print $sidebar_line; ?> ", i, the_class, fac_id); var marker = createMarker(point, myinfoTabs,<?php print $row['type']; ?> , i, fac_id); // 771 (point,tabs, color, id) map.addOverlay(marker); <?php } // End of check for facilities added in no maps mode 7/28/10 } else { // end position data available $name = $row['name']; // 11/11/09 $temp = explode("/", $name); $index = substr($temp[count($temp) - 1], -6, strlen($temp[count($temp) - 1])); // 3/19/11 ?> var fac_id = "<?php print $index; ?> "; // 11/11/09 <?php print "\tdo_sidebar_nm (\" {$sidebar_line} \" , i, {$row['id']}, fac_id);\n"; // sidebar only - no map } $i++; // zero-based } // end ========== while() for Facility ========== ?> if (!(map_is_fixed)) { if (!points) { // any? map.setCenter(new GLatLng(<?php echo get_variable('def_lat'); ?> , <?php echo get_variable('def_lng'); ?> ), <?php echo get_variable('def_zoom'); ?> ); } else { center = bounds.getCenter(); zoom = map.getBoundsZoomLevel(bounds); map.setCenter(center,zoom); } } var buttons_html = ""; <?php if (!empty($addon)) { print "\n\tbuttons_html +=\"" . $addon . "\"\n"; } ?> side_bar_html +="</TABLE>\n"; $("side_bar").innerHTML += side_bar_html; // append the assembled side_bar_html contents to the side_bar div $("buttons").innerHTML = buttons_html; // append the assembled side_bar_html contents to the side_bar div $("num_facilities").innerHTML = <?php print $num_facilities; ?> ; <?php do_kml(); ?> </SCRIPT> <?php }
function list_responders($addon = '', $start) { global $iw_width, $u_types, $tolerance; $assigns = array(); // 08/8/3 $tickets = array(); // ticket id's // 7/18/10 $query = "SELECT `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`, `{$GLOBALS['mysql_prefix']}assigns`.`responder_id`,\n\t\t`{$GLOBALS['mysql_prefix']}ticket`.`scope` AS `ticket` \n\t\tFROM `{$GLOBALS['mysql_prefix']}assigns` \t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` ON `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`=`{$GLOBALS['mysql_prefix']}ticket`.`id`\n\t\tWHERE ( `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_as = stripslashes_deep(mysql_fetch_array($result_as))) { $assigns[$row_as['responder_id']] = $row_as['ticket']; $tickets[$row_as['responder_id']] = $row_as['ticket_id']; } unset($result_as); $calls = array(); // 6/17/08 $calls_nr = array(); $calls_time = array(); $query = "SELECT * , UNIX_TIMESTAMP(packet_date) AS `packet_date` FROM `{$GLOBALS['mysql_prefix']}tracks` ORDER BY `packet_date` ASC"; // 6/17/08 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), __FILE__, __LINE__); while ($row = mysql_fetch_array($result)) { if (isset($calls[$row['source']])) { // array_key_exists ( mixed key, array search ) $calls_nr[$row['source']]++; } else { // array_push ($calls, trim($row['source'])); $calls[trim($row['source'])] = TRUE; $calls_nr[$row['source']] = 1; } $calls_time[$row['source']] = $row['packet_date']; // save latest - note query order } ?> <SCRIPT > var color=0; var colors = new Array ('odd', 'even'); function hideDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = 'none'; $(hide_cont).style.display = 'none'; $(show_cont).style.display = ''; } var params = "f_n=" +controlarea+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function showDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = ''; $(hide_cont).style.display = ''; $(show_cont).style.display = 'none'; } var params = "f_n=" +controlarea+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function hideGroup(color) { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if (gmarkers[i].id == color) { gmarkers[i].show(); } else { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () elem = $("allIcons"); elem.style.visibility = "visible"; } // end function function showAll() { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { gmarkers[i].show(); } } // end for () elem = $("allIcons"); elem.style.visibility = "hidden"; } // end function function checkArray(form, arrayName) { // 5/3/11 var retval = new Array(); for(var i=0; i < form.elements.length; i++) { var el = form.elements[i]; if(el.type == "checkbox" && el.name == arrayName && el.checked) { retval.push(el.value); } } return retval; } function checkForm(form) { // 6/10/11 var errmsg=""; var itemsChecked = checkArray(form, "frm_group[]"); if(itemsChecked.length > 0) { var params = "f_n=viewed_groups&v_n=" +itemsChecked+ "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist3.php"; // 3/15/11 sendRequest (url, fvg_handleResult, params); form.submit(); } else { errmsg+= "\tYou cannot Hide all the regions\n"; if (errmsg!="") { alert ("Please correct the following and re-submit:\n\n" + errmsg); return false; } } } function fvg_handleResult(req) { // 6/10/11 The persist callback function for viewed groups. document.region_form.submit(); } function form_validate(theForm) { // 5/3/11 // alert("Validating"); checkForm(theForm); } // end function validate(theForm) function sendRequest(url,callback,postData) { // 2/14/09 var req = createXMLHTTPObject(); if (!req) return; var method = (postData) ? "POST" : "GET"; req.open(method,url,true); req.setRequestHeader('User-Agent','XMLHTTP/1.0'); if (postData) req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); req.onreadystatechange = function () { if (req.readyState != 4) return; if (req.status != 200 && req.status != 304) { return; } callback(req); } if (req.readyState == 4) return; req.send(postData); } var XMLHttpFactories = [ function () {return new XMLHttpRequest() }, function () {return new ActiveXObject("Msxml2.XMLHTTP") }, function () {return new ActiveXObject("Msxml3.XMLHTTP") }, function () {return new ActiveXObject("Microsoft.XMLHTTP") } ]; function createXMLHTTPObject() { var xmlhttp = false; for (var i=0;i<XMLHttpFactories.length;i++) { try { xmlhttp = XMLHttpFactories[i](); } catch (e) { continue; } break; } return xmlhttp; } function createMarker(point,tabs, color, id, unit_id) { // (point, myinfoTabs,<?php print $row['type']; ?> , i) points = true; var unit_id = unit_id; // 2/13/09 var icon = new GIcon(listIcon); var icon_url = "./our_icons/gen_icon.php?blank=" + color + "&text=" + unit_id; // 1/5/09 icon.image = icon_url; // ./our_icons/gen_icon.php?blank=4&text=zz" var marker = new GMarker(point, icon); marker.id = color; // for hide/unhide - unused GEvent.addListener(marker, "click", function() { // here for both side bar and icon click if (marker) { map.closeInfoWindow(); which = id; gmarkers[which].hide(); marker.openInfoWindowTabsHtml(infoTabs[id]); setTimeout(function() { // wait for rendering complete - 12/17/08 if ($("detailmap")) { var dMapDiv = $("detailmap"); var detailmap = new GMap2(dMapDiv); detailmap.addControl(new GSmallMapControl()); detailmap.setCenter(point, 17); // larger # = closer detailmap.addOverlay(marker); } else { // alert(62); // alert($("detailmap")); } },4000); // end setTimeout(...) } // end if (marker) }); // end GEvent.add Listener() gmarkers[id] = marker; // marker to array for side bar click function infoTabs[id] = tabs; // tabs to array if (!(map_is_fixed)) { // 4/3/09 bounds.extend(point); } return marker; } // end function create Marker() function createdummyMarker(point,tabs, color, id, unit_id) { // (point, myinfoTabs,<?php print $row['type']; ?> , i) points = true; var unit_id = unit_id; // 2/13/09 var icon = new GIcon(listIcon); var icon_url = "./our_icons/question1.png"; icon.image = icon_url; // ./our_icons/gen_icon.php?blank=4&text=zz" var dummymarker = new GMarker(point, icon); dummymarker.id = color; // for hide/unhide - unused GEvent.addListener(dummymarker, "click", function() { // here for both side bar and icon click if (dummymarker) { map.closeInfoWindow(); which = id; gmarkers[which].hide(); dummymarker.openInfoWindowTabsHtml(infoTabs[id]); setTimeout(function() { // wait for rendering complete - 12/17/08 if ($("detailmap")) { var dMapDiv = $("detailmap"); var detailmap = new GMap2(dMapDiv); detailmap.addControl(new GSmallMapControl()); detailmap.setCenter(point, 17); // larger # = closer detailmap.addOverlay(dummymarker); } else { // alert(62); // alert($("detailmap")); } },4000); // end setTimeout(...) } // end if (marker) }); // end GEvent.add Listener() gmarkers[id] = dummymarker; // marker to array for side bar click function infoTabs[id] = tabs; // tabs to array if (!(map_is_fixed)) { // 4/3/09 bounds.extend(point); } return dummymarker; } // end function create dummy Marker() function do_sidebar (sidebar, id, the_class, sidebar_id) { var sidebar_id = sidebar_id; side_bar_html += "<TR CLASS='" + colors[(id)%2] +"'>"; side_bar_html += "<TD WIDTH='5%' CLASS='" + the_class + "' onClick = myclick(" + id + "); >" + sidebar_id + sidebar +"</TD></TR>\n"; // 1/5/09, 3/4/09, 10/29/09 removed period } function do_sidebar_nm (sidebar, line_no, id, sidebar_id) { var sidebar_id = sidebar_id; side_bar_html += "<TR CLASS='" + colors[(line_no)%2] +"'>"; side_bar_html += "<TD WIDTH='5%' onClick = myclick_nm(" + sidebar_id + "); >" + sidebar_id + sidebar +"</TD></TR>\n"; // 1/23/09, 10/29/09 removed period, 11/11/09 } function myclick_nm(v_id) { // Responds to sidebar click - view responder data document.view_form.id.value=v_id; document.view_form.submit(); } function myclick(id) { // Responds to sidebar click, then triggers listener above - note [id] GEvent.trigger(gmarkers[id], "click"); location.href = '#top'; // 11/11/09 } function do_lat (lat) { document.forms[0].frm_lat.value=lat.toFixed(6); } function do_lng (lng) { document.forms[0].frm_lng.value=lng.toFixed(6); } function do_ngs() { // LL to USNG var loc = <?php print get_variable('locale'); ?> ; document.forms[0].frm_ngs.disabled=false; if(loc == 0) { document.forms[0].frm_ngs.value = LLtoUSNG(document.forms[0].frm_lat.value, document.forms[0].frm_lng.value, 5); } if(loc == 1) { document.forms[0].frm_ngs.value = LLtoOSGB(document.forms[0].frm_lat.value, document.forms[0].frm_lng.value, 5); } if(loc == 2) { document.forms[0].frm_ngs.value = LLtoOSGB(document.forms[0].frm_lat.value, document.forms[0].frm_lng.value, 5); } document.forms[0].frm_ngs.disabled=true; } var icons=new Array; // maps type to icon blank <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}unit_types` ORDER BY `id`"; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $icons = $GLOBALS['icons']; while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // map type to blank icon id $blank = $row['icon']; print "\ticons[" . $row['id'] . "] = " . $blank . ";\n"; // } unset($result); $dzf = get_variable('def_zoom_fixed'); print "\tvar map_is_fixed = "; print my_is_int($dzf) && $dzf == 2 || my_is_int($dzf) && $dzf == 3 ? "true;\n" : "false;\n"; ?> var map; var side_bar_html = "<TABLE border=0 CLASS='sidebar' WIDTH = '100%' >"; side_bar_html += "<TR class='even'> <TD></TD><TD ALIGN='left'><B>Unit</B></TD><TD ALIGN='left'><B>Handle</B></TD><TD ALIGN='left'><B>Dispatch</B></TD><TD ALIGN='left'><B>Status</B></TD><TD ALIGN='left'><B>M</B></TD><TD ALIGN='left'><B>As of</B></TD></TR>"; var gmarkers = []; var infoTabs = []; var which; var i = <?php print $start; ?> ; // sidebar/icon index var points = false; // none map = new GMap2($("map")); // create the map <?php $maptype = get_variable('maptype'); // 08/02/09 switch ($maptype) { case "1": break; case "2": ?> map.setMapType(G_SATELLITE_MAP);<?php break; case "3": ?> map.setMapType(G_PHYSICAL_MAP);<?php break; case "4": ?> map.setMapType(G_HYBRID_MAP);<?php break; default: print "ERROR in " . basename(__FILE__) . " " . __LINE__ . "<BR />"; } ?> // map.addControl(new GSmallMapControl()); // 10/6/08 map.setUIToDefault(); // 8/13/10 map.addControl(new GMapTypeControl()); <?php if (get_variable('terrain') == 1) { ?> map.addMapType(G_PHYSICAL_MAP); <?php } ?> map.setCenter(new GLatLng(<?php echo get_variable('def_lat'); ?> , <?php echo get_variable('def_lng'); ?> ), <?php echo get_variable('def_zoom'); ?> ); mapBounds=new GLatLngBounds(map.getBounds().getSouthWest(), map.getBounds().getNorthEast()); // 4/4/09 var bounds = new GLatLngBounds(); // create bounding box map.enableScrollWheelZoom(); var listIcon = new GIcon(); listIcon.image = "./markers/yellow.png"; // yellow.png - 16 X 28 listIcon.shadow = "./markers/sm_shadow.png"; listIcon.iconSize = new GSize(20, 34); listIcon.shadowSize = new GSize(37, 34); listIcon.iconAnchor = new GPoint(8, 28); listIcon.infoWindowAnchor = new GPoint(9, 2); listIcon.infoShadowAnchor = new GPoint(18, 25); GEvent.addListener(map, "infowindowclose", function() { // re-center after move/zoom map.addOverlay(gmarkers[which]) }); do_landb(); // 8/1/11 - show scribbles //-----------------------BOUNDARIES STUFF--------------------6/10/11 var thepoint; var points = new Array(); var boundary = new Array(); var bound_names = new Array(); GEvent.addListener(map, "click", function(overlay,boundpoint) { for (var n = 0; n < boundary.length; n++) { if (boundary[n].Contains(boundpoint)) { map.openInfoWindowHtml(boundpoint,"This is " + bound_names[n]); } } }); <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}' ORDER BY `id` ASC;"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $a_gp_bounds = array(); $gp_bounds = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; $query2 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$row['group']}';"; // 6/10/11 $result2 = mysql_query($query2); // 4/18/11 while ($row2 = stripslashes_deep(mysql_fetch_assoc($result2))) { // // 6/10/11 if ($row2['boundary'] != 0) { $a_gp_bounds[] = $row2['boundary']; } } } if (isset($_SESSION['viewed_groups'])) { // 6/10/11 foreach (explode(",", $_SESSION['viewed_groups']) as $val_vg) { $query3 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$val_vg}';"; $result3 = mysql_query($query3); // 6/10/11 while ($row3 = stripslashes_deep(mysql_fetch_assoc($result3))) { if ($row3['boundary'] != 0) { $gp_bounds[] = $row3['boundary']; } } } } else { $gp_bounds = $a_gp_bounds; } foreach ($gp_bounds as $value) { // 6/10/11 ?> var points = new Array(); <?php if ($value != 0) { $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` WHERE `id`='{$value}'"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) ?> <?php if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> , {clickable:false}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } // End while } // end if $value !=0 } // end foreach $gp_bounds //-------------------------END OF BOUNDARIES STUFF------------------------- function can_do_dispatch($the_row) { if (intval($the_row['multi']) == 1) { return TRUE; } $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` WHERE `responder_id` = {$the_row['id']}"; // all dispatches this unit $result_temp = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_temp = stripslashes_deep(mysql_fetch_array($result_temp))) { // check any open runs this unit if (!is_date($row_temp['clear'])) { // if clear is empty, then NOT dispatch-able unset($result_temp, $row_temp); return FALSE; } } // end while ($row_temp ...) unset($result_temp, $row_temp); return TRUE; // none found, can dispatch } // end function can do_dispatch() $eols = array("\r\n", "\n", "\r"); // all flavors of eol $bulls = array(0 => "", 1 => "red", 2 => "green", 3 => "white", 4 => "black"); $status_vals = array(); // build array of $status_vals $status_vals[''] = $status_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}un_status` ORDER BY `id`"; $result_st = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_st = stripslashes_deep(mysql_fetch_array($result_st))) { $temp = $row_st['id']; $status_vals[$temp] = $row_st['status_val']; } unset($result_st); $query_al = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 6/10/11 $result_al = mysql_query($query_al); // 6/10/11 $al_groups = array(); while ($row_al = stripslashes_deep(mysql_fetch_assoc($result_al))) { // 6/10/11 $al_groups[] = $row_al['group']; } if (isset($_SESSION['viewed_groups'])) { // 6/10/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($al_groups as $grp) { // 6/10/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($curr_viewed as $grp) { // 6/10/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `a`.`type` = 2"; // 6/10/11 //-----------------------UNIT RING FENCE STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); <?php $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` `l`\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}responder` `r` ON ( `l`.`id` = `r`.`ring_fence`)\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = `a`.`resource_id` )\t\n\t\t\t\t{$where2} AND `use_with_u_rf`=1 GROUP BY `l`.`id`"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $all_boundaries[] = $row_bn['ring_fence']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> , {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } // End while //-------------------------END OF UNIT RING FENCE STUFF------------------------- //-----------------------UNIT EXCLUSION ZONE STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); <?php $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` `l`\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}responder` `r` ON ( `l`.`id` = `r`.`excl_zone`)\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = `a`.`resource_id` )\t\n\t\t\t\t{$where2} AND `use_with_u_ex`=1 GROUP BY `l`.`id`"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $all_boundaries[] = $row_bn['ring_fence']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> , {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } // End while //-------------------------END OF UNIT EXCLUSION ZONE STUFF------------------------- $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated`,\n\t\t`t`.`id` AS `type_id`,\n\t\t`r`.`id` AS `unit_id`,\n\t\t`r`.`name` AS `name`,\n\t\t`s`.`description` AS `stat_descr`,\n\t\t`r`.`description` AS `unit_descr`, \n\t\t`r`.`ring_fence` AS `ring_fence`,\t\n\t\t`r`.`excl_zone` AS `excl_zone`,\t\t\n\t\t(SELECT COUNT(*) as numfound FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\tWHERE `{$GLOBALS['mysql_prefix']}assigns`.`responder_id` = unit_id AND (`clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )) AS `nr_assigned` \n\t\tFROM `{$GLOBALS['mysql_prefix']}responder` `r` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = a.resource_id )\t\t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}unit_types` `t` ON ( `r`.`type` = t.id )\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}un_status` `s` ON ( `r`.`un_status_id` = s.id ) \t\t\n\t\t{$where2} GROUP BY unit_id ORDER BY `nr_assigned` DESC, `handle` ASC, `r`.`name` ASC "; // 2/1/10, 3/15/10, 6/10/11 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_units = mysql_affected_rows(); $i = 0; // counter // ============================================================================= $bulls = array(0 => "", 1 => "red", 2 => "green", 3 => "white", 4 => "black"); $utc = gmdate("U"); // ========== major while() for RESPONDER ========== while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $ringfence = $row['ring_fence']; $resp_gps = get_allocates(2, $row['unit_id']); // 6/10/11 $grp_names = "Groups Assigned: "; // 6/10/11 $y = 0; // 6/10/11 foreach ($resp_gps as $value) { // 6/10/11 $counter = count($resp_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $grp_names .= " / "; $track_type = get_remote_type($row); $index = $row['icon_str']; // 4/28/11 $the_on_click = my_is_float($row['lat']) ? " onClick = myclick({$i}); " : " onClick = myclick_nm({$row['unit_id']}); "; $the_bg_color = $GLOBALS['UNIT_TYPES_BG'][$row['icon']]; // 2/1/10 $the_text_color = $GLOBALS['UNIT_TYPES_TEXT'][$row['icon']]; // 2/1/10 $do_dispatch = can_do_dispatch($row); // 11/17/09 $got_point = FALSE; print "\n\t\tvar i={$i};\n"; $tofac = is_guest() ? "" : " <A HREF='{$_SESSION['unitsfile']}?func=responder&view=true&dispfac=true&id=" . $row['unit_id'] . "'><U>To Facility</U></A> "; // 10/6/09 $todisp = is_guest() || !can_do_dispatch($row) ? "" : " <A HREF='{$_SESSION['unitsfile']}?func=responder&view=true&disp=true&id=" . $row['unit_id'] . "'><U>Dispatch</U></A> "; // 08/8/02, 9/19/09 $toedit = !can_edit() ? "" : " <A HREF='{$_SESSION['unitsfile']}?func=responder&edit=true&id=" . $row['unit_id'] . "'><U>Edit</U></A> "; // 5/11/10 $totrack = intval($row['mobile']) == 0 || empty($row['callsign']) ? "" : " <SPAN onClick = do_track('" . $row['callsign'] . "');><B><U>Tracks</B></U></SPAN>"; $temp = $row['un_status_id']; // 2/24/09 $the_status = array_key_exists($temp, $status_vals) ? $status_vals[$temp] : "??"; // 2/2/09 $row_track = FALSE; if ($track_type > 0) { // get most recent position data $do_legend = TRUE; $query = "SELECT *,UNIX_TIMESTAMP(packet_date) AS `packet_date`, UNIX_TIMESTAMP(updated) AS `updated` FROM \n\t\t\t\t`{$GLOBALS['mysql_prefix']}tracks`\n\t\t\t\tWHERE `source`= '{$row['callsign']}' ORDER BY `packet_date` DESC LIMIT 1"; // newest $result_tr = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_track = mysql_affected_rows() > 0 ? stripslashes_deep(mysql_fetch_assoc($result_tr)) : FALSE; $aprs_updated = $row_track['updated']; $aprs_speed = $row_track['speed']; if ($row_track && my_is_float($row_track['latitude'])) { if ($row['lat'] == 0.999999 && $row['lng'] == 0.999999) { echo "\t\tvar point = new GLatLng(" . get_variable('def_lat') . ", " . get_variable('def_lng') . ");\n"; } else { echo "\t\tvar point = new GLatLng(" . $row_track['latitude'] . ", " . $row_track['longitude'] . "); // 677\n"; } $got_point = TRUE; } unset($result_tr); } if (!$got_point && my_is_float($row['lat'])) { if ($row['lat'] == 0.999999 && $row['lng'] == 0.999999) { echo "\t\tvar point = new GLatLng(" . get_variable('def_lat') . ", " . get_variable('def_lng') . ");\n"; } else { echo "\t\tvar point = new GLatLng(" . $row['lat'] . ", " . $row['lng'] . ");\t// " . __LINE__ . "\n"; } $got_point = TRUE; } $update_error = strtotime('now - 6 hours'); // set the time for silent setting // if ($instam_updated < $update_error) {$the_bull = "<FONT COLOR = 'black'><B>{$GLOBALS['TRACK_2L'][$track_type]}</B></FONT>";} // end bullet stuff // name, handle $handle = htmlentities($row['handle'], ENT_QUOTES); // 7/7/11 $sidebar_line = "<TD WIDTH='15%' TITLE = '{$handle}' {$the_on_click}><NOBR>{$handle}</NOBR></TD>"; $name = htmlentities($row['name'], ENT_QUOTES); $sidebar_line .= "<TD WIDTH='20%' TITLE = '{$name}' {$the_on_click}><U><SPAN STYLE='width: 30%; background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};'><NOBR>" . addslashes(shorten($row['name'], 14)) . "</NOBR></SPAN></U></TD>"; // 10/8/09 // assignments 3/16/09, 3/15/10 - 8/30/10 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` `t` ON (`{$GLOBALS['mysql_prefix']}assigns`.`ticket_id` = `t`.`id`)\n\t\t\tWHERE `responder_id` = '{$row['unit_id']}' AND (`clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_assign = mysql_affected_rows() == 0 ? FALSE : stripslashes_deep(mysql_fetch_assoc($result_as)); switch ($row_assign['severity']) { //color tickets by severity case $GLOBALS['SEVERITY_MEDIUM']: $severityclass = 'severity_medium'; break; case $GLOBALS['SEVERITY_HIGH']: $severityclass = 'severity_high'; break; default: $severityclass = 'severity_normal'; break; } switch (mysql_affected_rows()) { // 8/29/10 case 0: $the_disp_str = ""; break; case 1: $the_disp_str = get_disp_status($row_assign) . " "; break; default: // multiples $the_disp_str = "<SPAN CLASS='disp_stat'> " . mysql_affected_rows() . " </SPAN> "; break; } // end switch() $onclick = mysql_affected_rows() > 0 ? " onClick = 'open_tick_window ({$row_assign['ticket_id']})'" : ""; $ass_td = mysql_affected_rows() > 0 ? "<TD WIDTH='20%' CLASS='{$severityclass}' TITLE = '{$row_assign['scope']}' {$onclick} ><NOBR>{$the_disp_str}" . shorten($row_assign['scope'], 24) . "</NOBR></TD>" : "<TD WIDTH='20%'>na</TD>"; unset($result_as); $sidebar_line .= $row['nr_assigned'] . $row_assign ? $ass_td : "<TD WIDTH='20%'>na</TD>"; // status, mobility - 4/14/10 $sidebar_line .= "<TD WIDTH='20%' TITLE = '" . addslashes($the_status) . "'> " . get_status_sel($row['unit_id'], $row['un_status_id'], "u") . ($the_bull = ""); // define the bullet if ($row_track['speed'] > 50) { $the_bull = "<FONT COLOR = 'white'><B>{$GLOBALS['TRACK_2L'][$track_type]}</B></FONT>"; } if ($row_track['speed'] < 50) { $the_bull = "<FONT COLOR = 'green'><B>{$GLOBALS['TRACK_2L'][$track_type]}</B></FONT>"; } if ($row_track['speed'] == 0) { $the_bull = "<FONT COLOR = 'red'><B>{$GLOBALS['TRACK_2L'][$track_type]}</B></FONT>"; } $tip = htmlentities($row['callsign'], ENT_QUOTES); $tip_str = "onMouseover=\\\"Tip('{$tip}')\\\" onmouseout=\\\"UnTip();\\\" "; $sidebar_line .= "<TD WIDTH='2%' {$tip_str}>{$the_bull}</TD>"; // 4/14/10 // as of $the_time = $row['updated']; $the_class = ""; $strike = $strike_end = ""; $the_flag = $name . "_flag"; if ($track_type > 0 && abs($utc - $the_time) > $GLOBALS['TOLERANCE']) { // attempt to identify non-current values $strike = "<STRIKE>"; $strike_end = "</STRIKE>"; } $sidebar_line .= "<TD WIDTH='18%' CLASS='{$the_class}'> {$strike}<SPAN id = '" . $name . "'><NOBR>" . format_sb_date($the_time) . "</NOBR></SPAN>{$strike_end} <SPAN ID = '" . $the_flag . "'></SPAN></TD>"; // 6/17/08 // tab 1 if (my_is_float($row['lat'])) { // position data? 4/29/09 $temptype = $u_types[$row['type_id']]; $the_type = $temptype[0]; // 1/1/09 $tab_1 = "<TABLE CLASS='infowin' width='{$iw_width}'>"; $tab_1 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . addslashes(shorten($row['name'], 48)) . "</B> - " . $the_type . "</TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD>Description:</TD><TD>" . addslashes(shorten(str_replace($eols, " ", $row['description']), 32)) . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD>Status:</TD><TD>" . $the_status . " </TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD>Contact:</TD><TD>" . addslashes($row['contact_name']) . " Via: " . addslashes($row['contact_via']) . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD>As of:</TD><TD>" . format_date($the_time) . "</TD></TR>"; // 4/11/10 if (array_key_exists($row['unit_id'], $assigns)) { $tab_1 .= "<TR CLASS='even'><TD CLASS='emph'>Dispatched to:</TD><TD CLASS='emph'><A HREF='main.php?id=" . $tickets[$row['unit_id']] . "'>" . addslashes(shorten($assigns[$row['unit_id']], 20)) . "</A></TD></TR>"; } $tab_1 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'>" . $tofac . $todisp . $totrack . $toedit . " <A HREF='{$_SESSION['unitsfile']}?func=responder&view=true&id=" . $row['unit_id'] . "'><U>View</U></A></TD></TR>"; // 08/8/02 $tab_1 .= "</TABLE>"; // tab 2 if ($row_track) { // do all three tabs $tab_2 = "<TABLE CLASS='infowin' width='{$iw_width}'>"; $tab_2 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . $row_track['source'] . "</B></TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD>Course: </TD><TD>" . $row_track['course'] . ", Speed: " . $row_track['speed'] . ", Alt: " . $row_track['altitude'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD>Closest city: </TD><TD>" . $row_track['closest_city'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD>Status: </TD><TD>" . $row_track['status'] . "</TD></TR>"; if (array_key_exists('packet_date', $row_track)) { $tab_2 .= "<TR CLASS='even'><TD>As of: </TD><TD> {$strike}" . format_date($row_track['packet_date']) . "{$strike_end} (UTC)</TD></TR></TABLE>"; } ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(addslashes(shorten($row['name'], 10))); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("<?php print $GLOBALS['TRACK_2L'][$track_type]; ?> <?php print addslashes(substr($row_track['source'], -3)); ?> ", "<?php print $tab_2; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; <?php } else { // two tabs ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(addslashes(shorten($row['name'], 10))); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; <?php } // end if/else ($row_track) if ($row['lat'] == 0.999999 && $row['lng'] == 0.999999) { // check for no maps mode entries 7/28/10 ?> var the_class = ((map_is_fixed) && (!(mapBounds.containsLatLng(point))))? "emph" : "td_label"; // 4/3/09 do_sidebar ("<?php print $sidebar_line; ?> ", i, the_class, "<?php print $row['icon_str']; ?> "); var dummymarker = createdummyMarker(point, myinfoTabs,<?php print $row['icon']; ?> , i, "<?php print $index; ?> "); // 771 (point,tabs, color, id) map.addOverlay(dummymarker); <?php } else { ?> var the_class = ((map_is_fixed) && (!(mapBounds.containsLatLng(point))))? "emph" : "td_label"; // 4/3/09 do_sidebar ("<?php print $sidebar_line; ?> ", i, the_class, "<?php print $index; ?> "); var marker = createMarker(point, myinfoTabs,<?php print $row['icon']; ?> , i, "<?php print $index; ?> "); // 771 (point,tabs, color, id) map.addOverlay(marker); <?php } } else { print "\tdo_sidebar_nm (\" {$sidebar_line} \" , i, {$row['id']}, '{$index}');\n"; // sidebar only - no map, 11/11/09, 5/12/10 } $i++; // zero-based } // end ========== while() for RESPONDER ========== $source_legend = isset($do_legend) ? "<TD CLASS='emph' ALIGN='left'>Source time</TD>" : "<TD></TD>"; // if any remote data/time 3/24/09 ?> if (!(map_is_fixed)) { // 4/3/09 if (!points) { // any? map.setCenter(new GLatLng(<?php echo get_variable('def_lat'); ?> , <?php echo get_variable('def_lng'); ?> ), <?php echo get_variable('def_zoom'); ?> ); } else { center = bounds.getCenter(); zoom = map.getBoundsZoomLevel(bounds); map.setCenter(center,zoom); } } side_bar_html+= "<TR CLASS='" + colors[i%2] +"'><TD COLSPAN=6> </TD><?php print $source_legend; ?> </TR>"; <?php if (!empty($addon)) { print "\n\tside_bar_html +=\"" . $addon . "\"\n"; } ?> side_bar_html +="</TABLE>\n"; $("side_bar").innerHTML += side_bar_html; // append the assembled side_bar_html contents to the side bar div $("num_units").innerHTML = <?php print $num_units; ?> ; <?php // print "<TABLE BORDER = 4 >{$buttons}</TABLE>"; do_kml(); ?> </SCRIPT> <?php }
function list_facilities($addon = '', $start) { global $iw_width, $u_types, $tolerance; // $assigns = array(); // $tickets = array(); // $query = "SELECT `$GLOBALS[mysql_prefix]assigns`.`ticket_id`, `$GLOBALS[mysql_prefix]assigns`.`responder_id`, `$GLOBALS[mysql_prefix]ticket`.`scope` AS `ticket` FROM `$GLOBALS[mysql_prefix]assigns` LEFT JOIN `$GLOBALS[mysql_prefix]ticket` ON `$GLOBALS[mysql_prefix]assigns`.`ticket_id`=`$GLOBALS[mysql_prefix]ticket`.`id`"; // $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename( __FILE__), __LINE__); // while ($row_as = stripslashes_deep(mysql_fetch_array($result_as))) { // $assigns[$row_as['responder_id']] = $row_as['ticket']; // $tickets[$row_as['responder_id']] = $row_as['ticket_id']; // } // unset($result_as); // $calls = array(); // $calls_nr = array(); // $calls_time = array(); ?> <SCRIPT > var color=0; var colors = new Array ('odd', 'even'); function hideDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = 'none'; $(hide_cont).style.display = 'none'; $(show_cont).style.display = ''; } var params = "f_n=" +controlarea+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function showDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = ''; $(hide_cont).style.display = ''; $(show_cont).style.display = 'none'; } var params = "f_n=" +controlarea+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function do_sidebar (sidebar, id, the_class, fac_id, fac_index) { var fac_id = fac_id; side_bar_html += "<TR CLASS='" + colors[(id)%2] +"' onClick = myclick(" + fac_index + ");>"; // side_bar_html += "<TD CLASS='" + the_class + "'>" + fac_id + sidebar +"</TD></TR>\n"; //10/29/09 removed period side_bar_html += sidebar + "</TR>\n"; //10/29/09 removed period } function myclick(fac_index) { // Responds to sidebar click - view facility data document.view_form.id.value=fac_index; document.view_form.submit(); } function do_sidebar_nm (sidebar, line_no, id, fac_id) { var fac_id = fac_id; var letter = to_str(line_no); side_bar_html += "<TR CLASS='" + colors[(line_no)%2] +"'>"; side_bar_html += "<TD onClick = myclick_nm(" + id + "); >" + fac_id + sidebar +"</TD></TR>\n"; // 1/23/09, 10/29/09 removed period, 11/11/09, 3/15/11 } function myclick_nm(v_id) { // Responds to sidebar click - view responder data document.view_form.id.value=v_id; document.view_form.submit(); } var icons=new Array; // maps type to icon blank <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_types` ORDER BY `id`"; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $icons = $GLOBALS['fac_icons']; while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // map type to blank icon id $blank = $icons[$row['icon']]; print "\ticons[" . $row['id'] . "] = " . $row['icon'] . ";\n"; // } unset($result); $dzf = get_variable('def_zoom_fixed'); print "\tvar map_is_fixed = "; print my_is_int($dzf) && $dzf == 2 || my_is_int($dzf) && $dzf == 3 ? "true;\n" : "false;\n"; ?> var side_bar_html = "<TABLE border=0 CLASS='sidebar' ID='tbl_facilities' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.6)); ?> >"; side_bar_html += "<TR class='even'><TD ALIGN='left'><B>Icon</B></TD><TD ALIGN='left'><B><?php print get_text("Handle"); ?> </B></TD><TD ALIGN='left'><B><?php print get_text("Facility"); ?> </B></TD><TD ALIGN='left'><B><?php print get_text("Type"); ?> </B></TD><TD ALIGN='left'><B><?php print get_text("Status"); ?> </B></TD><TD ALIGN='center'><B><?php print get_text("As of"); ?> </B></TD></TR>"; var which; var i = <?php print $start; ?> ; // sidebar/icon index var points = false; // none <?php $eols = array("\r\n", "\n", "\r"); // all flavors of eol // $bulls = array(0 =>"",1 =>"red",2 =>"green",3 =>"white",4 =>"black"); $status_vals = array(); // build array of $status_vals $status_vals[''] = $status_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_status` ORDER BY `id`"; $result_st = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_st = stripslashes_deep(mysql_fetch_assoc($result_st))) { $temp = $row_st['id']; $status_vals[$temp] = $row_st['status_val']; } unset($result_st); $type_vals = array(); // build array of $status_vals $type_vals[''] = $type_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_types` ORDER BY `id`"; $result_ty = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_ty = stripslashes_deep(mysql_fetch_assoc($result_ty))) { $temp = $row_ty['id']; $type_vals[$temp] = $row_ty['name']; } unset($result_ty); $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $al_groups = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; } if (isset($_SESSION['viewed_groups'])) { // 6/10/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($al_groups as $grp) { // 6/10/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($curr_viewed as $grp) { // 6/10/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `a`.`type` = 3"; // 6/10/11 // 3/15/11, 6/10/11 $query = "SELECT *,UNIX_TIMESTAMP(updated) AS updated,\n\t\t`t`.`id` AS `type_id`, \t\n\t\t`f`.id AS `id`, \n\t\t`f`.status_id AS status_id,\n\t\t`f`.description AS facility_description,\n\t\t`t`.name AS fac_type_name, \n\t\t`f`.name AS name, `f`.street AS street,\n\t\t`f`.city AS city, `f`.state AS state \n\t\tFROM `{$GLOBALS['mysql_prefix']}facilities` `f`\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `f`.`id` = a.resource_id )\t\t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_types` `t` ON `f`.type = `t`.id \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_status` `s` ON `f`.status_id = `s`.id \n\t\t{$where2} GROUP BY `f`.id ORDER BY `f`.type ASC"; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_facilities = mysql_affected_rows(); $i = 0; // counter // ============================================================================= $utc = gmdate("U"); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // ========== major while() for Facility ========== $fac_gps = get_allocates(3, $row['id']); // 6/10/11 $grp_names = "Groups Assigned: "; // 6/10/11 $y = 0; // 6/10/11 foreach ($fac_gps as $value) { // 6/10/11 $counter = count($fac_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $grp_names .= " / "; $the_bg_color = $GLOBALS['FACY_TYPES_BG'][$row['icon']]; // 2/8/10 $the_text_color = $GLOBALS['FACY_TYPES_TEXT'][$row['icon']]; // 2/8/10 $the_on_click = my_is_float($row['lat']) ? " onClick = myclick({$i}); " : " onClick = myclick_nm({$row['id']}); "; // 3/15/11 $got_point = FALSE; print "\n\t\tvar i={$i};\n"; if (is_guest()) { $toedit = $tomail = $toroute = ""; } else { $toedit = " <A HREF='facilities_nm.php?func=responder&edit=true&id=" . $row['id'] . "'><U>Edit</U></A>"; $tomail = " <SPAN onClick = 'do_mail_in_win({$row['id']})'><U><B>Email</B></U></SPAN>"; $toroute = " <A HREF='routes_nm.php?fac_id=" . $row['id'] . "'><U>Route To Facility</U></A>"; } $temp = $row['status_id']; $the_status = array_key_exists($temp, $status_vals) ? $status_vals[$temp] : "??"; $temp_type = $row['type_id']; $the_type = array_key_exists($temp_type, $type_vals) ? $type_vals[$temp_type] : "??"; $update_error = strtotime('now - 6 hours'); // set the time for silent setting // name $name = $row['name']; // 10/8/09 $fac_index = $row['id']; // 10/8/09 $temp = explode("/", $name); $display_name = $temp[0]; $icon_str = $row['icon_str']; $sidebar_line = "<TD TITLE = '{$icon_str}'>" . $icon_str . "</TD>"; // 10/8/09 $handle = addslashes($row['handle']); // 5/30/10 $sidebar_line .= "<TD TITLE = '{$handle}'>" . shorten($handle, 16) . "</TD>"; // 10/8/09 $sidebar_line .= "<TD TITLE = '" . $grp_names . "Facility Name: " . addslashes($display_name) . "' {$the_on_click}><U><SPAN STYLE='background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};'>" . addslashes(shorten($display_name, 40)) . "</SPAN></U> </TD><TD>{$the_type} </TD>"; // 6/10/11 $sidebar_line .= "<TD CLASS='td_data' TITLE = '" . addslashes($the_status) . "'> " . get_status_sel($row['id'], $row['status_id'], 'f') . " </TD>"; // 3/15/11 // as of $strike = $strike_end = ""; $the_time = $row['updated']; $the_class = "td_data"; $strike = $strike_end = ""; $sidebar_line .= "<TD CLASS='{$the_class}'> {$strike}" . format_sb_date($the_time) . "{$strike_end}</TD>"; $name = $row['name']; // 10/8/09 $fac_index = $row['id']; // 10/8/09 $temp = explode("/", $name); $index = substr($temp[count($temp) - 1], -6, strlen($temp[count($temp) - 1])); // 3/19/11 ?> var fac_id = "<?php print $index; ?> "; // 10/8/09 var fac_index = "<?php print $fac_index; ?> "; // 10/8/09 var the_class = "td_label"; <?php print "\tdo_sidebar (\" {$sidebar_line} \", i, the_class, fac_id, fac_index);\n"; $i++; // zero-based } // end ========== while() for Facility ========== ?> var buttons_html = ""; <?php if (!empty($addon)) { print "\n\tbuttons_html +=\"" . $addon . "\"\n"; } ?> side_bar_html +="</TABLE>\n"; $("side_bar").innerHTML += side_bar_html; // append the assembled side_bar_html contents to the side_bar div $("buttons").innerHTML = buttons_html; // append the assembled side_bar_html contents to the side_bar div $("num_facilities").innerHTML = <?php print $num_facilities; ?> ; </SCRIPT> <?php }
function full_scr($sort_by_field = '', $sort_value = '') { // list tickets =================================================== global $now_num, $now_day, $now_mon, $now_year, $monday, $disposition; if ($_SESSION['scr_width'] < 1300 && $_SESSION['scr_width'] > 1050) { // 4/5/11 sets shorten length depending on client screen width $shorten_length = 11; } elseif ($_SESSION['scr_width'] < 1050) { $shorten_length = 10; } elseif ($_SESSION['scr_width'] > 1300) { $shorten_length = 15; } else { $shorten_length = 10; } extract($_GET); $func = isset($func) ? $func : 0; global $istest; // $dzf = get_variable('def_zoom_fixed'); // 4/2/09 $cwi = get_variable('closed_interval'); // closed window interval in hours $captions = array("Current situation", "Incidents closed today", "Incidents closed yesterday+", "Incidents closed this week", "Incidents closed last week", "Incidents closed last week+", "Incidents closed this month", "Incidents closed last month", "Incidents closed this year", "Incidents closed last year"); $pri_buttons_width = (int) get_variable('map_width') * 0.2; $fac_buttons_width = (int) get_variable('map_width') * 0.4; $units_buttons_width = (int) get_variable('map_width') * 0.4; $heading = $captions[$func]; $eols = array("\r\n", "\n", "\r"); // all flavors of eol $group = isset($_SESSION['group']) ? $_SESSION['group'] : 0; // 4/11/11 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status` = {$GLOBALS['STATUS_CLOSED']} "; // 10/26/09 $result_ct = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_closed = mysql_num_rows($result_ct); unset($result_ct); $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status` = {$GLOBALS['STATUS_SCHEDULED']} "; // 10/26/09 $result_scheduled = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_scheduled = mysql_num_rows($result_scheduled); unset($result_scheduled); $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}' ORDER BY `id` ASC;"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $al_groups = array(); $al_names = ""; while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; $query2 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$row['group']}';"; // 6/10/11 $result2 = mysql_query($query2); // 6/10/11 while ($row2 = stripslashes_deep(mysql_fetch_assoc($result2))) { // 6/10/11 $al_names .= $row2['group_name'] . ", "; } } ?> <!-- 3/29/11 DIVS Incident List & Assignments List --> <DIV ID = 'inc_list' style='width: 46%; position: fixed; top: 5%; left: 3%; z-index:3; display: block; border: 2px outset #CECECE;'> <DIV class='heading' style='text-align: center; height: 20px; '><?php print get_text('Incidents'); ?> <DIV style='float: right'> <SPAN id='collapse_ticks' onClick="hideDiv('inc_list', 'collapse_ticks', 'expand_ticks'); CngMenuClass('incs_but', 'right_menu');" style = "display: 'none';"><IMG SRC = './buttons/close.png' BORDER=0 STYLE = 'vertical-align: middle'></SPAN></DIV></DIV> <DIV ID = 'incidents' style='background: #CECECE; width: 100%; max-height: 200px; overflow-y: scroll; overflow-x: hidden; position: relative; z-index:2; display: block;'></DIV> <!-- 3/24/11 List of current open incidents --> </DIV> <DIV ID = 'assigns_list' style='width: 46%; position: fixed; top: 5%; right: 3%; z-index:3; display: block; border: 2px outset #CECECE;'> <DIV class='heading' style='text-align: center; height: 20px;'><?php print get_text('Assignments'); ?> <DIV style='float: right'> <SPAN id='collapse_ass' onClick="hideDiv('assigns_list', 'collapse_ass', 'expand_ass'); CngMenuClass('assign_but', 'right_menu');" style = "display: 'none';"><IMG SRC = './buttons/close.png' BORDER=0 STYLE = 'vertical-align: middle'></SPAN></DIV></DIV> <DIV ID = 'assignments' style='background: #CECECE; width: 100%; max-height: 200px; overflow-y: scroll; overflow-x: hidden; position: relative; z-index:2; display: block;'></DIV> <!-- 3/24/11 List of current assignments --> </DIV> <!-- 3/29/11 DIVS for show hide side menu for lists and marker controls --> <DIV ID='side_menu_cont' class='right_menu_container' style='position: fixed; top: 10%; right: 0px;'> <BR /> <script> var text_size = window.screen.width > 1000 ? "16" : "12"; var div_button1 = "<DIV ID='marker_but' CLASS='right_menu' style='font-size:" + text_size + "px' onMouseover=\"showDiv('buttons_sh', 'collapse_buttons', 'expand_buttons'); CngMenuClass('marker_but', 'right_menu_lit');\">M<BR />A<BR />R<BR />K<BR />E<BR />R<BR />S</DIV><BR />"; var div_button2 = "<DIV ID='incs_but' CLASS='right_menu' style='font-size:" + text_size + "px' onMouseover=\"showDiv('inc_list', 'collapse_ticks', 'expand_ticks'); CngMenuClass('incs_but', 'right_menu_lit');\">I<BR />N<BR />C<BR />I<BR />D<BR />E<BR />N<BR />T<BR />S</DIV><BR />"; var div_button3 = "<DIV ID='assign_but' CLASS='right_menu' style='font-size:" + text_size + "px' onMouseover=\"showDiv('assigns_list', 'collapse_ass', 'expand_ass'); CngMenuClass('assign_but', 'right_menu_lit');\">A<BR />S<BR />S<BR />I<BR />G<BR />N<BR />M<BR />E<BR />N<BR />T<BR />S</DIV><BR />"; document.write (div_button1); document.write (div_button2); document.write (div_button3); </script> </DIV> <!-- 3/29/11 Marker controls --> <DIV ID = 'buttons_sh' class='fs_buttons' style='display: none; background: #CECECE; width: 300px; overflow-y: hidden; overflow-x: hidden; position: fixed; right: 10%; top: 20%; z-index:4; border: 3px outset #505050;'> <DIV class='heading' style='text-align: center; height: 20px;' style='z-index:4; padding: 3px;'>Show / Hide Markers<DIV style='float: right'><SPAN id='collapse_buttons' STYLE = 'text-align: right' onClick="hideDiv('buttons_sh', 'collapse_buttons', 'expand_buttons'); CngMenuClass('marker_but', 'right_menu');"><IMG SRC = './buttons/close.png' BORDER=0 STYLE = 'vertical-align: middle'></SPAN></DIV></DIV> <DIV ID = 'incidents_sh' style='display: block; position: relative; padding: 10px; overflow-y: scroll; overflow-x: scroll;'> <DIV class='heading' style='text-align: center; height: 20px; ' style='z-index:4; padding: 3px;'><?php print get_text('Incidents'); ?> </DIV> <DIV class='pri_button_fs' onClick="set_pri_chkbox('normal'); hideGroup(1, 'Incident');"><IMG SRC = './our_icons/sm_blue.png' STYLE = 'vertical-align: middle'BORDER=0> Normal: <input type=checkbox id='normal' onClick="set_pri_chkbox('normal')"/> </DIV> <DIV class='pri_button_fs' onClick="set_pri_chkbox('medium'); hideGroup(2, 'Incident');"><IMG SRC = './our_icons/sm_green.png' BORDER=0 STYLE = 'vertical-align: middle'> Medium: <input type=checkbox id='medium' onClick="set_pri_chkbox('medium')"/> </DIV> <DIV class='pri_button_fs' onClick="set_pri_chkbox('high'); hideGroup(3, 'Incident');"><IMG SRC = './our_icons/sm_red.png' BORDER=0 STYLE = 'vertical-align: middle'> High: <input type=checkbox id='high' onClick="set_pri_chkbox('high')"/> </DIV> <DIV class='pri_button_fs' ID = 'pri_all' class='pri_button' STYLE = 'display: none;' onClick="set_pri_chkbox('all'); hideGroup(4, 'Incident');"><IMG SRC = './our_icons/sm_blue.png' BORDER=0 STYLE = 'vertical-align: middle'><IMG SRC = './our_icons/sm_green.png' BORDER=0 STYLE = 'vertical-align: middle'><IMG SRC = './our_icons/sm_red.png' BORDER=0 STYLE = 'vertical-align: middle'>All <input type=checkbox id='all' STYLE = 'display:none;' onClick="set_pri_chkbox('all')"/> </DIV> <DIV class='pri_button_fs' ID = 'pri_none' class='pri_button' onClick="set_pri_chkbox('none'); hideGroup(5, 'Incident');"><IMG SRC = './our_icons/sm_white.png' BORDER=0 STYLE = 'vertical-align: middle'> None <input type=checkbox id='none' STYLE = 'display:none;' onClick="set_pri_chkbox('none')"/></DIV></b> </DIV><BR /> <DIV ID = 'units_sh' style='display: block; position: relative; padding: 10px; overflow-y: scroll; overflow-x: scroll;'> <DIV class='heading' style='text-align: center; height: 20px;' style='z-index:4; padding: 3px;'><?php print get_text('Units'); ?> </DIV> <DIV ID = 'boxes' style='position: relative; padding: 3px;'></DIV> <!-- 2/16/11 Units show and hide --> </DIV><BR /> <DIV ID = 'facs_sh' style='display: block; position: relative; padding: 10px; overflow-y: scroll; overflow-x: scroll;'> <DIV class='heading' style='text-align: center; height: 20px;' style='z-index:4; padding: 3px;'><?php print get_text('Facilities'); ?> </DIV> <DIV ID = 'fac_boxes' style='position: relative; padding: 3px;'></DIV> <!-- 2/16/11 Facilities show and hide --> </DIV><BR /> </DIV> </DIV> <DIV ID = 'bottom_bar' class='td_fs_buttons' style='display: table-cell; position: fixed; bottom: 0%; left: 0%; width: 100%; z-index: 3; height: 5%; text-align: center; vertical-align: middle; padding-top: 5px; border-top: 4px outset #CECECE;'> <B><NOBR> <!-- 2/16/11 Change CSS classes --> <FORM> <SPAN class='fs_buttons' onClick='maxWindow();'><U>Full screen</U></SPAN> <SPAN class='fs_buttons' onClick='doGrid()' STYLE = 'margin-left: 60px'><U>Grid</U></SPAN> <SPAN class='fs_buttons' onClick='doTraffic()' STYLE = 'margin-left: 60px'><U>Traffic</U></SPAN> <?php // if(((!empty($num_closed)) && ($num_closed > 0)) || ($num_scheduled > 0)) { // 10/26/09 added button, 10/21/09 added check for closed incidents on the database, 3/29/11 added scheduled runs option echo "<SPAN class='fs_buttons' STYLE = 'margin-left: 60px'><U>Change display</U> » </SPAN>"; echo "\n\t\t <SELECT NAME = 'frm_interval' onChange = 'document.to_all.func.value=this.value; show_btns_closed();'>\n\t\t\t\t<OPTION VALUE='99' SELECTED>Select</OPTION>\n\t\t\t\t<OPTION VALUE='0'>Current situation</OPTION>\n\t\t\t\t<OPTION VALUE='1'>Incidents closed today</OPTION>\n\t\t\t\t<OPTION VALUE='2'>Incidents closed yesterday+</OPTION>\n\t\t\t\t<OPTION VALUE='3'>Incidents closed this week</OPTION>\n\t\t\t\t<OPTION VALUE='4'>Incidents closed last week</OPTION>\n\t\t\t\t<OPTION VALUE='5'>Incidents closed last week+</OPTION>\n\t\t\t\t<OPTION VALUE='6'>Incidents closed this month</OPTION>\n\t\t\t\t<OPTION VALUE='7'>Incidents closed last month</OPTION>\n\t\t\t\t<OPTION VALUE='8'>Incidents closed this year</OPTION>\n\t\t\t\t<OPTION VALUE='9'>Incidents closed last year</OPTION>\n\t\t\t\t<OPTION VALUE='10'>Scheduled Runs</OPTION>\t\t\t\t\n\t\t\t\t</SELECT>\n"; echo "<SPAN ID = 'btn_go' class='fs_buttons' onClick='document.to_all.submit()' STYLE = 'margin-left: 10px; display:none; color: #006600;'><U>Go</U></SPAN>"; echo "<SPAN ID = 'btn_can' class='fs_buttons' onClick='hide_btns_closed()' STYLE = 'margin-left: 10px; display:none; color: #FF0000;'><U>Cancel</U></SPAN>"; // } ?> <SPAN class='fs_buttons' onClick = "opener.focus()" STYLE = 'margin-left: 60px'><U>Back</U></SPAN> <A HREF="mailto:shoreas@Gmail.com?subject=Comment%20on%20Tickets%20Dispatch%20System"><SPAN STYLE = 'margin-left: 20px; font-size:10px; '><U>Contact us</U> <IMG SRC="mail.png" BORDER="0" STYLE="vertical-align: text-bottom; margin-left: 10px;"></SPAN></A> <SPAN class='fs_buttons' onClick = "window.close();" STYLE = 'margin-left: 60px'><U>Close</U></SPAN> </NOBR> </B> </FORM> </DIV> <FORM NAME='view_form' METHOD='get' ACTION='units.php'> <INPUT TYPE='hidden' NAME='func' VALUE='responder'> <INPUT TYPE='hidden' NAME='view' VALUE='true'> <INPUT TYPE='hidden' NAME='id' VALUE=''> </FORM> <DIV style='position: fixed; top: 0px; left: 0px, z-index: 1'> <TABLE BORDER=1 STYLE= "margin-top:0;"> <TR CLASS='header'><TD COLSPAN='99' ALIGN='center'><FONT CLASS='header'><?php print get_variable('map_caption') . " - " . $heading; ?> <SPAN ID='sev_counts' STYLE = 'margin-left: 40px'></SPAN></FONT></TD></TR> <!-- 1/17/09 --> <TR ID='map_row'> <TD COLSPAN='99' CLASS='td_label' width="100%" height="82%"> <?php @session_start(); // $by_severity = array(0, 0, 0); // counters ?> <script> var map_width = window.screen.width -16; // 11/6/10 var map_height = window.screen.height *.82; // browser-dependent var div_style_str = "<DIV ID='map' STYLE='WIDTH:" + map_width + "px; height:" + map_height + "px';></DIV>" document.write (div_style_str); </script> </TD></TR> </TABLE></DIV> <SCRIPT> function show_btns_closed() { $('btn_go').style.display = 'inline'; $('btn_can').style.display = 'inline'; } function hide_btns_closed() { $('btn_go').style.display = 'none'; $('btn_can').style.display = 'none'; document.dummy.frm_interval.selectedIndex=99; } </SCRIPT> <SCRIPT> function isNull(val) { // checks var stuff = null; return val === null; } function to_str(instr) { // 0-based conversion - 2/13/09 // alert("143 " + instr); function ord( string ) { return (string+'').charCodeAt(0); } function chr( ascii ) { return String.fromCharCode(ascii); } function to_char(val) { return(chr(ord("A")+val)); } var lop = (instr % 26); // low-order portion, a number var hop = ((instr - lop)==0)? "" : to_char(((instr - lop)/26)-1) ; // high-order portion, a string return hop+to_char(lop); } function sendRequest(url,callback,postData) { // 2/14/09 var req = createXMLHTTPObject(); if (!req) return; var method = (postData) ? "POST" : "GET"; req.open(method,url,true); req.setRequestHeader('User-Agent','XMLHTTP/1.0'); if (postData) req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); req.onreadystatechange = function () { if (req.readyState != 4) return; if (req.status != 200 && req.status != 304) { <?php if ($istest) { print "\t\t\talert('HTTP error ' + req.status + '" . __LINE__ . "');\n"; } ?> return; } callback(req); } if (req.readyState == 4) return; req.send(postData); } var XMLHttpFactories = [ function () {return new XMLHttpRequest() }, function () {return new ActiveXObject("Msxml2.XMLHTTP") }, function () {return new ActiveXObject("Msxml3.XMLHTTP") }, function () {return new ActiveXObject("Microsoft.XMLHTTP") } ]; function createXMLHTTPObject() { var xmlhttp = false; for (var i=0;i<XMLHttpFactories.length;i++) { try { xmlhttp = XMLHttpFactories[i](); } catch (e) { continue; } break; } return xmlhttp; } if (GBrowserIsCompatible()) { $("map").style.backgroundImage = "url('http://maps.google.com/staticmap?center=<?php echo get_variable('def_lat'); ?> ,<?php echo get_variable('def_lng'); ?> &zoom=<?php echo get_variable('def_zoom'); ?> &size=<?php echo get_variable('map_width'); ?> x<?php echo get_variable('map_height'); ?> &key=<?php echo get_variable('gmaps_api_key'); ?> ')"; var colors = new Array ('odd', 'even'); function add_hash(in_str) { // prepend # if absent return (in_str.substr(0,1)=="#")? in_str : "#" + in_str; } function drawCircle(lat, lng, radius, strokeColor, strokeWidth, strokeOpacity, fillColor, fillOpacity) { // 8/19/09 // drawCircle(53.479874, -2.246704, 10.0, "#000080", 1, 0.75, "#0000FF", .5); var d2r = Math.PI/180; var r2d = 180/Math.PI; var Clat = radius * 0.014483; var Clng = Clat/Math.cos(lat * d2r); var Cpoints = []; for (var i=0; i < 33; i++) { var theta = Math.PI * (i/16); Cy = lat + (Clat * Math.sin(theta)); Cx = lng + (Clng * Math.cos(theta)); var P = new GPoint(Cx,Cy); Cpoints.push(P); } var polygon = new GPolygon(Cpoints, strokeColor, strokeWidth, strokeOpacity, fillColor, fillOpacity); map.addOverlay(polygon); } function drawBanner(point, html, text, font_size, color) { // Create the banner // alert("<?php echo __LINE__; ?> " + color); var invisibleIcon = new GIcon(G_DEFAULT_ICON, "./markers/markerTransparent.png"); // Custom icon is identical to the default icon, except invisible map.setCenter(point, 8); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); var the_color = (typeof color == 'undefined')? "#000000" : color ; // default to black var style_str = 'background-color:transparent;font-weight:bold;border:0px black solid;white-space:nowrap; font-size:' + font_size + 'px; font-family:arial; opacity: 0.9; color:' + add_hash(the_color) + ';'; var contents = '<div><div style= "' + style_str + '">'+text+'<\/div><\/div>'; var label=new ELabel(point, contents, null, new GSize(-8,4), 75, 1); map.addOverlay(label); var marker = new GMarker(point,invisibleIcon); // Create an invisible GMarker // map.addOverlay(marker); } // end function draw Banner() function do_landb() { // JS function - 8/1/11 var points = new Array(); <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` WHERE `line_status` = 0 AND `use_with_bm` = 1"; $result = mysql_query($query) or do_error($query, $query, mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $empty = FALSE; extract($row); $name = $row['line_name']; switch ($row['line_type']) { case "p": // poly $points = explode(";", $line_data); echo "\n\tvar points = new Array();\n"; for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> var thepoint = new GLatLng(<?php print $coords[0]; ?> , <?php print $coords[1]; ?> ); bounds.extend(thepoint); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1 && count($points) > 2) { ?> var polyline = new GPolygon(points,add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> ,add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> ); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> ); <?php } ?> map.addOverlay(polyline); <?php break; case "c": // circle $temp = explode(";", $line_data); $radius = $temp[1]; $coords = explode(",", $temp[0]); $lat = $coords[0]; $lng = $coords[1]; $fill_opacity = intval($filled) == 0 ? 0 : $fill_opacity; echo "\n drawCircle({$lat}, {$lng}, {$radius}, add_hash('{$line_color}'), {$line_width}, {$line_opacity}, add_hash('{$fill_color}'), {$fill_opacity}, {$name}); // 513\n"; break; case "t": // text banner $temp = explode(";", $line_data); $banner = $temp[1]; $coords = explode(",", $temp[0]); echo "\n var point = new GLatLng(parseFloat({$coords[0]}) , parseFloat({$coords[1]}));\n"; $the_banner = htmlentities($banner, ENT_QUOTES); $the_width = intval(trim($line_width), 10); // font size echo "\n drawBanner( point, '{$the_banner}', '{$the_banner}', {$the_width});\n"; break; } // end switch } // end while () unset($query, $result); ?> } // end function do_landb() function URLEncode(plaintext ) { // The Javascript escape and unescape functions do // NOT correspond with what browsers actually do... var SAFECHARS = "0123456789" + // Numeric "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic "abcdefghijklmnopqrstuvwxyz" + // guess "-_.!*'()"; // RFC2396 Mark characters var HEX = "0123456789ABCDEF"; var encoded = ""; for (var i = 0; i < plaintext.length; i++ ) { var ch = plaintext.charAt(i); if (ch == " ") { encoded += "+"; // x-www-urlencoded, rather than %20 } else if (SAFECHARS.indexOf(ch) != -1) { encoded += ch; } else { var charCode = ch.charCodeAt(0); if (charCode > 255) { alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" + "(URL encoding only supports 8-bit characters.)\n" + "A space (+) will be substituted." ); encoded += "+"; } else { encoded += "%"; encoded += HEX.charAt((charCode >> 4) & 0xF); encoded += HEX.charAt(charCode & 0xF); } } } // end for(...) return encoded; }; // end function // Tickets show / hide by Priority functions function set_initial_pri_disp() { $('normal').checked = true; $('medium').checked = true; $('high').checked = true; $('all').checked = true; $('none').checked = false; $('buttons_sh').style.display = 'none'; $('incidents').style.display = ''; $('assignments').style.display = ''; } function hideGroup(color, category) { // 8/7/09 Revised function to correct incorrect display, revised 12/03/10 completely revised var priority = color; var priority_name=""; if(priority == 1) { priority_name="normal"; } if(priority == 2) { priority_name="medium"; } if(priority == 3) { priority_name="high"; } if(priority == 4) { priority_name="all"; } if(priority == 5) { priority_name="none"; } if(priority == 1) { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if ((gmarkers[i].id == priority) && (gmarkers[i].category == category)) { gmarkers[i].show(); } if ((gmarkers[i].id != priority) && (gmarkers[i].category == category)) { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = true; $('medium').checked = false; $('high').checked = false; $('all').checked = false; $('none').checked = false; $('pri_all').style.display = ''; $('pri_none').style.display = ''; } // end if priority == 1 if(priority == 2) { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if ((gmarkers[i].id == priority) && (gmarkers[i].category == category)) { gmarkers[i].show(); } if ((gmarkers[i].id != priority) && (gmarkers[i].category == category)) { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = false; $('medium').checked = true; $('high').checked = false; $('all').checked = false; $('none').checked = false; $('pri_all').style.display = ''; $('pri_none').style.display = ''; } // end if priority == 2 if(priority == 3) { for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if ((gmarkers[i].id == priority) && (gmarkers[i].category == category)) { gmarkers[i].show(); } if ((gmarkers[i].id != priority) && (gmarkers[i].category == category)) { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = false; $('medium').checked = false; $('high').checked = true; $('all').checked = false; $('none').checked = false; $('pri_all').style.display = ''; $('pri_none').style.display = ''; } // end if priority == 3 if(priority == 4) { // show All for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if (gmarkers[i].category == category) { gmarkers[i].show(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = true; $('medium').checked = true; $('high').checked = true; $('all').checked = true; $('none').checked = false; $('pri_all').style.display = 'none'; $('pri_none').style.display = ''; } // end if priority == 4 if(priority == 5) { // hide all for (var i = 0; i < gmarkers.length; i++) { if (gmarkers[i]) { if (gmarkers[i].category == category) { gmarkers[i].hide(); } } // end if (gmarkers[i]) } // end for () $('normal').checked = false; $('medium').checked = false; $('high').checked = false; $('all').checked = false; $('none').checked = true; $('pri_all').style.display = ''; $('pri_none').style.display = 'none'; } // end if priority == 5 } // end function hideGroup(color, category) function set_pri_chkbox(control) { var pri_control = control; if($(pri_control).checked == true) { $(pri_control).checked = false; } else { $(pri_control).checked = true; } } // End of Tickets show / hide by Priority functions // Units show / hide functions function set_categories() { // 12/03/10 - checks current session values and sets checkboxes and view states for hide and show. var curr_cats = <?php echo json_encode(get_category_butts()); ?> ; var cat_sess_stat = <?php echo json_encode(get_session_status()); ?> ; var hidden = <?php print find_hidden(); ?> ; var shown = <?php print find_showing(); ?> ; var number_of_units = <?php print get_no_units(); ?> ; if(hidden!=0) { $('ALL').style.display = ''; $('ALL_BUTTON').style.display = ''; $('ALL').checked = false; } else { $('ALL').style.display = 'none'; $('ALL_BUTTON').style.display = 'none'; $('ALL').checked = false; } if(shown!=0) { $('NONE').style.display = ''; $('NONE_BUTTON').style.display = ''; $('NONE').checked = false; } else { $('NONE').style.display = 'none'; $('NONE_BUTTON').style.display = 'none'; $('NONE').checked = false; } if(number_of_units==0) { $('ALL').style.display = 'none'; $('ALL_BUTTON').style.display = 'none'; $('ALL').checked = false; $('NONE').style.display = 'none'; $('NONE_BUTTON').style.display = 'none'; $('NONE').checked = false; } for (var i = 0; i < curr_cats.length; i++) { var catname = curr_cats[i]; if(cat_sess_stat[i]=="s") { for (var j = 0; j < gmarkers.length; j++) { if ((gmarkers[j]) && (gmarkers[j].category) && (gmarkers[j].category == catname)) { gmarkers[j].show(); } } $(catname).checked = true; } else { for (var j = 0; j < gmarkers.length; j++) { if ((gmarkers[j]) && (gmarkers[j].category) && (gmarkers[j].category == catname)) { gmarkers[j].hide(); } } $(catname).checked = false; } } } function do_view_cats() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('go_can').style.display = 'inline'; $('can_button').style.display = 'inline'; $('go_button').style.display = 'inline'; } function cancel_buttons() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('go_can').style.display = 'none'; $('can_button').style.display = 'none'; $('go_button').style.display = 'none'; $('ALL').checked = false; $('NONE').checked = false; } function set_chkbox(control) { var units_control = control; if($(units_control).checked == true) { $(units_control).checked = false; } else { $(units_control).checked = true; } do_view_cats(); } function do_go_button() { // 12/03/10 Show Hide categories var curr_cats = <?php echo json_encode(get_category_butts()); ?> ; if ($('ALL').checked == true) { for (var i = 0; i < curr_cats.length; i++) { var category = curr_cats[i]; var params = "f_n=show_hide_" +URLEncode(category)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); $(category).checked = true; for (var j = 0; j < gmarkers.length; j++) { if((gmarkers[j]) && (gmarkers[j].category!="Incident")) { gmarkers[j].show(); } } } $('ALL').checked = false; $('ALL').style.display = 'none'; $('ALL_BUTTON').style.display = 'none'; $('NONE').style.display = ''; $('NONE_BUTTON').style.display = ''; $('go_button').style.display = 'none'; $('can_button').style.display = 'none'; } else if ($('NONE').checked == true) { for (var i = 0; i < curr_cats.length; i++) { var category = curr_cats[i]; var params = "f_n=show_hide_" +URLEncode(category)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); $(category).checked = false; for (var j = 0; j < gmarkers.length; j++) { if((gmarkers[j]) && (gmarkers[j].category!="Incident")) { gmarkers[j].hide(); } } } $('NONE').checked = false; $('ALL').style.display = ''; $('ALL_BUTTON').style.display = ''; $('NONE').style.display = 'none'; $('NONE_BUTTON').style.display = 'none'; $('go_button').style.display = 'none'; $('can_button').style.display = 'none'; } else { var x = 0; var y = 0; for (var i = 0; i < curr_cats.length; i++) { var category = curr_cats[i]; if (category!="Incident") { if ($(category).checked == true) { x++; var params = "f_n=show_hide_" +URLEncode(category)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); $(category).checked = true; for (var j = 0; j < gmarkers.length; j++) { if ((gmarkers[j]) && (gmarkers[j].category) && (gmarkers[j].category == category)) { // alert("Showing gmarker " + j + " in Category " + category); gmarkers[j].show(); } } } } } for (var i = 0; i < curr_cats.length; i++) { var category = curr_cats[i]; if (category!="Incident") { if ($(category).checked == false) { y++; var params = "f_n=show_hide_" +URLEncode(category)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); $(category).checked = false; var y=0; for (var j = 0; j < gmarkers.length; j++) { if ((gmarkers[j]) && (gmarkers[j].category) && (gmarkers[j].category == category)) { // alert("Hiding gmarker " + j + " in Category " + category); gmarkers[j].hide(); } } } } } } $('go_button').style.display = 'none'; $('can_button').style.display = 'none'; if((x > 0) && (x < curr_cats.length)) { $('ALL').style.display = ''; $('ALL_BUTTON').style.display = ''; $('NONE').style.display = ''; $('NONE_BUTTON').style.display = ''; } if(x == 0) { $('ALL').style.display = ''; $('ALL_BUTTON').style.display = ''; $('NONE').style.display = 'none'; $('NONE_BUTTON').style.display = 'none'; } if(x == curr_cats.length) { $('ALL').style.display = 'none'; $('ALL_BUTTON').style.display = 'none'; $('NONE').style.display = ''; $('NONE_BUTTON').style.display = ''; } } // end function do_go_button() function gb_handleResult(req) { // 12/03/10 The persist callback function } // Facilities show / hide functions function set_fac_categories() { // 12/03/10 - checks current session values and sets checkboxes and view states for hide and show. var fac_curr_cats = <?php echo json_encode(get_fac_category_butts()); ?> ; var fac_cat_sess_stat = <?php echo json_encode(get_fac_session_status()); ?> ; var fac_hidden = <?php print find_fac_hidden(); ?> ; var fac_shown = <?php print find_fac_showing(); ?> ; if(fac_hidden!=0) { $('fac_ALL').style.display = ''; $('fac_ALL_BUTTON').style.display = ''; $('fac_ALL').checked = false; } else { $('fac_ALL').style.display = 'none'; $('fac_ALL_BUTTON').style.display = 'none'; $('fac_ALL').checked = false; } if(fac_shown!=0) { $('fac_NONE').style.display = ''; $('fac_NONE_BUTTON').style.display = ''; $('fac_NONE').checked = false; } else { $('fac_NONE').style.display = 'none'; $('fac_NONE_BUTTON').style.display = 'none'; $('fac_NONE').checked = false; } for (var i = 0; i < fac_curr_cats.length; i++) { var fac_catname = fac_curr_cats[i]; if(fac_cat_sess_stat[i]=="s") { for (var j = 0; j < fmarkers.length; j++) { if (fmarkers[j].category == fac_catname) { fmarkers[j].show(); } } $(fac_catname).checked = true; } else { for (var j = 0; j < fmarkers.length; j++) { if (fmarkers[j].category == fac_catname) { fmarkers[j].hide(); } } $(fac_catname).checked = false; } } } function do_view_fac_cats() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('fac_go_can').style.display = 'inline'; $('fac_can_button').style.display = 'inline'; $('fac_go_button').style.display = 'inline'; } function fac_cancel_buttons() { // 12/03/10 Show Hide categories, Showing and setting onClick attribute for Next button for category show / hide. $('fac_go_can').style.display = 'none'; $('fac_can_button').style.display = 'none'; $('fac_go_button').style.display = 'none'; $('fac_ALL').checked = false; $('fac_NONE').checked = false; } function set_fac_chkbox(control) { var fac_control = control; if($(fac_control).checked == true) { $(fac_control).checked = false; } else { $(fac_control).checked = true; } do_view_fac_cats(); } function do_go_facilities_button() { // 12/03/10 Show Hide categories var fac_curr_cats = <?php echo json_encode(get_fac_category_butts()); ?> ; if ($('fac_ALL').checked == true) { for (var i = 0; i < fac_curr_cats.length; i++) { var fac_category = fac_curr_cats[i]; var params = "f_n=show_hide_fac_" +URLEncode(fac_category)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); $(fac_category).checked = true; for (var j = 0; j < fmarkers.length; j++) { if(fmarkers[j].category != "Incident") { fmarkers[j].show(); } } } $('fac_ALL').checked = false; $('fac_ALL').style.display = 'none'; $('fac_ALL_BUTTON').style.display = 'none'; $('fac_NONE').style.display = ''; $('fac_NONE_BUTTON').style.display = ''; $('fac_go_button').style.display = 'none'; $('fac_can_button').style.display = 'none'; } else if ($('fac_NONE').checked == true) { for (var i = 0; i < fac_curr_cats.length; i++) { var fac_category = fac_curr_cats[i]; var params = "f_n=show_hide_fac_" +URLEncode(fac_category)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); $(fac_category).checked = false; for (var j = 0; j < fmarkers.length; j++) { if(fmarkers[j].category != "Incident") { fmarkers[j].hide(); } } } $('fac_NONE').checked = false; $('fac_ALL').style.display = ''; $('fac_ALL_BUTTON').style.display = ''; $('fac_NONE').style.display = 'none'; $('fac_NONE_BUTTON').style.display = 'none'; $('fac_go_button').style.display = 'none'; $('fac_can_button').style.display = 'none'; } else { var x = 0; var y = 0; for (var i = 0; i < fac_curr_cats.length; i++) { var fac_category = fac_curr_cats[i]; if ($(fac_category).checked == true) { x++; var params = "f_n=show_hide_fac_" +URLEncode(fac_category)+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); $(fac_category).checked = true; for (var j = 0; j < fmarkers.length; j++) { if(fmarkers[j].category == fac_category) { fmarkers[j].show(); } } } } for (var i = 0; i < fac_curr_cats.length; i++) { var fac_category = fac_curr_cats[i]; if ($(fac_category).checked == false) { y++; var params = "f_n=show_hide_fac_" +URLEncode(fac_category)+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); $(fac_category).checked = false; var y=0; for (var j = 0; j < fmarkers.length; j++) { if(fmarkers[j].category == fac_category) { fmarkers[j].hide(); } } } } } var hidden = <?php print find_hidden(); ?> ; var shown = <?php print find_showing(); ?> ; $('fac_go_button').style.display = 'none'; $('fac_can_button').style.display = 'none'; if((x > 0) && (x < fac_curr_cats.length)) { $('fac_ALL').style.display = ''; $('fac_ALL_BUTTON').style.display = ''; $('fac_NONE').style.display = ''; $('fac_NONE_BUTTON').style.display = ''; } if(x == 0) { $('fac_ALL').style.display = ''; $('fac_ALL_BUTTON').style.display = ''; $('fac_NONE').style.display = 'none'; $('fac_NONE_BUTTON').style.display = 'none'; } if(x == fac_curr_cats.length) { $('fac_ALL').style.display = 'none'; $('fac_ALL_BUTTON').style.display = 'none'; $('fac_NONE').style.display = ''; $('fac_NONE_BUTTON').style.display = ''; } } // end function do_go_button() function gfb_handleResult(req) { // 12/03/10 The persist callback function } // end of facilities show / hide function function hideDiv(div_area, hide_cont, show_cont) { // 3/29/11, function forhiding DIVS for control areas var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = 'none'; } } function showDiv(div_area, hide_cont, show_cont) { // 3/29/11, function for showing DIVS for control areas var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = ''; } } var starting = false; function check_sidemenu() { if($('inc_list').style.display=="block") { $('incs_but').className="right_menu_lit"; } if($('buttons_sh').style.display=="block") { $('marker_but').className="right_menu_lit"; } if($('assigns_list').style.display=="block") { $('assign_but').className="right_menu_lit"; } } function myclick(id) { // 3/29/11 For incident list clicks to launch infoWindow GEvent.trigger(gmarkers[id], "click"); location.href = "#top"; } function do_mail_fac_win(id) { // Facility email 9/22/09 if(starting) {return;} starting=true; var url = "do_fac_mail.php?fac_id=" + id; newwindow_in=window.open (url, 'Email_Window', 'titlebar, resizable=1, scrollbars, height=300,width=600,status=0,toolbar=0,menubar=0,location=0, left=50,top=150,screenX=100,screenY=300'); if (isNull(newwindow_in)) { alert ("This requires popups to be enabled. Please adjust your browser options."); return; } newwindow_in.focus(); starting = false; } function do_show_Units() { var params = "f_n=show_hide_unit&v_n=s&sess_id=<?php print get_sess_key(basename(__FILE__) . __LINE__); ?> "; // flag 1, value s var url = "persist.php"; sendRequest (url, s_handleResult, params); // ($to_str, $text, $ticket_id) 10/15/08 } // end function do notify() function s_handleResult(req) { // the 'called-back' persist function - show show_Units(); } function createMarker(point, tabs, color, stat, id, sym, category) { // Creates marker and sets up click event infowindow points = true; var icon = new GIcon(baseIcon); var icon_url = "./our_icons/gen_icon.php?blank=" + escape(icons[color]) + "&text=" + sym; // 1/6/09 icon.image = icon_url; var marker = new GMarker(point, icon); marker.id = color; // for hide/unhide marker.category = category; // 12/03/10 for show / hide by status marker.stat = stat; // 10/21/09 GEvent.addListener(marker, "click", function() { // here for icon click // if (ticket_ids[(id-1)]) { // open_tick_window (ticket_ids[(id-1)]); // } // else { map.closeInfoWindow(); which = id; gmarkers[which].hide(); marker.openInfoWindowTabsHtml(infoTabs[id]); setTimeout(function() { // wait for rendering complete - 11/6/08 if ($("detailmap")) { // 10/9/08 var dMapDiv = $("detailmap"); var detailmap = new GMap2(dMapDiv); detailmap.addControl(new GSmallMapControl()); detailmap.setCenter(point, 17); // larger # = closer detailmap.addOverlay(marker); } else { } },3000); // end setTimeout(...) }); // end function(marker, point) gmarkers[id] = marker; // marker to array for side_bar click function infoTabs[id] = tabs; // tabs to array if (!(map_is_fixed)){ bounds.extend(point); } return marker; } // end function create Marker() function createdummyMarker(point, tabs, id) { // Creates dummymarker and sets up click event infowindow for "no maps" added tickets and units. 7/28/10 points = true; var icon = new GIcon(baseIcon); var icon_url = "./our_icons/question1.png"; // 7/28/10 icon.image = icon_url; var dummymarker = new GMarker(point, icon); GEvent.addListener(dummymarker, "click", function() { map.closeInfoWindow(); which = id; gmarkers[which].hide(); dummymarker.openInfoWindowTabsHtml(infoTabs[id]); setTimeout(function() { if ($("detailmap")) { var dMapDiv = $("detailmap"); var detailmap = new GMap2(dMapDiv); detailmap.addControl(new GSmallMapControl()); detailmap.setCenter(point, 17); detailmap.addOverlay(dummymarker); } else { // alert($("detailmap")); } },3000); // end setTimeout(...) }); gmarkers[id] = dummymarker; // marker to array for side_bar click function infoTabs[id] = tabs; // tabs to array if (!(map_is_fixed)){ bounds.extend(point); } return dummymarker; } // end function create dummyMarker() var the_grid; var grid = false; function doGrid() { if (grid) { map.removeOverlay(the_grid); } else { the_grid = new LatLonGraticule(); map.addOverlay(the_grid); } grid = !grid; } // end function doGrid var trafficInfo = new GTrafficOverlay(); var toggleState = true; function doTraffic() { // 10/16/08 if (toggleState) { map.removeOverlay(trafficInfo); } else { map.addOverlay(trafficInfo); } toggleState = !toggleState; // swap } // end function doTraffic() var icons=[]; // note globals icons[0] = 4; // units white icons[<?php print $GLOBALS['SEVERITY_NORMAL']; ?> +1] = 1; // blue icons[<?php print $GLOBALS['SEVERITY_MEDIUM']; ?> +1] = 2; // yellow icons[<?php print $GLOBALS['SEVERITY_HIGH']; ?> +1] = 3; // red icons[<?php print $GLOBALS['SEVERITY_HIGH']; ?> +2] = 0; // black var map; var center; var zoom; var points = false; <?php $dzf = get_variable('def_zoom_fixed'); print "\tvar map_is_fixed = "; print $dzf == 1 || $dzf == 3 ? "true;\n" : "false;\n"; $kml_olays = array(); $dir = "./kml_files"; $dh = opendir($dir); $i = 1; $temp = explode("/", $_SERVER['REQUEST_URI']); $temp[count($temp) - 1] = "kml_files"; // $server_str = "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . implode("/", $temp) . "/"; while (false !== ($filename = readdir($dh))) { if (!is_dir($filename)) { echo "\tvar kml_" . $i . " = new GGeoXml(\"" . $server_str . $filename . "\");\n"; $kml_olays[] = "map.addOverlay(kml_" . $i . ");"; $i++; } } // dump ($kml_olays); ?> function do_mail_win() { // 6/13/09 if(starting) {return;} starting=true; newwindow_um=window.open('do_unit_mail.php', 'E_mail_Window', 'titlebar, resizable=1, scrollbars, height=640,width=800,status=0,toolbar=0,menubar=0,location=0, left=50,top=150,screenX=100,screenY=300'); if (isNull(newwindow_um)) { alert ("This requires popups to be enabled. Please adjust your browser options."); return; } newwindow_um.focus(); starting = false; } function open_tick_window (id) { // 4/12/10 var url = "single.php?ticket_id="+ id; var tickWindow = window.open(url, 'mailWindow', 'resizable=1, scrollbars, height=600, width=600, left=100,top=100,screenX=100,screenY=100'); tickWindow.focus(); } function do_add_note (id) { // 8/12/09 var url = "add_note.php?ticket_id="+ id; var noteWindow = window.open(url, 'mailWindow', 'resizable=1, scrollbars, height=240, width=600, left=100,top=100,screenX=100,screenY=100'); noteWindow.focus(); } function do_track(callsign) { if (parent.frames["upper"].logged_in()) { // if(starting) {return;} // 6/6/08 // starting=true; map.closeInfoWindow(); var width = <?php print get_variable('map_width'); ?> +360; var spec ="titlebar, resizable=1, scrollbars, height=640,width=" + width + ",status=0,toolbar=0,menubar=0,location=0, left=100,top=300,screenX=100,screenY=300"; var url = "track_u.php?source="+callsign; newwindow=window.open(url, callsign, spec); if (isNull(newwindow)) { alert ("Track display requires popups to be enabled. Please adjust your browser options."); return; } // starting = false; newwindow.focus(); } } // end function do track() //function do_popup(id) { // added 7/9/09 // if (parent.frames["upper"].logged_in()) { // map.closeInfoWindow(); // var width = <?php print get_variable('map_width'); ?> +32; // var spec ="titlebar, resizable=1, scrollbars, height=590,width=" + width + ",status=no,toolbar=no,menubar=no,location=0, left=100,top=300,screenX=100,screenY=300"; // var url = "incident_popup.php?id="+id; // // newwindow=window.open(url, id, spec); // if (isNull(newwindow)) { // alert ("Popup Incident display requires popups to be enabled. Please adjust your browser options."); // return; // } //// starting = false; // newwindow.focus(); // } // } // end function do popup() var ticket_ids = []; var gmarkers = []; var fmarkers = []; var infoTabs = []; var facinfoTabs = []; var which; var i = 0; // sidebar/icon index map = new GMap2($("map")); // create the map <?php $maptype = get_variable('maptype'); // 08/02/09 switch ($maptype) { case "1": break; case "2": ?> map.setMapType(G_SATELLITE_MAP);<?php break; case "3": ?> map.setMapType(G_PHYSICAL_MAP);<?php break; case "4": ?> map.setMapType(G_HYBRID_MAP);<?php break; default: print "ERROR in " . basename(__FILE__) . " " . __LINE__ . "<BR />"; } ?> // map.addControl(new GSmallMapControl()); // 8/25/08 map.setUIToDefault(); // 8/13/10 map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(<?php echo get_variable('def_lat'); ?> , <?php echo get_variable('def_lng'); ?> ), <?php echo get_variable('def_zoom'); ?> ); mapBounds=new GLatLngBounds(map.getBounds().getSouthWest(), map.getBounds().getNorthEast()); // 4/4/09 var bounds = new GLatLngBounds(); // create bounding box <?php if (get_variable('terrain') == 1) { ?> map.addMapType(G_PHYSICAL_MAP); <?php } ?> map.enableScrollWheelZoom(); do_landb(); // 7/3/11 - show lines var baseIcon = new GIcon(); baseIcon.shadow = "./markers/sm_shadow.png"; // ./markers/sm_shadow.png baseIcon.iconSize = new GSize(20, 34); baseIcon.shadowSize = new GSize(37, 34); baseIcon.iconAnchor = new GPoint(9, 34); baseIcon.infoWindowAnchor = new GPoint(9, 2); baseIcon.infoShadowAnchor = new GPoint(18, 25); GEvent.addListener(map, "infowindowclose", function() { // re-center after move/zoom map.setCenter(center,zoom); map.addOverlay(gmarkers[which]) }); <?php $order_by = !empty($get_sortby) ? $get_sortby : $_SESSION['sortorder']; // use default sort order? //fix limits according to setting "ticket_per_page" $limit = ""; if ($_SESSION['ticket_per_page'] && check_for_rows("SELECT id FROM `{$GLOBALS['mysql_prefix']}ticket`") > $_SESSION['ticket_per_page']) { if ($_GET['offset']) { $limit = "LIMIT {$_GET['offset']},{$_SESSION['ticket_per_page']}"; } else { $limit = "LIMIT 0,{$_SESSION['ticket_per_page']}"; } } $restrict_ticket = get_variable('restrict_user_tickets') == 1 && !is_administrator() ? " AND owner={$_SESSION['user_id']}" : ""; $time_back = mysql_format_date(time() - get_variable('delta_mins') * 60 - $cwi * 3600); if (!isset($_POST['frm_group'])) { $x = 0; $where2 = "AND ("; foreach ($al_groups as $grp) { $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; $where2 = "AND ("; foreach ($_POST['frm_group'] as $grp) { $where3 = count($_POST['frm_group']) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } switch ($func) { //9/29/09 Added capability for Special Incidents 10/27/09 changed to bring scheduled incidents to front when due. case 0: $where = "WHERE (`status`='{$GLOBALS['STATUS_OPEN']}' OR (`status`='{$GLOBALS['STATUS_SCHEDULED']}' AND `booked_date` <= (NOW() + INTERVAL 2 DAY)) OR \n\t\t\t\t\t(`status`='{$GLOBALS['STATUS_CLOSED']}' AND `problemend` >= '{$time_back}')){$where2}"; // 11/29/10, 6/10/11, 6/10/11 break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: $the_start = get_start($func); // mysql timestamp format $the_end = get_end($func); $where = " WHERE (`status`='{$GLOBALS['STATUS_CLOSED']}' AND `problemend` BETWEEN '{$the_start}' AND '{$the_end}') {$where2} "; // 6/10/11, 6/10/11 break; case 10: $where = "WHERE (`status`='{$GLOBALS['STATUS_SCHEDULED']}' AND `booked_date` >= (NOW() + INTERVAL 2 DAY)) {$where2}"; // 11/29/10, 6/10/11, 6/10/11 break; default: print "error - error - error - error " . __LINE__; // default: $where = "WHERE `status`='{$GLOBALS['STATUS_OPEN']}' OR (`status`='3' AND `booked_date` <= (NOW() - INTERVAL 6 HOUR))"; break; } // end switch($func) $query = "SELECT *, UNIX_TIMESTAMP(problemstart) AS `problemstart`, \n\t\t\tUNIX_TIMESTAMP(problemend) AS `problemend`,\n\t\t\tUNIX_TIMESTAMP(booked_date) AS booked_date,UNIX_TIMESTAMP(date) AS `date`,\n\t\t\tUNIX_TIMESTAMP(`{$GLOBALS['mysql_prefix']}ticket`.updated) AS `updated`, \n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.`id` AS `ticket_id`, \n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.`severity` AS `severity`, \t\t\t\n\t\t\t`{$GLOBALS['mysql_prefix']}in_types`.type AS `type`,\n\t\t\t`{$GLOBALS['mysql_prefix']}in_types`.`id` AS `t_id`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.`description` AS `tick_descr`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.street AS `tick_street`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.city AS `tick_city`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.state AS `tick_state`,\t\t\t\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.lat AS `lat`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.lng AS `lng`,\n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.lat AS `fac_lat`,\n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.lng AS `fac_lng`, \n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.`name` AS `fac_name` \n\t\t\tFROM `{$GLOBALS['mysql_prefix']}ticket`\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` ON `{$GLOBALS['mysql_prefix']}ticket`.id=`{$GLOBALS['mysql_prefix']}allocates`.`resource_id`\t\t\t\t\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}in_types` ON `{$GLOBALS['mysql_prefix']}ticket`.in_types_id=`{$GLOBALS['mysql_prefix']}in_types`.`id` \n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}facilities` ON `{$GLOBALS['mysql_prefix']}ticket`.rec_facility=`{$GLOBALS['mysql_prefix']}facilities`.`id` \n\t\t\t{$where} {$restrict_ticket} \n\t\t\t GROUP BY ticket_id ORDER BY `status` DESC, `severity` DESC, `{$GLOBALS['mysql_prefix']}ticket`.`id` ASC"; // 2/2/09, 10/28/09 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $curr_incs = mysql_num_rows($result); $sb_indx = 0; // note zero base! // major while ... starts here ?> // 3/29/11 Incident List sidebar header var sidebar_line = "<DIV style='width: 100%;'>"; sidebar_line += "<DIV CLASS= 'in_space odd'><DIV CLASS = 'incs'> </DIV></DIV>"; sidebar_line += "<DIV CLASS= 'in_space odd'><DIV CLASS = 'incs'> </DIV></DIV>"; sidebar_line += "<DIV CLASS= 'in_1 odd'><DIV CLASS = 'incs'><B>Incident</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'in_type odd'><DIV CLASS = 'incs'><B>Type</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'in_1 odd'><DIV CLASS = 'incs'><B>Addr</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'in_date odd'><DIV CLASS = 'incs'><B>Start</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'in_dur odd'><DIV CLASS = 'incs'><B>Duration</B></DIV></DIV></DIV><BR />"; <?php $evenodd = array("even", "odd"); // CLASS names for alternating table row colors if ($curr_incs > 0) { $z = 0; while ($row = stripslashes_deep(mysql_fetch_array($result))) { $by_severity[$row['severity']]++; $z == 0 ? $background_col = "even" : ($background_col = "odd"); print "\t\t ticket_ids.push({$row['ticket_id']});\n"; switch ($row['status']) { //10/27/09 to Add star to scheduled incidents on current situation screen case 1: $sp = ""; break; case 2: $sp = ""; break; case 3: $sp = "*"; break; default: $sp = ""; break; } print "\t\tvar scheduled = '{$sp}';\n"; ?> // var sym = i.toString(); // for sidebar and icon var sym = scheduled + (<?php print $sb_indx; ?> +1).toString(); // for sidebar and icon <?php $the_id = $row[0]; if ($row['tick_descr'] == '') { $row['tick_descr'] = '[no description]'; } // 8/12/09 if (get_variable('abbreviate_description')) { //do abbreviations on description, affected if neccesary if (strlen($row['tick_descr']) > get_variable('abbreviate_description')) { $row['tick_descr'] = substr($row['tick_descr'], 0, get_variable('abbreviate_description')) . '...'; } } if (get_variable('abbreviate_affected')) { if (strlen($row['affected']) > get_variable('abbreviate_affected')) { $row['affected'] = substr($row['affected'], 0, get_variable('abbreviate_affected')) . '...'; } } switch ($row['severity']) { //color tickets by severity case $GLOBALS['SEVERITY_MEDIUM']: $severityclass = 'severity_medium'; break; case $GLOBALS['SEVERITY_HIGH']: $severityclass = 'severity_high'; break; default: $severityclass = 'severity_normal'; break; } $street = empty($row['tick_street']) ? "" : $row['tick_street'] . "<BR/>" . $row['tick_city'] . " " . $row['state']; $todisp = is_guest() ? "" : " <A HREF='routes.php?ticket_id=" . $the_id . "'><U>Dispatch</U></A>"; // 8/2/08 $now = now(); if ($row['status'] == $GLOBALS['STATUS_CLOSED']) { $strike = "<strike>"; $strikend = "</strike>"; } else { $strike = $strikend = ""; } $index_no = $sb_indx + 1; ?> // 3/29/11 Incident List sidebar sidebar_line += "<DIV CLASS='in_space <?php print $background_col; ?> <?php print $severityclass; ?> '><DIV class='incs' onClick = 'myclick(<?php print $sb_indx; ?> );' onmouseout=\"UnTip()\" onmouseover=\"Tip('* means the incident is a scheduled one')\"><?php print $strike; ?> <?php print $index_no; print $strikend; ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='in_space <?php print $background_col; ?> <?php print $severityclass; ?> '><DIV class='incs' onClick = 'myclick(<?php print $sb_indx; ?> );' onmouseout=\"UnTip()\" onmouseover=\"Tip('* means the incident is a scheduled one')\"><?php print $strike; ?> <?php print $sp; print $strikend; ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='in_1 <?php print $background_col; ?> <?php print $severityclass; ?> '><DIV class='incs' onClick = 'myclick(<?php print $sb_indx; ?> );' onmouseout=\"UnTip()\" onmouseover=\"Tip('<?php print $row['scope']; ?> ')\"><?php print $strike; ?> <?php print shorten($row['scope'], $shorten_length); print $strikend; ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='in_type <?php print $background_col; ?> <?php print $severityclass; ?> '><DIV class='incs' onClick = 'myclick(<?php print $sb_indx; ?> );' onmouseout=\"UnTip()\" onmouseover=\"Tip('<?php print $row['type']; ?> ')\"><?php print $strike; ?> <?php print shorten($row['type'], $shorten_length); print $strikend; ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='in_1 <?php print $background_col; ?> <?php print $severityclass; ?> '><DIV class='incs' onClick = 'myclick(<?php print $sb_indx; ?> );' onmouseout=\"UnTip()\" onmouseover=\"Tip('<?php print $row['tick_street'] . " " . $row['tick_city'] . " " . $row['tick_state']; ?> ')\"><?php print $strike; ?> <?php print shorten($row['tick_street'] . ' ' . $row['tick_city'] . " " . $row['tick_state'], $shorten_length); ?> <?php print $strikend; ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='in_date <?php print $background_col; ?> <?php print $severityclass; ?> '><DIV class='incs' onClick = 'myclick(<?php print $sb_indx; ?> );' onmouseout=\"UnTip()\" onmouseover=\"Tip('<?php print format_date($row['problemstart']); ?> ')\"><?php print $strike; ?> <?php print shorten(format_date($row['problemstart']), $shorten_length); print $strikend; ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='in_dur <?php print $background_col; ?> <?php print $severityclass; ?> '><DIV class='incs' onClick = 'myclick(<?php print $sb_indx; ?> );' onmouseout=\"UnTip()\" onmouseover=\"Tip('<?php print my_date_diff($row['problemstart'], $now); ?> ')\"><?php print $strike; ?> <?php print shorten(my_date_diff($row['problemstart'], $now), $shorten_length); print $strikend; ?> </DIV></DIV></BR>"; <?php $rand = $istest ? "&rand=" . chr(rand(65, 90)) : ""; // 10/21/08 $tab_1 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $tab_1 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>{$strike}" . shorten($row['scope'], 48) . "{$strikend}</B></TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD>As of:</TD><TD>" . format_date($row['updated']) . "</TD></TR>"; if (good_date($row['booked_date'])) { //4/13/10 $tab_1 .= "<TR CLASS='odd'><TD>Booked Date:</TD><TD>" . format_date($row['booked_date']) . "</TD></TR>"; } $tab_1 .= "<TR CLASS='even'><TD>Reported by:</TD><TD>" . shorten($row['contact'], 32) . "</TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD>Phone:</TD><TD>" . format_phone($row['phone']) . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD>Addr:</TD><TD>" . $row['tick_street'] . ' ' . $row['tick_city'] . "</TD></TR>"; $end_date = intval($row['problemend']) > 1 ? $row['problemend'] : time() - get_variable('delta_mins') * 60; $elapsed = my_date_diff($row['problemstart'], $end_date); // 5/13/10 $tab_1 .= "<TR CLASS='odd'><TD ALIGN='left'>Status:</TD><TD ALIGN='left'>" . get_status($row['status']) . " ({$elapsed})</TD></TR>"; // 3/27/10 if (!empty($row['fac_name'])) { $tab_1 .= "<TR CLASS='even'><TD>Receiving Facility:</TD><TD>" . shorten($row['fac_name'], 30) . "</TD></TR>"; //10/28/09 } $utm = get_variable('UTM'); if ($utm == 1) { $coords = $row['lat'] . "," . $row['lng']; // 8/12/09 $tab_1 .= "<TR CLASS='even'><TD>UTM grid:</TD><TD>" . toUTM($coords) . "</TD></TR>"; } $tab_1 .= "</TABLE>"; // 11/6/08 $tab_2 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; // 8/12/09 $tab_2 .= "<TR CLASS='even'>\t<TD ALIGN='left'>Description:</TD><TD ALIGN='left'>" . replace_quotes(shorten(str_replace($eols, " ", $row['tick_descr']), 48)) . "</TD></TR>"; // str_replace("\r\n", " ", $my_string) $tab_2 .= "<TR CLASS='odd'>\t\t<TD ALIGN='left'>" . get_text('Disposition') . ":</TD><TD ALIGN='left'>" . replace_quotes(shorten($row['comments'], 48)) . "</TD></TR>"; // 8/13/09, 3/15/11 $tab_2 .= "<TR CLASS='even'>\t<TD ALIGN='left'>911 contact:</TD><TD ALIGN='left'>" . replace_quotes(shorten($row['nine_one_one'], 48)) . "</TD></TR>"; // 6/26/10 $locale = get_variable('locale'); // 08/03/09 switch ($locale) { case "0": $tab_2 .= "<TR CLASS='even'>\t<TD>USNG:</TD><TD>" . LLtoUSNG($row['lat'], $row['lng']) . "</TD></TR>"; // 8/23/08, 10/15/08, 8/3/09 break; case "1": $tab_2 .= "<TR CLASS='even'>\t<TD>OSGB:</TD><TD>" . LLtoOSGB($row['lat'], $row['lng']) . "</TD></TR>"; // 8/23/08, 10/15/08, 8/3/09 break; case "2": $coords = $row['lat'] . "," . $row['lng']; // 8/12/09 $tab_2 .= "<TR CLASS='even'>\t<TD>UTM:</TD><TD>" . toUTM($coords) . "</TD></TR>"; // 8/23/08, 10/15/08, 8/3/09 break; default: print "ERROR in " . basename(__FILE__) . " " . __LINE__ . "<BR />"; } // $tab_2 .= "<TR> <TD> </TD></TR>"; $tab_2 .= "<TR>\t\t\t\t\t<TD COLSPAN=2>" . show_assigns(0, $the_id) . "</TD></TR>"; $tab_2 .= "</TABLE>"; // 11/6/08 $query = "SELECT * FROM {$GLOBALS['mysql_prefix']}action WHERE `ticket_id` = " . $the_id; $resultav = mysql_query($query) or do_error($query, 'mysql_query', mysql_error(), basename(__FILE__), __LINE__); $A = mysql_affected_rows(); $query = "SELECT * FROM {$GLOBALS['mysql_prefix']}patient WHERE `ticket_id` = " . $the_id; $resultav = mysql_query($query) or do_error($query, 'mysql_query', mysql_error(), basename(__FILE__), __LINE__); $P = mysql_affected_rows(); ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(shorten($row['scope'], 12)); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("More ...", "<?php print str_replace($eols, " ", $tab_2); ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; var point = new GLatLng(<?php print $row['lat']; ?> , <?php print $row['lng']; ?> ); // for each ticket if (!(map_is_fixed)){ // 4/3/09 bounds.extend(point); } var category = "Incident"; var marker = createMarker(point, myinfoTabs,<?php print $row['severity'] + 1; ?> , 0, i, sym, category); // (point,tabs, color, id, sym) - 1/6/09 var the_class = ((map_is_fixed) && (!(mapBounds.containsLatLng(point))))? "emph" : "td_label"; map.addOverlay(marker); i++; // step the index <?php if (intval($row['radius']) > 0) { $color = substr($row['color'], 0, 1) == "#" ? $row['color'] : "#000000"; // black default ?> // drawCircle( 38.479874, -78.246704, 50.0, "#000080", 1, 0.75, "#0000FF", .2); drawCircle( <?php print $row['lat']; ?> , <?php print $row['lng']; ?> , <?php print $row['radius']; ?> , "<?php print $color; ?> ", 1, 0.75, "<?php print $color; ?> ", .<?php print $row['opacity']; ?> ); <?php } // end if (intval($row['radius']) $sb_indx++; $z == 0 ? $z = 1 : ($z = 0); } // end tickets while ($row = ...) } else { ?> sidebar_line += "<DIV CLASS='even' style='width: 100%;'><DIV style='text-align: center; color: #FF0000; font-size: 12px; font-weight: bold;'>No Current Incidents for selected time period</DIV></DIV><BR />"; <?php } $sev_string = "Severities: normal ({$by_severity[$GLOBALS['SEVERITY_NORMAL']]}), Medium ({$by_severity[$GLOBALS['SEVERITY_MEDIUM']]}), High ({$by_severity[$GLOBALS['SEVERITY_HIGH']]})"; ?> $('sev_counts').innerHTML = "<?php print $sev_string; ?> "; $('incidents').innerHTML = sidebar_line; // incident list to sidebar var sidebar_line = ""; <?php // ========================================== 3/29/11 ASSIGNMENTS start ================================================ if (isset($_SESSION['viewed_groups'])) { // 6/10/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 6/10/11 $where2 = "AND ("; // 6/10/11 foreach ($al_groups as $grp) { // 6/10/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 6/10/11 $where2 = "AND ("; // 6/10/11 foreach ($curr_viewed as $grp) { // 6/10/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `a`.`type` = 2"; $query = "SELECT *,UNIX_TIMESTAMP(as_of) AS as_of,\n\t\t`{$GLOBALS['mysql_prefix']}assigns`.`id` AS `assign_id` ,\n\t\t`{$GLOBALS['mysql_prefix']}assigns`.`comments` AS `assign_comments`,\n\t\t`u`.`user` AS `theuser`, `t`.`scope` AS `tick_scope`,\n\t\t`t`.`description` AS `tick_descr`,\n\t\tUNIX_TIMESTAMP(`t`.`problemstart`) AS `tick_pstart`,\n\t\t`t`.`problemstart` AS `problemstart`,\t\t\n\t\t`t`.`status` AS `tick_status`,\n\t\t`t`.`street` AS `tick_street`,\n\t\t`t`.`city` AS `tick_city`,\n\t\t`t`.`state` AS `tick_state`,\t\t\t\n\t\t`r`.`id` AS `unit_id`,\n\t\t`r`.`name` AS `unit_name` ,\n\t\t`r`.`type` AS `unit_type` ,\n\t\t`{$GLOBALS['mysql_prefix']}assigns`.`as_of` AS `assign_as_of`,\n\t\t`{$GLOBALS['mysql_prefix']}assigns`.`clear` AS `clear`\t\t\n\t\tFROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` `t` ON (`{$GLOBALS['mysql_prefix']}assigns`.`ticket_id` = `t`.`id`)\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}user` `u` ON (`{$GLOBALS['mysql_prefix']}assigns`.`user_id` = `u`.`id`)\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}responder`\t`r` ON (`{$GLOBALS['mysql_prefix']}assigns`.`responder_id` = `r`.`id`)\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = `a`.`resource_id` )\t\t\n\t\t\tWHERE (`clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00') {$where2} \n\t\tGROUP BY `unit_id` ORDER BY `severity` DESC, `tick_pstart` ASC"; // dump($query); $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $curr_calls = mysql_num_rows($result); $guest = is_guest(); $user = is_user(); $doUnit = $guest || $user ? "viewU" : "editU"; // 5/11/10 $doTick = $guest ? "viewT" : "editT"; // 06/26/08 $now = time() - get_variable('delta_mins') * 60; $items = mysql_affected_rows(); $tags_arr = explode("/", get_variable('disp_stat')); // 8/29/10 $TBL_INC_PERC = 50; // incident group - four columns - 50 percent as default $TBL_UNIT_PERC = 35; // unit group, $COLS_INCID = 18; // incident name - 18 characters as default $COLS_OPENED = 16; // date/time opened - 0 characters as default $COLS_DESCR = 32; // incident description - 32 characters as default $COLS_ADDR = 32; // address - 32 characters as default $COLS_UNIT = 15; // unit name $COLS_ASOF = 9; // call as-of date/time - 9 characters as default $priorities = array("", "severity_medium", "severity_high"); if ($curr_calls > 0) { ?> // 3/29/11 Assignments List sidebar header sidebar_line += "<DIV style='font-size: 12px; color: #000000; background: #FFFFFF;'>"; sidebar_line += "<DIV CLASS= 'c1 odd'><DIV class='incs'><B>Incident</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'cdate odd'><DIV class='incs'><B>Inc Start</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'c1 odd'><DIV class='incs'><B>Synopsis</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'c1 odd'><DIV class='incs'><B>Addr</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'cspace odd'><DIV class='incs'> </DIV></DIV>"; sidebar_line += "<DIV CLASS= 'unit_n odd'><DIV class='incs'><B>Unit</B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'unit_d odd'><DIV class='incs'><B> </B></DIV></DIV>"; sidebar_line += "<DIV CLASS= 'unit_s odd'><DIV class='incs'><B>Unit St</B></DIV></DIV>"; sidebar_line += "</DIV><BR />"; <?php $w = 0; $unit_ids = array(); $i = 1; $evenodd = array("even", "odd"); // CLASS names for alternating table row colors while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // While for Assignments // ============================= Regions stuff $query_un = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 2 AND `resource_id` = '{$row['unit_id']}' ORDER BY `id` ASC;"; // 5/4/11 $result_un = mysql_query($query_un); // 5/4/11 $un_groups = array(); while ($row_un = stripslashes_deep(mysql_fetch_assoc($result_un))) { // 5/4/11 $un_groups[] = $row_un['group']; } // dump($row); $inviewed = 0; // 5/4/11 foreach ($un_groups as $un_val) { if (in_array($un_val, $al_groups)) { $inviewed++; } } // ============================= end of Regions stuff $w == 0 ? $bg_color_class = "even" : ($bg_color_class = "odd"); $in_strike = !empty($row['scope']) && $row['tick_status'] == $GLOBALS['STATUS_CLOSED'] ? "<STRIKE>" : ""; // 11/7/08 $in_strikend = !empty($row['scope']) && $row['tick_status'] == $GLOBALS['STATUS_CLOSED'] ? "</STRIKE>" : ""; if ($inviewed > 0) { // Tests to see whether assigned unit is in one of the users groups 5/4/11 if (!empty($row['scope'])) { $the_name = addslashes($row['tick_scope']); // 9/12/09 $the_short_name = shorten($row['tick_scope'], $shorten_length); $the_descr = empty($row['tick_descr']) ? " " : addslashes(str_replace($eols, " ", $row['tick_descr'])); $the_short_one = empty($row['tick_descr']) ? " " : shorten(addslashes(str_replace($eols, " ", $row['tick_descr'])), $shorten_length); $address = empty($row['tick_street']) ? " " : $row['tick_street'] . ", "; // 8/10/10 $address = addslashes($address . $row['tick_city'] . " " . $row['tick_state']); $short_addr = shorten($address, $shorten_length); ?> // 3/29/11 Assignments List sidebar sidebar_line += "<DIV CLASS='c1 <?php print $bg_color_class; ?> '><DIV class='incs' onmouseover=\"Tip('[#<?php print $row['ticket_id']; ?> ] <?php print $the_name; ?> ')\" onmouseout=\"UnTip()\"><?php print $in_strike; print $the_short_name; print $in_strikend; ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='cdate <?php print $bg_color_class; ?> '><DIV class='incs' onmouseover=\"Tip('Opened: <?php print format_date($row['tick_pstart']); ?> ')\" onmouseout=\"UnTip()\"><?php print substr($row['problemstart'], 0, $shorten_length); ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='c1 <?php print $bg_color_class; ?> '><DIV class='incs' onmouseover=\"Tip('<?php print $the_descr; ?> ')\" onmouseout=\"UnTip()\"><?php print $in_strike; print $the_short_one; print $in_strikend; ?> </DIV></DIV>"; sidebar_line += "<DIV CLASS='c1 <?php print $bg_color_class; ?> '><DIV class='incs' onmouseover=\"Tip('<?php print $address; ?> ')\" ALIGN='left' onmouseout=\"UnTip()\"><?php print $in_strike; print $short_addr; print $in_strikend; ?> </DIV></DIV>"; <?php } else { ?> sidebar_line += "<DIV CLASS='c0 <?php print $bg_color_class; ?> '><DIV class='incs'>135[#<?php print $row['ticket_id']; ?> ]</DIV></DIV>"; <?php } ?> sidebar_line += "<DIV CLASS='cspace <?php print $bg_color_class; ?> '><DIV class='incs'> </DIV></DIV>"; <?php // UNITS 3 col's - 9/12/09 if (is_date($row['clear'])) { // 6/26/08 $strike = "<STRIKE>"; $strikend = "</STRIKE>"; // strikethrough on closed assigns } else { $strike = $strikend = ""; } if (!($row['unit_id'] == 0)) { // 5/11/09 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}unit_types`\tWHERE `id`= '{$row['unit_type']}' LIMIT 1"; $result_type = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_type = mysql_affected_rows() > 0 ? stripslashes_deep(mysql_fetch_assoc($result_type)) : ""; $the_bg_color = empty($row_type) ? "transparent" : $GLOBALS['UNIT_TYPES_BG'][$row_type['icon']]; // 3/15/10 $the_text_color = empty($row_type) ? "black" : $GLOBALS['UNIT_TYPES_TEXT'][$row_type['icon']]; // unset($row_type); $unit_name = empty($row['unit_id']) ? "[#{$row['unit_id']}]" : addslashes($row['unit_name']); // id only if absent $short_name = shorten($unit_name, 10); ?> sidebar_line += "<DIV CLASS='unit_n <?php print $bg_color_class; ?> ' STYLE='background-color:<?php print $the_bg_color; ?> ; opacity: .7; color:<?php print $the_text_color; ?> ;'><DIV class='incs' onmouseover=\"Tip('#<?php print $row['unit_id']; ?> <?php print $unit_name; ?> ')\" onmouseout=\"UnTip()\"><B><?php print $short_name; ?> </B></DIV></DIV>"; <?php $the_disp_str = fs_get_disp_status($row); // 3/25/11 ?> sidebar_line += "<DIV CLASS='unit_d disp_stat'><DIV class='incs'<b> <?php print $the_disp_str; ?> </b></DIV></DIV>"; <?php $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated`,\n\t\t\t\t\t\t\t\t\t`t`.`id` AS `type_id`, \n\t\t\t\t\t\t\t\t\t`r`.`id` AS `unit_id`, \n\t\t\t\t\t\t\t\t\t`r`.`name` AS `name`,\n\t\t\t\t\t\t\t\t\t`s`.`description` AS `stat_descr`, \n\t\t\t\t\t\t\t\t\t`r`.`name` AS `unit_name`\n\t\t\t\t\t\t\t\t\tFROM `{$GLOBALS['mysql_prefix']}responder` `r` \n\t\t\t\t\t\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}unit_types` `t` ON ( `r`.`type` = t.id )\t\n\t\t\t\t\t\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}un_status` `s` ON ( `r`.`un_status_id` = s.id ) \n\t\t\t\t\t\t\t\t\tWHERE `r`.`id` = '{$row['unit_id']}' LIMIT 1"; $result_unit = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_unit = stripslashes_deep(mysql_fetch_assoc($result_unit)); ?> sidebar_line += "<DIV CLASS='unit_s' <?php print $bg_color_class; ?> '><DIV class='incs' onmouseover=\"Tip('<?php print substr($row_unit['stat_descr'], 0, 12); ?> ')\" onmouseout=\"UnTip()\"> <?php print substr($row_unit['stat_descr'], 0, 12); ?> </DIV></DIV>"; sidebar_line += "</DIV><BR />"; <?php } } $i++; $w == 0 ? $w = 1 : ($w = 0); } } else { ?> sidebar_line += "<DIV CLASS='even' style='width: 100%;'><DIV style='text-align: center; color: #FF0000; font-size: 12px; font-weight: bold;'>No Current Unit Assignments</DIV></DIV><BR />"; <?php } ?> $('assignments').innerHTML = sidebar_line; // assignment list to DIV // ========================================== RESPONDER start ================================================ points = false; i++; var j=0; <?php $u_types = array(); // 1/1/09 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}unit_types` ORDER BY `id`"; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $u_types[$row['id']] = array($row['name'], $row['icon']); // name, index, aprs - 1/5/09, 1/21/09 } //dump($u_types); unset($result); $categories = array(); // 12/03/10 $categories = get_category_butts(); // 12/03/10 $assigns = array(); // 08/8/3 $tickets = array(); // ticket id's $query = "SELECT `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`, `{$GLOBALS['mysql_prefix']}assigns`.`responder_id`, `{$GLOBALS['mysql_prefix']}ticket`.`scope` AS `ticket` FROM `{$GLOBALS['mysql_prefix']}assigns` LEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` ON `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`=`{$GLOBALS['mysql_prefix']}ticket`.`id`"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_as = stripslashes_deep(mysql_fetch_array($result_as))) { $assigns[$row_as['responder_id']] = $row_as['ticket']; $tickets[$row_as['responder_id']] = $row_as['ticket_id']; } unset($result_as); $eols = array("\r\n", "\n", "\r"); // all flavors of eol $bulls = array(0 => "", 1 => "red", 2 => "green", 3 => "white", 4 => "black"); $status_vals = array(); // build array of $status_vals $status_vals[''] = $status_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}un_status` ORDER BY `id`"; $result_st = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_st = stripslashes_deep(mysql_fetch_array($result_st))) { $temp = $row_st['id']; $status_vals[$temp] = $row_st['status_val']; $status_hide[$temp] = $row_st['hide']; } unset($result_st); $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 6/10/11 $result = mysql_query($query); // 6/10/11 $al_groups = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; } if (!isset($_POST['frm_group'])) { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($al_groups as $grp) { // 6/10/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($_POST['frm_group'] as $grp) { // 6/10/11 $where3 = count($_POST['frm_group']) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `a`.`type` = 2"; //-----------------------UNIT RING FENCE STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); var boundary = new Array(); var bound_names = new Array(); <?php $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` `l`\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}responder` `r` ON ( `l`.`id` = `r`.`ring_fence`)\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = `a`.`resource_id` )\t\n\t\t\t\t{$where2} AND `use_with_u_rf`=1 GROUP BY `l`.`id`"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $all_boundaries[] = $row_bn['ring_fence']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> , {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } // End while //-------------------------END OF UNIT RING FENCE STUFF------------------------- //-----------------------UNIT EXCLUSION ZONE STUFF--------------------6/10/11 ?> var thepoint; var points = new Array(); <?php $query_bn = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` `l`\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}responder` `r` ON ( `l`.`id` = `r`.`excl_zone`)\n\t\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = `a`.`resource_id` )\t\n\t\t\t\t{$where2} AND `use_with_u_ex`=1 GROUP BY `l`.`id`"; $result_bn = mysql_query($query_bn) or do_error($query_bn, mysql_error(), basename(__FILE__), __LINE__); while ($row_bn = stripslashes_deep(mysql_fetch_assoc($result_bn))) { extract($row_bn); $bn_name = $row_bn['line_name']; $all_boundaries[] = $row_bn['ring_fence']; $points = explode(";", $line_data); for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> thepoint = new GLatLng(parseFloat(<?php print $coords[0]; ?> ), parseFloat(<?php print $coords[1]; ?> )); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1) { // 6/10/11 ?> var polyline = new GPolygon(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> , {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> , , 0, {clickable:false, id:"ringfence"}); boundary.push(polyline); bound_names.push("<?php print $bn_name; ?> "); <?php } ?> map.addOverlay(polyline); <?php } // End while //-------------------------END OF UNIT EXCLUSION ZONE STUFF------------------------- // $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated` FROM `$GLOBALS[mysql_prefix]responder` ORDER BY `handle`"; // // $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated` FROM `$GLOBALS[mysql_prefix]responder` ORDER BY `name`"; // $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated`, `r`.`name` AS `unit_name`, `r`.`id` AS `unit_id`, `t`.`name` AS `type_name`, `r`.`type` AS `type`\n\t\tFROM `{$GLOBALS['mysql_prefix']}responder` `r` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = a.resource_id )\t\t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}unit_types` `t` ON ( `r`.`type` = t.id )\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}un_status` `s` ON ( `r`.`un_status_id` = s.id ) \n\t\t{$where2} \n\t\tGROUP BY unit_id "; // 4/11/11, 5/4/11 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $units_ct = mysql_affected_rows(); // 1/4/10 $aprs = FALSE; $instam = FALSE; $locatea = FALSE; //7/23/09 $gtrack = FALSE; //7/23/09 $glat = FALSE; //7/23/09 $i = 0; // counter // ============================================================================= $bulls = array(0 => "", 1 => "red", 2 => "green", 3 => "white", 4 => "black"); $utc = gmdate("U"); // 3/25/09 while ($row = stripslashes_deep(mysql_fetch_array($result))) { // ========== major while() for RESPONDER ========== $got_point = FALSE; $latitude = $row['lat']; // 7/18/10 $longitude = $row['lng']; // 7/18/10 $name = $row['unit_name']; // 10/8/09 $temp = explode("/", $name); $index = $row['icon_str']; // 4/27/11 print "\t\tvar sym = '{$index}';\n"; // for sidebar and icon 10/8/09 // 2/13/09 $todisp = is_guest() ? "" : " <A HREF='units.php?func=responder&view=true&disp=true&id=" . $row['id'] . "'><U>Dispatch</U></A> "; // 08/8/02 $toedit = is_guest() ? "" : " <A HREF='units.php?func=responder&edit=true&id=" . $row['id'] . "'><U>Edit</U></A> "; // 10/8/08 $totrack = intval($row['mobile']) == 0 || empty($row['callsign']) ? "" : " <SPAN onClick = do_track('" . $row['callsign'] . "');><B><U>Tracks</B></U> </SPAN>"; $tofac = is_guest() ? "" : "<A HREF='units.php?func=responder&view=true&dispfac=true&id=" . $row['id'] . "'><U>To Facility</U></A> "; // 08/8/02 $temp = $row['un_status_id']; // 2/24/09 $the_status = array_key_exists($temp, $status_vals) ? $status_vals[$temp] : "??"; // 2/2/09 $hide_status = array_key_exists($temp, $status_hide) ? $status_hide[$temp] : "??"; // 10/21/09 if ($hide_status == "y") { $hide_unit = 1; } else { $hide_unit = 0; } $temp = $row['un_status_id']; // 2/24/09 $the_status = array_key_exists($temp, $status_vals) ? $status_vals[$temp] : "??"; // 2/2/09 if ($row['aprs'] == 1) { // get most recent aprs position data $query = "SELECT *,UNIX_TIMESTAMP(packet_date) AS `packet_date`, UNIX_TIMESTAMP(updated) AS `updated` FROM `{$GLOBALS['mysql_prefix']}tracks`\n\t\t\t\t\tWHERE `source`= '{$row['callsign']}' ORDER BY `packet_date` DESC LIMIT 1"; // newest $result_tr = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_aprs = mysql_affected_rows() > 0 ? stripslashes_deep(mysql_fetch_assoc($result_tr)) : FALSE; $aprs_updated = $row_aprs['updated']; $aprs_speed = $row_aprs['speed']; // if (($row_aprs) && (settype($row_aprs['latitude'], "float"))) { if ($row_aprs && my_is_float($row_aprs['latitude'])) { echo "\t\tvar point = new GLatLng(" . $row_aprs['latitude'] . ", " . $row_aprs['longitude'] . "); // 677\n"; $got_point = TRUE; } unset($result_tr); } else { $row_aprs = FALSE; } // dump($row_aprs); if ($row['instam'] == 1) { // get most recent instamapper data $temp = explode("/", $row['callsign']); // callsign/account no. 3/22/09 $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated` FROM `{$GLOBALS['mysql_prefix']}tracks_hh`\n\t\t\t\t\tWHERE `source` LIKE '{$temp['0']}%' ORDER BY `updated` DESC LIMIT 1"; // newest $result_tr = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_instam = mysql_affected_rows() > 0 ? stripslashes_deep(mysql_fetch_assoc($result_tr)) : FALSE; $instam_updated = $row_instam['updated']; $instam_speed = $row_instam['speed']; if ($row_instam && my_is_float($row_instam['latitude'])) { // 4/29/09 echo "\t\tvar point = new GLatLng(" . $row_instam['latitude'] . ", " . $row_instam['longitude'] . "); // 724\n"; $got_point = TRUE; } unset($result_tr); } else { $row_instam = FALSE; } if ($row['locatea'] == 1) { // get most recent locatea data // 7/23/09 $temp = explode("/", $row['callsign']); // callsign/account no. $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated` FROM `{$GLOBALS['mysql_prefix']}tracks_hh`\n\t\t\t\t\tWHERE `source` LIKE '{$temp['0']}%' ORDER BY `updated` DESC LIMIT 1"; // newest $result_tr = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_locatea = mysql_affected_rows() > 0 ? stripslashes_deep(mysql_fetch_assoc($result_tr)) : FALSE; $locatea_updated = $row_locatea['updated']; $locatea_speed = $row_locatea['speed']; if ($row_locatea && my_is_float($row_locatea['latitude'])) { echo "\t\tvar point = new GLatLng(" . $row_locatea['latitude'] . ", " . $row_locatea['longitude'] . "); // 687\n"; $got_point = TRUE; } unset($result_tr); } else { $row_locatea = FALSE; } if ($row['gtrack'] == 1) { // get most recent gtrack data // 7/23/09 $temp = explode("/", $row['callsign']); // callsign/account no. $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated` FROM `{$GLOBALS['mysql_prefix']}tracks_hh`\n\t\t\t\t\tWHERE `source` LIKE '{$temp['0']}%' ORDER BY `updated` DESC LIMIT 1"; // newest $result_tr = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_gtrack = mysql_affected_rows() > 0 ? stripslashes_deep(mysql_fetch_assoc($result_tr)) : FALSE; $gtrack_updated = $row_gtrack['updated']; $gtrack_speed = $row_gtrack['speed']; if ($row_gtrack && my_is_float($row_gtrack['latitude'])) { echo "\t\tvar point = new GLatLng(" . $row_gtrack['latitude'] . ", " . $row_gtrack['longitude'] . "); // 687\n"; $got_point = TRUE; } unset($result_tr); } else { $row_gtrack = FALSE; } if ($row['glat'] == 1) { // get most recent latitude data // 7/23/09 $temp = explode("/", $row['callsign']); // callsign/account no. $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated` FROM `{$GLOBALS['mysql_prefix']}tracks_hh`\n\t\t\t\t\tWHERE `source` LIKE '{$temp['0']}%' ORDER BY `updated` DESC LIMIT 1"; // newest $result_tr = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_glat = mysql_affected_rows() > 0 ? stripslashes_deep(mysql_fetch_assoc($result_tr)) : FALSE; $glat_updated = $row_glat['updated']; if ($row_glat && my_is_float($row_glat['latitude'])) { echo "\t\tvar point = new GLatLng(" . $row_glat['latitude'] . ", " . $row_glat['longitude'] . "); // 687\n"; $got_point = TRUE; } unset($result_tr); } else { $row_glat = FALSE; } if (!$got_point && my_is_float($row['lat'])) { echo "\t\tvar point = new GLatLng(" . $row['lat'] . ", " . $row['lng'] . ");\t// 753\n"; $got_point = TRUE; } // print __LINE__ . "<BR />"; $the_bull = ""; // define the bullet $update_error = strtotime('now - 6 hours'); // set the time for silent setting // echo $update_error; if ($row['aprs'] == 1) { if ($row_aprs) { $spd = 2; // default if ($aprs_speed == 0) { $spd = 1; } // stopped if ($aprs_speed >= 50) { $spd = 3; } // fast } else { $spd = 0; // no data } $the_bull = "<FONT COLOR=" . $bulls[$spd] . "><B>AP</B></FONT>"; } // end aprs if ($row['instam'] == 1) { if ($instam_speed > 50) { $the_bull = "<FONT COLOR = 'white'><B>IN</B></FONT>"; } if ($instam_speed < 50) { $the_bull = "<FONT COLOR = 'green'><B>IN</B></FONT>"; } if ($instam_speed == 0) { $the_bull = "<FONT COLOR = 'red'><B>IN</B></FONT>"; } if ($instam_updated < $update_error) { $the_bull = "<FONT COLOR = 'black'><B>IN</B></FONT>"; } } if ($row['locatea'] == 1) { if ($locatea_speed > 50) { $the_bull = "<FONT COLOR = 'white'><B>LO</B></FONT>"; } // 7/23/09 if ($locatea_speed < 50) { $the_bull = "<FONT COLOR = 'green'><B>LO</B></FONT>"; } if ($locatea_speed == 0) { $the_bull = "<FONT COLOR = 'red'><B>LO</B></FONT>"; } if ($locatea_updated < $update_error) { $the_bull = "<FONT COLOR = 'black'><B>LO</B></FONT>"; } } if ($row['gtrack'] == 1) { if ($gtrack_speed > 50) { $the_bull = "<FONT COLOR = 'white'><B>GT</B></FONT>"; } // 7/23/09 if ($gtrack_speed < 50) { $the_bull = "<FONT COLOR = 'green'><B>GT</B></FONT>"; } if ($gtrack_speed == 0) { $the_bull = "<FONT COLOR = 'red'><B>GT</B></FONT>"; } if ($gtrack_updated < $update_error) { $the_bull = "<FONT COLOR = 'black'><B>GT</B></FONT>"; } } if ($row['glat'] == 1) { $the_bull = "<FONT COLOR = 'green'><B>GL</B></FONT>"; // 7/23/09 if ($glat_updated < $update_error) { $the_bull = "<FONT COLOR = 'black'><B>GL</B></FONT>"; } } // end bullet stuff // name $name = $row['name']; // 10/8/09 $temp = explode("/", $name); $display_name = $temp[0]; // assignments 3/16/09 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` LEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` t ON ({$GLOBALS['mysql_prefix']}assigns.ticket_id = t.id)\n\t\t\t\tWHERE `responder_id` = '{$row['id']}' AND `clear` IS NULL "; // dump($query); $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_assign = mysql_affected_rows() == 0 ? FALSE : stripslashes_deep(mysql_fetch_assoc($result_as)); unset($result_as); switch ($row_assign['severity']) { //color tickets by severity case $GLOBALS['SEVERITY_MEDIUM']: $severityclass = 'severity_medium'; break; case $GLOBALS['SEVERITY_HIGH']: $severityclass = 'severity_high'; break; default: $severityclass = 'severity_normal'; break; } $tick_ct = mysql_affected_rows() > 1 ? "(" . mysql_affected_rows() . ") " : ""; $ass_td = mysql_affected_rows() > 0 ? "<TD COLSPAN=2 CLASS='{$severityclass}' TITLE = '" . $row_assign['scope'] . "' >" . $tick_ct . shorten($row_assign['scope'], 24) . "</TD>" : "<TD>na</TD>"; // status, mobility // as of $strike = $strike_end = ""; if ($row['instam'] == 1 && $row_instam || $row['aprs'] == 1 && $row_aprs || $row['locatea'] == 1 && $row_locatea || $row['gtrack'] == 1 && $row_gtrack || $row['glat'] == 1 && $row_glat) { // either remote source? $the_class = "emph"; if ($row['aprs'] == 1) { // 3/24/09 $the_time = $aprs_updated; $instam = TRUE; // show footer legend } if ($row['instam'] == 1) { // 3/24/09 $the_time = $instam_updated; $instam = TRUE; // show footer legend } if ($row['locatea'] == 1) { // 7/23/09 $the_time = $locatea_updated; $locatea = TRUE; // show footer legend } if ($row['gtrack'] == 1) { // 7/23/09 $the_time = $gtrack_updated; $gtrack = TRUE; // show footer legend } if ($row['glat'] == 1) { // 7/23/09 $the_time = $glat_updated; $glat = TRUE; // show footer legend } } else { $the_time = $row['updated']; $the_class = "td_data"; } if (abs($utc - $the_time) > $GLOBALS['TOLERANCE']) { // attempt to identify non-current values $strike = "<STRIKE>"; $strike_end = "</STRIKE>"; } else { $strike = $strike_end = ""; } // snap(basename( __FILE__) . __LINE__, $the_class ); // tab 1 // if (((settype($row['lat'], "float"))) || ($row_aprs) || ($row_instam)) { // position data? if (my_is_float($row['lat']) || $row_aprs || $row_instam || $row_locatea || $row_gtrack || $row_glat) { // 5/4/09 // dump(__LINE__); $temptype = $u_types[$row['type']]; $the_type = $temptype[0]; // 1/1/09 $tab_1 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $tab_1 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . shorten($row['unit_name'], 48) . "</B> - " . $the_type . "</TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD>Description:</TD><TD>" . shorten(str_replace($eols, " ", $row['description']), 32) . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD>Status:</TD><TD>" . $the_status . " </TD></TR>"; $tab_1 .= "<TR CLASS='odd'><TD>Contact:</TD><TD>" . $row['contact_name'] . " Via: " . $row['contact_via'] . "</TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD>As of:</TD><TD>" . format_date($row['updated']) . "</TD></TR>"; if (array_key_exists($row['id'], $assigns)) { $tab_1 .= "<TR CLASS='even'><TD CLASS='emph'>Dispatched to:</TD><TD CLASS='emph'><A HREF='main.php?id=" . $tickets[$row['id']] . "'>" . shorten($assigns[$row['id']], 20) . "</A></TD></TR>"; } $tab_1 .= "<TR CLASS='odd'><TD COLSPAN = 2> </TD></TR>"; $tab_1 .= "<TR CLASS='even'><TD COLSPAN = 2 ALIGN = 'center' onClick = 'do_mail_win();'><B><U>Email units</U></B></TD></TR>"; $tab_1 .= "</TABLE>"; // tab 2 $tabs_done = FALSE; if ($row_aprs) { // three tabs if APRS data $tab_2 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $tab_2 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . $row_aprs['source'] . "</B></TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD>Course: </TD><TD>" . $row_aprs['course'] . ", Speed: " . $row_aprs['speed'] . ", Alt: " . $row_aprs['altitude'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD>Closest city: </TD><TD>" . $row_aprs['closest_city'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD>Status: </TD><TD>" . $row_aprs['status'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD>As of: </TD><TD> {$strike} " . format_date($row_aprs['packet_date']) . " {$strike_end} (UTC)</TD></TR></TABLE>"; $tabs_done = TRUE; // print __LINE__; ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(shorten($row['unit_name'], 10)); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("APRS <?php print addslashes(substr($row_aprs['source'], -3)); ?> ", "<?php print $tab_2; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; <?php } // end if ($row_aprs) if ($row_instam) { // three tabs if instam data // dump(__LINE__); $tab_2 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $tab_2 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . $row_instam['source'] . "</B></TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD>Course: </TD><TD>" . $row_instam['course'] . ", Speed: " . $row_instam['speed'] . ", Alt: " . $row_instam['altitude'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD>As of: </TD><TD> {$strike} " . format_date($row_instam['updated']) . " {$strike_end}</TD></TR></TABLE>"; $tabs_done = TRUE; // print __LINE__; ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(shorten($row['unit_name'], 10)); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("Instam <?php print addslashes(substr($row_instam['source'], -3)); ?> ", "<?php print $tab_2; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") // 830 ]; <?php } // end if ($row_instam) if ($row_locatea) { // three tabs if locatea data 7/23/09 // dump(__LINE__); $tab_2 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $tab_2 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . $row_locatea['source'] . "</B></TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD>Course: </TD><TD>" . $row_locatea['course'] . ", Speed: " . $row_locatea['speed'] . ", Alt: " . $row_locatea['altitude'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD>As of: </TD><TD> {$strike} " . format_date($row_locatea['updated']) . " {$strike_end}</TD></TR></TABLE>"; $tabs_done = TRUE; // print __LINE__; ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(shorten($row['unit_name'], 10)); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("LocateA <?php print addslashes(substr($row_locatea['source'], -3)); ?> ", "<?php print $tab_2; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") // 830 ]; <?php } // end if ($row_gtrack) if ($row_gtrack) { // three tabs if gtrack data 7/23/09 // dump(__LINE__); $tab_2 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $tab_2 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . $row_gtrack['source'] . "</B></TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD>Course: </TD><TD>" . $row_gtrack['course'] . ", Speed: " . $row_gtrack['speed'] . ", Alt: " . $row_gtrack['altitude'] . "</TD></TR>"; $tab_2 .= "<TR CLASS='even'><TD>As of: </TD><TD> {$strike} " . format_date($row_gtrack['updated']) . " {$strike_end}</TD></TR></TABLE>"; $tabs_done = TRUE; // print __LINE__; ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(shorten($row['unit_name'], 10)); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("Gtrack <?php print addslashes(substr($row_gtrack['source'], -3)); ?> ", "<?php print $tab_2; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") // 830 ]; <?php } // end if ($row_gtrack) if ($row_glat) { // three tabs if glat data 7/23/09 // dump(__LINE__); $tab_2 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $tab_2 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'><B>" . $row_glat['source'] . "</B></TD></TR>"; $tab_2 .= "<TR CLASS='odd'><TD>As of: </TD><TD> {$strike} " . format_date($row_glat['updated']) . " {$strike_end}</TD></TR></TABLE>"; $tabs_done = TRUE; // print __LINE__; ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(shorten($row['unit_name'], 10)); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("G Lat <?php print addslashes(substr($row_glat['source'], -3)); ?> ", "<?php print $tab_2; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") // 830 ]; <?php } // end if ($row_gtrack) if (!$tabs_done) { // else two tabs ?> var myinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(shorten($row['unit_name'], 10)); ?> ", "<?php print $tab_1; ?> "), new GInfoWindowTab("Zoom", "<div id='detailmap' class='detailmap'></div>") ]; <?php } // end if(!($tabs_done)) $temp = $u_types[$row['type']]; // array ($row['name'], $row['icon']) // dump($temp); $the_color = $row['mobile'] == "1" ? 0 : 4; // icon color black, white -- 4/18/09 $the_group = get_category($row['unit_id']); if ($latitude == "0.999999" && $longitude == "0.999999") { // check for no maps added points 7/28/10 $dummylat = get_variable('def_lat'); $dummylng = get_variable('def_lng'); echo "\t\tvar point = new GLatLng(" . $dummylat . ", " . $dummylng . "); // 677\n"; ?> var dummymarker = createdummyMarker(point, myinfoTabs, <?php print $sb_indx; ?> ); // Plots dummy icon in default position for units added in no maps operation map.addOverlay(dummymarker); <?php } else { ?> var the_group = '<?php print $the_group; ?> '; var marker = createMarker(point, myinfoTabs, <?php print $the_color; ?> , <?php print $hide_unit; ?> , <?php print $sb_indx; ?> , sym, the_group); // 7/28/10 map.addOverlay(marker); <?php } // end check for no maps added points } else { // (sidebar, line_no, rcd_id, letter) // dump(__LINE__); } $i++; // zero-based print "\t\ti++;\n"; // 3/20/09 $sb_indx++; // zero-based } // end ========== while() for RESPONDER ========== $source_legend = $aprs || $instam || $gtrack || $locatea || $glat ? "<TD CLASS='emph' ALIGN='center'>Source time</TD>" : "<TD></TD>"; // if any remote data/time 3/24/09 ?> side_bar_html= "<form action='#'>"; // 12/03/10 <?php if ($units_ct > 0) { // 3/15/11 foreach ($categories as $key => $value) { // 12/03/10 ?> side_bar_html += "<DIV class='cat_button' onClick='set_chkbox(\"<?php print $value; ?> \")'><?php print $value; ?> : <input type=checkbox id='<?php print $value; ?> ' onClick='set_chkbox(\"<?php print $value; ?> \")'/> </DIV>"; <!-- 12/03/10 --> <?php } $all = "ALL"; // 12/03/10 $none = "NONE"; // 12/03/10 ?> side_bar_html += "<DIV ID = 'ALL_BUTTON' class='cat_button' onClick='set_chkbox(\"<?php print $all; ?> \")'><FONT COLOR = 'red'>ALL</FONT><input type=checkbox id='<?php print $all; ?> ' onClick='set_chkbox(\"<?php print $all; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'NONE_BUTTON' class='cat_button' onClick='set_chkbox(\"<?php print $none; ?> \")'><FONT COLOR = 'red'>NONE</FONT><input type=checkbox id='<?php print $none; ?> ' onClick='set_chkbox(\"<?php print $none; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'go_can' style='float:right; padding:2px;'><SPAN ID = 'go_button' onClick='do_go_button()' class='conf_next_button' STYLE = 'display:none;'><U>Next</U></SPAN>"; side_bar_html += "<SPAN ID = 'can_button' onClick='cancel_buttons()' class='conf_can_button' STYLE = 'display:none;'><U>Cancel</U></SPAN></DIV>"; side_bar_html+="</form></TD></TR></TABLE>"; <!-- 12/03/10 --> <?php } else { foreach ($categories as $key => $value) { // 12/03/10 ?> side_bar_html += "<DIV class='cat_button' STYLE='display: none;' onClick='set_chkbox(\"<?php print $value; ?> \")'><?php print $value; ?> : <input type=checkbox id='<?php print $value; ?> ' onClick='set_chkbox(\"<?php print $value; ?> \")'/> </DIV>"; <!-- 12/03/10 --> <?php } $all = "ALL"; // 12/03/10 $none = "NONE"; // 12/03/10 ?> side_bar_html += "<DIV class='cat_button' style='color: red;'>None Defined ! </DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'ALL_BUTTON' class='cat_button' STYLE='display: none;' onClick='set_chkbox(\"<?php print $all; ?> \")'><input type=checkbox id='ALL' style='display: none'></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'NONE_BUTTON' class='cat_button' STYLE='display: none;' onClick='set_chkbox(\"<?php print $none; ?> \")'><input type=checkbox id='NONE' style='display: none'></DIV>"; <!-- 12/03/10 --> side_bar_html +="</form></TD></TR></TABLE></DIV>"; <!-- 12/03/10 --> <?php } ?> $("boxes").innerHTML = side_bar_html; // 12/03/10 side_bar_html to responders div // ====================================Add Facilities to Map 8/1/09================================================ <?php $fac_categories = array(); // 12/03/10 $fac_categories = get_fac_category_butts(); // 12/03/10 ?> var icons=[]; var g=0; var fmarkers = []; var baseIcon = new GIcon(); baseIcon.shadow = "./markers/sm_shadow.png"; baseIcon.iconSize = new GSize(30, 30); baseIcon.iconAnchor = new GPoint(15, 30); baseIcon.infoWindowAnchor = new GPoint(9, 2); var fac_icon = new GIcon(baseIcon); fac_icon.image = icons[1]; function createfacMarker(fac_point, fac_name, id, fac_icon, type) { var fac_marker = new GMarker(fac_point, fac_icon); // Show this markers index in the info window when it is clicked var fac_html = fac_name; fac_marker.category = type; fmarkers[id] = fac_marker; GEvent.addListener(fac_marker, "click", function() {fac_marker.openInfoWindowHtml(fac_html);}); return fac_marker; } <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 5/4/11 $result = mysql_query($query); // 5/4/11 $al_groups = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 5/4/11 $al_groups[] = $row['group']; } if (!isset($_POST['frm_group'])) { // 5/4/11 $x = 0; // 5/4/11 $where2 = "WHERE ("; // 5/4/11 foreach ($al_groups as $grp) { // 5/4/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 5/4/11 $where2 = "WHERE ("; // 5/4/11 foreach ($_POST['frm_group'] as $grp) { // 5/4/11 $where3 = count($_POST['frm_group']) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `{$GLOBALS['mysql_prefix']}allocates`.`type` = 3"; // 5/4/11 $query_fac = "SELECT *,UNIX_TIMESTAMP(updated) AS updated, `{$GLOBALS['mysql_prefix']}facilities`.id AS fac_id,\n\t\t`{$GLOBALS['mysql_prefix']}facilities`.description AS facility_description, \n\t\t`{$GLOBALS['mysql_prefix']}fac_types`.name AS fac_type_name, \n\t\t`{$GLOBALS['mysql_prefix']}facilities`.name AS facility_name \n\t\tFROM `{$GLOBALS['mysql_prefix']}facilities` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` ON ( `{$GLOBALS['mysql_prefix']}facilities`.`id` = `{$GLOBALS['mysql_prefix']}allocates`.resource_id )\t\t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_types` ON `{$GLOBALS['mysql_prefix']}facilities`.type = `{$GLOBALS['mysql_prefix']}fac_types`.id \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_status` ON `{$GLOBALS['mysql_prefix']}facilities`.status_id = `{$GLOBALS['mysql_prefix']}fac_status`.id \n\t\t{$where2} \n\t\tGROUP BY fac_id ORDER BY `{$GLOBALS['mysql_prefix']}facilities`.type ASC"; $result_fac = mysql_query($query_fac) or do_error($query_fac, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); // dump($query_fac); while ($row_fac = mysql_fetch_array($result_fac)) { $fac_id = $row_fac['fac_id']; $fac_type = $row_fac['icon']; $fac_type_name = $row_fac['fac_type_name']; $fac_name = $row_fac['facility_name']; // 10/8/09 // $fac_name = $row_fac['name']; // 10/8/09 $fac_temp = explode("/", $fac_name); // 11/27/09 $fac_index = $row_fac['icon_str']; print "\t\tvar fac_sym = '{$fac_index}';\n"; // for sidebar and icon 10/8/09 $toroute = is_guest() ? "" : " <A HREF='routes.php?ticket_id=" . $fac_id . "'><U>Dispatch</U></A>"; // 8/2/08 if (is_guest()) { $facedit = $toroute = $facmail = ""; } else { $facedit = " <A HREF='facilities.php?func=responder&edit=true&id=" . $row_fac['fac_id'] . "'><U>Edit</U></A>"; $facmail = " <SPAN onClick = do_mail_fac_win('" . $row_fac['fac_id'] . "');><U><B>Email</B></U></SPAN>"; $toroute = " <A HREF='fac_routes.php?fac_id=" . $fac_id . "'><U>Route To Facility</U></A>"; // 8/2/08 } if (my_is_float($row_fac['lat']) && my_is_float($row_fac['lng'])) { $f_disp_name = $row_fac['facility_name']; // 10/8/09 $f_disp_temp = explode("/", $f_disp_name); $facility_display_name = $f_disp_temp[0]; $fac_tab_1 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $fac_tab_1 .= "<TR CLASS='even'><TD COLSPAN=2 ALIGN='center'><B>" . addslashes(shorten($facility_display_name, 48)) . "</B></TD></TR>"; $fac_tab_1 .= "<TR CLASS='odd'><TD COLSPAN=2 ALIGN='center'><B>" . addslashes(shorten($row_fac['fac_type_name'], 48)) . "</B></TD></TR>"; $fac_tab_1 .= "<TR CLASS='even'><TD ALIGN='right'>Description: </TD><TD ALIGN='left'>" . addslashes(str_replace($eols, " ", $row_fac['facility_description'])) . "</TD></TR>"; $fac_tab_1 .= "<TR CLASS='odd'><TD ALIGN='right'>Status: </TD><TD ALIGN='left'>" . addslashes($row_fac['status_val']) . " </TD></TR>"; $fac_tab_1 .= "<TR CLASS='even'><TD ALIGN='right'>Contact: </TD><TD ALIGN='left'>" . addslashes($row_fac['contact_name']) . " Email: " . addslashes($row_fac['contact_email']) . "</TD></TR>"; $fac_tab_1 .= "<TR CLASS='odd'><TD ALIGN='right'>Phone: </TD><TD ALIGN='left'>" . addslashes($row_fac['contact_phone']) . " </TD></TR>"; $fac_tab_1 .= "<TR CLASS='even'><TD ALIGN='right'>As of: </TD><TD ALIGN='left'> " . format_date($row_fac['updated']) . "</TD></TR>"; $fac_tab_1 .= "</TABLE>"; $fac_tab_2 = "<TABLE CLASS='infowin' width='" . $_SESSION['scr_width'] / 4 . "'>"; $fac_tab_2 .= "<TR CLASS='odd'><TD ALIGN='right'>Security contact: </TD><TD ALIGN='left'>" . addslashes($row_fac['security_contact']) . " </TD></TR>"; $fac_tab_2 .= "<TR CLASS='even'><TD ALIGN='right'>Security email: </TD><TD ALIGN='left'>" . addslashes($row_fac['security_email']) . " </TD></TR>"; $fac_tab_2 .= "<TR CLASS='odd'><TD ALIGN='right'>Security phone: </TD><TD ALIGN='left'>" . addslashes($row_fac['security_phone']) . " </TD></TR>"; $fac_tab_2 .= "<TR CLASS='even'><TD ALIGN='right'>Access rules: </TD><TD ALIGN='left'>" . addslashes(str_replace($eols, " ", $row_fac['access_rules'])) . "</TD></TR>"; $fac_tab_2 .= "<TR CLASS='odd'><TD ALIGN='right'>Security reqs: </TD><TD ALIGN='left'>" . addslashes(str_replace($eols, " ", $row_fac['security_reqs'])) . "</TD></TR>"; $fac_tab_2 .= "<TR CLASS='even'><TD ALIGN='right'>Opening hours: </TD><TD ALIGN='left'>" . addslashes(str_replace($eols, " ", $row_fac['opening_hours'])) . "</TD></TR>"; $fac_tab_2 .= "<TR CLASS='odd'><TD ALIGN='right'>Prim pager: </TD><TD ALIGN='left'>" . addslashes($row_fac['pager_p']) . " </TD></TR>"; $fac_tab_2 .= "<TR CLASS='even'><TD ALIGN='right'>Sec pager: </TD><TD ALIGN='left'>" . addslashes($row_fac['pager_s']) . " </TD></TR>"; $fac_tab_2 .= "</TABLE>"; ?> // var fac_sym = (g + 1).toString(); var myfacinfoTabs = [ new GInfoWindowTab("<?php print nl2brr(addslashes(shorten($row_fac['facility_name'], 10))); ?> ", "<?php print $fac_tab_1; ?> "), new GInfoWindowTab("More ...", "<?php print str_replace($eols, " ", $fac_tab_2); ?> ") ]; <?php if ($row_fac['lat'] == 0.999999 && $row_fac['lng'] == 0.999999) { // check for facilities entered in no maps mode 7/28/10 echo "var fac_icon = new GIcon(baseIcon);\n"; echo "var fac_type = {$fac_type};\n"; echo "var fac_type_name = \"{$fac_type_name}\";\n"; echo "var fac_icon_url = \"./our_icons/question1.png\";\n"; echo "fac_icon.image = fac_icon_url;\n"; echo "var fac_point = new GLatLng(" . get_variable('def_lat') . "," . get_variable('def_lng') . ");\n"; echo "var fac_marker = createfacMarker(fac_point, myfacinfoTabs, g, fac_icon, fac_type_name);\n"; echo "map.addOverlay(fac_marker);\n"; echo "\n"; } else { echo "var fac_icon = new GIcon(baseIcon);\n"; echo "var fac_type = {$fac_type};\n"; echo "var fac_type_name = \"{$fac_type_name}\";\n"; echo "var fac_icon_url = \"./our_icons/gen_fac_icon.php?blank={$fac_type}&text=\" + (fac_sym) + \"\";\n"; echo "fac_icon.image = fac_icon_url;\n"; echo "var fac_point = new GLatLng(" . $row_fac['lat'] . "," . $row_fac['lng'] . ");\n"; echo "var fac_marker = createfacMarker(fac_point, myfacinfoTabs, g, fac_icon, fac_type_name);\n"; echo "map.addOverlay(fac_marker);\n"; echo "\n"; } ?> if (fac_marker.isHidden()) { fac_marker.show(); } else { fac_marker.hide(); } <?php } // end if my_is_float ?> g++; <?php } // end while //} // =====================================End of functions to show facilities======================================================================== for ($i = 0; $i < count($kml_olays); $i++) { // emit kml overlay calls echo "\t\t" . $kml_olays[$i] . "\n"; } ?> function add_hash(in_str) { // prepend # if absent return (in_str.substr(0,1)=="#")? in_str : "#" + in_str; } function do_landb() { // JS function - 8/1/11 var points = new Array(); <?php $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}mmarkup` WHERE `line_status` = 0 AND (`use_with_bm` = 1 OR `use_with_r` = 1)"; $result = mysql_query($query) or do_error($query, $query, mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $empty = FALSE; extract($row); $name = $row['line_name']; switch ($row['line_type']) { case "p": // poly $points = explode(";", $line_data); echo "\n\tvar points = new Array();\n"; for ($i = 0; $i < count($points); $i++) { $coords = explode(",", $points[$i]); ?> var thepoint = new GLatLng(<?php print $coords[0]; ?> , <?php print $coords[1]; ?> ); bounds.extend(thepoint); points.push(thepoint); <?php } // end for ($i = 0 ... ) if (intval($filled) == 1 && count($points) > 2) { ?> var polyline = new GPolygon(points,add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> ,add_hash("<?php print $fill_color; ?> "), <?php print $fill_opacity; ?> ); <?php } else { ?> var polyline = new GPolyline(points, add_hash("<?php print $line_color; ?> "), <?php print $line_width; ?> , <?php print $line_opacity; ?> ); <?php } ?> map.addOverlay(polyline); <?php break; case "c": // circle $temp = explode(";", $line_data); $radius = $temp[1]; $coords = explode(",", $temp[0]); $lat = $coords[0]; $lng = $coords[1]; $fill_opacity = intval($filled) == 0 ? 0 : $fill_opacity; echo "\n drawCircle({$lat}, {$lng}, {$radius}, add_hash('{$line_color}'), {$line_width}, {$line_opacity}, add_hash('{$fill_color}'), {$fill_opacity}); // 513\n"; break; case "t": // text banner $temp = explode(";", $line_data); $banner = $temp[1]; $coords = explode(",", $temp[0]); echo "\n var point = new GLatLng(parseFloat({$coords[0]}) , parseFloat({$coords[1]}));\n"; $the_banner = htmlentities($banner, ENT_QUOTES); $the_width = intval(trim($line_width), 10); // font size echo "\n drawBanner( point, '{$the_banner}', '{$the_banner}', {$the_width});\n"; break; } // end switch } // end while () unset($query, $result); ?> } // end function do_landb() /* try { do_landb(); // 7/3/11 - show lines } catch (e) { } */ if (!(map_is_fixed)){ if (!points) { // any? map.setCenter(new GLatLng(<?php echo get_variable('def_lat'); ?> , <?php echo get_variable('def_lng'); ?> ), <?php echo get_variable('def_zoom'); ?> ); } else { center = bounds.getCenter(); zoom = map.getBoundsZoomLevel(bounds); map.setCenter(center,zoom); } // end if/else (!points) } // end if (!(map_is_fixed)) side_bar_html = ""; <?php if (!empty($fac_categories)) { ?> side_bar_html= "<form action='#'>"; // 12/03/10 <?php function get_fac_icon($fac_cat) { // returns legend string $icons = $GLOBALS['fac_icons']; $sm_fac_icons = $GLOBALS['sm_fac_icons']; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}fac_types` WHERE `name` = \"{$fac_cat}\""; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $print = ""; while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $fac_icon = $row['icon']; $print .= "<IMG SRC = './our_icons/" . $sm_fac_icons[$fac_icon] . "' STYLE = 'vertical-align: middle'>"; } unset($result); return $print; } foreach ($fac_categories as $key => $value) { // 12/03/10 $curr_icon = get_fac_icon($value); ?> side_bar_html += "<DIV class='cat_button_fs' onClick='set_fac_chkbox(\"<?php print $value; ?> \")'><?php print get_fac_icon($value); ?> <?php print $value; ?> : <input type=checkbox id='<?php print $value; ?> ' onClick='set_fac_chkbox(\"<?php print $value; ?> \")'/></DIV>"; <!-- 12/03/10 --> <?php } $all = "fac_ALL"; // 12/03/10 $none = "fac_NONE"; // 12/03/10 ?> side_bar_html += "<DIV ID = 'fac_ALL_BUTTON' class='cat_button_fs' onClick='set_fac_chkbox(\"<?php print $all; ?> \")'><FONT COLOR = 'red'>ALL</FONT><input type=checkbox id='<?php print $all; ?> ' onClick='set_fac_chkbox(\"<?php print $all; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'fac_NONE_BUTTON' class='cat_button_fs' onClick='set_fac_chkbox(\"<?php print $none; ?> \")'><FONT COLOR = 'red'>NONE</FONT><input type=checkbox id='<?php print $none; ?> ' onClick='set_fac_chkbox(\"<?php print $none; ?> \")'/></FONT></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'fac_go_can' style='float:middle; padding:2px;'><SPAN ID = 'fac_go_button' onClick='do_go_facilities_button()' class='conf_next_button' STYLE = 'display:none;'><U>Next</U></SPAN>"; side_bar_html += "<SPAN ID = 'fac_can_button' onClick='fac_cancel_buttons()' class='conf_can_button' STYLE = 'display:none;'><U>Cancel</U></SPAN></DIV>"; side_bar_html+="</form>"; <!-- 12/03/10 --> $("fac_boxes").innerHTML = side_bar_html; // 12/03/10 side_bar_html to responders div <?php } else { ?> side_bar_html= ""; // 12/03/10 side_bar_html += "<DIV class='cat_button' style='color: red;'>None Defined ! </DIV>"; <!-- 12/03/10 --> <?php $all = "fac_ALL"; // 12/03/10 $none = "fac_NONE"; // 12/03/10 ?> side_bar_html += "<DIV ID = 'fac_ALL_BUTTON' class='cat_button' style='display: none;'><input type=checkbox id='<?php print $all; ?> '/><input type=checkbox id='fac_ALL' style='display: none'></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'fac_NONE_BUTTON' class='cat_button' style='display: none;'><input type=checkbox id='<?php print $none; ?> '/><input type=checkbox id='fac_NONE' style='display: none'></DIV>"; <!-- 12/03/10 --> side_bar_html += "<DIV ID = 'fac_go_can' style='float:right; padding:2px; display: none'><SPAN ID = 'fac_go_button' class='conf_next_button' STYLE = 'display:none;'><U>Next</U></SPAN>"; side_bar_html += "<SPAN ID = 'fac_can_button' class='conf_can_button' STYLE = 'display:none;'><U>Cancel</U></SPAN></DIV>"; side_bar_html+="</form>"; <!-- 12/03/10 --> $("fac_boxes").innerHTML = side_bar_html; // 12/03/10 side_bar_html to responders div <?php } ?> // ============================================================================================================= } // end if (GBrowserIsCompatible()) else { alert("Sorry, browser compatibility problem. Contact your tech support group."); } </SCRIPT> <?php }
function list_tickets($sort_by_field = '', $sort_value = '', $my_offset = 0) { // list tickets =================================================== $time = microtime(true); // Gets microseconds global $istest, $units_side_bar_height, $do_blink, $nature, $disposition, $patient, $incident, $incidents; // 12/3/10 $can_edit = get_can_edit(); $query = "SELECT `id` FROM `{$GLOBALS['mysql_prefix']}responder` LIMIT 1"; // 1/28/11 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $any_units = mysql_affected_rows() == 1; $query_sched = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE (\n\t\t`status`='{$GLOBALS['STATUS_OPEN']}' OR\n\t\t`status`='{$GLOBALS['STATUS_SCHEDULED']})' \n\t\t LIMIT 1"; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $any_open_tickets = mysql_affected_rows() == 1; $query_sched = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE (\n\t\t`status`='{$GLOBALS['STATUS_CLOSED']}')\n\t\t LIMIT 1"; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $any_closed_tickets = mysql_affected_rows() == 1; $query = "SELECT `id` FROM `{$GLOBALS['mysql_prefix']}facilities` LIMIT 1"; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $any_facilities = mysql_affected_rows() == 1; unset($result); @session_start(); // $captions = array("Current situation", "{$incidents} closed today", "{$incidents} closed yesterday+", "{$incidents} closed this week", "{$incidents} closed last week", "{$incidents} closed last week+", "{$incidents} closed this month", "{$incidents} closed last month", "{$incidents} closed this year", "{$incidents} closed last year", "Scheduled {$incidents}"); $by_severity = array(0, 0, 0); // counters // 5/2/10 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}' ORDER BY `id` ASC;"; // 5/4/11 $result = mysql_query($query); // 5/4/11 $al_groups = array(); $al_names = ""; while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 5/4/11 $al_groups[] = $row['group']; $query2 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}region` WHERE `id`= '{$row['group']}';"; // 5/4/11 $result2 = mysql_query($query2); // 4/18/11 while ($row2 = stripslashes_deep(mysql_fetch_assoc($result2))) { // // 5/4/11 $al_names .= $row2['group_name'] . ", "; } } if (is_super()) { // 5/4/11 $al_names .= "Superadmin Level"; } if (array_key_exists('func', $_GET) && $_GET['func'] == 10) { // 3/15/11 $func = 10; } else { extract($_GET); } $cwi = get_variable('closed_interval'); // closed window interval in hours if (isset($_SESSION['list_type'])) { $func = $_SESSION['list_type']; } // 12/02/10 persistance for the tickets list // $get_status = ((empty($_GET) || ((!empty($_GET)) && (empty ($_GET['status'])))) ) ? "" : $_GET['status'] ; $get_sortby = empty($_GET) || !empty($_GET) && empty($_GET['sortby']) ? "" : $_GET['sortby']; $get_offset = empty($_GET) || !empty($_GET) && empty($_GET['offset']) ? "" : $_GET['offset']; if (!isset($_GET['status'])) { $open = "Open"; } else { $open = isset($_GET['status']) && $_GET['status'] == $GLOBALS['STATUS_OPEN'] ? "Open" : ""; $open = isset($_GET['status']) && $_GET['status'] == $GLOBALS['STATUS_SCHEDULED'] ? "Scheduled" : ""; // 11/29/10 } if (isset($_SESSION['viewed_groups'])) { // 5/4/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } else { $curr_viewed = $al_groups; } $curr_names = ""; // 5/4/11 $z = 0; // 5/4/11 foreach ($curr_viewed as $grp_id) { // 5/4/11 $counter = count($curr_viewed) > $z + 1 ? ", " : ""; $curr_names .= get_groupname($grp_id); $curr_names .= $counter; $z++; } $heading = $captions[$func] . " - " . get_variable('map_caption'); $regs_string = "<FONT SIZE='-1'>Allocated " . get_text("Regions") . ": " . $al_names . " | Currently Viewing " . get_text("Regions") . ": " . $curr_names . "</FONT>"; // 5/4/11 $eols = array("\r\n", "\n", "\r"); // all flavors of eol $query = "SELECT `id` FROM `{$GLOBALS['mysql_prefix']}responder`"; // 5/12/10 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), __FILE__, __LINE__); unset($result); $required = 48 + mysql_affected_rows() * 22; // derived by trial and error - emphasis the latter = 7/18/10 $the_large_height = (int) min(round($units_side_bar_height * $_SESSION['scr_height'] * 2), $required); // see main for $units_side_bar_height value $the_height = (int) min(round($units_side_bar_height * $_SESSION['scr_height']), $required); // see main for $units_side_bar_height value // $col_width = (int) floor($_SESSION['scr_width'] * .48); $buttons_width = (int) get_variable('map_width') - 50; $show_controls = isset($_SESSION['hide_controls']) && $_SESSION['hide_controls'] == "s" ? "" : "none"; // 3/15/11 $col_butt = isset($_SESSION['hide_controls']) && $_SESSION['hide_controls'] == "s" ? "" : "none"; // 3/15/11 $exp_butt = isset($_SESSION['hide_controls']) && $_SESSION['hide_controls'] == "h" ? "" : "none"; // 3/15/11 $show_resp = isset($_SESSION['resp_list']) && $_SESSION['resp_list'] == "s" ? "" : "none"; // 3/15/11 $resp_col_butt = isset($_SESSION['resp_list']) && $_SESSION['resp_list'] == "s" ? "" : "none"; // 3/15/11 $resp_exp_butt = isset($_SESSION['resp_list']) && $_SESSION['resp_list'] == "h" ? "" : "none"; // 3/15/11 $show_facs = isset($_SESSION['facs_list']) && $_SESSION['facs_list'] == "s" ? "" : "none"; // 3/15/11 $facs_col_butt = isset($_SESSION['facs_list']) && $_SESSION['facs_list'] == "s" ? "" : "none"; // 3/15/11 $facs_exp_butt = isset($_SESSION['facs_list']) && $_SESSION['facs_list'] == "h" ? "" : "none"; // 3/15/11 $user_level = is_super() ? 9999 : $_SESSION['user_id']; $regions_inuse = get_regions_inuse($user_level); $group = get_regions_inuse_numbers($user_level); // dump($group); // dump(get_tickets_allocated($group)); ?> <TABLE BORDER=0> <A NAME=top></a> <TR CLASS='even'><TD COLSPAN='3' ALIGN='center'><FONT CLASS='header'><?php print $heading; ?> </FONT><SPAN ID='sev_counts' STYLE = 'margin-left: 40px'></SPAN></TD></TR> <!-- 5/2/10 --> <TR CLASS='header'><TD COLSPAN='3' ALIGN='center'><SPAN ID='region_flags' style='background: #00FFFF; font-weight: bold;'></SPAN></TD></TR> <!-- 5/2/10, 3/15/11, 5/4/11 --> <TR CLASS='spacer'><TD CLASS='spacer' COLSPAN='3' ALIGN='center'> </TD></TR> <!-- 3/15/11 --> <TR><TD VALIGN='TOP' align='left'> <TABLE><TR class = 'heading'><TH width = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> ALIGN='center' COLSPAN='99'>Incidents </TH></TR> <TR><TD> <DIV ID = 'side_bar_header' style="height: 60px; width: <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> ;"></DIV> <DIV ID = 'side_bar' style="max-height: <?php print $the_large_height; ?> px; min-height: 100px; overflow-y: scroll; overflow-x: hidden;"></DIV> </TD></TR></TABLE> <TD style="width: 20px;"> </TD> <TD VALIGN='top' align='left'> <TABLE><TR class = 'heading'><TH width = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> ALIGN='center' COLSPAN='99'>Responders </TH></TR><TR><TD> <!-- 3/15/11 --> <DIV ID = 'side_bar_r' style="max-height: <?php print $the_height; ?> px; min-height: 200px; overflow-y: scroll; overflow-x: hidden;"></DIV> <DIV ID = 'side_bar_rl'></DIV> <!-- 3/15/11 --> <DIV ID = 'units_legend'></DIV> </TD></TR></TABLE> <TABLE><TR class = 'heading'><TH width = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> ALIGN='center' COLSPAN='99'>Facilities </TH></TR><TR><TD> <!-- 3/15/11 --> <DIV ID = 'side_bar_f' style="max-height: <?php print $the_height; ?> px; min-height: 200px; overflow-y: scroll; overflow-x: hidden;"></DIV> <DIV ID = 'facs_legend'></DIV> </TD></TD></TR></TABLE> </TD></TR> <!-- 3/15/11 --> <TR><TD CLASS='td_label' COLSPAN='99' ALIGN='center'> <A HREF="mailto:info@TicketsCAD.org?subject=Question/Comment on Tickets Dispatch System"><u>Contact us</u> <IMG SRC="mail.png" BORDER="0" STYLE="vertical-align: text-bottom"></A> </TD></TR></TABLE> <FORM NAME='unit_form' METHOD='get' ACTION='<?php echo $_SESSION['unitsfile']; ?> '> <INPUT TYPE='hidden' NAME='func' VALUE='responder'> <INPUT TYPE='hidden' NAME='view' VALUE=''> <INPUT TYPE='hidden' NAME='edit' VALUE=''> <INPUT TYPE='hidden' NAME='id' VALUE=''> </FORM> <FORM NAME='tick_form' METHOD='get' ACTION='edit.php'> <!-- 11/27/09 --> <INPUT TYPE='hidden' NAME='id' VALUE=''> </FORM> <FORM NAME='sort_form' METHOD='post' ACTION='main.php'> <!-- 6/11/10 --> <INPUT TYPE='hidden' NAME='order' VALUE=''> </FORM> <FORM NAME='fac_sort_form' METHOD='post' ACTION='main.php'> <!-- 3/15/11 --> <INPUT TYPE='hidden' NAME='forder' VALUE=''> </FORM> <FORM NAME='facy_form' METHOD='get' ACTION='<?php echo $_SESSION['facilitiesfile']; ?> '> <!-- 11/27/09 --> <INPUT TYPE='hidden' NAME='id' VALUE=''> <INPUT TYPE='hidden' NAME='edit' VALUE=''> <INPUT TYPE='hidden' NAME='view' VALUE=''> </FORM> <SCRIPT> //================================= 7/18/10 $('region_flags').innerHTML = "<?php print $regs_string; ?> "; // 5/2/10 <?php function get_buttons($user_id) { // 5/3/11 $regs_viewed = ""; if (isset($_SESSION['viewed_groups'])) { $regs_viewed = explode(",", $_SESSION['viewed_groups']); } $query2 = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$user_id}' ORDER BY `group`"; // 5/3/11 $result2 = mysql_query($query2) or do_error($query2, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $al_buttons = ""; while ($row2 = stripslashes_deep(mysql_fetch_assoc($result2))) { // 5/3/11 if (!empty($regs_viewed)) { if (in_array($row2['group'], $regs_viewed)) { $al_buttons .= "<DIV style='display: block;'><INPUT TYPE='checkbox' CHECKED name='frm_group[]' VALUE='{$row2['group']}'></INPUT>" . get_groupname($row2['group']) . " </DIV>"; } else { $al_buttons .= "<DIV style='display: block;'><INPUT TYPE='checkbox' name='frm_group[]' VALUE='{$row2['group']}'></INPUT>" . get_groupname($row2['group']) . " </DIV>"; } } else { $al_buttons .= "<DIV style='display: block;'><INPUT TYPE='checkbox' CHECKED name='frm_group[]' VALUE='{$row2['group']}'></INPUT>" . get_groupname($row2['group']) . " </DIV>"; } } // dump($al_buttons); return $al_buttons; } if (get_num_groups() && COUNT(get_allocates(4, $_SESSION['user_id'])) > 1) { // 6/10/11 ?> side_bar_html= ""; side_bar_html+="<TABLE><TR class='heading_2'><TH width = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> ALIGN='center' COLSPAN='99'>Viewed <?php print get_text("Regions"); ?> </TH></TR><TR class='even'><TD COLSPAN=99 CLASS='td_label' ><form name='region_form' METHOD='post' action='main.php'><DIV>"; side_bar_html += "<?php print get_buttons($_SESSION['user_id']); ?> "; side_bar_html+="</DIV></form></TD></TR><TR><TD> </TD></TR><TR><TD ALIGN='center'><INPUT TYPE='button' VALUE='Update' onClick='form_validate(document.region_form);'></TD></TR></TABLE>"; $("region_boxes").innerHTML = side_bar_html; <?php } ?> spe=500; NameOfYourTags="mi"; swi=1; na=document.getElementsByName(NameOfYourTags); doBlink(); function doBlink() { if (swi == 1) { sho="visible"; swi=0; } else { sho="hidden"; swi=1; } for(i=0;i<na.length;i++) { na[i].style.visibility=sho; } setTimeout("doBlink()", spe); } function writeConsole(content) { top.consoleRef=window.open('','myconsole', 'width=800,height=250' +',menubar=0' +',toolbar=0' +',status=0' +',scrollbars=1' +',resizable=1') top.consoleRef.document.writeln('<html><head><title>Console</title></head>' +'<body bgcolor=white onLoad="self.focus()">' +content +'</body></html>' ) // end top.consoleRef.document.writeln() top.consoleRef.document.close(); } // end function writeConsole(content) function isNull(val) { // checks var stuff = null; return val === null; } function to_session(the_name, the_value) { // generic session variable writer - 3/8/10, 4/4/10 function local_handleResult(req) { // the called-back function } // end function local handleResult var params = "f_n=" + the_name; // 1/20/09 params += "&f_v=" + the_value; // 4/4/10 sendRequest ('do_session_get.php',local_handleResult, params); // does the work via POST } function to_server(the_unit, the_status) { // write unit status data via ajax xfer var querystr = "frm_responder_id=" + the_unit; querystr += "&frm_status_id=" + the_status; var url = "as_up_un_status.php?" + querystr; // var payload = syncAjax(url); // if (payload.substring(0,1)=="-") { alert ("<?php print __LINE__; ?> : msg failed "); return false; } else { parent.frames['upper'].show_msg ('Unit status update applied!') return true; } // end if/else (payload.substring(... ) } // end function to_server() function to_server_fac(the_unit, the_status) { // 3/15/11 // 3/15/11 var querystr = "frm_responder_id=" + the_unit; querystr += "&frm_status_id=" + the_status; var url = "as_up_fac_status.php?" + querystr; var payload = syncAjax(url); if (payload.substring(0,1)=="-") { alert ("<?php print __LINE__; ?> : msg failed "); return false; } else { parent.frames['upper'].show_msg ('Facility status update applied!') return true; } // end if/else (payload.substring(... ) } // end function to_server_fac() function syncAjax(strURL) { // synchronous ajax function if (window.XMLHttpRequest) { AJAX=new XMLHttpRequest(); } else { AJAX=new ActiveXObject("Microsoft.XMLHTTP"); } if (AJAX) { AJAX.open("GET", strURL, false); AJAX.send(null); // e return AJAX.responseText; } else { alert ("<?php print __LINE__; ?> : failed"); return false; } } // end function sync Ajax(strURL) var starting = false; function do_mail_win(the_name, the_addrs) { if(starting) {return;} // dbl-click catcher starting=true; var url = (isNull(the_name))? "do_unit_mail.php?" : "do_unit_mail.php?name=" + escape(the_name) + "&addrs=" + escape(the_addrs); // newwindow_mail=window.open(url, "mail_edit", "titlebar, location=0, resizable=1, scrollbars, height=320,width=720,status=0,toolbar=0,menubar=0,location=0, left=100,top=300,screenX=100,screenY=300"); if (isNull(newwindow_mail)) { alert ("Email edit operation requires popups to be enabled -- please adjust your browser options."); return; } newwindow_mail.focus(); starting = false; } // end function do mail_win() function do_fac_mail_win(the_name, the_addrs) { // 3/8/10 if(starting) {return;} // dbl-click catcher starting=true; var url = (isNull(the_name))? "do_fac_mail.php?" : "do_fac_mail.php?name=" + escape(the_name) + "&addrs=" + escape(the_addrs); // newwindow_mail=window.open(url, "mail_edit", "titlebar, location=0, resizable=1, scrollbars, height=320,width=720,status=0,toolbar=0,menubar=0,location=0, left=100,top=300,screenX=100,screenY=300"); if (isNull(newwindow_mail)) { alert ("Email edit operation requires popups to be enabled -- please adjust your browser options."); return; } newwindow_mail.focus(); starting = false; } // end function do mail_win() function do_close_tick(the_id) { // 3/15/11 if(starting) {return;} // dbl-click catcher starting=true; var url = "close_in.php?ticket_id=" + escape(the_id); // newwindow_close = window.open(url, "close_ticket", "titlebar, location=0, resizable=1, scrollbars, height=300, width=700, status=0, toolbar=0, menubar=0, left=100,top=100,screenX=100,screenY=100"); if (isNull(newwindow_close)) { alert ("Close Ticket operation requires popups to be enabled -- please adjust your browser options."); return; } newwindow_close.focus(); starting = false; } function to_str(instr) { // 0-based conversion - 2/13/09 function ord( string ) { return (string+'').charCodeAt(0); } function chr( ascii ) { return String.fromCharCode(ascii); } function to_char(val) { return(chr(ord("A")+val)); } var lop = (instr % 26); // low-order portion, a number var hop = ((instr - lop)==0)? "" : to_char(((instr - lop)/26)-1) ; // high-order portion, a string return hop+to_char(lop); } function sendRequest(url,callback,postData) { // 2/14/09 var req = createXMLHTTPObject(); if (!req) return; var method = (postData) ? "POST" : "GET"; req.open(method,url,true); req.setRequestHeader('User-Agent','XMLHTTP/1.0'); if (postData) req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); req.onreadystatechange = function () { if (req.readyState != 4) return; if (req.status != 200 && req.status != 304) { <?php if ($istest) { print "\t\t\talert('HTTP error ' + req.status + '" . __LINE__ . "');\n"; } ?> return; } callback(req); } if (req.readyState == 4) return; req.send(postData); } var XMLHttpFactories = [ function () {return new XMLHttpRequest() }, function () {return new ActiveXObject("Msxml2.XMLHTTP") }, function () {return new ActiveXObject("Msxml3.XMLHTTP") }, function () {return new ActiveXObject("Microsoft.XMLHTTP") } ]; function createXMLHTTPObject() { var xmlhttp = false; for (var i=0;i<XMLHttpFactories.length;i++) { try { xmlhttp = XMLHttpFactories[i](); } catch (e) { continue; } break; } return xmlhttp; } function get_chg_disp_tr() { // 5/5/11, 6/10/11 var chg_disp_tr =""; chg_disp_tr +="\t\t<FORM NAME = 'frm_interval_sel' STYLE = 'display:inline' >\n"; chg_disp_tr +="\t\t<SELECT NAME = 'frm_interval' onChange = 'do_listtype(this.value);'>\n"; chg_disp_tr +="\t\t<OPTION VALUE='99' SELECTED><?php print get_text("Change display"); ?> </OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='0'><?php print get_text("Current situation"); ?> </OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='1'><?php print $incidents; ?> closed today</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='2'><?php print $incidents; ?> closed yesterday+</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='3'><?php print $incidents; ?> closed this week</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='4'><?php print $incidents; ?> closed last week</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='5'><?php print $incidents; ?> closed last week+</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='6'><?php print $incidents; ?> closed this month</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='7'><?php print $incidents; ?> closed last month</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='8'><?php print $incidents; ?> closed this year</OPTION>\n"; chg_disp_tr +="\t\t<OPTION VALUE='9'><?php print $incidents; ?> closed last year</OPTION>\n"; chg_disp_tr +="\t\t</SELECT>\n</FORM>\n"; chg_disp_tr +="\t\t<SPAN ID = 'btn_go' onClick='document.to_listtype.submit()' CLASS='conf_button' STYLE = 'margin-left: 10px; display:none'><U>Next</U></SPAN>"; chg_disp_tr +="\t\t<SPAN ID = 'btn_can' onClick='hide_btns_closed(); hide_btns_scheduled(); ' CLASS='conf_button' STYLE = 'margin-left: 10px; display:none'><U>Cancel</U></SPAN>"; return chg_disp_tr; } // end function get chg_disp_tr() <?php $quick = !is_guest() && intval(get_variable('quick') == 1); // 11/27/09 print $quick ? "var quick = true;\n" : "var quick = false;\n"; ?> var tr_id_fixed_part = "tr_id_"; // 3/2/10 var colors = new Array ('odd', 'even'); function set_initial_pri_disp() { } function set_categories() { // 12/03/10 - checks current session values and sets checkboxes and view states for hide and show. } function set_fac_categories() { // 12/03/10 - checks current session values and sets checkboxes and view states for hide and show. } function show_hide_rows(instr) { // instr is '' or 'none' - 3/8/10 for (i = 0; i< rowIds.length; i++) { var rowId = rowIds[i]; // row id - 3/3/10 $(rowId).style.display = instr; // hide each 'unavailable' row } } // end function show_hide_rows() function h_handleResult(req) { // the 'called-back' persist function - hide hide_Units(); } var starting = false; function checkArray(form, arrayName) { // 5/3/11 var retval = new Array(); for(var i=0; i < form.elements.length; i++) { var el = form.elements[i]; if(el.type == "checkbox" && el.name == arrayName && el.checked) { retval.push(el.value); } } return retval; } function checkForm(form) { // 5/3/11 var errmsg=""; var itemsChecked = checkArray(form, "frm_group[]"); if(itemsChecked.length > 0) { var params = "f_n=viewed_groups&v_n=" +itemsChecked+ "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist3.php"; // 3/15/11 sendRequest (url, fvg_handleResult, params); // form.submit(); } else { errmsg+= "\tYou cannot Hide all the regions\n"; if (errmsg!="") { alert ("Please correct the following and re-submit:\n\n" + errmsg); return false; } } } function fvg_handleResult(req) { // 5/4/11 The persist callback function for viewed groups. document.region_form.submit(); } function form_validate(theForm) { // 5/3/11 // alert("Validating"); checkForm(theForm); } // end function validate(theForm) function do_mail_fac_win(id) { // Facility email 9/22/09 if(starting) {return;} starting=true; var url = "do_fac_mail.php?fac_id=" + id; newwindow_in=window.open (url, 'Email_Window', 'titlebar, resizable=1, scrollbars, height=300,width=600,status=0,toolbar=0,menubar=0,location=0, left=50,top=150,screenX=100,screenY=300'); if (isNull(newwindow_in)) { alert ("This requires popups to be enabled. Please adjust your browser options."); return; } newwindow_in.focus(); starting = false; } function s_handleResult(req) { // the 'called-back' persist function - show show_Units(); } function do_sel_update (in_unit, in_val) { // 12/17/09 to_server(in_unit, in_val); } function do_sel_update_fac (in_unit, in_val) { // 3/15/11 to_server_fac(in_unit, in_val); } function do_sidebar_unit (instr, id, sym, myclass, tip_str) { // sidebar_string, sidebar_index, row_class, icon_info, mouseover_str - 1/7/09 var tr_id = tr_id_fixed_part + id; if (isNull(tip_str)) { side_bar_html += "<TR ID = '" + tr_id + "' CLASS='" + colors[(id)%2] +"'><TD CLASS='" + myclass + "' onClick = myclick(" + id + "); ALIGN = 'left'>" + (sym) + "</TD>"+ instr +"</TR>\n"; // 2/6/10 moved onclick to TD } else { side_bar_html += "<TR ID = '" + tr_id + "' onMouseover=\"Tip('" + tip_str + "');\" onmouseout=\"UnTip();\" CLASS='" + colors[(id+1)%2] +"'><TD CLASS='" + myclass + "' onClick = myclick(" + id + "); ALIGN = 'left'>" + (sym) + "</TD>"+ instr +"</TR>\n"; // 1/3/10 added tip param } } // end function do sidebar_unit () <?php $js_func = $can_edit ? "myclick_ed_tick" : "open_tick_window"; // 4/28/11 ?> function open_tick_window (id) { // 5/2/10 var url = "single.php?ticket_id="+ id; var tickWindow = window.open(url, 'mailWindow', 'resizable=1, scrollbars, height=600, width=650, left=100,top=100,screenX=100,screenY=100'); tickWindow.focus(); } function do_patient(id) { // patient edit 6/23/11 if(starting) {return;} starting=true; var url = "patient_w.php?action=list&ticket_id=" + id; newwindow=window.open (url, 'Patient_Window', 'titlebar, resizable=1, scrollbars, height=300,width=550,status=0,toolbar=0,menubar=0,location=0, left=50,top=150,screenX=50,screenY=150'); if (isNull(newwindow)) { alert ("This requires popups to be enabled. Please adjust your browser options."); return; } newwindow.focus(); starting = false; } function myclick(id) { // Responds to sidebar click, then triggers listener above - note [i] // GEvent.trigger(gmarkers[id], "click"); location.href = "#top"; } function do_sidebar (instr, id, sym, myclass, tip_str) { // sidebar_string, sidebar_index, row_class, icon_info, mouseover_str - 1/7/09 // alert(<?php echo __LINE__; ?> ); var tr_id = tr_id_fixed_part + id; side_bar_html += "<TR onClick = 'onclick_do_unit(" + id + ");' ID = '" + tr_id + "' onMouseover=\"Tip('" + tip_str + "');\" onmouseout=\"UnTip();\" CLASS='" + colors[id%2] +"'>"; side_bar_html += "<TD WIDTH='5%' CLASS='" + myclass + "' ALIGN = 'left'>" + (sym) + "</TD>"+ instr +"</TR>\n"; // 1/3/10 added tip param } // end function do sidebar () function do_sidebar_t_ed (instr, line_no, rcd_id, letter, tip_str) { // ticket edit, tip str added 1/3/10 side_bar_html += "<TR onMouseover=\"Tip('" + tip_str.replace("'", "") + "');\" onmouseout=\"UnTip();\" CLASS='" + colors[(line_no+1)%2] +"'>"; side_bar_html += "<TD WIDTH='5%'>" + letter + "</TD>" + instr +"</TR>\n"; // 2/13/09, 10/29/09 removed period } function do_sidebar_u_iw (instr, id, sym, myclass) { // constructs unit incident sidebar row - 1/7/09 var tr_id = tr_id_fixed_part + id; side_bar_html += "<TR ID = '" + tr_id + "' CLASS='" + colors[id%2] +"' onClick = myclick(" + id + ");><TD CLASS='" + myclass + "'>" + (sym) + "</TD>"+ instr +"</TR>\n"; // 10/30/09 removed period } // end function do sidebar () function myclick_ed_tick(id) { // Responds to sidebar click - edit ticket data <?php $the_action = is_guest() ? "main.php" : "edit.php"; 2 / 27 / 10; ?> document.tick_form.id.value=id; // 11/27/09 document.tick_form.action='<?php print $the_action; ?> '; // 11/27/09 document.tick_form.submit(); } function do_sidebar_u_ed (sidebar, line_no, on_click, letter) { // unit edit var tr_id = tr_id_fixed_part + line_no; side_bar_html += "<TR ID = '" + tr_id + "' CLASS='" + colors[(line_no+1)%2] +"'>"; side_bar_html += "<TD onClick = '" + on_click+ "' CLASS='td_data'>" + letter + "</TD>" + sidebar +"</TR>\n"; // 2/13/09, 10/29/09 removed period } function onclick_do_unit(id) { // Responds to sidebar click - view/edit responder data document.unit_form.id.value=id; // 11/27/09 <?php $the_func = $can_edit ? "edit" : "view"; // 4/30/11 ?> document.unit_form.<?php print $the_func; ?> .value="true"; document.unit_form.submit(); } function do_sidebar_fac_ed (fac_instr, fac_id, fac_sym, myclass, line_no) { // constructs facilities sidebar row 9/22/09 side_bar_html += "<TR CLASS='" + colors[line_no%2] +"'>"; side_bar_html += "<TD onClick = fac_click_ed(" + fac_id + ");>" + (fac_sym) + "</TD>"; side_bar_html += fac_instr +"</TR>\n"; // 10/30/09 removed period location.href = "#top"; } // end function do sidebar_fac_iw () function do_sidebar_fac_iw (fac_instr, fac_id, fac_sym, myclass) { // constructs facilities sidebar row 9/22/09 side_bar_html += "<TR CLASS='" + colors[fac_id%2] +"' WIDTH = '100%';>" side_bar_html += "<TD CLASS='" + myclass + "'>" + (fac_sym) + "</TD>"; side_bar_html += fac_instr +"</TR>\n"; // 10/30/09 removed period location.href = "#top"; } // end function do sidebar_fac () function fac_click_iw(fac_id) { // Responds to facilities sidebar click, triggers listener above 9/22/09 GEvent.trigger(fmarkers[fac_id], "click"); location.href = "#top"; } function fac_click_ed(id) { // Responds to facility sidebar click - edit data document.facy_form.id.value=id; // 11/27/09 if (quick) { document.facy_form.edit.value="true"; } else { document.facy_form.view.value="true"; } document.facy_form.submit(); } function fac_click_vw(id) { // Responds to facility sidebar click - view data document.facy_form.id.value=id; // 11/27/09 document.facy_form.view.value="true"; document.facy_form.submit(); } var points = false; function do_add_note (id) { // 8/12/09 var url = "add_note.php?ticket_id="+ id; var noteWindow = window.open(url, 'mailWindow', 'resizable=1, scrollbars, height=240, width=600, left=100,top=100,screenX=100,screenY=100'); noteWindow.focus(); } function do_sort_sub(sort_by){ // 6/11/10 document.sort_form.order.value = sort_by; document.sort_form.submit(); } function do_fac_sort_sub(sort_by){ // 3/15/11 document.fac_sort_form.forder.value = sort_by; document.fac_sort_form.submit(); } function do_sched_jobs(choice) { // 11/29/10 - added Scheduled tickets to menu. 12/02/10 Added persistance for the list view var params = "f_n=list_type&v_n=" + choice + "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // flag 1, value h var url = "persist.php"; sendRequest (url, cs_handleResult, params); // ($to_str, $text, $ticket_id) document.to_listtype.func.value=choice; } // end function do_listtype() function do_curr_jobs(choice) { // 11/29/10 - added Scheduled tickets to menu. 12/02/10 Added persistance for the list view var params = "f_n=list_type&v_n=" + choice + "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // flag 1, value h var url = "persist.php"; sendRequest (url, cs_handleResult, params); // ($to_str, $text, $ticket_id) document.to_listtype.func.value=choice; } // end function do_listtype() function do_listtype(choice) { // 11/29/10 - added Scheduled tickets to menu. 12/02/10 Added persistance for the list view var params = "f_n=list_type&v_n=" + choice + "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // flag 1, value h var url = "persist.php"; sendRequest (url, l_handleResult, params); // ($to_str, $text, $ticket_id) document.to_listtype.func.value=choice; show_btns_closed() } // end function do_listtype() function l_handleResult(req) { // the 'called-back' persist function - nill content for the tickets list type persistance } function cs_handleResult(req) { // the 'called-back' function for show current or scheduled document.to_listtype.submit(); } var side_bar_html_hdr = "<TABLE border=0 CLASS='sidebar' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.38)); ?> >\n";<?php if ($any_open_tickets) { // 1/18/11 ?> side_bar_html_hdr += "<TR class='even' STYLE = 'height:20px; width: 100%;' VALIGN='baseline'><TD colspan=99 align='center'<I>Click/Mouse-over for information</I> "; <?php } // end if ($any_open_tickets) $query_sched = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status`='{$GLOBALS['STATUS_SCHEDULED']}'"; // 11/29/10 $result_sched = mysql_query($query_sched) or do_error($query_sched, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); // 11/29/10 $num_sched = mysql_num_rows($result_sched); // 11/29/10 if ($num_sched != 0 && $func != 10) { // 11/29/10 $scheduled_link = $num_sched >= 2 ? " » <U>Scheduled: ({$num_sched}) </U> " : " Scheduled: ({$num_sched})"; $order_by = !empty($get_sortby) ? $get_sortby : $_SESSION['sortorder']; // use default sort order? ?> side_bar_html_hdr +="\t\t<SPAN class='scheduled' onClick='do_sched_jobs(10);'><?php print $scheduled_link; ?> </SPAN>\n"; <?php } // 11/29/10 if ($num_sched != 0 && $func == 10) { // 11/29/10 ?> side_bar_html_hdr +="\t\t<SPAN class='scheduled' onClick='do_curr_jobs(0);'>» View current situation</SPAN>\n"; <?php } // 11/29/10 ?> side_bar_html_hdr += get_chg_disp_tr(); // adds the "Chg display' row at top of tickets list - 5/6/11 side_bar_html_hdr +="<br /><br /></TD></TR>\n"; side_bar_html_hdr += "<TR class='odd'><TD align='left' width='5%'><B>ID</B></TD><TD align='left' width='15%'><B><?php print $incident; ?> </B></TD><TD align='left' width='15%'><B>Address</B></TD><TD align='left' width='15%'><B><?php print $nature; ?> </B></TD><TD align='left' width='15%'><B>Comments</B></TD><TD align='left' width='15%'><B>Description</B></TD><TD align='left' width='2%'><B>P</B></TD><TD align='left' width='2%'><B>A</B></TD><TD align='left' width='2%'><B>U</B></TD><TD align='center' width='14%'><B>As of</B></TD></TR>"; side_bar_html_hdr += "</TABLE>"; var rowIds = []; // 3/8/10 var which; var i = 0; // sidebar/icon index var side_bar_html = "<TABLE border=0 CLASS='sidebar' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.38)); ?> >\n"; <?php $order_by = !empty($get_sortby) ? $get_sortby : $_SESSION['sortorder']; // use default sort order? //fix limits according to setting "ticket_per_page" $limit = ""; if ($_SESSION['ticket_per_page'] && check_for_rows("SELECT id FROM `{$GLOBALS['mysql_prefix']}ticket`") > $_SESSION['ticket_per_page']) { if ($_GET['offset']) { $limit = "LIMIT {$_GET['offset']},{$_SESSION['ticket_per_page']}"; } else { $limit = "LIMIT 0,{$_SESSION['ticket_per_page']}"; } } $restrict_ticket = ""; // $restrict_ticket = (get_variable('restrict_user_tickets') && !(is_administrator()))? " AND owner=$_SESSION[user_id]" : ""; $time_back = mysql_format_date(time() - get_variable('delta_mins') * 60 - $cwi * 3600); if (isset($_SESSION['viewed_groups'])) { // 5/4/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { // 5/4/11 $x = 0; $where2 = "AND ("; foreach ($al_groups as $grp) { $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; $where2 = "AND ("; foreach ($curr_viewed as $grp) { $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } switch ($func) { case 0: $where = "WHERE (`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_OPEN']}' OR (`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_SCHEDULED']}' AND `{$GLOBALS['mysql_prefix']}ticket`.`booked_date` <= (NOW() + INTERVAL 2 DAY)) OR \n\t\t\t\t(`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_CLOSED']}' AND `{$GLOBALS['mysql_prefix']}ticket`.`problemend` >= '{$time_back}')){$where2}"; // 11/29/10, 4/18/11, 4/18/11 break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: $the_start = get_start($func); // mysql timestamp format $the_end = get_end($func); $where = " WHERE (`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_CLOSED']}' AND `{$GLOBALS['mysql_prefix']}ticket`.`problemend` BETWEEN '{$the_start}' AND '{$the_end}') {$where2} "; // 4/18/11, 4/18/11 break; case 10: $where = "WHERE (`{$GLOBALS['mysql_prefix']}ticket`.`status`='{$GLOBALS['STATUS_SCHEDULED']}' AND `{$GLOBALS['mysql_prefix']}ticket`.`booked_date` >= (NOW() + INTERVAL 2 DAY)) {$where2}"; // 11/29/10, 4/18/11, 4/18/11 break; default: print "error - error - error - error " . __LINE__; } // end switch($func) if ($sort_by_field && $sort_value) { //sort by field?, updated 4/18/11 to support regional operation $query = "SELECT *,UNIX_TIMESTAMP(problemstart) AS problemstart,UNIX_TIMESTAMP(problemend) AS problemend,\n\t\t\tUNIX_TIMESTAMP(date) AS date,UNIX_TIMESTAMP(updated) AS updated, \n\t\t\tin_types.type AS `type`, in_types.id AS `t_id` \n\t\t\tFROM `{$GLOBALS['mysql_prefix']}allocates`\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` ON `{$GLOBALS['mysql_prefix']}allocates`.`resource_id`=`{$GLOBALS['mysql_prefix']}ticket`.`id` \t\t\t\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}in_types` ON `{$GLOBALS['mysql_prefix']}ticket`.`in_types_id`=`{$GLOBALS['mysql_prefix']}in_types`.`in_types.id` \n\t\t\tWHERE {$sort_by_field}='{$sort_value}' {$restrict_ticket} AND `{$GLOBALS['mysql_prefix']}allocates`.`type` = 1 ORDER BY {$order_by}"; } else { // 2/2/09, 8/12/09, 1/30/11, 6/10/11 $query = "SELECT *,UNIX_TIMESTAMP(problemstart) AS problemstart,\n\t\t\tUNIX_TIMESTAMP(problemend) AS problemend,\n\t\t\tUNIX_TIMESTAMP(booked_date) AS booked_date,\t\n\t\t\tUNIX_TIMESTAMP(date) AS date, \n\t\t\t(`{$GLOBALS['mysql_prefix']}ticket`.`street`) AS ticket_street, \n\t\t\t(`{$GLOBALS['mysql_prefix']}ticket`.`state`) AS ticket_city, \n\t\t\t(`{$GLOBALS['mysql_prefix']}ticket`.`city`) AS ticket_state,\n\t\t\tUNIX_TIMESTAMP(`{$GLOBALS['mysql_prefix']}ticket`.updated) AS updated,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.`id` AS `tick_id`,\n\t\t\t`{$GLOBALS['mysql_prefix']}in_types`.type AS `type`, \n\t\t\t`{$GLOBALS['mysql_prefix']}in_types`.`id` AS `t_id`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.`description` AS `tick_descr`, \n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.lat AS `lat`,\n\t\t\t`{$GLOBALS['mysql_prefix']}ticket`.lng AS `lng`, \n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.lat AS `fac_lat`,\n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.lng AS `fac_lng`, \n\t\t\t`{$GLOBALS['mysql_prefix']}facilities`.`name` AS `fac_name`, \n\t\t\t(SELECT COUNT(*) as numfound FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\t\t\tWHERE `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id` = `{$GLOBALS['mysql_prefix']}ticket`.`id` \n\t\t\t\tAND `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' ) \n\t\t\t\tAS `units_assigned`\t\t\t\n\t\t\tFROM `{$GLOBALS['mysql_prefix']}ticket`\t\t\t\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` \n\t\t\t\tON `{$GLOBALS['mysql_prefix']}ticket`.id=`{$GLOBALS['mysql_prefix']}allocates`.`resource_id`\t\t\t\n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}in_types` \n\t\t\t\tON `{$GLOBALS['mysql_prefix']}ticket`.in_types_id=`{$GLOBALS['mysql_prefix']}in_types`.`id` \n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}facilities` \n\t\t\t\tON `{$GLOBALS['mysql_prefix']}ticket`.rec_facility=`{$GLOBALS['mysql_prefix']}facilities`.`id` \n\t\t\t{$where} {$restrict_ticket} \n\t\t\t GROUP BY tick_id ORDER BY `status` DESC, `booked_date` ASC, `severity` DESC,`{$GLOBALS['mysql_prefix']}ticket`.`id` ASC\n\t\t\tLIMIT 1000 OFFSET {$my_offset}"; // 2/2/09, 10/28/09, 2/21/10 // print $query; } $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $the_offset = isset($_GET['frm_offset']) ? (int) $_GET['frm_offset'] : 0; $sb_indx = 0; // note zero base! $acts_ary = $pats_ary = array(); // 6/2/10 $query = "SELECT `ticket_id`, COUNT(*) AS `the_count` FROM `{$GLOBALS['mysql_prefix']}action` GROUP BY `ticket_id`"; $result_temp = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result_temp))) { $acts_ary[$row['ticket_id']] = $row['the_count']; } $query = "SELECT `ticket_id`, COUNT(*) AS `the_count` FROM `{$GLOBALS['mysql_prefix']}patient` GROUP BY `ticket_id`"; $result_temp = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result_temp))) { $pats_ary[$row['ticket_id']] = $row['the_count']; } $line_limit = 25; // 5/5/11 $col_width = (int) floor($_SESSION['scr_width'] * 0.013); $use_quick = (int) $func == 0 || (int) $func == 10 ? FALSE : TRUE; // 11/29/10 if ($use_quick) { $js_func = "open_tick_window"; } elseif ($quick && !is_guest()) { $js_func = "myclick_ed_tick"; } else { $js_func = "myclick_ed_tick"; } // =========================== begin major while() for tickets========== $temp = (string) round(microtime(true) - $time, 3); // snap (__LINE__, $temp ); ?> var incs_array = []; var incs_groups = []; var i = 0; <?php while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 7/7/10 $tick_gps = get_allocates(1, $row['tick_id']); // 5/4/11 $grp_names = "Groups Assigned: "; // 5/4/11 $y = 0; // 5/4/11 foreach ($tick_gps as $value) { // 5/4/11 $counter = count($tick_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $onclick_str = "onClick = '{$js_func}({$row['tick_id']});'"; // onClick = to_wherever(999); -6/23/11 $by_severity[$row['severity']]++; // 5/2/10 if ($func > 0) { // closed? - 5/16/10 $onclick = " open_tick_window({$row['tick_id']})"; } else { $onclick = $quick ? " myclick_ed_tick({$row['tick_id']}) " : "myclick({$sb_indx})"; // 1/2/10 } if ($do_blink && $row['units_assigned'] == 0 && $row['status'] == $GLOBALS['STATUS_OPEN']) { // 4/11/10 $blinkst = "<blink>"; $blinkend = "</blink>"; } else { $blinkst = $blinkend = ""; } $tip = str_replace("'", "`", $grp_names . " / " . $row['contact'] . "/" . $row['ticket_street'] . "/" . $row['ticket_city'] . "/" . $row['ticket_state'] . "/" . $row['phone'] . "/" . $row['scope']); // tooltip string - 1/3/10, 4/18/11 $sp = $row['status'] == $GLOBALS['STATUS_SCHEDULED'] && $func != 10 ? "*" : ""; print "\t\tvar scheduled = '{$sp}';\n"; ?> var sym = (<?php print addslashes($sb_indx); ?> +1).toString(); // for sidebar var sym2= scheduled + (<?php print $sb_indx; ?> +1).toString(); // for icon <?php $the_id = $row['tick_id']; // 11/27/09 if ($row['tick_descr'] == '') { $row['tick_descr'] = '[no description]'; } // 8/12/09 if ($row['comments'] == '') { $row['comments'] = '[no comments]'; } // 8/12/09 if (get_variable('abbreviate_description')) { //do abbreviations on description, affected if neccesary if (strlen($row['tick_descr']) > get_variable('abbreviate_description')) { $row['tick_descr'] = substr($row['tick_descr'], 0, get_variable('abbreviate_description')) . '...'; } } if (get_variable('abbreviate_affected')) { if (strlen($row['affected']) > get_variable('abbreviate_affected')) { $row['affected'] = substr($row['affected'], 0, get_variable('abbreviate_affected')) . '...'; } } switch ($row['severity']) { //color tickets by severity case $GLOBALS['SEVERITY_MEDIUM']: $severityclass = 'severity_medium'; break; case $GLOBALS['SEVERITY_HIGH']: $severityclass = 'severity_high'; break; default: $severityclass = 'severity_normal'; break; } $A = array_key_exists($the_id, $acts_ary) ? $acts_ary[$the_id] : 0; // 6/2/10 $P = array_key_exists($the_id, $pats_ary) ? $pats_ary[$the_id] : 0; if ($row['status'] == $GLOBALS['STATUS_CLOSED']) { $strike = "<strike>"; $strikend = "</strike>"; } else { $strike = $strikend = ""; } $address_street = $row['ticket_street'] . " " . $row['ticket_city']; $address_street = $address_street == " " ? "[No Address]" : $address_street; $sidebar_line = "<TD ALIGN='left' WIDTH='15%' CLASS='{$severityclass}' {$onclick_str}><NOBR>{$strike}" . $sp . shorten($row['scope'], $col_width) . " {$strikend}</NOBR></TD>"; //10/27/09 $sidebar_line .= "<TD ALIGN='left' WIDTH='15%' CLASS='{$severityclass}' {$onclick_str}><NOBR>{$strike}" . shorten($address_street, $col_width) . " {$strikend}</NOBR> </TD>"; // 8/2/10 $sidebar_line .= "<TD ALIGN='left' WIDTH='15%' CLASS='{$severityclass}' {$onclick_str}><NOBR>{$strike}" . shorten($row['type'], $col_width) . " {$strikend}</NOBR></TD>"; $sidebar_line .= "<TD ALIGN='left' WIDTH='15%' CLASS='{$severityclass}' {$onclick_str}><NOBR>{$strike}" . shorten(remove_nls($row['comments']), $col_width) . " {$strikend}</NOBR></TD>"; $sidebar_line .= "<TD ALIGN='left' WIDTH='15%' CLASS='{$severityclass}' {$onclick_str}><NOBR>{$strike}" . shorten(remove_nls($row['tick_descr']), $col_width) . " {$strikend}</NOBR></TD>"; if ($P == 0) { $sidebar_line .= "<TD ALIGN='left' WIDTH='2%'> </TD>"; } else { $pat_onclick_str = "onClick = 'do_patient({$row['tick_id']});'"; $sidebar_line .= "<TD ALIGN='left' WIDTH='2%' CLASS='disp_stat' {$pat_onclick_str}><NOBR> <B>{$P}</B> </TD>"; } $sidebar_line .= "<TD ALIGN='left' WIDTH='2%' {$onclick_str}>{$A}</TD>"; $sidebar_line .= "<TD ALIGN='left' WIDTH='2%' {$onclick_str}>{$blinkst}{$row['units_assigned']}{$blinkend}</TD>"; $_date = $row['status'] == $GLOBALS['STATUS_SCHEDULED'] ? $row['booked_date'] : $row['updated']; // 1/30/11 $sidebar_line .= "<TD ALIGN='left' WIDTH='14%' {$onclick_str}><NOBR> " . format_sb_date($_date) . "</NOBR></TD>"; $street = empty($row['ticket_street']) ? "" : $row['ticket_street'] . "<BR/>" . $row['ticket_city'] . " " . $row['ticket_state']; $todisp = is_guest() ? "" : " <A HREF='routes.php?ticket_id={$the_id}'><U>Dispatch</U></A>"; // 8/2/08 $rand = $istest ? "&rand=" . chr(rand(65, 90)) : ""; // 10/21/08 ?> var the_class = "emph"; <?php if ($quick || (int) $func > 0) { // 5/18/10 print "\t\t\tdo_sidebar_t_ed (\"{$sidebar_line}\", ({$the_offset} + {$sb_indx}), {$row['tick_id']}, sym, \"{$tip}\");\n"; } else { print "\t\t\tdo_sidebar_t_ed (\"{$sidebar_line}\", ({$the_offset} + {$sb_indx}), {$row['tick_id']}, sym, \"{$tip}\");\n"; } $sb_indx++; } // end tickets while ($row = ...) // if ($any_closed_tickets) { // 1/28/11 // } // end if ($any_closed_tickets) if ($sb_indx == 0) { $txt_str = $func > 0 ? "closed tickets this period!" : "current tickets!"; print "\n\t\tside_bar_html += \"<TR CLASS='even'><TD COLSPAN='99' ALIGN='center'><I><B>No {$txt_str}</B></I></TD></TR>\";"; print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TD COLSPAN='99' ><BR /><BR /></TD></TR>\";"; } $limit = 1000; $link_str = ""; $query = "SELECT `id` FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status` = '{$GLOBALS['STATUS_CLOSED']}'"; $result_cl = mysql_query($query) or do_error($query, 'mysql_query', mysql_error(), basename(__FILE__), __LINE__); if (mysql_affected_rows() > $limit) { $sep = ", "; $rcds = mysql_affected_rows(); for ($j = 0; $j < ceil($rcds / $limit); $j++) { $sep = $j == ceil($rcds / $limit) - 1 ? "" : ", "; $temp = (string) ($j * $limit); $link_str .= "<SPAN onClick = 'document.to_closed.frm_offset.value={$temp}; document.to_closed.submit();'><U>" . ($j + 1) . "K</U></SPAN>{$sep}"; } } // $sev_string = "Severities: normal ({$by_severity[$GLOBALS['SEVERITY_NORMAL']]}), Medium ({$by_severity[$GLOBALS['SEVERITY_MEDIUM']]}), High ({$by_severity[$GLOBALS['SEVERITY_HIGH']]})"; $sev_string = "Severities: <SPAN CLASS='severity_normal'>Normal ({$by_severity[$GLOBALS['SEVERITY_NORMAL']]})</SPAN>, <SPAN CLASS='severity_medium'>Medium ({$by_severity[$GLOBALS['SEVERITY_MEDIUM']]})</SPAN>, <SPAN CLASS='severity_high'>High ({$by_severity[$GLOBALS['SEVERITY_HIGH']]})</SPAN>"; unset($acts_ary, $pats_ary, $result_temp, $result_cl); ?> side_bar_html +="</TABLE>\n"; $("side_bar_header").innerHTML = side_bar_html_hdr; // side_bar_html to incidents div $("side_bar").innerHTML = side_bar_html; // side_bar_html to incidents div $('sev_counts').innerHTML = "<?php print $sev_string; ?> "; // 5/2/10 // ========================================== RESPONDER start ================================================ side_bar_html ="<TABLE border=0 CLASS='sidebar' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.38)); ?> >\n"; // initialize units sidebar string side_bar_html += "<TR CLASS = 'spacer'><TD CLASS='spacer' COLSPAN=99> </TD></TR>"; // 3/15/11 points = false; i++; var j=0; <?php $u_types = array(); // 1/1/09 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}unit_types` ORDER BY `id`"; // types in use $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $u_types[$row['id']] = array($row['name'], $row['icon']); // name, index, aprs - 1/5/09, 1/21/09 } unset($result); $assigns = array(); // 8/3/08 $tickets = array(); // ticket id's $query = "SELECT `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`, \n\t\t`{$GLOBALS['mysql_prefix']}assigns`.`responder_id`, \n\t\t`{$GLOBALS['mysql_prefix']}ticket`.`scope` AS `ticket` \n\t\tFROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` ON `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`=`{$GLOBALS['mysql_prefix']}ticket`.`id`"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_as = stripslashes_deep(mysql_fetch_array($result_as))) { $assigns[$row_as['responder_id']] = $row_as['ticket']; $tickets[$row_as['responder_id']] = $row_as['ticket_id']; } unset($result_as); $eols = array("\r\n", "\n", "\r"); // all flavors of eol $status_vals = array(); // build array of $status_vals $status_vals[''] = $status_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}un_status` ORDER BY `id`"; $result_st = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_st = stripslashes_deep(mysql_fetch_array($result_st))) { $temp = $row_st['id']; $status_vals[$temp] = $row_st['status_val']; $status_hide[$temp] = $row_st['hide']; } unset($result_st); $assigns_ary = array(); // construct array of responder_id's on active calls $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` WHERE ((`clear` IS NULL) OR (DATE_FORMAT(`clear`,'%y') = '00')) "; $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $assigns_ary[$row['responder_id']] = TRUE; } $order_values = array(1 => "`nr_assigned` DESC, `handle` ASC, `r`.`name` ASC", 2 => "`type_descr` ASC, `handle` ASC", 3 => "`stat_descr` ASC, `handle` ASC", 4 => "`handle` ASC"); // 6/24/10 if (!empty($_POST)) { $_SESSION['unit_flag_2'] = $_POST['order']; } elseif (empty($_SESSION['unit_flag_2'])) { $_SESSION['unit_flag_2'] = 1; } $order_str = $order_values[$_SESSION['unit_flag_2']]; // 6/11/10 // 6/25/10 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 4/18/11 $result = mysql_query($query); // 4/18/11 $al_groups = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 4/18/11 $al_groups[] = $row['group']; } if (isset($_SESSION['viewed_groups'])) { $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 4/18/11 $where2 = "WHERE ("; // 4/18/11 foreach ($al_groups as $grp) { // 4/18/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 4/18/11 $where2 = "WHERE ("; // 4/18/11 foreach ($curr_viewed as $grp) { // 4/18/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `a`.`type` = 2"; $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated`, `t`.`id` AS `type_id`, `r`.`id` AS `unit_id`, `r`.`name` AS `name`,\n\t\t`s`.`description` AS `stat_descr`, `r`.`description` AS `unit_descr`, `t`.`description` AS `type_descr`,\n\t\t(SELECT COUNT(*) as numfound FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\tWHERE `{$GLOBALS['mysql_prefix']}assigns`.`responder_id` = unit_id \tAND ( `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )) AS `nr_assigned` \n\t\tFROM `{$GLOBALS['mysql_prefix']}responder` `r` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = a.resource_id )\t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}unit_types` `t` ON ( `r`.`type` = t.id )\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}un_status` `s` ON ( `r`.`un_status_id` = s.id ) \t\t\n\t\t{$where2} GROUP BY unit_id ORDER BY {$order_str}"; // 2/1/10, 3/8/10, 6/11/10 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $units_ct = mysql_affected_rows(); // 1/4/10 if ($units_ct == 0) { print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TH></TH><TH ALIGN='center' COLSPAN=99><I><B>No units!</I></B></TH></TR>\"\n"; } else { $checked = array("", "", "", ""); $checked[$_SESSION['unit_flag_2']] = " CHECKED"; ?> side_bar_html += "<TR CLASS = 'even' VALIGN='baseline'><TD COLSPAN=99 ALIGN='center' STYLE = 'height:20px;'>"; side_bar_html += "<I>Sort: "; side_bar_html += "Unit » <input type = radio name = 'frm_order' value = 1 <?php print $checked[1]; ?> onClick = 'do_sort_sub(this.value);' /> "; side_bar_html += "Type » <input type = radio name = 'frm_order' value = 2 <?php print $checked[2]; ?> onClick = 'do_sort_sub(this.value);' /> "; side_bar_html += "Status » <input type = radio name = 'frm_order' value = 3 <?php print $checked[3]; ?> onClick = 'do_sort_sub(this.value);' />"; side_bar_html += "</I></TD></TR>"; <?php print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TD></TD><TD> <B>Unit</B> ({$units_ct}) </TD>\t<TD onClick = 'do_mail_win(null, null); ' ALIGN = 'center'><IMG SRC='mail_red.png' /></TD><TD> <B>Status</B></TD><TD COLSPAN=2><B>" . $incident . "</B></TD><TD><B> As of</B></TD></TR>\"\n"; } $aprs = $instam = $locatea = $gtrack = $glat = $t_tracker = $ogts = FALSE; //7/23/09, 5/11/11 $utc = gmdate("U"); // 3/25/09 // =========================== begin major while() for RESPONDER ========== $chgd_unit = $_SESSION['unit_flag_1']; // possibly 0 - 4/8/10 $_SESSION['unit_flag_1'] = 0; // one-time only - 4/11/10 while ($row = stripslashes_deep(mysql_fetch_array($result))) { $resp_gps = get_allocates(2, $row['unit_id']); // 5/4/11 $grp_names = "Groups Assigned: "; // 5/4/11 $y = 0; // 5/4/11 foreach ($resp_gps as $value) { // 5/4/11 $counter = count($resp_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $latitude = $row['lat']; // 7/18/10 $longitude = $row['lng']; // 7/18/10 $on_click = !my_is_float($row['lat']) || $quick ? " myclick_nm({$row['unit_id']}) " : "myclick({$sb_indx})"; // 1/2/10 $got_point = FALSE; $name = $row['handle']; // 10/8/09 $index = addslashes($row['icon_str']); // 3/19/11 print "\t\tvar sym = '{$index}';\n"; // for sidebar and icon 10/8/09 // 2/13/09 $todisp = is_guest() ? "" : " <A HREF='units_nm.php?func=responder&view=true&disp=true&id=" . $row['unit_id'] . "'><U>Dispatch</U></A> "; // 08/8/02 $toedit = is_guest() || is_user() ? "" : " <A HREF='units_nm.php?func=responder&edit=true&id=" . $row['unit_id'] . "'><U>Edit</U></A> "; // 5/11/10 $hide_unit = $row['hide'] == "y" ? "1" : "0"; // 3/8/10 $update_error = strtotime('now - 6 hours'); // set the time for silent setting // NAME $the_bg_color = $GLOBALS['UNIT_TYPES_BG'][$row['icon']]; // 2/1/10 $the_text_color = $GLOBALS['UNIT_TYPES_TEXT'][$row['icon']]; $arrow = $chgd_unit == $row['unit_id'] ? "<IMG SRC='rtarrow.gif' />" : ""; // 4/8/10 $on_click = " onclick_do_unit({$row['unit_id']}) "; // 1/2/10 $sidebar_line = "<TD onClick = '{$on_click}'>{$arrow}<SPAN STYLE='background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};'> {$row['handle']}</B></U></SPAN></TD>"; // MAIL if (!is_guest() && is_email($row['contact_via'])) { // 2/1/10 $mail_link = "\t<TD CLASS='mylink' ALIGN='center'>" . " <IMG SRC='mail.png' BORDER=0 TITLE = 'click to email unit {$name}'" . " onclick = 'do_mail_win(\\\"{$name},{$row['contact_via']}\\\");'> " . " </TD>"; // 4/26/09 } else { $mail_link = "\t<TD ALIGN='center'>na</TD>"; } $sidebar_line .= $mail_link; // STATUS $sidebar_line .= "<TD>" . get_status_sel($row['unit_id'], $row['un_status_id'], "u") . "</TD>"; // status // DISPATCHES 3/16/09 if (!array_key_exists($row['unit_id'], $assigns_ary)) { // this unit assigned? - 6/4/10 $row_assign = FALSE; } else { // 6/25/10 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` t ON ({$GLOBALS['mysql_prefix']}assigns.ticket_id = t.id)\n\t\t\t\tWHERE `responder_id` = '{$row['unit_id']}' AND ( `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_assign = mysql_affected_rows() == 0 ? FALSE : stripslashes_deep(mysql_fetch_assoc($result_as)); unset($result_as); } $tip = !$row_assign ? "" : str_replace("'", "`", "{$row_assign['contact']}/{$row_assign['street']}/{$row_assign['city']}/{$row_assign['phone']}/{$row_assign['scope']} "); switch ($row_assign['severity']) { //color tickets by severity case $GLOBALS['SEVERITY_MEDIUM']: $severityclass = 'severity_medium'; break; case $GLOBALS['SEVERITY_HIGH']: $severityclass = 'severity_high'; break; default: $severityclass = 'severity_normal'; break; } // $tick_ct = (mysql_affected_rows()>1)? " (" . mysql_affected_rows() . ")": ""; // active dispatches switch (mysql_affected_rows()) { // 8/30/10 case 0: $the_disp_stat = ""; break; case 1: $the_disp_stat = get_disp_status($row_assign) . " "; break; default: // multiples $the_disp_stat = "<SPAN CLASS='disp_stat'> " . mysql_affected_rows() . " </SPAN> "; break; } // end switch() $ass_td = mysql_affected_rows() > 0 ? "<TD ALIGN='left' onMouseover=\\\"Tip('{$tip}')\\\" onmouseout=\\\"UnTip()\\\" onClick = '{$on_click}' COLSPAN=2 CLASS='{$severityclass}' >{$the_disp_stat}" . shorten($row_assign['scope'], 20) . "</TD>" : "<TD onClick = '{$on_click}' > na </TD>"; $sidebar_line .= $row_assign ? $ass_td : "<TD COLSPAN=2>na</TD>"; // AS OF $strike = $strike_end = ""; // any remote source? $the_time = $row['updated']; // $the_class = "td_data"; $the_class = ""; if (abs($utc - $the_time) > $GLOBALS['TOLERANCE']) { // attempt to identify non-current values $strike = "<STRIKE>"; $strike_end = "</STRIKE>"; } else { $strike = $strike_end = ""; } $sidebar_line .= "<TD onClick = '{$on_click}' CLASS='{$the_class}'> {$strike}" . format_sb_date($the_time) . "{$strike_end} </TD>"; // 6/17/08 $resp_cat = get_category($row['unit_id']); print "\t\tdo_sidebar_u_ed (\"{$sidebar_line}\", {$sb_indx}, '{$on_click}', sym, \"{$tip}\", \"{$resp_cat}\");\n"; // (sidebar, line_no, on_click, letter) if ($row['hide'] == "y") { // 3/8/10 ?> var rowId = tr_id_fixed_part + <?php print $sb_indx; ?> ; // row index for row hide/show - 3/2/10 rowIds.push(rowId); // form is "tr_id_??" where ?? is the row no. <?php } // end if ($row['hide']=="y") $sb_indx++; // zero-based } // end ========== while() for RESPONDER ========== $source_legend = $aprs || $instam || $gtrack || $locatea || $glat || $t_tracker || $ogts ? "<TD CLASS='emph' ALIGN='left'>Source time</TD>" : "<TD> </TD>"; // if any remote data/time 3/24/09 print "\n\tside_bar_html+= \"<TR CLASS='\" + colors[i%2] +\"'><TD COLSPAN=99 ALIGN='center'>{$source_legend}</TD></TR>\";\n"; ?> var legends = "<TR class='even'><TD ALIGN='center' COLSPAN='99'><TABLE ALIGN='center' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> >"; // 3/15/11 legends += "<TR CLASS='spacer'><TD CLASS='spacer' COLSPAN='99' ALIGN='center'> </TD></TR><TR class='even'><TD ALIGN='center' COLSPAN='99'><B>Responders Legend</B></TD></TR>"; // 3/15/11 legends += "<TR CLASS='even'><TD COLSPAN='99' ALIGN='center'> <B>M</B>obility: stopped: <FONT COLOR='red'>•</FONT> moving: <FONT COLOR='green'>•</FONT> fast: <FONT COLOR='white'>•</FONT> silent: <FONT COLOR='black'>•</FONT> </TD></TR>"; // 3/15/11 legends += "<TR CLASS='" + colors[(i)%2] +"'><TD COLSPAN='99' ALIGN='center'><?php print get_units_legend(); ?> </TD></TR></TABLE>"; // 3/15/11 $("side_bar_r").innerHTML = side_bar_html; // side_bar_html to responders div $("side_bar_rl").innerHTML = legends + "</TABLE>"; // 12/03/10 side_bar_html= ""; // 12/03/10 side_bar_html+="<TABLE><TR class='heading_2'><TH width = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> ALIGN='center' COLSPAN='99'>Units</TH></TR><TR class='even'><TD COLSPAN=99 CLASS='td_label' ><form action='#'>"; // 12/03/10, 3/15/11 // ==================================== Add Facilities to Map 8/1/09 ================================================ // side_bar_html ="<TABLE border=0 CLASS='sidebar' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> >\n"; side_bar_html ="<TABLE border=0 CLASS='sidebar' >\n"; var icons=[]; var g=0; <?php $fac_order_values = array(1 => "`handle`,`fac_type_name` ASC", 2 => "`fac_type_name`,`handle` ASC", 3 => "`fac_status_val`,`fac_type_name` ASC"); // 3/15/11 if (array_key_exists('forder', $_POST)) { $_SESSION['fac_flag_2'] = $_POST['forder']; } elseif (empty($_SESSION['fac_flag_2'])) { $_SESSION['fac_flag_2'] = 2; } // 3/15/11 $fac_order_str = $fac_order_values[$_SESSION['fac_flag_2']]; // 3/15/11 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 5/4/11 $result = mysql_query($query); // 5/4/11 $al_groups = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 5/4/11 $al_groups[] = $row['group']; } if (isset($_SESSION['viewed_groups'])) { $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 5/4/11 $where2 = "WHERE ("; // 5/4/11 foreach ($al_groups as $grp) { // 5/4/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 5/4/11 $where2 = "WHERE ("; // 5/4/11 foreach ($curr_viewed as $grp) { // 5/4/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`{$GLOBALS['mysql_prefix']}allocates`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `{$GLOBALS['mysql_prefix']}allocates`.`type` = 3"; // 5/4/11 $query_fac = "SELECT *,UNIX_TIMESTAMP(updated) AS updated, \n\t\t`{$GLOBALS['mysql_prefix']}facilities`.id AS `fac_id`, \n\t\t`{$GLOBALS['mysql_prefix']}facilities`.description AS `facility_description`,\n\t\t`{$GLOBALS['mysql_prefix']}fac_types`.name AS `fac_type_name`, \n\t\t`{$GLOBALS['mysql_prefix']}facilities`.name AS `facility_name`,\n\t\t`{$GLOBALS['mysql_prefix']}fac_status`.status_val AS fac_status_val, \n\t\t`{$GLOBALS['mysql_prefix']}facilities`.status_id AS fac_status_id\n\t\tFROM `{$GLOBALS['mysql_prefix']}facilities` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` ON ( `{$GLOBALS['mysql_prefix']}facilities`.`id` = `{$GLOBALS['mysql_prefix']}allocates`.resource_id )\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_types` ON `{$GLOBALS['mysql_prefix']}facilities`.type = `{$GLOBALS['mysql_prefix']}fac_types`.id \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}fac_status` ON `{$GLOBALS['mysql_prefix']}facilities`.status_id = `{$GLOBALS['mysql_prefix']}fac_status`.id \n\t\t{$where2} \n\t\tGROUP BY fac_id ORDER BY {$fac_order_str}"; $result_fac = mysql_query($query_fac) or do_error($query_fac, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $mail_str = may_email() ? "do_fac_mail_win();" : ""; // 7/2/10 $temp = max(320, intval($_SESSION['scr_width'] * 0.4)); $facs_ct = mysql_affected_rows(); // 1/4/10 if ($facs_ct == 0) { print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TH COLSPAN=99 ALIGN='center'><I><B>No Facilities!</I></B></TH></TR>\"\n"; // 3/15/11 } else { $fs_checked = array("", "", "", ""); $fs_checked[$_SESSION['fac_flag_2']] = " CHECKED"; ?> side_bar_html += "<TR CLASS = 'even'><TD COLSPAN=99 ALIGN='center'>"; // 3/15/11 side_bar_html += "<I><B>Sort</B>: "; side_bar_html += "Name» <input type = radio name = 'frm_order' value = 1 <?php print $fs_checked[1]; ?> onClick = 'do_fac_sort_sub(this.value);' /> "; // 3/15/11, 5/3/11 side_bar_html += "Type » <input type = radio name = 'frm_order' value = 2 <?php print $fs_checked[2]; ?> onClick = 'do_fac_sort_sub(this.value);' /> "; // 3/15/11, 5/3/11 side_bar_html += "Status » <input type = radio name = 'frm_order' value = 3 <?php print $fs_checked[3]; ?> onClick = 'do_fac_sort_sub(this.value);' />"; // 3/15/11, 5/3/11 side_bar_html += "</I></TD></TR>"; // 3/15/11 <?php print "\n\t\tside_bar_html += \"<TR CLASS='odd'><TD> </TD><TD ALIGN='left'><B>Facility</B> ({$facs_ct}) </TD><TD ALIGN='left'><IMG SRC='mail_red.png' BORDER=0 onClick = '{$mail_str}'/></TD><TD> <B>Status</B></TD><TD ALIGN='left'><B>Type</B></TD><TD ALIGN='left'><B> As of</B></TD></TR>\"\n"; // 7/2/10, 3/15/11 } // =========================== begin major while() for FACILITIES ========== $quick = !is_guest() && intval(get_variable('quick') == 1); // 11/27/09 $sb_indx = 0; // for fac's only 8/5/10 while ($row_fac = mysql_fetch_assoc($result_fac)) { // 7/7/10 $fac_gps = get_allocates(3, $row_fac['fac_id']); // 5/4/11 $grp_names = "Groups Assigned: "; // 5/4/11 $y = 0; // 5/4/11 foreach ($fac_gps as $value) { // 5/4/11 $counter = count($fac_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $grp_names .= " / "; $fac_id = $row_fac['fac_id']; $fac_type = $row_fac['icon']; $fac_type_name = $row_fac['fac_type_name']; $fac_region = get_first_group(3, $fac_id); $fac_name = addslashes($row_fac['facility_name']); // 10/8/09 $fac_handle = addslashes($row_fac['handle']); // 10/8/09 $fac_index = addslashes($row_fac['icon_str']); $on_click = $can_edit ? "fac_click_ed({$fac_id})" : "fac_click_vw({$fac_id})"; // 8/24/10 print "\t\tvar fac_sym = '" . addslashes($fac_index) . "';\n"; // for sidebar and icon 10/8/09 - 4/27/11 $facility_display_name = $f_disp_name = $row_fac['handle']; $the_bg_color = $GLOBALS['FACY_TYPES_BG'][$row_fac['icon']]; // 2/8/10 $the_text_color = $GLOBALS['FACY_TYPES_TEXT'][$row_fac['icon']]; // 2/8/10 $sidebar_fac_line = "<TD onClick = '{$on_click}' TITLE = '{$fac_name}' ALIGN='left'><SPAN STYLE='background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};' >{$fac_handle}</SPAN></TD>"; // MAIL if (may_email() && (is_email($row_fac['contact_email']) || is_email($row_fac['security_email']))) { // 7/2/10 $mail_link = "\t<TD CLASS='mylink' ALIGN='center'> " . "<IMG SRC='mail.png' BORDER=0 TITLE = 'click to email facility {$fac_handle}'" . " onclick = 'do_mail_win(\\\"{$fac_handle},{$row_fac['contact_email']}\\\");'> " . "</TD>"; // 4/26/09 } else { $mail_link = "\t<TD ALIGN='center'> <b>na</b></TD>"; } $sidebar_fac_line .= $mail_link; $sidebar_fac_line .= "<TD ALIGN='left' onClick = '{$on_click};' > " . addslashes(shorten($row_fac['fac_type_name'], $col_width)) . "</TD>"; $sidebar_fac_line .= "<TD ALIGN='left' onClick = '{$on_click};' > " . addslashes($row_fac['status_val']) . "</TD>"; $sidebar_fac_line .= "<TD onClick = '{$on_click};' > " . format_sb_date($row_fac['updated']) . "</TD>"; ?> var fac_icon = "td_label"; do_sidebar_fac_ed ("<?php print $sidebar_fac_line; ?> ", <?php print $row_fac['fac_id']; ?> , fac_sym, fac_icon, g); g++; <?php $sb_indx++; // zero-based - 6/30/10 } // end while ?> side_bar_html += "</TD></TR>\n"; <?php // =====================================End of functions to show facilities======================================================================== $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status` = 1 "; // 10/21/09 $result_ct = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_closed = mysql_num_rows($result_ct); unset($result_ct); $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}ticket` WHERE `status` = 3 "; // 10/21/09 $result_scheduled = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_scheduled = mysql_num_rows($result_scheduled); unset($result_scheduled); ?> side_bar_html +="<TR><TD COLSPAN='99'></TD></TR></TABLE>"; var fac_legends = ""; <?php if ($any_facilities) { ?> var fac_legends ="<TABLE border='0' VALIGN='top' ALIGN='center' CLASS='sidebar' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.4)); ?> >"; // 11/29/10, 3/15/11 fac_legends +="<TR CLASS='spacer'><TD CLASS='spacer' COLSPAN='99' ALIGN='center'> </TD></TR>"; // 11/29/10, 3/15/11 fac_legends +="<TR class='even'><TD ALIGN='center' COLSPAN=99><B>Facilities Legend</B></TD></TR>"; // legend row, 11/29/10, 3/15/11 fac_legends +="<TR class='even'><TD ALIGN='center' COLSPAN=99><?php print get_facilities_legend(); ?> </TD></TR></TABLE>\n"; // 3/15/11 <?php } ?> side_bar_html +="</TABLE></TD></TR></TABLE>\n"; $("side_bar_f").innerHTML = side_bar_html; //side_bar_html to facilities div $("facs_legend").innerHTML = fac_legends; //side_bar_html to facilities div side_bar_html = ""; </SCRIPT> <?php echo "Time Elapsed: " . round(microtime(true) - $time, 3) . "s"; }
function list_responders($addon = '', $start) { // global {$_SESSION['fip']}, $fmp, {$_SESSION['editfile']}, {$_SESSION['addfile']}, {$_SESSION['unitsfile']}, {$_SESSION['facilitiesfile']}, {$_SESSION['routesfile']}, {$_SESSION['facroutesfile']}; global $iw_width, $u_types, $tolerance; $assigns = array(); // 08/8/3 $tickets = array(); // ticket id's $query = "SELECT `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`, `{$GLOBALS['mysql_prefix']}assigns`.`responder_id`,\n\t\t`{$GLOBALS['mysql_prefix']}ticket`.`scope` AS `ticket` \n\t\tFROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` ON `{$GLOBALS['mysql_prefix']}assigns`.`ticket_id`=`{$GLOBALS['mysql_prefix']}ticket`.`id`\n\t\tWHERE ( `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_as = stripslashes_deep(mysql_fetch_array($result_as))) { $assigns[$row_as['responder_id']] = $row_as['ticket']; $tickets[$row_as['responder_id']] = $row_as['ticket_id']; } unset($result_as); $calls = array(); // 6/17/08 $calls_nr = array(); ?> <SCRIPT > var color=0; var colors = new Array ('odd', 'even'); function hideDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = 'none'; $(hide_cont).style.display = 'none'; $(show_cont).style.display = ''; } var params = "f_n=" +controlarea+ "&v_n=h&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function showDiv(div_area, hide_cont, show_cont) { // 3/15/11 if (div_area == "buttons_sh") { var controlarea = "hide_controls"; } if (div_area == "resp_list_sh") { var controlarea = "resp_list"; } if (div_area == "facs_list_sh") { var controlarea = "facs_list"; } if (div_area == "incs_list_sh") { var controlarea = "incs_list"; } if (div_area == "region_boxes") { var controlarea = "region_boxes"; } var divarea = div_area var hide_cont = hide_cont var show_cont = show_cont if($(divarea)) { $(divarea).style.display = ''; $(hide_cont).style.display = ''; $(show_cont).style.display = 'none'; } var params = "f_n=" +controlarea+ "&v_n=s&sess_id=<?php print get_sess_key(__LINE__); ?> "; var url = "persist2.php"; sendRequest (url, gb_handleResult, params); } function checkArray(form, arrayName) { // 5/3/11 var retval = new Array(); for(var i=0; i < form.elements.length; i++) { var el = form.elements[i]; if(el.type == "checkbox" && el.name == arrayName && el.checked) { retval.push(el.value); } } return retval; } function checkForm(form) { // 6/10/11 var errmsg=""; var itemsChecked = checkArray(form, "frm_group[]"); if(itemsChecked.length > 0) { var params = "f_n=viewed_groups&v_n=" +itemsChecked+ "&sess_id=<?php print get_sess_key(__LINE__); ?> "; // 3/15/11 var url = "persist3.php"; // 3/15/11 sendRequest (url, fvg_handleResult, params); // form.submit(); } else { errmsg+= "\tYou cannot Hide all the regions\n"; if (errmsg!="") { alert ("Please correct the following and re-submit:\n\n" + errmsg); return false; } } } function fvg_handleResult(req) { // 6/10/11 The persist callback function for viewed groups. document.region_form.submit(); } function form_validate(theForm) { // 5/3/11 // alert("Validating"); checkForm(theForm); } // end function validate(theForm) function do_sidebar (sidebar, id, the_class, unit_id, index) { var unit_id = unit_id; side_bar_html += "<TR CLASS='" + colors[(id)%2] +"' >"; side_bar_html += "<TD CLASS='" + the_class + "' onClick = 'myclick(" + unit_id + ");'>" + index + "</TD>" + sidebar +"</TD></TR>\n"; // 1/5/09, 3/4/09, 10/29/09 removed period } function myclick(unit_id) { // Responds to sidebar click - view responder data document.view_form.id.value=unit_id; document.view_form.submit(); } function myclick_nm(v_id) { // Responds to sidebar click - view responder data document.view_form.id.value=v_id; document.view_form.submit(); } <?php $dzf = get_variable('def_zoom_fixed'); print "\tvar map_is_fixed = "; print my_is_int($dzf) && $dzf == 2 || my_is_int($dzf) && $dzf == 3 ? "true;\n" : "false;\n"; ?> var side_bar_html = "<TABLE border=0 CLASS='sidebar' WIDTH = <?php print max(320, intval($_SESSION['scr_width'] * 0.6)); ?> >"; side_bar_html += "<TR class='even'> <TD></TD><TD ALIGN='left'><B>Unit</B></TD><TD ALIGN='left'><B>Handle</B></TD><TD ALIGN='left'><B>Dispatch</B></TD><TD ALIGN='left'><B>Status</B></TD><TD ALIGN='left'><B>M</B></TD><TD ALIGN='left'><B>As of</B></TD></TR>"; var which; var i = <?php print $start; ?> ; // sidebar/icon index var points = false; // none <?php function can_do_dispatch($the_row) { if (intval($the_row['multi']) == 1) { return TRUE; } $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` WHERE `responder_id` = {$the_row['id']}"; // all dispatches this unit $result_temp = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_temp = stripslashes_deep(mysql_fetch_array($result_temp))) { // check any open runs this unit if (!is_date($row_temp['clear'])) { // if clear is empty, then NOT dispatch-able unset($result_temp, $row_temp); return FALSE; } } // end while ($row_temp ...) unset($result_temp, $row_temp); return TRUE; // none found, can dispatch } // end function can_do_dispatch() $eols = array("\r\n", "\n", "\r"); // all flavors of eol $bulls = array(0 => "", 1 => "red", 2 => "green", 3 => "white", 4 => "black"); $status_vals = array(); // build array of $status_vals $status_vals[''] = $status_vals['0'] = "TBD"; $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}un_status` ORDER BY `id`"; $result_st = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); while ($row_st = stripslashes_deep(mysql_fetch_array($result_st))) { $temp = $row_st['id']; $status_vals[$temp] = $row_st['status_val']; } unset($result_st); $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}allocates` WHERE `type`= 4 AND `resource_id` = '{$_SESSION['user_id']}';"; // 6/10/11 $result = mysql_query($query); // 4/13/11 $al_groups = array(); while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { // 6/10/11 $al_groups[] = $row['group']; } if (isset($_SESSION['viewed_groups'])) { // 6/10/11 $curr_viewed = explode(",", $_SESSION['viewed_groups']); } if (!isset($curr_viewed)) { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($al_groups as $grp) { // 6/10/11 $where3 = count($al_groups) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } else { $x = 0; // 6/10/11 $where2 = "WHERE ("; // 6/10/11 foreach ($curr_viewed as $grp) { // 6/10/11 $where3 = count($curr_viewed) > $x + 1 ? " OR " : ")"; $where2 .= "`a`.`group` = '{$grp}'"; $where2 .= $where3; $x++; } } $where2 .= "AND `a`.`type` = 2"; // 6/10/11 $query = "SELECT *, UNIX_TIMESTAMP(updated) AS `updated`,\n\t\t`t`.`id` AS `type_id`,\n\t\t`r`.`id` AS `unit_id`,\n\t\t`r`.`name` AS `name`,\n\t\t`s`.`description` AS `stat_descr`,\n\t\t`r`.`description` AS `unit_descr`, \n\t\t(SELECT COUNT(*) as numfound FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\tWHERE `{$GLOBALS['mysql_prefix']}assigns`.`responder_id` = unit_id AND `clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' ) AS `nr_assigned` \n\t\tFROM `{$GLOBALS['mysql_prefix']}responder` `r` \n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}allocates` `a` ON ( `r`.`id` = a.resource_id )\t\t\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}unit_types` `t` ON ( `r`.`type` = t.id )\t\n\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}un_status` `s` ON ( `r`.`un_status_id` = s.id ) \t\t\n\t\t{$where2} GROUP BY unit_id ORDER BY `nr_assigned` DESC, `handle` ASC, `r`.`name` ASC "; // 2/1/10, 3/15/10, 6/10/11 $result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $num_units = mysql_affected_rows(); $aprs = FALSE; $instam = FALSE; $locatea = FALSE; // 7/23/09 $gtrack = FALSE; // 7/23/09 $glat = FALSE; // 7/23/09 $i = 0; // counter // ============================================================================= $bulls = array(0 => "", 1 => "red", 2 => "green", 3 => "white", 4 => "black"); $utc = gmdate("U"); // ========== major while() for RESPONDER ========== while ($row = stripslashes_deep(mysql_fetch_assoc($result))) { $resp_gps = get_allocates(2, $row['unit_id']); // 6/10/11 $grp_names = "Groups Assigned: "; // 6/10/11 $y = 0; // 6/10/11 foreach ($resp_gps as $value) { // 6/10/11 $counter = count($resp_gps) > $y + 1 ? ", " : ""; $grp_names .= get_groupname($value); $grp_names .= $counter; $y++; } $grp_names .= " / "; $aprs = $instam = $locatea = $gtrack = $glat = $t_tracker = FALSE; // all trackers off, 5/11/11 added internal Tickets Tracker $temp = explode("/", $row['name']); $index = substr($temp[count($temp) - 1], -6, strlen($temp[count($temp) - 1])); // 3/19/11 $the_on_click = my_is_float($row['lat']) ? " onClick = myclick({$row['unit_id']}); " : " onClick = myclick_nm({$row['unit_id']}); "; $the_bg_color = $GLOBALS['UNIT_TYPES_BG'][$row['icon']]; // 2/1/10 $the_text_color = $GLOBALS['UNIT_TYPES_TEXT'][$row['icon']]; // 2/1/10 $index = $row['icon_str']; // 4/28/11 $track_type = get_remote_type($row); // 7/6/11 $do_dispatch = can_do_dispatch($row); // 11/17/09 $got_point = FALSE; print "\n\t\tvar i={$i};\n"; $tofac = is_guest() ? "" : " <A HREF='{units_nm.php?func=responder&view=true&dispfac=true&id=" . $row['unit_id'] . "'><U>To Facility</U></A> "; // 10/6/09 $todisp = is_guest() || !can_do_dispatch($row) ? "" : " <A HREF='" . basename(__FILE__) . "?func=responder&view=true&disp=true&id=" . $row['unit_id'] . "'><U>Dispatch</U></A> "; // 08/8/02, 9/19/09 $toedit = is_guest() ? "" : " <A HREF='" . basename(__FILE__) . "?func=responder&edit=true&id=" . $row['unit_id'] . "'><U>Edit</U></A> "; // 10/8/08 $temp = $row['un_status_id']; // 2/24/09 $the_status = array_key_exists($temp, $status_vals) ? $status_vals[$temp] : "??"; // 2/2/09 $the_bull = ""; // define the bullet $update_error = strtotime('now - 6 hours'); // set the time for silent setting if ($track_type > 0) { // get most recent position data $do_legend = TRUE; } // name, handle $name = addslashes(shorten($row['name'], 40)); // 10/8/09 $handle = addslashes($row['handle']); $sidebar_line = "<TD TITLE = '{$handle}' {$the_on_click}><U><SPAN STYLE='background-color:{$the_bg_color}; opacity: .7; color:{$the_text_color};'>{$handle}</SPAN></U></TD>"; // 10/8/09 $sidebar_line .= "<TD TITLE = '" . addslashes($row['name']) . "' {$the_on_click}><U>{$name}</TD>"; // 10/8/09 // assignments 3/16/09, 3/15/10 $query = "SELECT * FROM `{$GLOBALS['mysql_prefix']}assigns` \n\t\t\tLEFT JOIN `{$GLOBALS['mysql_prefix']}ticket` `t` ON (`{$GLOBALS['mysql_prefix']}assigns`.`ticket_id` = `t`.`id`)\n\t\t\tWHERE `responder_id` = '{$row['unit_id']}' AND (`clear` IS NULL OR DATE_FORMAT(`clear`,'%y') = '00' )"; $result_as = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename(__FILE__), __LINE__); $row_assign = mysql_affected_rows() == 0 ? FALSE : stripslashes_deep(mysql_fetch_assoc($result_as)); switch ($row_assign['severity']) { //color tickets by severity case $GLOBALS['SEVERITY_MEDIUM']: $severityclass = 'severity_medium'; break; case $GLOBALS['SEVERITY_HIGH']: $severityclass = 'severity_high'; break; default: $severityclass = 'severity_normal'; break; } switch (mysql_num_rows($result_as)) { // 10/4/10 case 0: $the_disp_stat = ""; break; case 1: $the_disp_stat = get_disp_status($row_assign) . " "; break; default: // multiples $the_disp_stat = "<SPAN CLASS='disp_stat'> " . mysql_affected_rows() . " </SPAN> "; break; } // end switch() $tick_ct = mysql_affected_rows() > 1 ? "(" . mysql_num_rows($result_as) . ") " : ""; $ass_td = mysql_affected_rows() > 0 ? "<TD CLASS='{$severityclass}' TITLE = '{$row_assign['scope']}' STYLE = 'white-space:nowrap;' >{$the_disp_stat}" . shorten($row_assign['scope'], 24) . "</TD>" : "<TD>na</TD>"; $sidebar_line .= $row_assign ? $ass_td : "<TD>na</TD>"; // status, mobility - 9/11/10 $sidebar_line .= "<TD TITLE = '" . addslashes($the_status) . "'> " . get_status_sel($row['unit_id'], $row['un_status_id'], "u") . "</TD>"; $sidebar_line .= "<TD TITLE ='{$row['callsign']}'> {$GLOBALS['TRACK_2L'][$track_type]} {$the_bull}</TD>"; // 4/14/10 // as of $strike = $strike_end = ""; $the_time = $row['updated']; // 7/6/11 $the_class = ""; if ($row['mobile'] == 1 && abs($utc - $the_time) > $GLOBALS['TOLERANCE']) { // identify non-current values $strike = "<STRIKE>"; $strike_end = "</STRIKE>"; } $sidebar_line .= "<TD CLASS='{$the_class}'> {$strike}" . format_sb_date($the_time) . "{$strike_end}</TD>"; // 6/17/08 ?> var unit_id = "<?php print $index; ?> "; // 10/8/09 var the_class = "td_label"; // 4/3/09 var handle = "<?php print substr($row['handle'], 1); ?> "; var longhandle = "<?php print $row['handle']; ?> "; <?php print "\tdo_sidebar(\" {$sidebar_line} \" , i, {$row['id']}, {$row['unit_id']}, unit_id);\n"; // sidebar only - no map, 11/11/09 $i++; // zero-based } // end ========== while() for RESPONDER ========== $source_legend = isset($do_legend) ? "<TD CLASS='emph' ALIGN='left'>Source time</TD>" : "<TD></TD>"; // if any remote data/time 3/24/09 ?> side_bar_html+= "<TR CLASS='" + colors[i%2] +"'><TD COLSPAN=5> </TD><?php print $source_legend; ?> </TR>"; <?php if (!empty($addon)) { print "\n\tside_bar_html +=\"" . $addon . "\"\n"; } ?> side_bar_html +="</TABLE>\n"; $("side_bar").innerHTML += side_bar_html; // append the assembled side_bar_html contents to the side bar div $("num_units").innerHTML = <?php print $num_units; ?> ; </SCRIPT> <?php }