diff --git a/admin/survey/export/latexclasses/Vprasanja/BesediloLatex.php b/admin/survey/export/latexclasses/Vprasanja/BesediloLatex.php index af08378c0..b6e1247d6 100644 --- a/admin/survey/export/latexclasses/Vprasanja/BesediloLatex.php +++ b/admin/survey/export/latexclasses/Vprasanja/BesediloLatex.php @@ -143,8 +143,14 @@ class BesediloLatex extends LatexSurveyElement //if($steviloOken == 1 && $polozajBesedila == 0){ //ce imamo samo en kos besedila brez pripisanega texta //ureditev polja s podatki trenutnega uporabnika ###################################################### $rowVrednost = mysqli_fetch_array($sqlVrednosti); - //$sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' AND loop_id $loop_id"); - $sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' "); + + if($spremenljivke['tip'] == 21){ //ce je ta novo besedilo, ki je v uporabi + //$sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' AND loop_id $loop_id"); + $sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' "); + }elseif($spremenljivke['tip'] == 4){ //ce je ta staro besedilo, ki ni vec v uporabi vsaj 9 let (2020) + $sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' "); + } + $userAnswer = mysqli_fetch_assoc($sqlUserAnswer); //echo "userAnswer: ".$userAnswer['text']."
"; //ureditev polja s podatki trenutnega uporabnika - konec ############################################## @@ -226,10 +232,17 @@ class BesediloLatex extends LatexSurveyElement } //ureditev polja s podatki trenutnega uporabnika ###################################################### - //$sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' AND loop_id $loop_id"); - $sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' "); - $userAnswer = mysqli_fetch_assoc($sqlUserAnswer); - //echo "userAnswer: ".$userAnswer['text']."
"; + if($spremenljivke['tip'] == 21){ //ce je ta novo besedilo, ki je v uporabi + //$sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' AND loop_id $loop_id"); + $sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' "); + $userAnswer = mysqli_fetch_assoc($sqlUserAnswer); + //echo "userAnswer: ".$userAnswer['text']."
"; + }elseif($spremenljivke['tip'] == 4){ //ce je ta staro besedilo, ki ni vec v uporabi vsaj 9 let (2020) + //$sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' AND vre_id='".$rowVrednost['id']."' AND loop_id $loop_id"); + $sqlUserAnswer = sisplet_query("SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' "); + $userAnswer = mysqli_fetch_assoc($sqlUserAnswer); + //echo "userAnswer: ".$userAnswer['text']."
"; + } //ureditev polja s podatki trenutnega uporabnika - konec ############################################## //ce ni other ali missing diff --git a/admin/survey/export/latexclasses/class.LatexSurvey.php b/admin/survey/export/latexclasses/class.LatexSurvey.php index 20ae8d9a3..ef478214e 100644 --- a/admin/survey/export/latexclasses/class.LatexSurvey.php +++ b/admin/survey/export/latexclasses/class.LatexSurvey.php @@ -271,10 +271,6 @@ class LatexSurvey{ continue; } - if($rowSpremenljivke['tip'] == 4){ - $rowSpremenljivke['tip'] = 21; - } - if($export_subtype=='q_data'||$export_subtype=='q_data_all'){ //ce je vprasalnik s podatki za enega ali vse respondente $preveriSpremenljivko = $this->checkSpremenljivkaData($spremenljivka, $this->loop_id); }else{ //ce je prazen vprasalnik ali vprasalnik s komentarji @@ -362,10 +358,7 @@ class LatexSurvey{ //echo "ni admin za sprem: ".$rowSpremenljivke['id']."
"; continue; } - - if($rowSpremenljivke['tip'] == 4){ - $rowSpremenljivke['tip'] = 21; - } + //echo "Ni v loop-u:".$rowSpremenljivke['tip']."
"; if($export_subtype=='q_data'||$export_subtype=='q_data_all'){ //ce je vprasalnik s podatki za enega ali vse respondente $preveriSpremenljivko = $this->checkSpremenljivkaData($spremenljivka, $loop_id); @@ -775,8 +768,8 @@ class LatexSurvey{ //$row = sisplet_query("SELECT id, visible, dostop, tip, enota FROM srv_spremenljivka WHERE id = '".$spremenljivka."'", "array"); $sql = sisplet_query("SELECT id, visible, dostop, tip, enota FROM srv_spremenljivka WHERE id = '".$spremenljivka."'"); if (!$sql) echo mysqli_error($GLOBALS['connect_db']); - $row = mysqli_fetch_array($sql); - + $row = mysqli_fetch_array($sql); + // Ce vprasanje ni vidno ali ce uporabnik nima dostopa do vprasanja if ($row['visible'] == 0 || !( ($this->admin_type <= $row['dostop'] && $this->admin_type>=0) || ($this->admin_type==-1 && $row['dostop']==4) ) ) { return false; @@ -835,6 +828,13 @@ class LatexSurvey{ if($sqlUserAnswer->st > 0) $isEmpty = false; break; + + case 4: //besedilo* + $sqlUserAnswerString = "SELECT COUNT(*) AS st FROM srv_data_text".$this->db_table." WHERE spr_id='".$row['id']."' AND usr_id='".$this->usr_id."' AND loop_id $loop_id"; + $sqlUserAnswer = sisplet_query($sqlUserAnswerString, "obj"); + if($sqlUserAnswer->st > 0) + $isEmpty = false; + break; case 17: //ranking $sqlUserAnswerString = "SELECT COUNT(*) AS st FROM srv_data_rating WHERE spr_id=".$row['id']." AND usr_id='".$this->usr_id."' AND loop_id $loop_id"; @@ -1000,7 +1000,7 @@ class LatexSurvey{ $output .= ']'; // textbox in nubmer mata drugacne pogoje in opcije - } elseif ($row2['tip'] == 4 || $row2['tip'] == 21 || $row2['tip'] == 7 || $row2['tip'] == 22) { + } elseif ($row2['tip'] == 4 ||$row2['tip'] == 21 || $row2['tip'] == 7 || $row2['tip'] == 22) { if ($row['operator'] == 0) $output .= ' = '; @@ -1086,6 +1086,8 @@ class LatexSurvey{ $spr = Cache::srv_spremenljivka($spr_id); //echo "spr tip: ".$spr['tip']."
"; + + if ($spr['tip'] == 2 || $spr['tip'] == 3 || $spr['tip'] == 9) { $data_vrednost = array(); if($spr['tip'] == 9){ diff --git a/admin/survey/export/latexclasses/class.LatexSurveyElement.php b/admin/survey/export/latexclasses/class.LatexSurveyElement.php index 4bc6ed7d0..a8e188e99 100644 --- a/admin/survey/export/latexclasses/class.LatexSurveyElement.php +++ b/admin/survey/export/latexclasses/class.LatexSurveyElement.php @@ -110,7 +110,7 @@ class LatexSurveyElement{ self::$spremenljivka = $spremenljivke['id']; $row = Cache::srv_spremenljivka($spremenljivke['id']); $this->spremenljivkaParams = new enkaParameters($row['params']); - + // Ce je spremenljivka v loopu $this->loop_id = $loop_id; @@ -140,7 +140,8 @@ class LatexSurveyElement{ } } } - }elseif(in_array($spremenljivke['tip'], array(21, 7, 8, 18, 17, 26, 27))){ //ce je besedilo ali stevilo ali datum ali vsota + //}elseif(in_array($spremenljivke['tip'], array(21, 7, 8, 18, 17, 26, 27))){ //ce je besedilo ali stevilo ali datum ali vsota + }elseif(in_array($spremenljivke['tip'], array(21, 4, 7, 8, 18, 17, 26, 27))){ //ce je besedilo ali staro besedilo (4) ali stevilo ali datum ali vsota $userDataPresent = $this->GetUsersData($this->db_table, $spremenljivke['id'], $spremenljivke['tip'], $this->usr_id, $this->loop_id); }elseif($spremenljivke['tip']==24){ //ce je kombinirana tabela //GetUsersDataKombinirana($spremenljivke, $db_table, $usr_id) @@ -205,7 +206,7 @@ class LatexSurveyElement{ //echo "naslov: ".$text."
"; //$tex = $text." ".$texNewLine; - if( !in_array($spremenljivke['tip'], array(1, 2, 3, 7, 6, 16, 19, 20, 21, 17, 18, 24, 26, 27)) ){ //ce ni radio, check, roleta, stevilo, multigrid radio, checkbox, besedilo, stevilo, razvrscanje, vsota ali kombinirana tabela, lokacija, ali heatmap + if( !in_array($spremenljivke['tip'], array(1, 2, 3, 4, 7, 6, 16, 19, 20, 21, 17, 18, 24, 26, 27)) ){ //ce ni radio, check, roleta, stevilo, multigrid radio, checkbox, besedilo, stevilo, razvrscanje, vsota ali kombinirana tabela, lokacija, ali heatmap $tex .= ($this->export_format == 'pdf' ? '\\begin{absolutelynopagebreak} \\noindent ' : ' '); //ce je pdf uredimo, da med vprasanji ne bo prelomov strani } @@ -263,7 +264,8 @@ class LatexSurveyElement{ $tex .= ' \noindent '; //dodal pred vsakim tekstom vprasanja, da ni indent-a if($spremenljivke['orientation']==0){ //ce je vodoravno ob vprasanju - if($spremenljivke['tip'] == 21){ //ce je besedilo (vodoravno ob vprasanju) + //if($spremenljivke['tip'] == 21){ //ce je besedilo (vodoravno ob vprasanju) + if($spremenljivke['tip'] == 21 || $spremenljivke['tip'] == 4){ //ce je besedilo (vodoravno ob vprasanju) $tex .= ' \par { '; //dodaj zacetek odstavka, ki je pomemben za pravile izpis } } @@ -285,18 +287,18 @@ class LatexSurveyElement{ $tex .= ' {\noindent \\footnotesize '.$this->encodeText($spremenljivke['info']).'}'; } - if( !in_array($spremenljivke['tip'], array(6, 16, 19, 20, 21, 7, 8, 18)) ){ //ce ni multigrid radio, checkbox, besedilo, stevilo, datum ali vsota ki ne potrebujejo prazne vrstice zaradi uporabe tabele + if( !in_array($spremenljivke['tip'], array(4, 6, 16, 19, 20, 21, 7, 8, 18)) ){ //ce ni multigrid radio, checkbox, besedilo, stevilo, datum ali vsota ki ne potrebujejo prazne vrstice zaradi uporabe tabele $tex .= $this->texNewLine; } if($export_subtype=='q_data'||$export_subtype=='q_data_all'){ //ce je izpis odgovorov if($export_data_type==0||$export_data_type==2){ //ce je Navaden ali Kratek izvoz - if( in_array($spremenljivke['tip'], array(6, 16, 19, 20, 21)) ){ //ce je multigrid radio, checkbox, besedilo ali stevilo in je Navaden ali Kratek izpis + if( in_array($spremenljivke['tip'], array(4, 6, 16, 19, 20, 21)) ){ //ce je multigrid radio, checkbox, besedilo ali stevilo in je Navaden ali Kratek izpis $tex .= $this->texNewLine; } }else{ - if( in_array($spremenljivke['tip'], array(21)) ){ //ce je besedilo + if( in_array($spremenljivke['tip'], array(4, 21)) ){ //ce je besedilo $tex .= $this->texNewLine; } } @@ -381,7 +383,8 @@ class LatexSurveyElement{ #funkcija, ki pripravi latex kodo za prikazovanje moznih odgovorov glede na tip vprasanja################################################################ - public function displayAnswers($spremenljivke=null, $export_subtype='', $preveriSpremenljivko=null, $export_data_type='', $loop_id=null){ + public function displayAnswers($spremenljivke=null, $export_subtype='', $preveriSpremenljivko=null, $export_data_type='', $loop_id=null){ + switch ( $spremenljivke['tip'] ) { case 1: //radio @@ -398,6 +401,9 @@ class LatexSurveyElement{ case 21: //besedilo return BesediloLatex::getInstance()->export($spremenljivke, $this->export_format, $this->questionText, $this->fillablePdf, $this->texNewLine, $this->getUserId(), $this->db_table, $this->anketa, $export_subtype, $preveriSpremenljivko, $export_data_type, $loop_id); break; + case 4: //besedilo staro + return BesediloLatex::getInstance()->export($spremenljivke, $this->export_format, $this->questionText, $this->fillablePdf, $this->texNewLine, $this->getUserId(), $this->db_table, $this->anketa, $export_subtype, $preveriSpremenljivko, $export_data_type, $loop_id); + break; case 7: //stevilo return SteviloLatex::getInstance()->export($spremenljivke, $this->export_format, $this->questionText, $this->fillablePdf, $this->texNewLine, $this->getUserId(), $this->db_table, $export_subtype, $preveriSpremenljivko, $export_data_type, $loop_id); break; @@ -587,7 +593,8 @@ class LatexSurveyElement{ $numGrids=$spremenljivkeGrids; //echo "Data:".($data)."
"; //echo "DataCount:".count($data)."
"; - if($tip==21||$tip==8){ //ce je besedilo ali datum, + //if($tip==21||$tip==8){ //ce je besedilo ali datum, + if($tip==21||$tip==4||$tip==8){ //ce je besedilo ali datum, $tip=2; //naj se pobere checkbox } @@ -1953,7 +1960,8 @@ class LatexSurveyElement{ //echo "loop_id v GetUsersData: ".$loop_id."
"; // če imamo vnose, pogledamo kaj je odgovoril uporabnik - if( in_array($spremenljivkeTip, array(21, 7, 8, 18)) ){ //ce je tip besedilo ali stevilo ali datum ali vsota + //if( in_array($spremenljivkeTip, array(21, 7, 8, 18)) ){ //ce je tip besedilo ali stevilo ali datum ali vsota + if( in_array($spremenljivkeTip, array(21, 4, 7, 8, 18)) ){ //ce je tip besedilo ali besedilo staro (4) ali stevilo ali datum ali vsota $sqlUserAnswerString ="SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivkeId."' AND usr_id='".$usr_id."' AND loop_id $loop_id "; }elseif($spremenljivkeTip==17){ //ce je razvrscanje //$sqlUserAnswer = sisplet_query("SELECT vrstni_red FROM srv_data_rating WHERE spr_id=".$spremenljivke['id']." AND usr_id='".$this->getUserId()."' AND vre_id='".$rowVrednost['id']."' AND loop_id $loop_id"); @@ -1978,7 +1986,7 @@ class LatexSurveyElement{ $sqlUserAnswer = sisplet_query($sqlUserAnswerString); - if( in_array($spremenljivkeTip, array(21, 7, 8, 18, 17)) ){//ce je tip besedilo ali stevilo ali datum ali vsota ali razvrscanje + if( in_array($spremenljivkeTip, array(21, 4, 7, 8, 18, 17)) ){//ce je tip besedilo ali stevilo ali datum ali vsota ali razvrscanje $rowAnswers = mysqli_fetch_assoc($sqlUserAnswer); if($rowAnswers){ //ce je kaj v bazi //echo "Nekaj je v bazi za spremenljivko".$spremenljivkeId." in usr".$usr_id."
";