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']."' ORDER BY vrstni_red"); $numRowsSql = mysqli_num_rows($sqlVrednosti); $spremenljivkaParams = new enkaParameters($spremenljivke['params']); $tex = ''; $symbol = $this->getAnswerSymbol($export_format, $fillablePdf, 2, 10, 0, 0); //poberi simbol checkbox za other in missing moznosti odgovora //nastavitve iz baze ########################## $steviloOken = $spremenljivke['size']; //stevilo oken $postavitev = $spremenljivke['orientation']; //0-vodoravno ob vprasanju, 1-vodoravno pod vprasanjem $polozajEnota = $spremenljivke['enota']; //polozaj enote 0-Ne, 1-Na levi, 2-Na desni $nacinVnosa = $spremenljivke['ranking_k']; //nacin vnosa 0-Stevilo, 1-Drsnik $textboxHeightOrig = ($spremenljivkaParams->get('taSize') ? $spremenljivkaParams->get('taSize') : 1); $textboxHeight = ($textboxHeightOrig*0.3).'cm'; $textboxWidth = ($spremenljivkaParams->get('taWidth') ? $spremenljivkaParams->get('taWidth') : -1); if($textboxWidth == -1){ //ce je vrednost -1, je default t.j. 30 oz. 0.30 sirine $textboxWidth = 0.30; }else{ //drugace, izracunaj sirino $textboxWidth = $textboxWidth/100; //pretvorimo sirino v odstotke oz. decimalke } if($textboxWidth == 1){ //ce je sirina 100, jo zmanjsaj za 5% $textboxWidth = $textboxWidth*0.95; } $textboxWidth = (string)$textboxWidth; //pretvorimo stevilo (decimalke) v string //echo "sirina: ".$textboxWidth."
"; //textboxWidth se rocno povozi pod "ureditev parametrov za tabelo" - NE VEC, ker se hoce sirino okvirja tako kot je nastavljena v nastavitvah //nastavitve iz baze - konec #################### $array_others = array(); //polje za drugo, missing, ... $besedilaEnote = array(); //polje, ki hrani besedila enot $besedilaEnote = []; $textBoxes = array(); //polje, ki hrani latex za prazne text box-e $textBoxes = []; $textboxAllignment = 'c'; //poravnava textboxa s stevilom $oznakaOdgovora = 'a'; $indeksZaWhile = 1; $oznakaVprasanja = $this->UrediOznakoVprasanja($spremenljivke['id']); //uredi oznako vprasanja, ker ne sme biti stevilska $okvirVNovoVrstico = 0; /* if($postavitev!=0){ $tex .= $texNewLine; } */ //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, text2 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 ############################################## if(($nacinVnosa==0) || ($nacinVnosa==1&&$export_format=='rtf')){ //ce je nacin vnosa Stevilo ali je Drsnik in je izvoz v rtf if($polozajEnota!=0){ //ce je izpis z besedilom enote $tex .= $texNewLine; } //ureditev parametrov za tabelo############################# $parameterTabular = ''; if($polozajEnota==0){ //ce ni besedila za enoto $steviloStolpcevTabele = $steviloOken; }else{ //ce je besedilo enote na LEVI ali DESNI $steviloStolpcevTabele = $steviloOken*2; } for($i = 0; $i < $steviloStolpcevTabele; $i++){ //echo "i%2: ".($i%2)."
"; if($polozajEnota==1 && $i%2==0){ //ce je polozaj besedila enote na LEVI in je stolpec za besedilo //$parameterTabular .= ($export_format == 'pdf' ? 'r' : 'l'); //desna poravnava stolpca ali leva, ce je rtf //$parameterTabular .= ($export_format == 'pdf' ? '>{\hsize=0.3\hsize}r' : 'l'); //desna poravnava stolpca fiksne dimenzije ali leva, ce je rtf $parameterTabular .= ($export_format == 'pdf' ? '>{\raggedleft}p{0.2\textwidth}' : 'l'); //desna poravnava stolpca fiksne dimenzije ali leva, ce je rtf }elseif($polozajEnota==2 && $i%2==1){ //ce je polozaj besedila enote na DESNI in je stolpec za besedilo $parameterTabular .= ($export_format == 'pdf' ? '>{\raggedright\arraybackslash}p{0.2\textwidth}' : 'l'); //leva poravnava stolpca fiksne dimenzije ali leva, ce je rtf }else{ //$parameterTabular .= ($export_format == 'pdf' ? 'X' : 'l'); //leva poravnava stolpca /* if($textboxWidth<0.80){ //ce je urejeni okvir manjsi od 80, naj bo sirina ta ki je bila nastavljen $parameterTabular .= ($export_format == 'pdf' ? 'p{'.$textboxWidth.'\textwidth}' : 'l'); //leva poravnava stolpca }else{ //drugace, ce je okvri vecji od 80, naj bo sirina fiksna na 75 $parameterTabular .= ($export_format == 'pdf' ? 'p{0.75\textwidth}' : 'l'); //leva poravnava stolpca $textboxWidth = 0.75; } */ if($textboxWidth>=0.80){ //ce je urejeni okvir vecji od 80, naj oznaci, saj moramo prenesti okvirje v novo vrstico $okvirVNovoVrstico = 1; } $parameterTabular .= ($export_format == 'pdf' ? 'p{'.$textboxWidth.'\textwidth}' : 'l'); //stolpec z nastavljeno sirino okvirja, rtf: leva poravnava } } //echo "parametri tabele: ".$parameterTabular."
"; //ureditev parametrov za tabelo - konec###################### if($userAnswer['text']){ $okvir = 0; }elseif($userAnswer['text'] == ''){ //ce nimamo odgovora $okvir = 1; //rabimo okvir } #ZACETEK TABELE //zacetek tabele if($polozajEnota!=0){ //ce je prisotno besedilo za enoto //$tex .= $this->StartLatexTable($export_format, $parameterTabular, 'tabularx', 'tabular',1, 1); $tex .= $this->StartLatexTable($export_format, $parameterTabular, 'tabular', 'tabular',1, 1); }elseif($polozajEnota==0&&$steviloOken>1){ //ce ni prisotno besedilo za enoto in je vec oken //$tex .= $this->StartLatexTable($export_format, $parameterTabular, 'tabularx', 'tabular',1, 1); $tex .= $this->StartLatexTable($export_format, $parameterTabular, 'tabular', 'tabular',1, 1); } $izpisStevilk = 0; //belezi, ali se je stevilo ali stevila ze izpisalo //pregled vseh moznih vrednosti (kategorij) po $sqlVrednosti while ($rowVrednost = mysqli_fetch_assoc($sqlVrednosti)){ # po potrebi se prevede besedilo, ki se pojavi pred textbox-om $naslov = $this->srv_language_vrednost($rowVrednost['id']); if ($naslov != '') { $rowVrednost['naslov'] = $naslov; } //ce ni other ali missing if( (int)$rowVrednost['other'] == 0 && $rowVrednost['naslov']){ //in se ni se izpisalo stevila $drugoStevilo = $userAnswer['text2']; //belezi drugo mozno stevilo if($izpisStevilk == 0 && $okvir == 0){ //ce ni bilo se izpisano nobeno stevilo in ne rabimo tabele za izpis $txtTmp = []; if($export_format=='pdf'){ if($polozajEnota==0){ //ce ni besedila za enoto, rabimo odstavek za pravilen izpis $txtTmp1 = " \par { "; $txtTmp1 .= ' \\textcolor{crta}{'.$userAnswer['text'].'}'; }else{ $txtTmp1 = ' \\textcolor{crta}{'.$userAnswer['text'].'}'; } if($polozajEnota==0){ //ce ni besedila za enoto //$txtTmp1 .= " \par } "; $txtTmp1 .= " } "; } }elseif($export_format == 'rtf'){ $txtTmp1 = $userAnswer['text']; //prvo stevilo } array_push($txtTmp, $txtTmp1); //filanje polja z besedili if($drugoStevilo){ //ce je se drugo stevilo if($export_format=='pdf'){ if($polozajEnota==0){ //ce ni besedila za enoto, rabimo odstavek za pravilen izpis $txtTmp2 = " \par { "; $txtTmp2 .= ' \\textcolor{crta}{'.$drugoStevilo.'}'; }else{ $txtTmp2 = ' \\textcolor{crta}{'.$drugoStevilo.'}'; } if($polozajEnota==0){ //ce ni besedila za enoto //$txtTmp2 .= " \par } "; $txtTmp2 .= " } "; } }elseif($export_format == 'rtf'){ $txtTmp2 = $drugoStevilo; } array_push($txtTmp, $txtTmp2); //filanje polja z besedili } } if($okvir == 1){ //ce rabimo okvir, izpisi //$dataTextBox = $this->LatexTextBox($export_format, $textboxHeight, $textboxWidth, $txtTmp, $textboxAllignment, 0); if($polozajEnota==0){ //ce ni besedila za enoto, rabimo odstavek za pravilen izpis if($steviloOken>1){ $dataTextBox = " \par { "; } $dataTextBox .= $this->LatexTextBox($export_format, $textboxHeight, $textboxWidth, $txtTmp, $textboxAllignment, 0); }else{ $dataTextBox = $this->LatexTextBox($export_format, $textboxHeight, $textboxWidth, $txtTmp, $textboxAllignment, 0); } if($polozajEnota==0){ //ce ni besedila za enoto if($steviloOken>1){ //$dataTextBox .= " \par } "; $dataTextBox .= " } "; } } array_push($textBoxes, $dataTextBox); } if($polozajEnota==0){ //ce polozaja besedila enote je na NE if($indeksZaWhile!=1){ //if($okvir == 1){ //ce rabimo prazen okvir, izpisi if($okvir == 1 && $textboxWidth<0.49){ //ce rabimo prazen okvir, izpisi $tex .= ' & '; //skoci v nov stolpec }else{ $tex .= ' \\\\ '; //pojdi v novo vrstico } } if($okvir == 1){ //ce rabimo prazen okvir, izpisi //izpis praznega text box-a dolocene sirine in visine //$tex .= ' & '.$dataTextBox; $tex .= ' '.$dataTextBox; }else{ //ce je podatek ob levi enoti //$tex .= ' & '.$txtTmp[$indeksZaWhile-1]; $tex .= ' '.$txtTmp[$indeksZaWhile-1]; } } //if($polozajEnota==1){ //ce je polozaj besedila enote na LEVI elseif($polozajEnota==1){ //ce je polozaj besedila enote na LEVI if($indeksZaWhile!=1){ if($okvir == 1 && $textboxWidth<0.30){ //ce rabimo prazen okvir in je njegova sirina manjsa od 30, izpisi $tex .= ' & '; //skoci v nov stolpec }else{ $tex .= ' \\\\ '; //pojdi v novo vrstico } } //izpis besedila enote $stringEnota = $rowVrednost['naslov']; $stringEnota = Common::getInstance()->dataPiping($stringEnota, $usr_id, $loop_id); $tex .= $this->encodeText($stringEnota); if($okvir == 1){ //ce rabimo prazen okvir, izpisi //izpis praznega text box-a dolocene sirine in visine if($okvirVNovoVrstico){ //v novo vrstico, ce je predolg $tex .= ' \\\\ '.$dataTextBox; }else{ $tex .= ' & '.$dataTextBox; } }else{ //ce je podatek ob levi enoti $tex .= ' & '.$txtTmp[$indeksZaWhile-1]; } //echo "tex koda: ".$tex."
"; }elseif($polozajEnota==2){ //ce je polozaj besedila enote na DESNI //if($indeksZaWhile!=1&&$export_format=='rtf'){//ce je drugi okvir in je rtf if($indeksZaWhile!=1){//ce je drugi okvir //if($okvir == 1){ //ce rabimo prazen okvir, izpisi //if($okvir == 1&& $textboxWidth<0.49){ //ce rabimo prazen okvir in je njegova sirina manjsa od 49, izpisi if($okvir == 1&& $textboxWidth<=0.25){ //ce rabimo prazen okvir in je njegova sirina manjsa od 25, izpisi $tex .= ' & '; //skoci v nov stolpec }else{ $tex .= ' \\\\ '; //pojdi v novo vrstico } } if($okvir == 1){ //ce rabimo prazen okvir, izpisi //izpis praznega text box-a dolocene sirine in visine $tex .= $dataTextBox; }else{ if($indeksZaWhile!=1){ $tex .= ' \\\\ '; //pojdi v novo vrstico } $tex .= $txtTmp[$indeksZaWhile-1].' '; } //izpis besedila enote if($okvirVNovoVrstico){ //v novo vrstico, ce je predolg $tex .= ' \\\\ '; //pojdi v novo vrstico }else{ $tex .= ' & '; //v nov stolpec tabele } $stringEnota = $rowVrednost['naslov']; $stringEnota = Common::getInstance()->dataPiping($stringEnota, $usr_id, $loop_id); $tex .= ' '.$this->encodeText($stringEnota); if($indeksZaWhile==1&&$export_format=='pdf'){ //ce je prvi okvir in je pdf //$tex .= ' \hspace{0.5cm} '; //dodaj še nekaj prostora, za prvim okvirjem, da bo dovolj prostora } //echo "tex koda za na desni: ".$tex."
"; } if($drugoStevilo){ $izpisStevilk=1; } } elseif((int)$rowVrednost['other'] != 0) { //drugace, ce imamo missinge ali podobne, jih zabelezi v polju // imamo polje drugo - ne vem, zavrnil... $array_others[$rowVrednost['id']] = array( 'naslov'=>$rowVrednost['naslov'], 'vrstni_red'=>$rowVrednost['vrstni_red'], 'value'=>$text[$rowVrednost['vrstni_red']], ); } $oznakaOdgovora++; $indeksZaWhile++; } //pregled vseh moznih vrednosti (kategorij) po $sqlVrednosti - konec /* if($polozajEnota==0){ //ce polozaja besedila enote je na NE //$tex .= $texNewLine; if($okvir == 1){ //izpis praznih text box-ov dolocene sirine in visine $tex .= $this->izrisVrsticePoStolpcih($steviloStolpcevTabele, $textBoxes); //izpis praznih text box-ov dolocene sirine in visine - konec }else{ $tex .= $this->izrisVrsticePoStolpcih($steviloStolpcevTabele, $txtTmp); } } */ if($polozajEnota!=0){ //ce polozaja besedila enote ni na NE //zakljucek tabele //$tex .= $this->EndLatexTable($export_format, 'tabularx', 'tabular'); $tex .= $this->EndLatexTable($export_format, 'tabular', 'tabular'); #KONEC TABELE }elseif($polozajEnota==0&&$steviloOken>1){ //zakljucek tabele //$tex .= $this->EndLatexTable($export_format, 'tabularx', 'tabular'); $tex .= $this->EndLatexTable($export_format, 'tabular', 'tabular'); #KONEC TABELE } //echo "tex koda: ".$tex."
"; /* $tex .= $this->texNewLine; $tex .= $this->texNewLine; if($okvir == 1){ //ce je prazen vprasalnik, dodaj se dve prazni vrstici $tex .= $this->texNewLine; $tex .= $this->texNewLine; } */ }elseif($nacinVnosa==1&&$export_format=='pdf'){ //ce je drsnik in je izvoz v pdf if($export_data_type==2){ //ce je kratek izpis izvoza if($export_subtype=='q_data'||$export_subtype=='q_data_all'){ $tex .= $texNewLine; //gremo v novo vrstico, da je odgovor pod vprasanjem //$tex .= '\\textcolor{crta}{'.$userAnswer['text'].'}'.$texNewLine; //izpis odgovora $tex .= '\\textcolor{crta}{'.$userAnswer['text'].'}'; //izpis odgovora } } if($export_data_type==1||$export_data_type==0){ //ce je dolg ali navaden izpis izvoza, izrisi drsnik if($export_subtype=='q_data'||$export_subtype=='q_data_all'){ $tex .= $lang['srv_number_answer'].': \\textcolor{crta}{'.$userAnswer['text'].'}'.$texNewLine; //izpis odgovora } //zakljucek odstavka, da bo lahko drsnik sredinsko poravnan $tex .= '\par'; //odstavek #nastavitve iz baze za drsnik ################################################################## $slider_handle = ($spremenljivkaParams->get('slider_handle') ? $spremenljivkaParams->get('slider_handle') : 0); //0-je rocaj, 1-ni rocaja $slider_window_number = ($spremenljivkaParams->get('slider_window_number') ? $spremenljivkaParams->get('slider_window_number') : 0); $slider_nakazi_odgovore = ($spremenljivkaParams->get('slider_nakazi_odgovore') ? $spremenljivkaParams->get('slider_nakazi_odgovore') : 0); //za checkbox $slider_MinMaxNumLabelNew = ($spremenljivkaParams->get('slider_MinMaxNumLabelNew') ? $spremenljivkaParams->get('slider_MinMaxNumLabelNew') : 0); //Prikaži labele za Min in Max: 0-prikazi, 1-skrij $slider_MinMaxLabel = ($spremenljivkaParams->get('slider_MinMaxLabel') ? $spremenljivkaParams->get('slider_MinMaxLabel') : 0); //ali sta prisotni labeli nad drsnikom oz. nad min in max vrednostjo $MinLabel = ($spremenljivkaParams->get('MinLabel') ? $spremenljivkaParams->get('MinLabel') : $lang['srv_new_text']); //labela na minumumu $MaxLabel = ($spremenljivkaParams->get('MaxLabel') ? $spremenljivkaParams->get('MaxLabel') : $lang['srv_new_text']); //labela na maksimumu $slider_VmesneNumLabel = ($spremenljivkaParams->get('slider_VmesneNumLabel') ? $spremenljivkaParams->get('slider_VmesneNumLabel') : 0); //ali naj drsnika prikazuje stevilske labele med maksimumom in minimumom na spodnji strani drsnika $slider_VmesneDescrLabel = ($spremenljivkaParams->get('slider_VmesneDescrLabel') ? $spremenljivkaParams->get('slider_VmesneDescrLabel') : 0); //ali naj drsnika prikazuje opisne labele med maksimumom in minimumom na spodnji strani drsnika $slider_VmesneCrtice = ($spremenljivkaParams->get('slider_VmesneCrtice') ? $spremenljivkaParams->get('slider_VmesneCrtice') : 0); //ali imamo vmesen crtice na drsniku, za izris izvoza se bo to ignoriralo $slider_handle_step = ($spremenljivkaParams->get('slider_handle_step') ? $spremenljivkaParams->get('slider_handle_step') : 1); //korak drsnika $slider_MinLabel = ($spremenljivkaParams->get('slider_MinLabel') ? $spremenljivkaParams->get('slider_MinLabel') : "Minimum"); $slider_MaxLabel = ($spremenljivkaParams->get('slider_MaxLabel') ? $spremenljivkaParams->get('slider_MaxLabel') : "Maximum"); //vnesena minimum pa maksimum drsnika $slider_MinNumLabel = ($spremenljivkaParams->get('slider_MinNumLabel') ? $spremenljivkaParams->get('slider_MinNumLabel') : 0); $slider_MaxNumLabel = ($spremenljivkaParams->get('slider_MaxNumLabel') ? $spremenljivkaParams->get('slider_MaxNumLabel') : 100); $slider_NumofDescrLabels = ($spremenljivkaParams->get('slider_NumofDescrLabels') ? $spremenljivkaParams->get('slider_NumofDescrLabels') : 5); //stevilo opisnih label $slider_DescriptiveLabel_defaults = ($spremenljivkaParams->get('slider_DescriptiveLabel_defaults') ? $spremenljivkaParams->get('slider_DescriptiveLabel_defaults') : 0); $slider_DescriptiveLabel_defaults_naslov1 = ($spremenljivkaParams->get('slider_DescriptiveLabel_defaults_naslov1') ? $spremenljivkaParams->get('slider_DescriptiveLabel_defaults_naslov1') : 0); //besedilo/string z naslovi opisnih vmesnih label //spremenljivke za labele podrocij $slider_labele_podrocij = ($spremenljivkaParams->get('slider_labele_podrocij') ? $spremenljivkaParams->get('slider_labele_podrocij') : 0); //za checkbox $slider_StevLabelPodrocij = ($spremenljivkaParams->get('slider_StevLabelPodrocij') ? $spremenljivkaParams->get('slider_StevLabelPodrocij') : 3); //$slider_table_td_width = 100 / $slider_StevLabelPodrocij; //spremenljivka za razporeditev sirine sliderja po podrocjih //spremenljivke za labele podrocij - konec #nastavitve iz baze za drsnik - konec ################################################################## //pridobitev missing-ov za njihov izris ############################################################### while ($rowVrednost = mysqli_fetch_assoc($sqlVrednosti)){ if( (int)$rowVrednost['other']!=0 ){ //ce imamo missinge ali podobne, jih zabelezi v polju // imamo polje drugo - ne vem, zavrnil... $array_others[$rowVrednost['id']] = array( 'naslov'=>$rowVrednost['naslov'], 'vrstni_red'=>$rowVrednost['vrstni_red'], 'value'=>$text[$rowVrednost['vrstni_red']], ); } } //pridobitev missing-ov za njihov izris - konec ######################################################## //pridobitev naslovov opisnih vmesnih label za kasnejsi izris ########################################## if($slider_VmesneDescrLabel){ //ce je potrebno izrisati vmesne opisne labele pod drsnikom $descriptiveLabels = []; if($slider_DescriptiveLabel_defaults!=0){ //ce so prednalozene opisne labele $descriptiveLabels = explode(';',$slider_DescriptiveLabel_defaults_naslov1); }else{ //ce so custom opisne labele for($i=1; $i<=$slider_NumofDescrLabels; $i++){ $slider_CustomDescriptiveLabelsTmp = ($spremenljivkaParams->get('slider_Labela_opisna_'.$i) ? $spremenljivkaParams->get('slider_Labela_opisna_'.$i) : ''); $slider_CustomDescriptiveLabelsTmp = preg_replace("/\s| /",' ',$slider_CustomDescriptiveLabelsTmp); //za odstranitev morebitnih presledkov, ki lahko delajo tezave pri polju za drsnik if($i == 1){ $slider_CustomDescriptiveLabels = $slider_CustomDescriptiveLabelsTmp; }else{ $slider_CustomDescriptiveLabels .= "; ".$slider_CustomDescriptiveLabelsTmp; } } $descriptiveLabels = explode(';', $slider_CustomDescriptiveLabels); } } //pridobitev naslovov opisnih vmesnih label za kasnejsi izris - konec ################################## #IZRIS OPISNIH LABEL NAD DRSNIKOM ################################################# if($slider_MinMaxLabel){ //parametri tabele $parameterTabularLabeleNad = 'lR'; //leva (l) pa desna poravnava, ki se prilagaja (R) //zacetek tabele $tex .= ($export_format == 'pdf' ? '\keepXColumns \begin{tabularx}{0.9\textwidth}{'.$parameterTabularLabeleNad.'}' : '\begin{tabular*}{3 cm}{c}'); //vrstice in stolpci v tabeli $tex .= $this->encodeText($MinLabel).' & '.$this->encodeText($MaxLabel); //izpis naslovov label v eni vrstici //vrstice in stolpci v tabeli - konec //konec tabele $tex .= ($export_format == 'pdf' ? "\\end{tabularx}" : "\\end{tabular*} \\noindent"); //$tex .= $texNewLine; //v novo vrstico po izrisu label $tex .= '\par'; //odstavek } #IZRIS OPISNIH LABEL NAD DRSNIKOM - KONEC ######################################### #IZRIS DRSNIKA {dolzina}{pozicija bunkice}#################################### if($slider_handle==0){ //ce je rocaj na drsniku if($export_subtype=='q_data'||$export_subtype=='q_data_all'){ $pozicijaBunkice = $userAnswer['text']/$slider_MaxNumLabel; }elseif($export_subtype=='q_empty'||$export_subtype=='q_comment'){ $pozicijaBunkice=0.5; } //echo "pozicija bunkice na drsniku: ".$pozicijaBunkice."
"; //$tex .= '\noindent \circleSLIDER{0.9\textwidth}{'.$pozicijaBunkice.'}'; //drsnik z rocajem $tex .= '{\centering \circleSLIDER{0.85\textwidth}{'.$pozicijaBunkice.'} \par}'; //drsnik z rocajem }else{ //drugace, ce ni rocaja //$tex .= '\noindent \emptySLIDER{0.9\textwidth}'; //drsnik brez rocaja $tex .= '{\centering \emptySLIDER{0.85\textwidth} \par}'; //drsnik brez rocaja } #IZRIS DRSNIKA {dolzina}{pozicija bunkice} - KONEC ########################### #IZRIS PRVE VRSTICE POD DRSNIKOM ############################################## //ureditev parametrov za tabelo $steviloStolpcevPrvaVrstica = $steviloStolpcevPrvaVrsticaOrig = ceil(($slider_MaxNumLabel-$slider_MinNumLabel+1)/$slider_handle_step);//zaokrozi navzgor izracun stevila stolpcev prve vrstice //zaradi tezav pri izrisu vmesnih stevilk, ce je teh vec kot 21 (MAXSTEVILOSTOLPCEV), je potrebno programsko omejiti stevilo stolpcev prve vrstice if($steviloStolpcevPrvaVrstica>MAXSTEVILOSTOLPCEV){ $steviloStolpcevPrvaVrstica = MAXSTEVILOSTOLPCEV; } $parameterTabularLabelePrvaPod=''; if($slider_VmesneDescrLabel){ //ce je potrebno izrisati vmesne opisne labele $steviloStolpcevPrvaVrstica = $slider_NumofDescrLabels; } for($i=0; $i<$steviloStolpcevPrvaVrstica; $i++){ if($i==0){ //ce je prvi stolpec $parameterTabularLabelePrvaPod .= ($export_format == 'pdf' ? 'X' : 'l'); //leva poravnava stolpca prilagojena sirini }elseif($i==$steviloStolpcevPrvaVrstica-1){ //ce je zadnji stolpec $parameterTabularLabelePrvaPod .= ($export_format == 'pdf' ? 'R' : 'l'); //desna prilagojena poravnava stolpca }else{ //za vse ostale stolpce med prvi in zadnjim $parameterTabularLabelePrvaPod .= ($export_format == 'pdf' ? 'C' : 'c'); //sredinska poravnava } } //ureditev parametrov za tabelo - konec //zacetek tabele //$tex .= ($export_format == 'pdf' ? '\begin{tabularx}{0.9\textwidth}{'.$parameterTabularLabelePrvaPod.'}' : '\begin{tabular}{'.$parameterTabularLabelePrvaPod.'}'); $tex .= ($export_format == 'pdf' ? '\keepXColumns \begin{tabularx}{0.9\textwidth}{'.$parameterTabularLabelePrvaPod.'}' : '\begin{tabular}{'.$parameterTabularLabelePrvaPod.'}'); // \keepXColumns //izris vrstice in stolpcev v tabeli for($i=0; $i<$steviloStolpcevPrvaVrstica; $i++){ //if($slider_VmesneDescrLabel&&$slider_DescriptiveLabel_defaults!=0){//ce je potrebno izrisati vmesne opisne labele ################### if($slider_VmesneDescrLabel){//ce je potrebno izrisati vmesne opisne labele ################### if($i==$steviloStolpcevPrvaVrstica-1){ //ce je zadnji stolpec $tex .= $descriptiveLabels[$i]; }else{ $tex .= $descriptiveLabels[$i].' & '; } }else{//ce je potrebno izrisati vmesne stevilske labele ####################################### if($i==0){ //ce je prvi stolpec if($slider_MinMaxNumLabelNew==0){ $tex .= $slider_MinNumLabel.' & '; }else{ $tex .= ' & '; } } elseif($i==$steviloStolpcevPrvaVrstica-1){ //ce je zadnji stolpec if($slider_MinMaxNumLabelNew==0){ $tex .= $slider_MaxNumLabel; } }else{ //za vse ostale stolpce med prvi in zadnjim if($slider_VmesneNumLabel&&$steviloStolpcevPrvaVrsticaOrig<=MAXSTEVILOSTOLPCEV){ //ce so vmesne labele stevilske in je stevilo stolpcev manjsi od maximalnega dovoljenega za ustrezen izris if($i==1){ $vmesnoStevilo=$slider_MinNumLabel+$slider_handle_step; }else{ $vmesnoStevilo=$vmesnoStevilo+$slider_handle_step; } }else{ $vmesnoStevilo=''; } $tex .= $vmesnoStevilo.' & '; } } } //izris vrstice in stolpcev v tabeli - konec //konec tabele $tex .= ($export_format == 'pdf' ? "\\end{tabularx}" : "\\end{tabular} \\noindent"); #IZRIS PRVE VRSTICE POD DRSNIKOM - KONEC ###################################### //echo $tex; #IZRIS DRUGE VRSTICE POD DRSNIKOM - LABELE PODROCIJ ########################### if($slider_labele_podrocij){ //ce imamo vklopljene labele podrocij $tex .= $texNewLine; //ureditev parametrov za tabeli $parameterTabularLabeleDrugaPod=''; $prazniStolpciZaGraficneOznake = ''; for($i=0; $i<$slider_StevLabelPodrocij; $i++){ $parameterTabularLabeleDrugaPod .= ($export_format == 'pdf' ? '|C|' : '|c|'); //sredinska poravnava $parameterTabularLabeleTretjaPod .= ($export_format == 'pdf' ? 'C' : 'c'); //sredinska poravnava if($i!=0){ $prazniStolpciZaGraficneOznake .= ' & '; } } $prazniStolpciZaGraficneOznake .= $texNewLine.'\hline'; //ureditev parametrov za tabeli - konec //zacetek tabele z graficnimi oznakami $tex .= ($export_format == 'pdf' ? '\begin{tabularx}{0.9\textwidth}{'.$parameterTabularLabeleDrugaPod.'}' : '\begin{tabular}{'.$parameterTabularLabeleDrugaPod.'}'); //izris prazne vrstice z graficnimi oznakami label (crta horizontal) $tex .= $prazniStolpciZaGraficneOznake; //izris prazne vrstice z graficnimi oznakami label (crta horizontal) - konec //konec tabele z graficnimi oznakami $tex .= ($export_format == 'pdf' ? "\\end{tabularx}" : "\\end{tabular} \\noindent"); $tex .= $texNewLine; //zacetek tabele z naslovi label $tex .= ($export_format == 'pdf' ? '\begin{tabularx}{0.9\textwidth}{'.$parameterTabularLabeleTretjaPod.'}' : '\begin{tabular}{'.$parameterTabularLabeleTretjaPod.'}'); //izris naslovov label $slider_Labela_podrocja = []; //polje, ki hrani vpisane naslove labele podrocij for ($i = 1; $i <= $slider_StevLabelPodrocij; $i++) { //priprava polja z naslovi $slider_Labela_podrocja[$i] = ($spremenljivkaParams->get('slider_Labela_podrocja_' . $i . '') ? $spremenljivkaParams->get('slider_Labela_podrocja_' . $i . '') : $lang['srv_new_text']); if($i==1){ //ce je prvi stolpec $tex .= $slider_Labela_podrocja[$i]; }else{ $tex .= ' & '.$slider_Labela_podrocja[$i]; } } //izris naslovov label - konec //konec tabele z naslovi label $tex .= ($export_format == 'pdf' ? "\\end{tabularx}" : "\\end{tabular} \\noindent"); } #IZRIS DRUGE VRSTICE POD DRSNIKOM - LABELE PODROCIJ ########################### //echo $tex; } } //$tex .= ' \vspace{0.3cm} '; // Izris polj drugo - ne vem... if (count($array_others) > 0) { if($export_data_type==2||$nacinVnosa==0){ //ce je skrcen izpis izvoza ALI je stevilo $tex .= $texNewLine; } //$tex .= $texNewLine; foreach ($array_others AS $oKey => $other) { $tex .= $symbol.' '.$other['naslov'].' '; if($postavitev!=0){ //if($postavitev!=0&&$nacinVnosa!=1){ //ce je 0-vodoravno ob vprasanju IN ni drsnik //$tex .= $texNewLine; } } } if($nacinVnosa==1){ //ce je drsnik //if($export_data_type==1||$export_data_type==0){ //ce je dolg ali navaden izpis izvoza, ko se izrisuje drsnik if(($export_data_type==1||$export_data_type==0)&&(count($array_others)==0)){ //ce je dolg ALI navaden izpis izvoza IN ni missing, ko se izrisuje drsnik $tex .= $this->texBigSkip; $tex .= $this->texBigSkip." "; }elseif($export_data_type==2 || count($array_others) > 0){ //ce je skrcen izpis izvoza ALI so missingi $tex .= $this->texNewLine; $tex .= $this->texNewLine; } }else{ $tex .= $this->texNewLine; $tex .= $this->texNewLine; if($okvir == 1){ //ce je prazen vprasalnik, dodaj se dve prazni vrstici $tex .= $this->texNewLine; //$tex .= $this->texNewLine; } } /* $tex .= $texNewLine; $tex .= $texNewLine; */ /* $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 vrstice tabele po stolpcih function izrisVrsticePoStolpcih($steviloStolpcevTabele=null, $array=null){ $tex = ''; for($i=0;$i<$steviloStolpcevTabele;$i++){ if($i!=0){ //ce ni prvi stolpec $tex .= ' & '; //dodaj oznako za prehod v nov stolpec } $tex .= $array[$i]; } return $tex; } #funkcija, ki skrbi za izris vrstice tabele po stolpcih - konec }