summaryrefslogtreecommitdiffstats
path: root/admin/survey/export/latexclasses/Vprasanja/KvotaLatex.php
blob: f20eef41fe626b4e941cdee0e55b5da6cf512f5f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?php
/***************************************
 * Description: Priprava Latex kode za Kvota
 *
 * Vprašanje je prisotno:
 * tip 25
 *
 * Autor: Patrik Pucer
 * Datum: 05/2018
 *****************************************/

 define("NAGOVOR_LINE_WIDTH", 0.5);

class KvotaLatex extends LatexSurveyElement
{
	protected $texBigSkip = '\bigskip';
	
    public function __construct()
    {
        //parent::getGlobalVariables();
    }

    /************************************************
     * Get instance
     ************************************************/
    private static $_instance;

    public static function getInstance()
    {
        if (self::$_instance)
            return self::$_instance;

        return new KvotaLatex();
    }
	

	public function export($spremenljivke=null, $export_format='', $fillablePdf=null, $texNewLine='', $export_subtype='', $db_table=null, $anketa=null, $usr_id=null){
		
		global $lang;
		$tex = '';
		
		$tex .= $spremenljivke['variable'];
		$tex .= ' = ';
		
		//pridobi potrebne podatke za izpis kvote  	spr_id 	vre_id 	grd_id 	operator 	value 	left_bracket 	right_bracket 	vrstni_red
		$sqlKvotaString = 'SELECT spr_id, vre_id, grd_id, operator, value, left_bracket, right_bracket, vrstni_red FROM srv_quota WHERE cnd_id =-'.$spremenljivke['id'].' ORDER BY vrstni_red';
		//echo $sqlKvotaString."</br>";
		$sqlKvota = sisplet_query($sqlKvotaString);
		
 		while ($rowKvota = mysqli_fetch_assoc($sqlKvota)){
			
			if($export_subtype=='q_empty'||$export_subtype=='q_comment'){	//ce je kaj v bazi ali je prazen vprasalnik ali je potrebno pokazati tudi ne odgovorjena vprasanja
			
				//operator
				if($rowKvota['vrstni_red']!=1){
					$tex .= ' '.$this->GetOperator($rowKvota['operator']).' ';
					//$tex .= $this->GetOperator($rowKvota['operator']);
				}
				
				//levi oklepaj
				for ($i = 1; $i <= $rowKvota['left_bracket']; $i++){
					$tex .= '(';
				}
				
				//vrstni red vrednosti spremenljivke
				$sqlVariableVrednostVrstniRedString = 'SELECT vrstni_red FROM srv_vrednost WHERE id ='.$rowKvota['vre_id'].' ';
				$sqlVariableVrednostVrstniRed = sisplet_query($sqlVariableVrednostVrstniRedString);
				$rowVariableVrednostVrstniRed = mysqli_fetch_assoc($sqlVariableVrednostVrstniRed);
				//echo $rowVariableVrednostVrstniRed['vrstni_red']."</br>";
				
				//ime spremenljivke				
				if($rowKvota['spr_id']>0){	//ce je spr_id vecji od 0
					$rowVariableName = Cache::srv_spremenljivka($rowKvota['spr_id']);	//pridobitev imena spremenljivke iz njenega id
					$tex .= $lang['srv_vprasanje_tip_25'].'('.$rowVariableName['variable'].$this->encodeText('_').$rowVariableVrednostVrstniRed['vrstni_red'].')';
				}else{ //drugace, ko je spr_id manjsi od 0, je negativne vrednosti, so zapisani statusi in tipi odgovorov
					switch ( $rowKvota['spr_id'] ){
						case -1:
							// Kvota po statusu
							$tex .= $lang['srv_vprasanje_tip_25'].'('.$lang['srv_quota_status_1'].')';
						break;
						case -2:
							// Kvota po statusu
							$tex .= $lang['srv_vprasanje_tip_25'].'('.$lang['srv_quota_status_2'].')';
						break;
						case -3:
							// Kvota po statusu
							$tex .= $lang['srv_vprasanje_tip_25'].'('.$lang['srv_quota_status_3'].')';
						break;
						case -4:
							// Kvota po statusu
							$tex .= $lang['srv_vprasanje_tip_25'].'('.$lang['srv_quota_status_4'].')';
						break;
						case -5:
							// Kvota po statusu
							$tex .= $lang['srv_vprasanje_tip_25'].'('.$lang['srv_quota_status_5'].')';
						break;
						case -6:
							// Kvota po statusu
							$tex .= $lang['srv_vprasanje_tip_25'].'('.$lang['srv_quota_status_6'].')';
						break;
						case -7:
							// Kvota po ustreznih odgovorih
							$tex .= $lang['srv_vprasanje_tip_25'].'('.$lang['srv_quota_status_7'].')';
						break;
						case -8:
							// Kvota po vseh odgovorih
							$tex .= $lang['srv_vprasanje_tip_25'].'('.$lang['srv_quota_status_8'].')';
						break;
					}
				}
				
				//desni oklepaj
				for ($i = 1; $i <= $rowKvota['right_bracket']; $i++){
					$tex .= ')';
				}
				//echo $rowKvota['spr_id']."</br>";
			}				
		}
		
		/*izpis odgovorov respondentov*/
 		if($export_subtype=='q_data'||$export_subtype=='q_data_all'){	//ce je izpis odgovorov respondentov
			$sqlUserAnswerString = "SELECT text FROM srv_data_text".$db_table." WHERE spr_id='".$spremenljivke['id']."' AND usr_id='".$usr_id."' ";
			$sqlUserAnswer = sisplet_query($sqlUserAnswerString);
			$userAnswer = mysqli_fetch_array($sqlUserAnswer);
			$tex .= $userAnswer['text'];
		}
		/*izpis odgovorov respondentov - konec*/
		
		//pridobi potrebne podatke za izpis kalkulacije - konec
		
		//echo $tex."</br>";
		
		$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

		}
		//echo $tex."</br>";
		return $tex;
	}	
}