'0', 'brand' => '', 'drzava' => '', 'ser' => '', 'serenota' => '', 'sercenter' => '' ); public function __construct($ank_id){ $this->ank_id = $ank_id; if($this->ank_id > 0){ // Napolnimo sistemske spremenljivke potrebne za Gorenje analizo $this->getGorenjeSpremenljivke(); // Napolnimo nastavljene filtre za anketo in urednika $this->getGorenjeFilters(); } else die(); } // Prikazemo filtre na vrhu v analizah public function displayFilters(){ global $lang; // Ce imamo ustrezne sistemske spremenljivke v anketi if($this->hasSpremenljivke()){ echo '
'; echo '

Filtriranje

'; // Dobimo vse podatke v bazi med katerimi filtriramo $data = array(); foreach($this->spremenljivke as $key => $val){ $data[$key] = $this->getGorenjeData($val['vre_id']); } // Filter po znamki echo 'Znamka: '; echo ''; echo ''; // Filter po drzavi echo 'Država: '; echo ''; echo ''; echo '

'; // Filter po serviserju echo 'Serviser: '; echo ''; echo ''; // Filter po servisni enoti echo 'Servisna enota: '; echo ''; echo ''; // Filter po servisnem centru echo 'Servisni center: '; echo ''; echo ''; echo '

'; // Gumb Pozeni filtriranje echo '
'; echo 'Poženi'; echo '
'; echo '
'; echo '
'; //var_dump($data); //var_dump($this->spremenljivke); //var_dump($this->filters); } } // Dobimo awk string za gorenje filtriranje public function getAWKString($_HEADER){ $awkFilter = ''; // Sprehodimo se cez vse mozne filtre foreach($this->filters as $key => $val){ // Ce je nastavljen filter za doloceno spremenljivko if($key != 'rekid' && $val != ''){ $awkFilter .= '('; $spr_id = $this->spremenljivke[$key]['spr_id']; $vre_id = $this->spremenljivke[$key]['vre_id']; $sequence = $this->getSequenceForAWKCondition($spr_id, $vre_id, $_HEADER); $awkFilter .= '$'.$sequence.'=='; if (IS_WINDOWS) { # za windows $awkFilter .= "\\\"".$val."\\\""; } else { # za linux $awkFilter .= '"'.$val.'"'; } $awkFilter .= ')&&'; } } // Pobrisemo odvecen zadnji && $awkFilter = substr($awkFilter, 0, -2); return $awkFilter; } // Dobimo sekvenco za ustrezno spremenljivko po kateri filtriramo private function getSequenceForAWKCondition ($spr_id, $vre_id, $_HEADER){ if ($spr_id != null && count($_HEADER[$spr_id.'_0']['grids']) > 0) { $grd = 0; if ($vre_id > 0 && count($_HEADER[$spr_id.'_0']['grids'][$grd]['variables']) > 0) { foreach ($_HEADER[$spr_id.'_0']['grids'][$grd]['variables'] AS $vkey =>$variables) { if ($variables['vr_id'] == $vre_id && $variables['other'] != 1) { $var = $vkey; } } } else { $var = 0; } if ($grd !== null && $var !== null) { return $_HEADER[$spr_id.'_0']['grids'][$grd]['variables'][$var]['sequence']; } } return; } // Preverimo ce obstaja kaksen filter za doloceno anketo in urednika public function hasFilters(){ if($this->filters['rekid'] == '0' && $this->filters['brand'] == '' && $this->filters['drzava'] == '' && $this->filters['ser'] == '' && $this->filters['servisni_enota'] == '' && $this->filters['sercenter'] == '') return false; else return true; } // Preverimo ce obstajajo vse potrebne sistemske spremenljivke (rekid, brand, drzava, ser, serenota, sercenter) public function hasSpremenljivke(){ $count = count($this->spremenljivke); if($count == 6) return true; // Ce nimamo vseh preverimo katere manjkajo if($count > 0){ if(!isset($this->spremenljivke['rekid'])) echo 'Manjka sistemska spremenljivka "rekid" (id reklamacije)!
'; if(!isset($this->spremenljivke['brand'])) echo 'Manjka sistemska spremenljivka "brand" (znamka)!
'; if(!isset($this->spremenljivke['drzava'])) echo 'Manjka sistemska spremenljivka "drzava"!
'; if(!isset($this->spremenljivke['ser'])) echo 'Manjka sistemska spremenljivka "ser" (serviser)!
'; if(!isset($this->spremenljivke['serenota'])) echo 'Manjka sistemska spremenljivka "serenota" (servisna enota)!
'; if(!isset($this->spremenljivke['sercenter'])) echo 'Manjka sistemska spremenljivka "sercenter (servisni center)"!
'; echo '
'; } return false; } // Preberemo nastavljen filter za gorenje (ce obstaja) private function getGorenjeFilters(){ global $global_user_id; $sql = sisplet_query("SELECT brand, drzava, ser, serenota, sercenter FROM srv_gorenje_analysis WHERE ank_id='".$this->ank_id."' AND usr_id='".$global_user_id."'"); if(mysqli_num_rows($sql) > 0){ $row = mysqli_fetch_assoc($sql); foreach($row as $key => $val){ $this->filters[$key] = $val; } } } // Pridobimo vse id-je spremenljivk in vrednosti vezanih na posebno analizo za Gorenje (rekid, brand, drzava, ser, serenota, sercenter) private function getGorenjeSpremenljivke(){ global $global_user_id; // Napolnimo spr_id in vre_id za potrebna sistemska vprasanja $sql = sisplet_query("SELECT s.id AS spr_id, s.variable, v.id AS vre_id FROM srv_vrednost v, srv_spremenljivka s, srv_grupa g WHERE s.variable IN ('rekid', 'brand', 'drzava', 'ser', 'serenota', 'sercenter') AND g.ank_id='".$this->ank_id."' AND s.gru_id=g.id AND v.spr_id=s.id"); while($row = mysqli_fetch_array($sql)){ $this->spremenljivke[$row['variable']]['spr_id'] = $row['spr_id']; $this->spremenljivke[$row['variable']]['vre_id'] = $row['vre_id']; } } // Dobimo vse mozne vrednosti (distinct vnose) za doloceno spremenljivko private function getGorenjeData($vre_id){ $data = array(); $sql = sisplet_query("SELECT DISTINCT(text) AS text FROM srv_data_text_active WHERE vre_id='".$vre_id."'"); while($row = mysqli_fetch_array($sql)){ $data[] = $row['text']; } return $data; } // Ajax klici public function ajax(){ global $global_user_id; global $lang; global $site_path; $brand = (isset($_POST['brand'])) ? $_POST['brand'] : ''; $drzava = (isset($_POST['drzava'])) ? $_POST['drzava'] : ''; $ser = (isset($_POST['ser'])) ? $_POST['ser'] : ''; $serenota = (isset($_POST['serenota'])) ? $_POST['serenota'] : ''; $sercenter = (isset($_POST['sercenter'])) ? $_POST['sercenter'] : ''; $sql = sisplet_query("INSERT INTO srv_gorenje_analysis (ank_id, usr_id, brand, drzava, ser, serenota, sercenter) VALUES ('".$this->ank_id."', '".$global_user_id."', '".$brand."', '".$drzava."', '".$ser."', '".$serenota."', '".$sercenter."') ON DUPLICATE KEY UPDATE brand='".$brand."', drzava='".$drzava."', ser='".$ser."', serenota='".$serenota."', sercenter='".$sercenter."'"); if(!$sql) echo mysqli_error($GLOBALS['connect_db']); } }