type = 'fms'; } /** * @brief Selects appropriate background-color against status and direction for status entry * * It is neccessary to know, that status mapping is done via monitord_config.ini, the system-wide ini file, not the module's own one as status coloring is needed by others modules too! * @author Martin Diedrich (mdiedrich) * @param $idx Index (from all_data) * @param $val Value (from all_data) * @param $myconfig monitord_ini from parent object * @return Complete CSS-Style-Value fot setting the element's background color */ protected function css_bgcolor_selector($idx, $val, $myconfig) { if($idx == 'status' && $this->all_data['richtung'] == '0') { return ' background-color:' . $myconfig['status_color']['status' . $val . '_fz'] . ';'; } if($idx == 'status' && $this->all_data['richtung'] == '1') { return ' background-color:' . $myconfig['status_color']['status' . $val . '_lst'] . ';'; } } /** * @brief Maps all_data indices and its values to other formats (such as '0' becomes ''`Fzg - Lst' in this implementation) * * It is neccessary to know, that status mapping is done via monitord_config.ini, the system-wide ini file, not the module's own one as status coloring is needed by others modules too! * @author Martin Diedrich (mdiedrich) * @param $idx Index (from all_data) * @param $val Value (from all_data) * @param $myconfig monitord_ini from parent object * @return string to be displayed */ private function output_mappings($idx, $val, $myconfig) { if($idx == 'richtung') { switch($val) { case 0 : return 'Fzg - Lst'; case 1 : return 'Lst - Fzg'; default : return 'NN'; } } elseif($idx == 'text') { return substr($val, 0); } return $val; } } /** * @brief FMS display module based on monitord_output_manager * * Reimplements initialize() and get_db_query() adapted to type FMS * @author Martin Diedrich (mdiedrich) * @date $Date$ */ class monitord_fms_manager extends monitord_output_manager { /** * @brief Module initialization * * @author Martin Diedrich (mdiedrich) */ protected function initialize() { $this->type = 'fms'; $this->moduletitle = 'FMS/Status'; $this->revision = '$Revision$'; $this->date = '$Date$'; } /** * @brief Generates SQL-Query for its qiven type (here: FMS) * * @return mySQL query string * @author Martin Diedrich (mdiedrich) */ protected function get_db_query() { if(!$this->monitord_ini['functionalities']['enable_mappings']) { $query = "SELECT " . mysql_real_escape_string($this->monitord_ini['fms']['show_fields']) . " FROM " . mysql_real_escape_string($this->module_ini['main']['tablename']) . " WHERE kennung REGEXP '." . mysql_real_escape_string($this->module_ini['main']['region']) . ".{4}' AND quelle = '" . mysql_real_escape_string($this->module_ini['main']['quelle']) . "'" . $quittungsfilter . "' ORDER BY id DESC LIMIT " . mysql_real_escape_string($this->module_ini['main']['lines_per_page']); } else { if(isset($this->module_ini['main']['quittungsfilter']) && $this->module_ini['main']['quittungsfilter'] == 1) { $quittungsfilter = " AND NOT (status = '15' OR status = '14')"; } $query = "SELECT " . mysql_real_escape_string($this->module_ini['main']['show_fields']) . " FROM (SELECT * FROM " . mysql_real_escape_string($this->module_ini['main']['tablename']) . " WHERE kennung REGEXP '." . mysql_real_escape_string($this->module_ini['main']['region']) . ".{4}' AND quelle = '" . mysql_real_escape_string($this->module_ini['main']['quelle']) . "'" . $quittungsfilter . " ORDER BY id DESC LIMIT " . mysql_real_escape_string($this->module_ini['main']['lines_per_page']) . " ) tmpfms LEFT JOIN " . mysql_real_escape_string($this->module_ini['main']['mapping_tablename']) . " USING (kennung, quelle)"; } return $query; } } ?>