299 lines
16 KiB
PHP
299 lines
16 KiB
PHP
<?php
|
|
/** \file scripts\page\menu_lance_info.php
|
|
* \brief DI webinterface menu lance script.
|
|
* \author Rob Schalken, Core|Vision
|
|
* \version $Revision: 1.81 $
|
|
* \date $Date: 2014/02/20 12:55:21 $
|
|
*
|
|
* This file contains the menu lance info script. This file displays lance info.
|
|
*/
|
|
|
|
//== Required settings ======================
|
|
if (is_valid_action("lance_info")) {
|
|
$_PAGE_INFO['page_title'] = "equipment info menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (info)");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search");
|
|
|
|
$menu = "menu:lansen:offline_status";
|
|
$rights = "menu:lansen:root,menu:lansen&menu:lansen:offline_status,menu:lansen&productie";
|
|
$title = "Last known status";
|
|
}
|
|
else if (is_valid_action("lance_new")) {
|
|
$_PAGE_INFO['page_title'] = "equipment new menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance");
|
|
|
|
$menu = "menu:lansen:nieuw";
|
|
$rights = "menu:lansen:root,menu:lansen&productie";
|
|
$title = "Add equipment";
|
|
}
|
|
else if (is_valid_action("lance_change")) {
|
|
$_PAGE_INFO['page_title'] = "equipment change menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (change)");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search");
|
|
|
|
$menu = "menu:lansen:wijzigen";
|
|
$rights = "menu:lansen:root,menu:lansen&productie";
|
|
$title = "Change equipment";
|
|
}
|
|
else if (is_valid_action("lance_change_status")) {
|
|
$_PAGE_INFO['page_title'] = "equipment change status menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (status)");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search");
|
|
|
|
$menu = "menu:lansen:status_wijzigen";
|
|
$rights = "menu:lansen:root,menu:lansen,menu:lansen&productie";
|
|
$title = "Change equipment status";
|
|
}
|
|
else if (is_valid_action("lance_calibration")) {
|
|
$_PAGE_INFO['page_title'] = "equipment elektronica test menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (elek test)");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search");
|
|
|
|
$menu = "menu:lansen:calibratie";
|
|
$rights = "menu:lansen&productie";
|
|
$title = "Add elektronics test";
|
|
}
|
|
else if (is_valid_action("lance_endcontrol")) {
|
|
$_PAGE_INFO['page_title'] = "equipment functional test menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (func test)");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search");
|
|
|
|
$menu = "menu:lansen:eindcontrole";
|
|
$rights = "menu:lansen&productie";
|
|
$title = "Add functional test";
|
|
}
|
|
else if (is_valid_action("lance_main_report")) {
|
|
$_PAGE_INFO['page_title'] = "equipment maintenance report menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (report)");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search");
|
|
|
|
$menu = "menu:lansen:onderhoudsrapporten";
|
|
$rights = "menu:lansen&menu:lansen:onderhoudsrapporten,menu:lansen:root,menu:lansen&productie";
|
|
$title = "Maintenance report";
|
|
}
|
|
else if (is_valid_action("lance_doc")) {
|
|
$_PAGE_INFO['page_title'] = "equipment documentation menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (doc)");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search");
|
|
|
|
$menu = "menu:lansen:materieel_documentatie";
|
|
$rights = "menu:lansen&menu:lansen:onderhoudsrapporten,menu:lansen:root,menu:lansen&productie";
|
|
$title = "Equipment documentation";
|
|
}
|
|
else if (is_valid_action("lance_doc_change")) {
|
|
$_PAGE_INFO['page_title'] = "equipment change documentation menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (doc)", "Equipment documentation");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search", "page/menu_lance_info&action=lance_doc");
|
|
|
|
$menu = "menu:lansen:materieel_documentatie:wijzigen";
|
|
$rights = "menu:lansen&menu:lansen:onderhoudsrapporten,menu:lansen:root";
|
|
$title = "Change equipment documentation";
|
|
}
|
|
else if (is_valid_action("lance_alarmnr")) {
|
|
$_PAGE_INFO['page_title'] = "equipment alarm numbers menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (alarm nr)");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search");
|
|
|
|
$menu = "menu:lansen:alarmnummers";
|
|
$rights = "menu:lansen:root,menu:lansen&menu:lansen:alarmnummers,menu:lansen&productie";
|
|
$title = "Alarm numbers";
|
|
}
|
|
else if (is_valid_action("lance_alarmnr_change")) {
|
|
$_PAGE_INFO['page_title'] = "equipment change alarm numbers menu";
|
|
|
|
$_PAGE_INFO['history_menu_buttons'] = array("Project overview", $_PAGE_INFO['HIST_MAIN'], "Equipment maintenance", "Equipment search (alarm nr)", "Equipment alarm numbers");
|
|
$_PAGE_INFO['history_menu_links'] = array("page/project", "page/menu", "page/menu_lance", "page/menu_lance_search", "page/menu_lance_info&action=lance_alarmnr");
|
|
|
|
$menu = "menu:lansen:alarmnummers:wijzigen";
|
|
$rights = "menu:lansen:root,menu:lansen&menu:lansen:alarmnummers,menu:lansen&productie";
|
|
$title = "Change alarm number";
|
|
}
|
|
//===========================================
|
|
|
|
// Verify project/rights and log
|
|
if (Ver_Rights_Project_Log($rights, $menu)) {
|
|
// Check action
|
|
if (is_valid_action("lance_info", "lance_change", "lance_change_status", "lance_alarmnr", "lance_calibration", "lance_endcontrol","lance_main_report","lance_doc")) {
|
|
// Check if this is a recall action
|
|
if (!$_SESSION[$_PAGE_INFO['id']]['recall_counter']) {
|
|
if (isset($_SESSION[$_PAGE_INFO['id']]['search']['lance']['id'])) {
|
|
// Retrieve lance data
|
|
$row_lance = db_fetch_lance($_SESSION[$_PAGE_INFO['id']]['search']['lance']['id'],"", 1);
|
|
|
|
if (is_array($row_lance)) {
|
|
$_SESSION[$_PAGE_INFO['id']]['lance_info'] = $row_lance;
|
|
|
|
// Write info => needed for shortcut to rt
|
|
$_SESSION[$_PAGE_INFO['id']]['search']['lances']['id'] = $_SESSION[$_PAGE_INFO['id']]['search']['lance']['id'];
|
|
|
|
if (is_valid_action("lance_change","lance_change_status")) {
|
|
// Released project?
|
|
if (is_array(db_fetch_lance_released_projects($_SESSION[$_PAGE_INFO['id']]['search']['lance']['id']))) {
|
|
// Alert!
|
|
$_SESSION[$_PAGE_INFO['id']]['errormsg']['text'] = "It is not possible to change safety critical information because this equipment is been used on a released project";
|
|
$_SESSION[$_PAGE_INFO['id']]['errormsg']['type'] = "alert";
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
// ID not valid!!! => Redirect back to search menu
|
|
header("Location: ?id=" . $_PAGE_INFO['id'] . "&href=page/menu_lance_search");
|
|
}
|
|
}
|
|
else {
|
|
// ID not selected
|
|
header("Location: ?id=" . $_PAGE_INFO['id'] . "&href=page/menu_lance_search");
|
|
}
|
|
}
|
|
}
|
|
|
|
// Log action
|
|
if (!is_valid_action("lance_new")) {
|
|
// Check if this is a recall action
|
|
if (!$_SESSION[$_PAGE_INFO['id']]['recall_counter']) {
|
|
if (isset($_SESSION[$_PAGE_INFO['id']]['search']['lance']['id'])) {
|
|
// Log user-lance action (use log entry from Ver_Rights_Project_Log function)
|
|
db_log_user_lance($_SESSION[$_PAGE_INFO['id']]['search']['lance']['id']);
|
|
}
|
|
}
|
|
}
|
|
|
|
/************************************/
|
|
/* Device capabilities */
|
|
/************************************/
|
|
if (is_valid_action("lance_new","lance_info", "lance_change", "lance_change_status")) {
|
|
// Only first time
|
|
// cache capabilities and other information about the device type
|
|
if (is_valid_action("lance_new")) {
|
|
unset($_SESSION[$_PAGE_INFO['id']]['lance_info']['system_info']);
|
|
}
|
|
else {
|
|
$row_equipment = db_fetch_system_devices("", $_SESSION[$_PAGE_INFO['id']]['lance_info']['device']);
|
|
if (is_array($row_equipment)) $_SESSION[$_PAGE_INFO['id']]['lance_info']['system_info'] = $row_equipment[0];
|
|
}
|
|
|
|
// get information about the parent when this device is behind a gateway
|
|
if( $_SESSION[$_PAGE_INFO['id']]['lance_info']['parent'] ) {
|
|
$_SESSION[$_PAGE_INFO['id']]['parent_info'] = db_fetch_lance($_SESSION[$_PAGE_INFO['id']]['lance_info']['parent'],"", 1);
|
|
}
|
|
else {
|
|
unset($_SESSION[$_PAGE_INFO['id']]['parent_info']);
|
|
}
|
|
|
|
// get temperature thresholds
|
|
$keys = array("threshold:t_ext1","threshold:t_ext2");
|
|
foreach( $keys as $item ) {
|
|
// translate POST item name to database key
|
|
$key_parts = explode(':', $item);
|
|
$key = strtoupper($key_parts[0] . "[" . $key_parts[1] . "]");
|
|
$value = db_fetch_config($_SESSION[$_PAGE_INFO['id']]['lance_info']['id'], $_SESSION[$_PAGE_INFO['id']]['lance_info']['device'], $key);
|
|
// set the page items
|
|
if( $value !== FALSE ) {
|
|
// value is an array; only one item expected and supported
|
|
list($max,$min) = explode(',', $value[0]);
|
|
$_SESSION[$_PAGE_INFO['id']]['lance_info']['config:' . $item . ':min'] = $min;
|
|
$_SESSION[$_PAGE_INFO['id']]['lance_info']['config:' . $item . ':max'] = $max;
|
|
}
|
|
else {
|
|
// temperature threshold not set; clear them in the 'lance_info' to be sure
|
|
unset($_SESSION[$_PAGE_INFO['id']]['lance_info']['config:' . $item . ':min']);
|
|
unset($_SESSION[$_PAGE_INFO['id']]['lance_info']['config:' . $item . ':max']);
|
|
}
|
|
}
|
|
|
|
if (is_valid_action("lance_info","lance_change")) {
|
|
if (!$_SESSION[$_PAGE_INFO['id']]['recall_counter']) {
|
|
$capabilities = split(",", $_SESSION[$_PAGE_INFO['id']]['lance_info']['capabilities']);
|
|
if (is_array($capabilities)) {
|
|
foreach ($capabilities as $item) {
|
|
$_SESSION[$_PAGE_INFO['id']]['lance_info']['cap_' . str_replace(" " , "_", $item)] = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if( !$_SESSION[$_PAGE_INFO['id']]['recall_counter'] ) {
|
|
// new device; first time invokation: set "rtstatus" capability (and other defaults)
|
|
$_SESSION[$_PAGE_INFO['id']]['lance_info']['cap_rtstatus'] = 1;
|
|
}
|
|
}
|
|
|
|
// Store title
|
|
$_SESSION[$_PAGE_INFO['id']]['title'] = $title;
|
|
|
|
// Check shortcuts
|
|
if (is_valid_action("lance_info")) {
|
|
$_PAGE_INFO['shortcut_menu_buttons']= array("Realtime status", "Maintenance report", "Alarm numbers");
|
|
// Check status
|
|
$_PAGE_INFO['shortcut_menu_links'] = array();
|
|
// Realtime status
|
|
if ((db_check_lance_capabilities($_SESSION[$_PAGE_INFO['id']]['lance_info'], "rtstatus")) &&
|
|
((db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:realtime_status") &&
|
|
($_SESSION[$_PAGE_INFO['id']]['lance_info']['lans_status'] == "actief")) ||
|
|
(db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:realtime_status&productie") &&
|
|
(in_array($_SESSION[$_PAGE_INFO['id']]['lance_info']['lans_status'], array("service","productie","winkel","actief")))))) {
|
|
array_push($_PAGE_INFO['shortcut_menu_links'], "page/menu_rt&action=lance_rt");
|
|
}
|
|
else {
|
|
array_push($_PAGE_INFO['shortcut_menu_links'], "");
|
|
}
|
|
// Maintenance report
|
|
if ((db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:lansen:root,menu:lansen&productie") &&
|
|
(in_array($_SESSION[$_PAGE_INFO['id']]['lance_info']['lans_status'], array("productie","service","winkel","actief","afgeschreven","verloren")))) ||
|
|
(db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:lansen&menu:lansen:onderhoudsrapporten") &&
|
|
($_SESSION[$_PAGE_INFO['id']]['lance_info']['lans_status'] == "actief"))) {
|
|
array_push($_PAGE_INFO['shortcut_menu_links'], "page/menu_lance_info&action=lance_main_report");
|
|
}
|
|
else {
|
|
array_push($_PAGE_INFO['shortcut_menu_links'], "");
|
|
}
|
|
// Alarm numbers
|
|
if ((db_check_system_device_capabilities($_SESSION[$_PAGE_INFO['id']]['lance_info']['device'],array(array("gprs","gsm")))) &&
|
|
((db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:lansen:root") &&
|
|
(in_array($_SESSION[$_PAGE_INFO['id']]['lance_info']['lans_status'], array("productie","service","winkel","actief","afgeschreven","verloren")))) ||
|
|
(db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:lansen&productie") &&
|
|
(in_array($_SESSION[$_PAGE_INFO['id']]['lance_info']['lans_status'], array("productie","service","winkel")))) ||
|
|
(db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:lansen&menu:lansen:alarmnummers") &&
|
|
($_SESSION[$_PAGE_INFO['id']]['lance_info']['lans_status'] == "actief")))) {
|
|
array_push($_PAGE_INFO['shortcut_menu_links'],"page/menu_lance_info&action=lance_alarmnr");
|
|
}
|
|
else {
|
|
array_push($_PAGE_INFO['shortcut_menu_links'], "");
|
|
}
|
|
// Add reset button (SMS/GPRS command)
|
|
if (db_check_system_device_capabilities($_SESSION[$_PAGE_INFO['id']]['lance_info']['device'],array(array("gprs","gsm")))) {
|
|
if (db_ver_rights_user_one_valid($_SESSION[$_PAGE_INFO['id']]['login']['user']['id'], "menu:lansen&productie")) {
|
|
array_push($_PAGE_INFO['shortcut_menu_buttons'], _("Reset") . " " . strtolower(_("Equipment")));
|
|
array_push($_PAGE_INFO['shortcut_menu_links'] , "javascript:onSubmit('reset', '', 1,'busy');");
|
|
}
|
|
}
|
|
|
|
$_PAGE_INFO['shortcut_menu_rights'] = array("menu:realtime_status", "menu:lansen&menu:lansen:onderhoudsrapporten,menu:lansen:root,menu:lansen&productie", "menu:lansen&menu:lansen:alarmnummers,menu:lansen:root,menu:lansen&productie");
|
|
}
|
|
|
|
// Add calendar to header
|
|
$extra_header_HTML = "<script type=\"text/javascript\" src=\"" . JAVA_DIR . "calender.js\"></script>\n";
|
|
|
|
// Show page header
|
|
$y_position = (isset($_SESSION[$_PAGE_INFO['id']]['lance_info']['y_position'])) ? ($_SESSION[$_PAGE_INFO['id']]['lance_info']['y_position']) : 0;
|
|
print_xml_header($y_position, $extra_header_HTML);
|
|
|
|
// Include lance info content
|
|
include("menu_lance_info_content.php");
|
|
|
|
// Show page footer
|
|
print_page_footer();
|
|
}
|
|
|
|
?>
|