ul evealvacija if ((int)$anketa > 0 && (int)$usr_id > 0){ // Nastavimo id ankete $this->anketa = $anketa; // Nastavimo id respondenta $this->usr_id = $usr_id; # polovimo vrsto tabel (aktivne / neaktivne) SurveyInfo :: getInstance()->SurveyInit($this->anketa); if (SurveyInfo::getInstance()->getSurveyColumn('db_table') == 1) { $this->db_table = '_active'; } } else{ die(); //return false; } // Zakesiramo vprasanja z odgovori v array $this->cacheData(); } // Nastavimo imena vprasanj za vse teme (nijz radar) private function cacheData(){ // Napolnimo vprasanja $sql = sisplet_query("SELECT s.id, s.naslov, s.variable, s.label FROM srv_spremenljivka s, srv_grupa g WHERE s.gru_id=g.id AND g.ank_id='".$this->anketa."' AND s.variable LIKE 'radar%'"); while($row = mysqli_fetch_array($sql)){ $number = substr($row['variable'], 5); $this->vprasanja_radar[$number]['id'] = $row['id']; $this->vprasanja_radar[$number]['variable'] = $row['variable']; $this->vprasanja_radar[$number]['naslov'] = $row['label']; } ksort($this->vprasanja_radar); // Napolnimo odgovore za vse teme foreach($this->vprasanja_radar as $st_vprasanja => $tema){ $sqlData = sisplet_query("SELECT v.naslov, v.variable FROM srv_grupa g, srv_spremenljivka s, srv_vrednost v, srv_data_vrednost".$this->db_table." d WHERE s.id='".$tema['id']."' AND g.ank_id='".$this->anketa."' AND d.usr_id='".$this->usr_id."' AND s.id=v.spr_id AND s.gru_id=g.id AND d.vre_id=v.id AND d.spr_id=s.id "); if(mysqli_num_rows($sqlData) == 1){ $rowData = mysqli_fetch_array($sqlData); $this->vprasanja_radar[$st_vprasanja]['data'] = $rowData['variable']; } } } // Prikazemo radar graf po temah public function displayRadar(){ global $lang; global $site_url; $this->createRadar(); // CSS:) echo ''; echo '
'; echo '

Bivalno okolje

'; echo ''; echo '
'; } // Prikazemo tabelo po temah public function displayTable(){ global $lang; // CSS:) echo ''; echo '
'; //echo '

Naslov tabele

'; $half = round(count($this->vprasanja_radar) / 2); echo ''; for($i=1; $i<=$half; $i++) { echo ''; echo ''; echo ''; $j = $i + $half; echo ''; echo ''; echo ''; } echo '
'.$this->vprasanja_radar[$i]['naslov'].''.$this->vprasanja_radar[$i]['data'].''.$this->vprasanja_radar[$j]['naslov'].''.$this->vprasanja_radar[$j]['data'].'
'; echo '
'; } // Zgeneriramo pdf analizo public function createRadar(){ global $site_path; global $admin_type; // Najprej pocistimo morebitno obstojeco sliko grafa $this->deleteRadar(); // Zgeneriramo zacasne csv datoteke $this->prepareCSV(); $script = $site_path . SCRIPT_FOLDER . '/Nijz.R'; try{ $out = exec('Rscript '.$script.' '.$this->usr_id.' 2>&1', $output, $return_var); } catch(Exception $e){ return $e->getMessage(); } // Testiranje - izpis errorjev /*if($admin_type == 0){ echo '
'; echo 'Rscript '.$script; //echo '
'.$out.'
'; var_dump($output); echo '
'; }*/ // Na koncu pobrisemo zacasne datoteke $this->deleteTemp(); } // Pripravimo zacasne datoteke private function prepareCSV(){ global $site_path; $temp_folder = $site_path . TEMP_FOLDER.'/'; // Ustvarimo CSV $fd = fopen($temp_folder.'/nijz_'.$this->usr_id.'.csv', "w"); $convertType = 1; // kateri tip konvertiranja uporabimo $convertTypes[1] = array('charSet' => 'windows-1250', 'delimit' => ';', 'newLine' => "\n", 'BOMchar' => "\xEF\xBB\xBF"); # dodamo boomchar za utf-8 fwrite($fd, $convertTypes[$convertType]['BOMchar']); // Loop po vprasanjih / temah foreach ($this->vprasanja_radar as $vprasanje) { if (isset($vprasanje['data']) && (int)$vprasanje['data'] > 0) { $line = $vprasanje['naslov'].';'.$vprasanje['data']; fwrite($fd, $line."\r\n"); } } fclose($fd); } // Pobrisemo zacasne datoteke private function deleteTemp(){ global $site_path; $temp_folder = $site_path . TEMP_FOLDER.'/'; // Pobrisemo zacasno CSV datoteko s podatki if (file_exists($temp_folder.'/nijz_'.$this->usr_id.'.csv')) { unlink($temp_folder.'/nijz_'.$this->usr_id.'.csv'); } } // Pobrisemo sliko grafa private function deleteRadar(){ global $site_path; $results_folder = $site_path . RESULTS_FOLDER.'/'; if (file_exists($results_folder.'/radar_'.$this->usr_id.'.png')) { unlink($results_folder.'/radar_'.$this->usr_id.'.png'); } } }