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;
}
}
|