ul evealvacija if ((int)$anketa > 0){ $this->anketa = $anketa; # polovimo vrsto tabel (aktivne / neaktivne) SurveyInfo :: getInstance()->SurveyInit($this->anketa); $this->db_table = SurveyInfo::getInstance()->getSurveyArchiveDBString(); } } // Prikažemo stran public function displaySpeedIndex(){ global $lang; // Izvedemo pripravo datoteke $this->executeExport(); // Izrisemo tabelo $this->displaySpeedIndexTable(); } // Prikazemo tabelo private function displaySpeedIndexTable(){ global $site_path; global $lang; $result_folder = $site_path . RESULTS_FOLDER.'/'; echo '
'; echo ''.$lang['srv_speeder_index_text'].''; // Legenda echo '
'; echo ''.$lang['srv_speeder_index_legend_0'].''; echo ''.$lang['srv_speeder_index_legend_1'].''; echo '
'; echo ''; if (($handle = fopen($result_folder."speederindex".$this->anketa.".csv", "r")) !== FALSE) { // Loop po vrsticah $cnt=0; while (($row = fgetcsv($handle, 1000, ';')) !== FALSE) { $status = ($row[1] == 1 ? 'speeder' : 'no_speeder'); echo ''; // Prva vrstica if($cnt == 0){ foreach($row as $val){ echo ''; } } // Vrstice s podatki else{ foreach($row as $val){ echo ''; } } echo ''; $cnt++; } fclose($handle); } echo '
'; // Prevedemo kar na roko:) if($lang['id'] == '2'){ if($val == 'Index hitrosti') echo $lang['srv_speeder_index']; else echo str_replace("Stran", $lang['page'], $val); } else echo $val; echo ''; echo $val; echo '
'; } // Zgeneriramo pdf analizo public function executeExport(){ global $site_path; global $lang; global $admin_type; // Zgeneriramo zacasne csv datoteke $this->prepareCSV(); // Poklicemo R skripto in zgeneriramo pdf $script = $site_path . SCRIPT_FOLDER . '/speeder_index.R'; $out = exec('Rscript '.$script.' '.$this->anketa.' 2>&1', $output, $return_var); // Testiranje - izpis errorjev /*if($admin_type == 0){ echo '
'; echo 'Rscript '.$script; //echo '
'.$out.'
'; var_dump($output); echo '
'; }*/ // Na koncu pobrisemo zacasne datoteke $this->deleteTemp(); } // Pripravi csv s podatki o casih po straneh public function prepareCSV(){ global $site_path; global $lang; global $admin_type; $temp_folder = $site_path . TEMP_FOLDER.'/'; $file_handler = fopen($temp_folder.'datum'.$this->anketa.'.csv',"w"); // Prva vrstica $line_header = 'Id;Status;Lurker;Datum_0;'; $grupe = array(); $sql = sisplet_query("SELECT * FROM srv_grupa WHERE ank_id='".$this->anketa."' ORDER BY vrstni_red ASC"); while ($row = mysqli_fetch_array($sql)) { $line_header .= 'Datum_'.$row['vrstni_red'].';'; $grupe[$row['id']] = $row['vrstni_red']; } fwrite($file_handler, substr($line_header, 0, -1)."\r\n"); // Vrstice s podatki $sql = sisplet_query("SELECT id, recnum, last_status, lurker, time_insert FROM srv_user u WHERE ank_id='".$this->anketa."' AND preview='0' AND deleted='0' ORDER BY recnum ASC"); while ($row = mysqli_fetch_array($sql)) { $line = $row['recnum'].';'; $line .= $row['last_status'].';'; $line .= $row['lurker'].';'; $line .= $row['time_insert'].';'; // Napolnimo case respondenta $user_grupe = array(); $sqlG = sisplet_query("SELECT gru_id, time_edit FROM srv_user_grupa".$this->db_table." WHERE usr_id='".$row['id']."'"); while ($rowG = mysqli_fetch_array($sqlG)) { $user_grupe[$rowG['gru_id']] = $rowG['time_edit']; } // Sprehodimo se po vseh straneh in zapisemo case v vrstico foreach($grupe as $gru_id => $vrstni_red){ if(isset($user_grupe[$gru_id])) $line .= $user_grupe[$gru_id].';'; else $line .= ';'; } fwrite($file_handler, substr($line, 0, -1)."\r\n"); } fclose($file_handler); } // 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.'/datum'.$this->anketa.'.csv')) { unlink($temp_folder.'/datum'.$this->anketa.'.csv'); } } }