summaryrefslogtreecommitdiffstats
path: root/admin/survey/export/latexclasses/Vprasanja/LokacijaLatex.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/survey/export/latexclasses/Vprasanja/LokacijaLatex.php')
-rw-r--r--admin/survey/export/latexclasses/Vprasanja/LokacijaLatex.php142
1 files changed, 142 insertions, 0 deletions
diff --git a/admin/survey/export/latexclasses/Vprasanja/LokacijaLatex.php b/admin/survey/export/latexclasses/Vprasanja/LokacijaLatex.php
new file mode 100644
index 0000000..90a40c1
--- /dev/null
+++ b/admin/survey/export/latexclasses/Vprasanja/LokacijaLatex.php
@@ -0,0 +1,142 @@
+<?php
+/***************************************
+ * Description: Priprava Latex kode za lokacija
+ *
+ * Vprašanje je prisotno:
+ * tip 26
+ *
+ * Autor: Patrik Pucer
+ * Datum: 08/2017
+ *****************************************/
+
+
+class LokacijaLatex extends LatexSurveyElement
+{
+ var $internalCellHeight;
+
+ public function __construct()
+ {
+ //parent::getGlobalVariables();
+ }
+
+ /************************************************
+ * Get instance
+ ************************************************/
+ private static $_instance;
+ protected $texBigSkip = '\bigskip';
+ protected $loop_id = null; // id trenutnega loopa ce jih imamo
+
+ public static function getInstance()
+ {
+ if (self::$_instance)
+ return self::$_instance;
+
+ return new LokacijaLatex();
+ }
+
+
+ public function export($spremenljivke=null, $export_format='', $questionText='', $fillablePdf=null, $texNewLine='', $usr_id=null, $db_table=null, $export_subtype='', $preveriSpremenljivko=null, $loop_id=null){
+ // Ce je spremenljivka v loopu
+ $this->loop_id = $loop_id;
+
+ //za podtip izberi lokacijo je treba preverjat posebej, ker se vrstica pri userju vedno kreira ampak brez odgovora
+ if($spremenljivke['enota'] == 3){
+ $loop_id_s = $loop_id == null ? " IS NULL" : " = '".$loop_id."'";
+ //ne sme biti negativna stevilka (ker je lahko neodgovor)
+ $qu = "SELECT count(*) as cnt FROM srv_data_map WHERE spr_id='".$spremenljivke['id']."' AND usr_id='$usr_id' AND loop_id $loop_id_s AND (text NOT REGEXP '^[+\-]?[0-9]+$' OR text>=0);";
+ $sql = sisplet_query($qu, 'obj');
+ $userDataPresent = $sql->cnt;
+ //da se kreira $this->userAnswer
+ $this->GetUsersData($db_table, $spremenljivke['id'], $spremenljivke['tip'], $usr_id, $this->loop_id);
+ }
+ else{
+ //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."</br>";
+ }
+
+ 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;
+
+ $tex = '';
+
+ $textboxWidth = '1'; //sirina okvirja z odgovorom
+ $textboxHeight = '5cm'; //visina okvirja z odgovorom
+ $odgovorLokacija = "Google Maps"; //odgovor
+ $noBorders = 0;
+
+ //priprava latex kode za text box dolocene sirine in visine glede na export format z besedilom
+ $textboxAllignment = 't';
+ //$answerTextBox = $this->LatexTextBox($export_format, $textboxHeight, $textboxWidth, $odgovorLokacija, $textboxAllignment, $noBorders);
+ $answerTextBox = $odgovorLokacija;
+
+ //$tex .= $answerTextBox; //izris okvirja z odgovorom
+ //parametri tabele
+ $parameterTabular = 'l';
+
+ //IZRIS
+ #ZACETEK TABELE
+ //zacetek tabele
+ //$tex .= $this->StartLatexTable($export_format, $parameterTabular, 'tabularx', 'tabular', 1, 1);
+
+ $tex .= $answerTextBox;
+
+ //zakljucek tabele
+ //$tex .= $this->EndLatexTable($export_format, 'tabularx', 'tabular');
+ #KONEC TABELE
+
+ //$tex .= $texNewLine;
+
+ if($userDataPresent){ //ce je kaj v bazi, je potrebno izrisati tabelo s koordinatami in naslovom
+ $textboxWidthOdgovori = '1'; //sirina okvirja z odgovorom
+ $textboxHeightOdgovori = 0; //visina okvirja z odgovorom
+ $noBordersOdgovori = 0;
+ //echo "stevilo odgovorov: ".count($this->userAnswer)."</br>";
+
+ for($i=0; $i<count($this->userAnswer);$i++){
+ //v primeru, da imamo izberi lokacijo (podtip 3) in brez texta, pomeni, da nimamo odgovora, zato ignoriraj
+ if(!($spremenljivke['enota'] == 3 && ($this->userAnswer[$i]['text'] == "" || $this->userAnswer[$i]['text'] < 0))){
+ //echo "rowAnswers: ".$this->userAnswer[$i]['address'].' za odgovore tip '.$spremenljivke['tip'].' id '.$spremenljivke['id'].' usr '.$usr_id.'</br>';
+ #priprava odgovora respondenta #######################################################################################
+ $answer = "\\textcolor{crta}{".$this->userAnswer[$i]['lat'].", ".$this->userAnswer[$i]['lng']."}";
+ if($this->userAnswer[$i]['address']){ //ce je prisoten tudi podatek o naslovu, ga dodaj
+ $answer .= ", \\textcolor{crta}{".$this->userAnswer[$i]['address']."}";
+ }
+ if($this->userAnswer[$i]['text']&&(/*!is_numeric($this->userAnswer[$i]['text']) ||*/ $this->userAnswer[$i]['text'] >= 0)){ //ce je prisoten tudi podatek 'text' (kjer je po navadi odgovor na podvprasanje), ga dodaj
+ $answer .= $texNewLine;
+ $answer .= $lang['srv_export_marker_podvpr_answer'].": \\textcolor{crta}{".$this->userAnswer[$i]['text']."}";
+ }
+ //echo $answer;
+ #priprava odgovora respondenta - konec #######################################################################################
+
+ //zacetek tabele
+ $tex .= $this->StartLatexTable($export_format, $parameterTabular, 'tabularx', 'tabular', 1, 1);
+
+ //izpis latex kode za prazen okvir oz. okvir z odgovori respondenta
+ $tex .= $this->LatexTextBox($export_format, $textboxHeightOdgovori, $textboxWidthOdgovori, $answer, $textboxAllignment, $noBordersOdgovori);
+
+ //zakljucek tabele
+ $tex .= $this->EndLatexTable($export_format, 'tabularx', 'tabular');
+ //$tex .= $texNewLine;
+ }
+ }
+ }
+
+ if($export_subtype=='q_empty'){
+ $tex .= $texNewLine;
+ $tex .= $texNewLine;
+ }else{
+ $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;
+ }
+ }
+} \ No newline at end of file