611 lines
19 KiB
PHP
611 lines
19 KiB
PHP
<?php
|
|
|
|
define("TEMP_FOLDER", "admin/survey/modules/mod_MFDPS/temp");
|
|
define("SCRIPT_FOLDER", "admin/survey/modules/mod_MFDPS/R");
|
|
define("RESULTS_FOLDER", "admin/survey/modules/mod_MFDPS/results");
|
|
|
|
class SurveyMFDPS{
|
|
|
|
private $anketa; // id ankete
|
|
private $db_table = '';
|
|
|
|
private $vprasanja = array(); // array z vsemi vprasanji v anketi, ki jih obravnavamo
|
|
|
|
private $data_splosna = array(); // array z vsemi splosnimi vprasanji v anketi, ki jih obravnavamo
|
|
private $data_v1 = array(); // odgovori za predmete
|
|
private $data_v2 = array(); // odgovori za obremenitev s predmetom
|
|
private $data_i = array(); // odgovori za izvajalce
|
|
|
|
|
|
function __construct($anketa){
|
|
global $site_url;
|
|
|
|
// Ce imamo anketo, smo v status->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();
|
|
}
|
|
|
|
$this->cacheData();
|
|
}
|
|
|
|
|
|
// Zgeneriramo pdf analizo
|
|
public function executePDFExport($usr_id){
|
|
global $site_path;
|
|
global $lang;
|
|
global $admin_type;
|
|
|
|
// Zgeneriramo zacasne csv datoteke
|
|
$this->prepareCSV($usr_id);
|
|
|
|
$script = $site_path . SCRIPT_FOLDER . '/MFDPS.R';
|
|
|
|
$out = exec('Rscript '.$script.' 2>&1', $output, $return_var);
|
|
|
|
// Testiranje - izpis errorjev
|
|
if($admin_type == 0){
|
|
echo '<div>';
|
|
echo 'Rscript '.$script;
|
|
//echo '<br />'.$out.'<br />';
|
|
var_dump($output);
|
|
echo '</div>';
|
|
}
|
|
|
|
$pdf_name = 'MFDPS';
|
|
|
|
// Pripravimo file za download
|
|
if(file_exists($site_path . RESULTS_FOLDER . '/'.$pdf_name.'.pdf')){
|
|
|
|
$file = $site_path . RESULTS_FOLDER . '/'.$pdf_name.'.pdf';
|
|
|
|
header('Content-Description: File Transfer');
|
|
//header('Content-Type: application/octet-stream');
|
|
header('Content-Disposition: attachment; filename='.basename(''.$pdf_name.'.pdf'));
|
|
|
|
header("Content-type: text/x-csv; charset=utf-8");
|
|
//header("Content-type: text/csv");
|
|
|
|
header('Content-Transfer-Encoding: binary');
|
|
header('Expires: 0');
|
|
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
|
|
header('Pragma: public');
|
|
header('Content-Length: ' . filesize($file));
|
|
|
|
ob_clean();
|
|
flush();
|
|
|
|
readfile($file);
|
|
}
|
|
|
|
// Na koncu pobrisemo zacasne datoteke
|
|
$this->deleteTemp();
|
|
|
|
// Ugasnemo skripto:)
|
|
die();
|
|
}
|
|
|
|
// Pripravimo zacasne datoteke
|
|
private function prepareCSV($usr_id){
|
|
global $site_path;
|
|
|
|
$temp_folder = $site_path . TEMP_FOLDER.'/';
|
|
|
|
$SDF = SurveyDataFile::get_instance();
|
|
$SDF->init($this->anketa);
|
|
$_headFileName = $SDF->getHeaderFileName();
|
|
$_dataFileName = $SDF->getDataFileName();
|
|
$_fileStatus = $SDF->getStatus();
|
|
|
|
if ($_headFileName != null && $_headFileName != '') {
|
|
$_HEADERS = unserialize(file_get_contents($_headFileName));
|
|
}
|
|
else {
|
|
echo 'Error! Empty file name!';
|
|
}
|
|
|
|
// Zaenkrat dopuscamo samo status 6 in brez lurkerjev
|
|
$status_filter = '('.STATUS_FIELD.' ~ /6|5/)&&('.LURKER_FIELD.'==0)';
|
|
//$status_filter = '('.STATUS_FIELD.'==6)&&('.LURKER_FIELD.'==0)';
|
|
|
|
//$start_sequence = $_HEADERS['_settings']['dataSequence'];
|
|
$start_sequence = 1;
|
|
$end_sequence = $_HEADERS['_settings']['metaSequence']-1;
|
|
|
|
$field_delimit = ';';
|
|
|
|
// Filtriramo podatke po statusu in jih zapisemo v temp folder
|
|
if (IS_WINDOWS) {
|
|
$out = shell_exec('awk -F"|" "BEGIN {{OFS=\",\"} {ORS=\"\n\"}} '.$status_filter.'" '.$_dataFileName.' | cut -d "|" -f '.$start_sequence.'-'.$end_sequence.' >> '.$temp_folder.'/temp_data_'.$this->anketa.'.dat');
|
|
}
|
|
else {
|
|
$out = shell_exec('awk -F"|" \'BEGIN {{OFS=","} {ORS="\n"}} '.$status_filter.'\' '.$_dataFileName.' | cut -d \'|\' -f '.$start_sequence.'-'.$end_sequence.' >> '.$temp_folder.'/temp_data_'.$this->anketa.'.dat');
|
|
}
|
|
|
|
|
|
// Ustvarimo koncni CSV
|
|
if ($fd = fopen($temp_folder.'/temp_data_'.$this->anketa.'.dat', "r")) {
|
|
|
|
$fd2 = fopen($temp_folder.'/mfdps.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($fd2, $convertTypes[$convertType]['BOMchar']);
|
|
|
|
# naredimo header row
|
|
foreach ($_HEADERS AS $spid => $spremenljivka) {
|
|
if (count($spremenljivka['grids']) > 0) {
|
|
foreach ($spremenljivka['grids'] AS $gid => $grid) {
|
|
foreach ($grid['variables'] AS $vid => $variable ){
|
|
if ($spremenljivka['tip'] !== 'sm' && !($variable['variable'] == 'uid' && $variable['naslov'] == 'User ID')){
|
|
$output1 .= strip_tags($variable['variable']).$field_delimit;
|
|
$output2 .= '"'.strip_tags($variable['naslov']).'"'.$field_delimit;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fwrite($fd2, $output1."\r\n");
|
|
fwrite($fd2, $output2."\r\n");
|
|
|
|
$sqlD = sisplet_query("SELECT id, recnum FROM srv_user WHERE id='".$usr_id."'");
|
|
$rowD = mysqli_fetch_array($sqlD);
|
|
|
|
while ($line = fgets($fd)) {
|
|
|
|
$temp = array();
|
|
$temp = explode('|', $line);
|
|
|
|
// Izpisemo samo vrstico z ustreznim id-jem
|
|
if($rowD['id'] == $temp[0]){
|
|
|
|
// Pobrisemo prvo polje user id), ker ga ne rabimo vec
|
|
$line = substr($line, strpos($line, '|')+1);
|
|
|
|
$line = '"' . str_replace(array("\r","\n","\"","|", "\'"), array("","","",'";"', "'"), $line) . '"';
|
|
|
|
// Spremenimo encoding v windows-1250
|
|
//$line = iconv("UTF-8","Windows-1250//TRANSLIT", $line);
|
|
|
|
fwrite($fd2, $line);
|
|
fwrite($fd2, "\r\n");
|
|
}
|
|
}
|
|
|
|
fclose($fd2);
|
|
}
|
|
fclose($fd);
|
|
|
|
|
|
// Na koncu pobrisemo temp datoteke
|
|
if (file_exists($temp_folder.'/temp_data_'.$this->anketa.'.dat')) {
|
|
unlink($temp_folder.'/temp_data_'.$this->anketa.'.dat');
|
|
}
|
|
}
|
|
|
|
// Pobrisemo zacasne datoteke
|
|
private function deleteTemp(){
|
|
global $site_path;
|
|
|
|
$temp_folder = $site_path . TEMP_FOLDER.'/';
|
|
|
|
if (file_exists($temp_folder.'/data_'.$this->anketa.'.csv')) {
|
|
unlink($temp_folder.'/data_'.$this->anketa.'.csv');
|
|
}
|
|
|
|
// Pobrisemo zacasno CSV datoteko s podatki
|
|
if (file_exists($temp_folder.'/mfdps.csv')) {
|
|
unlink($temp_folder.'/mfdps.csv');
|
|
}
|
|
|
|
// Pobrisemo pdf grafe ki so bili vstavljeni v porocilo
|
|
$files = glob($site_path . RESULTS_FOLDER . '/part-predmet-slike/*');
|
|
foreach($files as $file){
|
|
if(is_file($file))
|
|
unlink($file);
|
|
}
|
|
|
|
// Pobrisemo še vse ostalo v rezultatih
|
|
$files = glob($site_path . RESULTS_FOLDER . '/*');
|
|
foreach($files as $file){
|
|
if(is_file($file))
|
|
unlink($file);
|
|
}
|
|
}
|
|
|
|
|
|
// Zgeneriramo poseben xls mfdps export
|
|
public function executeExportPredmeti(){
|
|
global $site_path;
|
|
global $lang;
|
|
global $admin_type;
|
|
|
|
$temp_folder = $site_path . TEMP_FOLDER.'/';
|
|
|
|
$file_handler = fopen($temp_folder.'mfdps_'.$this->anketa.'_predmeti.xls',"w");
|
|
|
|
$convertType = 1; // kateri tip konvertiranja uporabimo
|
|
$convertTypes[1] = array('charSet' => "windows-1250",
|
|
'delimit' => ";",
|
|
'newLine' => "\n",
|
|
'BOMchar' => "\xEF\xBB\xBF");
|
|
|
|
# dodami boomchar za utf-8
|
|
fwrite($file_handler, $convertTypes[$convertType]['BOMchar']);
|
|
|
|
fwrite($file_handler,'<table border="1">');
|
|
|
|
// Prva vrstica tabele
|
|
$row1 = '<tr>';
|
|
$row1 .= '<td>št. respondenta</td>';
|
|
$row1 .= '<td>študijski program</td>';
|
|
$row1 .= '<td>letnik</td>';
|
|
$row1 .= '<td>MPREH</td>';
|
|
$row1 .= '<td>NACIN</td>';
|
|
$row1 .= '<td>SPOL</td>';
|
|
$row1 .= '<td>STAROST</td>';
|
|
$row1 .= '<td>ZAPOSL</td>';
|
|
$row1 .= '<td>DOBREMEN</td>';
|
|
$row1 .= '<td>predmet</td>';
|
|
$row1 .= '<td>predmet (a)</td>';
|
|
$row1 .= '<td>predmet (b)</td>';
|
|
$row1 .= '<td>predmet (c)</td>';
|
|
$row1 .= '<td>predmet (d)</td>';
|
|
$row1 .= '<td>predmet (e)</td>';
|
|
$row1 .= '<td>predmet (f)</td>';
|
|
$row1 .= '<td>predmet (g)</td>';
|
|
$row1 .= '<td>predmet (h)</td>';
|
|
$row1 .= '<td>Obremenitev s premetom</td>';
|
|
$row1 .= '</tr>';
|
|
|
|
fwrite($file_handler, $row1);
|
|
|
|
// Druga vrstica tabele
|
|
$row2 = '<tr>';
|
|
$row2 .= '<td>RECNUM</td>';
|
|
$row2 .= '<td>PROGRAM</td>';
|
|
$row2 .= '<td>letnik</td>';
|
|
$row2 .= '<td>Ste vpisani po merilih za prehode?</td>';
|
|
$row2 .= '<td>Način študija</td>';
|
|
$row2 .= '<td>Spol</td>';
|
|
$row2 .= '<td>Starost</td>';
|
|
$row2 .= '<td>Zaposlitev</td>';
|
|
$row2 .= '<td>Z delom, ki ga poleg študija opravljam, sem tedensko obremenjen</td>';
|
|
$row2 .= '<td>PREDMET</td>';
|
|
$row2 .= '<td>Pri predmetu sem dobil novo znanje.</td>';
|
|
$row2 .= '<td>Predmet je izpolnil moja pričakovanja.</td>';
|
|
$row2 .= '<td>Predavanj in vaj sem se z veseljem udeleževal.</td>';
|
|
$row2 .= '<td>Predmet priporočam tudi drugim.</td>';
|
|
$row2 .= '<td>Na voljo sem imel dovolj ustrezne literature.</td>';
|
|
$row2 .= '<td>Sprotno ocenjevanje me je spodbujalo k učenju.</td>';
|
|
$row2 .= '<td>E-učilnica ustrezno podpira študij pri predmetu.</td>';
|
|
$row2 .= '<td>S predmetom sem bil na splošno zadovoljen.</td>';
|
|
$row2 .= '<td></td>';
|
|
$row2 .= '</tr>';
|
|
|
|
fwrite($file_handler, $row2);
|
|
|
|
// Loop po podatkih
|
|
$sql = sisplet_query("SELECT id, ank_id, recnum, last_status, preview, testdata, deleted FROM srv_user
|
|
WHERE ank_id='".$this->anketa."' AND deleted='0' AND preview='0' AND (last_status='5' OR last_status='6') ORDER BY recnum");
|
|
while($row = mysqli_fetch_array($sql)){
|
|
|
|
// Vprasanja za katera delamo izvoz (splosna)
|
|
$values = array('recnum' => $row['recnum']);
|
|
$variable = array('PROGR','LETNIK','MPREH','NACIN','SPOL','STAROST','ZAPOSL','DOBREMEN');
|
|
foreach($variable as $var){
|
|
if(isset($this->data_splosna[$row['id']][$var]))
|
|
$values[$var] = $this->data_splosna[$row['id']][$var];
|
|
else
|
|
$values[$var] = '-2';
|
|
}
|
|
|
|
// Loop po predmetih
|
|
foreach($this->vprasanja as $predmet){
|
|
|
|
$rowData = '';
|
|
$empty = true;
|
|
|
|
$values2 = array();
|
|
unset($values2);
|
|
|
|
// Ime predmeta
|
|
$values2[0] = $predmet['naslov'];
|
|
|
|
// Odgovori za predmet
|
|
for($i=1; $i<=8; $i++){
|
|
if(isset($this->data_v1[$row['id']][$predmet['variable'].'V1'][$i])){
|
|
$values2[$i] = $this->data_v1[$row['id']][$predmet['variable'].'V1'][$i];
|
|
$empty = false;
|
|
}
|
|
else{
|
|
$values2[$i] = '-2';
|
|
}
|
|
}
|
|
|
|
// Odgovor za obremenjenost s predmetom
|
|
if(isset($this->data_v2[$row['id']][$predmet['variable'].'V2'])){
|
|
$values2[9] = $this->data_v2[$row['id']][$predmet['variable'].'V2'];
|
|
$empty = false;
|
|
}
|
|
else{
|
|
$values2[9] = '-2';
|
|
}
|
|
|
|
|
|
// Izpis vrstice
|
|
if($empty == false){
|
|
$rowData = '<tr>';
|
|
|
|
// Izpisemo rezultate v svojo celico (prvih 9 celic, ki ni vezanih na predmet)
|
|
foreach($values as $val){
|
|
$rowData .= '<td>';
|
|
$rowData .= $val;
|
|
$rowData .= '</td>';
|
|
}
|
|
|
|
// Izpisemo rezultate v svojo celico
|
|
foreach($values2 as $val){
|
|
$rowData .= '<td>';
|
|
$rowData .= $val;
|
|
$rowData .= '</td>';
|
|
}
|
|
|
|
$rowData .= '</tr>';
|
|
|
|
fwrite($file_handler, $rowData);
|
|
}
|
|
}
|
|
}
|
|
|
|
fwrite($file_handler, '</table>');
|
|
fclose($file_handler);
|
|
|
|
|
|
ob_clean();
|
|
|
|
$file_url = $temp_folder.'mfdps_'.$this->anketa.'_predmeti.xls';
|
|
header('Content-Type: application/vnd.ms-excel; charset="'.$convertTypes[$convertType]['charSet'].'"');
|
|
header("Content-Transfer-Encoding: Binary");
|
|
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
|
|
readfile($file_url);
|
|
|
|
unlink ($temp_folder.'mfdps_'.$this->anketa.'_predmeti.xls');
|
|
|
|
exit;
|
|
}
|
|
|
|
// Zgeneriramo poseben xls mfdps export
|
|
public function executeExportIzvajalci(){
|
|
global $site_path;
|
|
global $lang;
|
|
global $admin_type;
|
|
|
|
$temp_folder = $site_path . TEMP_FOLDER.'/';
|
|
|
|
$file_handler = fopen($temp_folder.'mfdps_'.$this->anketa.'_izvajalci.xls',"w");
|
|
|
|
$convertType = 1; // kateri tip konvertiranja uporabimo
|
|
$convertTypes[1] = array('charSet' => "windows-1250",
|
|
'delimit' => ";",
|
|
'newLine' => "\n",
|
|
'BOMchar' => "\xEF\xBB\xBF");
|
|
|
|
# dodami boomchar za utf-8
|
|
fwrite($file_handler, $convertTypes[$convertType]['BOMchar']);
|
|
|
|
fwrite($file_handler,'<table border="1">');
|
|
|
|
// Prva vrstica tabele
|
|
$row1 = '<tr>';
|
|
$row1 .= '<td>št. respondenta</td>';
|
|
$row1 .= '<td>študijski program</td>';
|
|
$row1 .= '<td>izvajalec</td>';
|
|
$row1 .= '<td>izvajalec (a)</td>';
|
|
$row1 .= '<td>izvajalec (b)</td>';
|
|
$row1 .= '<td>izvajalec (c)</td>';
|
|
$row1 .= '<td>izvajalec (d)</td>';
|
|
$row1 .= '<td>izvajalec (e)</td>';
|
|
$row1 .= '<td>izvajalec (f)</td>';
|
|
$row1 .= '<td>izvajalec (g)</td>';
|
|
$row1 .= '<td>izvajalec (h)</td>';
|
|
$row1 .= '</tr>';
|
|
|
|
fwrite($file_handler, $row1);
|
|
|
|
// Druga vrstica tabele
|
|
$row2 = '<tr>';
|
|
$row2 .= '<td>RECNUM</td>';
|
|
$row2 .= '<td>PROGRAM</td>';
|
|
$row2 .= '<td>IZVAJALEC</td>';
|
|
$row2 .= '<td>Vsebino predmeta je predstavil jasno in informativno.</td>';
|
|
$row2 .= '<td>Dobro je poznal vsebino predmeta.</td>';
|
|
$row2 .= '<td>Na poučevanje je bil pripravljen in dobro organiziran.</td>';
|
|
$row2 .= '<td>Spodbujal je k sodelovanju v razpravah, postavljanju vprašanj in izražanju mnenj.</td>';
|
|
$row2 .= '<td>Odzival se je na naša vprašanja in komentarje.</td>';
|
|
$row2 .= '<td>Do nas je imel korekten odnos.</td>';
|
|
$row2 .= '<td>Povezoval je vsebine predmeta s prakso.</td>';
|
|
$row2 .= '<td>Z izvajalcem sem na splošno zadovoljen.</td>';
|
|
$row2 .= '</tr>';
|
|
|
|
fwrite($file_handler, $row2);
|
|
|
|
// Loop po podatkih
|
|
$sql = sisplet_query("SELECT id, ank_id, recnum, last_status, preview, testdata, deleted FROM srv_user
|
|
WHERE ank_id='".$this->anketa."' AND deleted='0' AND preview='0' AND (last_status='5' OR last_status='6') ORDER BY recnum");
|
|
while($row = mysqli_fetch_array($sql)){
|
|
|
|
// Vprasanja za katera delamo izvoz (splosna)
|
|
$values = array('recnum' => $row['recnum']);
|
|
$variable = array('PROGR');
|
|
foreach($variable as $var){
|
|
if(isset($this->data_splosna[$row['id']][$var]))
|
|
$values[$var] = $this->data_splosna[$row['id']][$var];
|
|
else
|
|
$values[$var] = '-2';
|
|
}
|
|
|
|
// Loop po izvajalcih
|
|
if(isset($this->data_i[$row['id']])){
|
|
foreach($this->data_i[$row['id']] as $izvajalec){
|
|
|
|
$rowData = '';
|
|
$empty = true;
|
|
|
|
$values2 = array();
|
|
unset($values2);
|
|
|
|
for($i=1; $i<=8; $i++){
|
|
|
|
if(isset($izvajalec[$i])){
|
|
|
|
// Ime izvajalca
|
|
$values2[0] = $izvajalec[1]['naslov'];
|
|
$values2[$i] = $izvajalec[$i]['val'];
|
|
|
|
$empty = false;
|
|
}
|
|
else{
|
|
$values2[$i] = '-2';
|
|
}
|
|
}
|
|
|
|
|
|
// Izpis vrstice
|
|
if($empty == false){
|
|
$rowData = '<tr>';
|
|
|
|
// Izpisemo rezultate v svojo celico (prvih 9 celic, ki ni vezanih na predmet)
|
|
foreach($values as $val){
|
|
$rowData .= '<td>';
|
|
$rowData .= $val;
|
|
$rowData .= '</td>';
|
|
}
|
|
|
|
// Izpisemo rezultate v svojo celico
|
|
foreach($values2 as $val){
|
|
$rowData .= '<td>';
|
|
$rowData .= $val;
|
|
$rowData .= '</td>';
|
|
}
|
|
|
|
$rowData .= '</tr>';
|
|
|
|
fwrite($file_handler, $rowData);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fwrite($file_handler, '</table>');
|
|
fclose($file_handler);
|
|
|
|
|
|
ob_clean();
|
|
|
|
$file_url = $temp_folder.'mfdps_'.$this->anketa.'_izvajalci.xls';
|
|
header('Content-Type: application/vnd.ms-excel; charset="'.$convertTypes[$convertType]['charSet'].'"');
|
|
header("Content-Transfer-Encoding: Binary");
|
|
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
|
|
readfile($file_url);
|
|
|
|
unlink ($temp_folder.'mfdps_'.$this->anketa.'_izvajalci.xls');
|
|
|
|
exit;
|
|
}
|
|
|
|
|
|
// Nastavimo imena vprasanj za vse predmete
|
|
private function cacheData(){
|
|
|
|
// Napolnimo vprasanja
|
|
$sql = sisplet_query("SELECT s.id, s.naslov, s.variable
|
|
FROM srv_spremenljivka s, srv_grupa g
|
|
WHERE s.gru_id=g.id AND g.ank_id='".$this->anketa."'
|
|
AND s.variable LIKE 'P%' AND s.variable LIKE '%IME' AND SUBSTR(s.variable,2,1) in (1,2,3,4,5,6,7,8,9,0)");
|
|
while($row = mysqli_fetch_array($sql)){
|
|
|
|
$number = substr($row['variable'], 1, -3);
|
|
|
|
$this->vprasanja[$number]['naslov'] = strip_tags($row['naslov']);
|
|
$this->vprasanja[$number]['id'] = $row['id'];
|
|
$this->vprasanja[$number]['variable'] = substr($row['variable'], 0, -3);
|
|
}
|
|
ksort($this->vprasanja);
|
|
|
|
|
|
// Napolnimo odgovore za splosna vprasanja
|
|
$variable = array('PROGR','LETNIK','MPREH','NACIN','SPOL','STAROST','ZAPOSL','DOBREMEN');
|
|
foreach($variable as $var){
|
|
|
|
$sql = sisplet_query("SELECT v.naslov, v.variable, d.usr_id
|
|
FROM srv_grupa g, srv_spremenljivka s, srv_vrednost v, srv_data_vrednost".$this->db_table." d
|
|
WHERE s.variable='".$var."' AND g.ank_id='".$this->anketa."'
|
|
AND s.id=v.spr_id AND s.gru_id=g.id AND d.vre_id=v.id AND d.spr_id=s.id");
|
|
while($row = mysqli_fetch_array($sql)){
|
|
|
|
if($var == 'PROGR')
|
|
$this->data_splosna[$row['usr_id']][$var] = $row['naslov'];
|
|
else
|
|
$this->data_splosna[$row['usr_id']][$var] = $row['variable'];
|
|
}
|
|
}
|
|
|
|
|
|
// Napolnimo odgovore za predmete
|
|
foreach($this->vprasanja as $predmet){
|
|
|
|
$sql = sisplet_query("SELECT v.vrstni_red, d.usr_id, d.grd_id
|
|
FROM srv_grupa g, srv_spremenljivka s, srv_vrednost v, srv_data_grid".$this->db_table." d
|
|
WHERE s.variable='".$predmet['variable']."V1' AND g.ank_id='".$this->anketa."'
|
|
AND s.id=v.spr_id AND s.gru_id=g.id AND d.vre_id=v.id AND d.spr_id=s.id
|
|
ORDER BY v.vrstni_red ASC");
|
|
while($row = mysqli_fetch_array($sql)){
|
|
// Nekje je stevilcenje narobe - (1 2 3 4 5 6 7 9?) - NAJLAZJE TAKO POPRAVIT:)
|
|
$i = ($row['vrstni_red'] <= 8) ? $row['vrstni_red'] : 8;
|
|
|
|
$this->data_v1[$row['usr_id']][$predmet['variable'].'V1'][$i] = $row['grd_id'];
|
|
}
|
|
}
|
|
|
|
|
|
// Napolnimo odgovore za obremenjenost s predmetom
|
|
foreach($this->vprasanja as $predmet){
|
|
|
|
$sql = sisplet_query("SELECT v.naslov, v.variable, d.usr_id
|
|
FROM srv_grupa g, srv_spremenljivka s, srv_vrednost v, srv_data_vrednost".$this->db_table." d
|
|
WHERE s.variable='".$predmet['variable']."V2' AND g.ank_id='".$this->anketa."'
|
|
AND s.id=v.spr_id AND s.gru_id=g.id AND d.vre_id=v.id AND d.spr_id=s.id");
|
|
while($row = mysqli_fetch_array($sql)){
|
|
$this->data_v2[$row['usr_id']][$predmet['variable'].'V2'] = $row['variable'];
|
|
}
|
|
}
|
|
|
|
|
|
// Napolnimo odgovore za izvajalce
|
|
foreach($this->vprasanja as $predmet){
|
|
|
|
$sql = sisplet_query("SELECT s.naslov, s.variable, v.vrstni_red, d.usr_id, d.grd_id
|
|
FROM srv_grupa g, srv_spremenljivka s, srv_vrednost v, srv_data_grid".$this->db_table." d
|
|
WHERE s.variable LIKE '".$predmet['variable']."I%'
|
|
AND g.ank_id='".$this->anketa."'
|
|
AND s.id=v.spr_id AND s.gru_id=g.id AND d.vre_id=v.id AND d.spr_id=s.id
|
|
ORDER BY v.vrstni_red ASC");
|
|
while($row = mysqli_fetch_array($sql)){
|
|
// Nekje je stevilcenje narobe - (1 2 3 4 5 6 7 9?) - NAJLAZJE TAKO POPRAVIT:)
|
|
$i = ($row['vrstni_red'] <= 8) ? $row['vrstni_red'] : 8;
|
|
|
|
$this->data_i[$row['usr_id']][$row['variable']][$i]['val'] = $row['grd_id'];
|
|
$this->data_i[$row['usr_id']][$row['variable']][$i]['naslov'] = substr($row['naslov'], 0, strpos($row['naslov'], ')')+1);
|
|
}
|
|
}
|
|
}
|
|
} |