This commit is contained in:
Miha 2020-08-28 10:15:56 +02:00
commit 11509df7cb
3 changed files with 51 additions and 28 deletions

View File

@ -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']."</br>";
//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']."</br>";
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']."</br>";
}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']."</br>";
}
//ureditev polja s podatki trenutnega uporabnika - konec ##############################################
//ce ni other ali missing

View File

@ -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']."</br>";
continue;
}
if($rowSpremenljivke['tip'] == 4){
$rowSpremenljivke['tip'] = 21;
}
//echo "Ni v loop-u:".$rowSpremenljivke['tip']." </br>";
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']."</br>";
if ($spr['tip'] == 2 || $spr['tip'] == 3 || $spr['tip'] == 9) {
$data_vrednost = array();
if($spr['tip'] == 9){

View File

@ -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."</br>";
//$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)."</br>";
//echo "DataCount:".count($data)."</br>";
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."</br>";
// č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."</br>";