diff --git a/admin/survey/modules/Evalvacija/class.Evalvacija.php b/admin/survey/modules/Evalvacija/class.Evalvacija.php index aaa217e69..2124e8a4f 100644 --- a/admin/survey/modules/Evalvacija/class.Evalvacija.php +++ b/admin/survey/modules/Evalvacija/class.Evalvacija.php @@ -30,7 +30,8 @@ class Evalvacija{ 'anketa_po' =>-1, 'anketa_splosna' =>-1, 'anketa_podipl' =>-1, - 'anketa_podipl2' =>-1 + 'anketa_podipl2' =>-1, + 'anketa_podipl3' =>-1 ); private $_dataFileName = null; # ime obstoječe datoteke na FS. @@ -456,6 +457,9 @@ class Evalvacija{ // SEDMI CSV - reseni podatki v anketi podiplomska 2 $this->prepareCSVData($this->exportSettings['anketa_podipl2'], 4); + + // OSMI CSV - reseni podatki v anketi podiplomska 3 + $this->prepareCSVData($this->exportSettings['anketa_podipl3'], 5); } // Pripravimo CSV s sifranti - profesorji s predmeti @@ -590,7 +594,7 @@ class Evalvacija{ fclose($file); } - // Pripravimo CSV s podatki resene ankete ($type: 0->anketa_pred, 1->anketa_po, 2->splosna, 3->podipl, 4->podipl2) + // Pripravimo CSV s podatki resene ankete ($type: 0->anketa_pred, 1->anketa_po, 2->splosna, 3->podipl, 4->podipl2, 5->podipl3) private function prepareCSVData($anketa, $type=0){ global $site_path; @@ -639,6 +643,8 @@ class Evalvacija{ $name = 'anketa_podipl'; elseif($type == 4) $name = 'anketa_podipl2'; + elseif($type == 5) + $name = 'anketa_podipl3'; $fd2 = fopen($temp_folder.'/'.$name.'_'.$this->fakultete[$this->exportSettings['fakulteta']]['kratica'].'.csv', "w"); @@ -843,6 +849,9 @@ class Evalvacija{ $csv = 'anketa_podipl2_'.$fakulteta.'.csv'; $zip->addFile($temp_folder.$csv, $csv); + + $csv = 'anketa_podipl3_'.$fakulteta.'.csv'; + $zip->addFile($temp_folder.$csv, $csv); $csv = 'programi_'.$fakulteta.'.csv'; $zip->addFile($temp_folder.$csv, $csv); @@ -1630,6 +1639,22 @@ class Evalvacija{ echo ''; } } + elseif($_GET['ank_type'] == 'anketa_podipl3'){ + + echo ''; + echo 'Študent'; + echo 'ID ankete'; + echo ''; + + $sql = sisplet_query("SELECT * FROM eval_data_podipl3 WHERE ank_id='".$ank_id."' ORDER BY student ASC"); + while($row = mysqli_fetch_array($sql)){ + + echo ''; + echo ''.$row['student'].''; + echo ''.$row['ank_id'].''; + echo ''; + } + } echo ''; } @@ -1656,6 +1681,7 @@ class Evalvacija{ echo 'Splošna anketa'; echo 'Podiplomska anketa'; echo 'Podiplomska anketa 2'; + echo 'Podiplomska anketa 3'; echo 'Aktivna'; echo ''; @@ -1689,149 +1715,17 @@ class Evalvacija{ echo ' '.$rowF['anketa_podipl2'].' (podatki)'; echo ''; + echo ''; + echo ' '.$rowF['anketa_podipl3'].' (podatki)'; + echo ''; + echo ''.$rowF['active'].''; echo ''; } echo ''; - } - - - // Tabela z anketami - STARO - // Najprej napolnimo array - /*$surveysArray = array(); - $sqlA = sisplet_query("SELECT id, naslov FROM srv_anketa WHERE id!='0' AND id!='-1'"); - while($rowA = mysqli_fetch_array($sqlA)){ - $sqlStudent = sisplet_query("SELECT * FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='".$rowA['id']."' AND s.gru_id=g.id AND s.sistem='1' AND s.variable='sifstud'"); - $sqlPredmet = sisplet_query("SELECT * FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='".$rowA['id']."' AND s.gru_id=g.id AND s.sistem='1' AND s.variable='sifpredm'"); - $sqlFaks = sisplet_query("SELECT * FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='".$rowA['id']."' AND s.gru_id=g.id AND s.sistem='1' AND s.variable='siffaks'"); - $sqlIzvajalec = sisplet_query("SELECT * FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='".$rowA['id']."' AND s.gru_id=g.id AND s.sistem='1' AND s.variable='sifizv1'"); - $sqlPodipl = sisplet_query("SELECT * FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='".$rowA['id']."' AND s.gru_id=g.id AND s.sistem='1' AND s.variable='podipl'"); - - // Ce ni sifre studenta je napaka - mora biti vedno - if(mysqli_num_rows($sqlStudent) == 0) - $surveysArray['none'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - else{ - // je siffaks - obravnava se kot druga fakulteta - if(mysqli_num_rows($sqlFaks) > 0){ - if(mysqli_num_rows($sqlPredmet) > 0){ - if(mysqli_num_rows($sqlIzvajalec) > 0) - $surveysArray['druga']['pred'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - else - $surveysArray['druga']['po'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - } - else{ - if(mysqli_num_rows($sqlPodipl) > 0) - $surveysArray['druga']['podiplomska'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - else - $surveysArray['druga']['splosna'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - } - } - // ni siffaks - FDV - else{ - if(mysqli_num_rows($sqlPredmet) > 0){ - if(mysqli_num_rows($sqlIzvajalec) > 0) - $surveysArray['fdv']['pred'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - else - $surveysArray['fdv']['po'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - } - else{ - if(mysqli_num_rows($sqlPodipl) > 0) - $surveysArray['fdv']['podiplomska'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - else - $surveysArray['fdv']['splosna'][] = array('id'=>$rowA['id'], 'naslov'=>$rowA['naslov']); - } - } - } - } - - // Izrisemo tabelo - echo ''; - - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - foreach($surveysArray['fdv']['pred'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - foreach($surveysArray['fdv']['po'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - foreach($surveysArray['fdv']['splosna'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - foreach($surveysArray['fdv']['podiplomska'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - - foreach($surveysArray['druga']['pred'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - foreach($surveysArray['druga']['po'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - foreach($surveysArray['druga']['splosna'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - foreach($surveysArray['druga']['podiplomska'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - - foreach($surveysArray['none'] as $anketa){ - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - - echo '
IDNaslovFakultetaTip študentske ankete
'.$anketa['id'].''.$anketa['naslov'].'FDVAnketa PRED
'.$anketa['id'].''.$anketa['naslov'].'FDVAnketa PO
'.$anketa['id'].''.$anketa['naslov'].'FDVSplošna anketa
'.$anketa['id'].''.$anketa['naslov'].'FDVPodiplomska anketa
'.$anketa['id'].''.$anketa['naslov'].'DrugaAnketa PRED
'.$anketa['id'].''.$anketa['naslov'].'DrugaAnketa PO
'.$anketa['id'].''.$anketa['naslov'].'DrugaSplošna anketa
'.$anketa['id'].''.$anketa['naslov'].'DrugaPodiplomska anketa
'.$anketa['id'].''.$anketa['naslov'].'NI SPREMENLJIVKE "sifstud"!
'; */ - + } echo ''; } @@ -2726,7 +2620,15 @@ class Evalvacija{ // Pridobimo id fakultete glede na id ankete function getFakultetaId($ank_id){ - $sql = sisplet_query("SELECT * FROM eval_fakulteta WHERE anketa_pred='".$ank_id."' OR anketa_po='".$ank_id."' OR anketa_splosna='".$ank_id."' OR anketa_podipl='".$ank_id."' OR anketa_podipl2='".$ank_id."'"); + $sql = sisplet_query("SELECT * + FROM eval_fakulteta + WHERE anketa_pred='".$ank_id."' + OR anketa_po='".$ank_id."' + OR anketa_splosna='".$ank_id."' + OR anketa_podipl='".$ank_id."' + OR anketa_podipl2='".$ank_id."' + OR anketa_podipl3='".$ank_id."' + "); if(mysqli_num_rows($sql) == 0){ echo 'Anketa ne pripada nobeni članici!'; @@ -2768,6 +2670,7 @@ class Evalvacija{ $this->exportSettings['anketa_splosna'] = isset($this->fakultete[$this->exportSettings['fakulteta']]['anketa_splosna']) ? $this->fakultete[$this->exportSettings['fakulteta']]['anketa_splosna'] : -1; $this->exportSettings['anketa_podipl'] = isset($this->fakultete[$this->exportSettings['fakulteta']]['anketa_podipl']) ? $this->fakultete[$this->exportSettings['fakulteta']]['anketa_podipl'] : -1; $this->exportSettings['anketa_podipl2'] = isset($this->fakultete[$this->exportSettings['fakulteta']]['anketa_podipl2']) ? $this->fakultete[$this->exportSettings['fakulteta']]['anketa_podipl2'] : -1; + $this->exportSettings['anketa_podipl3'] = isset($this->fakultete[$this->exportSettings['fakulteta']]['anketa_podipl3']) ? $this->fakultete[$this->exportSettings['fakulteta']]['anketa_podipl3'] : -1; $this->testExport(); } diff --git a/admin/survey/modules/Evalvacija/sql.sql b/admin/survey/modules/Evalvacija/sql.sql index 1fdfe3ce8..ec3823315 100644 --- a/admin/survey/modules/Evalvacija/sql.sql +++ b/admin/survey/modules/Evalvacija/sql.sql @@ -422,3 +422,12 @@ CREATE TABLE eval_data_podipl2 ( ank_id INT(11) NOT NULL, PRIMARY KEY (student) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +# 21.7.2021 +ALTER TABLE eval_fakulteta ADD anketa_podipl3 INT(11) NOT NULL DEFAULT '0' AFTER anketa_podipl2; + +CREATE TABLE eval_data_podipl3 ( + student VARCHAR(50) NOT NULL, + ank_id INT(11) NOT NULL, + PRIMARY KEY (student) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/main/survey/app/Controllers/BodyController.php b/main/survey/app/Controllers/BodyController.php index d151d55ae..55bf0ce69 100644 --- a/main/survey/app/Controllers/BodyController.php +++ b/main/survey/app/Controllers/BodyController.php @@ -676,6 +676,7 @@ class BodyController extends Controller $sql4 = sisplet_query("SELECT d.* FROM srv_spremenljivka s, srv_grupa g, srv_data_text" . get('db_table') . " d WHERE g.ank_id='" . get('anketa') . "'AND s.gru_id=g.id AND s.sistem='1' AND s.variable='sifizv1' AND d.spr_id=s.id AND d.usr_id='" . get('usr_id') . "'"); $sql5 = sisplet_query("SELECT s.* FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='" . get('anketa') . "'AND s.gru_id=g.id AND s.sistem='1' AND s.variable='podipl'"); $sql6 = sisplet_query("SELECT s.* FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='" . get('anketa') . "'AND s.gru_id=g.id AND s.sistem='1' AND s.variable='podipl2'"); + $sql7 = sisplet_query("SELECT s.* FROM srv_spremenljivka s, srv_grupa g WHERE g.ank_id='" . get('anketa') . "'AND s.gru_id=g.id AND s.sistem='1' AND s.variable='podipl3'"); // Ce imamo sifro predmeta gre za anketo za ocenjevanje predmetov if (mysqli_num_rows($sql2) > 0) { @@ -714,6 +715,16 @@ class BodyController extends Controller // Pobrisemo md5 (id studenta) iz zacasne tabele eval_data_user zaradi anonimnosti sisplet_query("DELETE FROM eval_data_user WHERE usr_id='".get('usr_id')."' AND ank_id='".get('anketa')."'"); } + // splosna PODIPLOMSKA anketa 3 (ena na studenta, brez predmetov) + elseif (mysqli_num_rows($sql7) > 0) { + $row1 = mysqli_fetch_array($sql1); + + // student je v celoti odgovoril na anketo + sisplet_query("INSERT INTO eval_data_podipl3 (student, ank_id) VALUES ('$row1[student]', '" . get('anketa') . "')"); + + // Pobrisemo md5 (id studenta) iz zacasne tabele eval_data_user zaradi anonimnosti + sisplet_query("DELETE FROM eval_data_user WHERE usr_id='".get('usr_id')."' AND ank_id='".get('anketa')."'"); + } // SPLOSNA anketa (ena na studenta, brez predmetov) elseif (mysqli_num_rows($sql1) > 0) { $row1 = mysqli_fetch_array($sql1); diff --git a/main/survey/class.EvalvacijaMain.php b/main/survey/class.EvalvacijaMain.php index fa7c3470e..141031223 100644 --- a/main/survey/class.EvalvacijaMain.php +++ b/main/survey/class.EvalvacijaMain.php @@ -239,6 +239,17 @@ class EvalvacijaMain { $return['prijava'] = false; } } + // Podiplomska anketa 3 + elseif($rowStudent['letnik'] == '3'){ + + // Preverimo ce je podiplomski student ze odgovarjal na splosno podiplomsko anketo 3 + $sql2 = sisplet_query("SELECT * FROM eval_data_podipl3 WHERE student='$student'"); + if (mysqli_num_rows($sql2) == 0){ + + $return['msg'] = 'Pred vnosom vpisnega lista morate izpolniti še podiplomsko anketo 3.'; + $return['prijava'] = false; + } + } } } } @@ -304,7 +315,7 @@ class EvalvacijaMain { if($ank_type == 'anketa_pred' || $ank_type == 'anketa_po' || $ank_type == 'anketa_splosna') $sqlStudent = sisplet_query("SELECT * FROM eval_student WHERE id_student='$student'"); else - $sqlStudent = sisplet_query("SELECT * FROM eval_student_podipl WHERE id_student='$student' AND (letnik='1' OR letnik='2')"); + $sqlStudent = sisplet_query("SELECT * FROM eval_student_podipl WHERE id_student='$student' AND (letnik='1' OR letnik='2' OR letnik='3')"); if(mysqli_num_rows($sqlStudent) > 0){ $rowStudent = mysqli_fetch_array($sqlStudent); @@ -321,6 +332,11 @@ class EvalvacijaMain { if($ank_type == 'anketa_podipl' && $rowStudent['letnik'] == '2'){ $ank_type = 'anketa_podipl2'; } + + // Pogledamo ce imamo slucajno podiplomsko anketo 3 + if($ank_type == 'anketa_podipl' && $rowStudent['letnik'] == '3'){ + $ank_type = 'anketa_podipl3'; + } // Dobimo id ustrezne ankete $ank_id = self::getFaksData($fakulteta, $ank_type); @@ -336,6 +352,8 @@ class EvalvacijaMain { $sql = sisplet_query("SELECT * FROM eval_data_podipl WHERE student='$student' AND ank_id='$ank_id'"); elseif($ank_type == 'anketa_podipl2') $sql = sisplet_query("SELECT * FROM eval_data_podipl2 WHERE student='$student' AND ank_id='$ank_id'"); + elseif($ank_type == 'anketa_podipl3') + $sql = sisplet_query("SELECT * FROM eval_data_podipl3 WHERE student='$student' AND ank_id='$ank_id'"); // Ce ze imamo odgovor studenta v bazi ga ne spustimo naprej if(mysqli_num_rows($sql) > 0) @@ -434,7 +452,7 @@ class EvalvacijaMain { $request .= '&nacinstud='.$rowStudent['nacin_studija']; } // Parametri za SPLOSNO anketo in za PODIPLOMSKO SPLOSNO anketo - elseif($ank_type == 'anketa_splosna' || $ank_type == 'anketa_podipl' || $ank_type == 'anketa_podipl2'){ + elseif($ank_type == 'anketa_splosna' || $ank_type == 'anketa_podipl' || $ank_type == 'anketa_podipl2' || $ank_type == 'anketa_podipl3'){ $request .= '&sifstud='.$student; $request .= '&siffaks='.$fakulteta; diff --git a/main/survey/podiplomska_anketa_uni.php b/main/survey/podiplomska_anketa_uni.php index fab557ea9..02e3ecebf 100644 --- a/main/survey/podiplomska_anketa_uni.php +++ b/main/survey/podiplomska_anketa_uni.php @@ -5,6 +5,7 @@ * File za redirekt na podiplomsko studentsko anketo - vsak student izpolni eno anketo * PODIPLOMSKA SPLOSNA ANKETA * PODIPLOMSKA SPLOSNA ANKETA 2 +* PODIPLOMSKA SPLOSNA ANKETA 3 */ include_once('../../function.php'); diff --git a/main/survey/studentska_prijava_podipl_uni.php b/main/survey/studentska_prijava_podipl_uni.php index a1a28a245..a17f0f576 100644 --- a/main/survey/studentska_prijava_podipl_uni.php +++ b/main/survey/studentska_prijava_podipl_uni.php @@ -2,7 +2,7 @@ /** * -* file za preverjat ali se student lahko prijavi na izpite/visji letnik - ce je izpolnil PODIPLOMSKO ANKETO oz. PODIPLOMSKO ANKETO 2 +* file za preverjat ali se student lahko prijavi na izpite/visji letnik - ce je izpolnil PODIPLOMSKO ANKETO oz. PODIPLOMSKO ANKETO 2 oz. PODIPLOMSKO ANKETO 3 * */