loop_id = $loop_id; //preveri, ce je kaj v bazi //$userDataPresent = $this->GetUsersData($db_table, $spremenljivke['id'], $spremenljivke['tip'], $usr_id); $userDataPresent = $this->GetUsersData($db_table, $spremenljivke['id'], $spremenljivke['tip'], $usr_id, $this->loop_id); //echo "userDataPresent za spremenljivko".$spremenljivke['id']." je: ".$userDataPresent."
"; if($userDataPresent||$export_subtype=='q_empty'||$export_subtype=='q_comment'||$preveriSpremenljivko){ //ce je kaj v bazi ali je prazen vprasalnik ali je potrebno pokazati tudi ne odgovorjena vprasanja global $lang; // iz baze preberemo vse moznosti - ko nimamo izpisa z odgovori respondenta $sqlVrednosti = sisplet_query("SELECT id, naslov, naslov2, variable, other FROM srv_vrednost WHERE spr_id='".$spremenljivke['id']."' AND hidden='0' ORDER BY vrstni_red"); $numRowsSql = mysqli_num_rows($sqlVrednosti); $tex = ''; //nastavitve iz baze ########################## $spremenljivkaParams = new enkaParameters($spremenljivke['params']); //nastavitve iz baze - konec #################### $navpicniOdgovori = array(); $navpicniOdgovori = []; $odgovoriRespondenta = array(); $odgovoriRespondenta = []; $texNewLineAfterTable = $texNewLine." ".$texNewLine." ".$texNewLine; $vsota = 0; //pregled vseh moznih vrednosti (kategorij) po $sqlVrednosti while ($rowVrednost = mysqli_fetch_assoc($sqlVrednosti)){ $stringTitleRow = $rowVrednost['naslov']; //odgovori na levi strani array_push($navpicniOdgovori, $this->encodeText($stringTitleRow) ); //filanje polja z navpicnimi odgovori (po vrsticah) //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']." za vre_id: ".$rowVrednost['id']."
"; array_push($odgovoriRespondenta, '\\textcolor{crta}{'.$userAnswer['text'].'}' ); //filanje polja z odgovori respondenta //ureditev polja s podatki trenutnega uporabnika - konec ############################################## $vsota += $userAnswer['text']; //izracun sprotne vsote } //pregled vseh moznih vrednosti (kategorij) po $sqlVrednosti - konec if($userDataPresent){ //array_push($odgovoriRespondenta, $vsota ); //filanje polja z vsoto array_push($odgovoriRespondenta, '\\textcolor{crta}{'.$vsota.'}' ); //filanje polja z vsoto } $tex .= $this->IzrisVsotaTabela($spremenljivke, $numRowsSql, $navpicniOdgovori, $odgovoriRespondenta, $texNewLine, $texNewLineAfterTable, $export_format, 0, $userDataPresent); /* $tex .= ' \break '; $tex .= ' \break '; */ $tex .= $this->texBigSkip; $tex .= $this->texBigSkip; $tex .= $this->texBigSkip; if($export_format == 'pdf'){ //ce je pdf //$tex .= '\\end{absolutelynopagebreak}'; //zakljucimo environment, da med vprasanji ne bo prelomov strani }else{ //ce je rtf } return $tex; } } #funkcija, ki skrbi za izris vsote v tabeli ################################ function IzrisVsotaTabela($spremenljivke=null, $steviloVrstic=null, $navpicniOdgovori=null, $odgovoriRespondenta=null, $texNewLine='', $texNewLineAfterTable=null, $typeOfDocument=null, $fillablePdf=null, $userDataPresent=null){ global $lang; //izpis kode tabela $tabela = ''; $parameterTabularL = 'rl'; //parametri za tabelo $textVsota = $this->encodeText($spremenljivke['vsota']); if($textVsota==''){ $textVsota = $lang['srv_vsota_text']; } //zacetek tabele $tabela .= $this->StartLatexTable($typeOfDocument, $parameterTabularL, 'tabularx', 'tabular*', 0.45, 0.2); //argumenti za leve okvirje $textboxWidthL = 0.2; $textboxHeightL = 0; //ker mora biti prilagojena visina tekstu damo na 0 $textboxAllignment = 'c'; //$textboxAllignment = 'l'; $textboxWidth = 0.1; $textboxHeight = '0.2cm'; $noBorders = 0; for ($i = 1; $i <= $steviloVrstic; $i++){ $tabela .= ' '.$navpicniOdgovori[$i-1]; //odgovor pred okvirjem //izpis latex kode za prazen okvir oz. okvir z odgovori respondenta $tabela .= ' & '.$this->LatexTextBox($typeOfDocument, $textboxHeight, $textboxWidth, $odgovoriRespondenta[$i-1], $textboxAllignment, $noBorders); //izpis latex kode za okvir z odgovorom oz. okvir z odgovori respondenta $tabela .= $texNewLine; if($i==$steviloVrstic){ $tabela .= ' \hline '; } } //besedilo in okvir pod crto, kjer je prikazana koncna vsota $tabela .= $textVsota.' & '.$this->LatexTextBox($typeOfDocument, $textboxHeight, $textboxWidth, $odgovoriRespondenta[$i-1], $textboxAllignment, $noBorders); //$tabela .= $lang['srv_vsota_text'].' & '.$this->LatexTextBox($typeOfDocument, $textboxHeight, $textboxWidth, $odgovoriRespondenta[$i-1], $textboxAllignment, $noBorders); //zakljucek tabele $tabela .= $this->EndLatexTable($typeOfDocument, 'tabularx', 'tabular*'); //izpis kode tabela - konec return $tabela; } #funkcija, ki skrbi za izris vsote v tabeli - konec ################################ }