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
|
<?php
/***************************************
* Description: Priprava Latex kode za Kalkulacija
*
* Vprašanje je prisotno:
* tip 22
*
* Autor: Patrik Pucer
* Datum: 05/2018
*****************************************/
if (!defined("NAGOVOR_LINE_WIDTH")) define("NAGOVOR_LINE_WIDTH", 0.5);
class KalkulacijaLatex 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 KalkulacijaLatex();
}
public function export($spremenljivke=null, $export_format='', $fillablePdf=null, $texNewLine='', $export_subtype='', $db_table=null, $usr_id=null){
global $lang;
$tex = '';
$tex .= $spremenljivke['variable'];
$tex .= ' = ';
//pridobi potrebne podatke za izpis kalkulacije
$sqlKalkulacijaString = 'SELECT spr_id, vre_id, grd_id, operator, number, left_bracket, right_bracket, vrstni_red FROM srv_calculation WHERE cnd_id =-'.$spremenljivke['id'].' ORDER BY vrstni_red';
//echo $sqlKalkulacijaString."</br>";
$sqlKalkulacija = sisplet_query($sqlKalkulacijaString);
while ($rowKalkulacija = mysqli_fetch_assoc($sqlKalkulacija)){
if($export_subtype=='q_empty'||$export_subtype=='q_comment'){ //ce je prazen vprasalnik ali je prazen vprasalnik s komentarji
//operator
if($rowKalkulacija['vrstni_red']!=1){
$tex .= ' '.$this->GetOperator($rowKalkulacija['operator']).' ';
}
//levi oklepaj
//if($rowKalkulacija['left_bracket']!=0){
for ($i = 1; $i <= $rowKalkulacija['left_bracket']; $i++){
$tex .= '(';
}
//}
//ime spremenljivke
if($rowKalkulacija['vre_id']){ //ce potrebujemo poleg imena spremenljivke (Q1, Q2, ...) se podoznako (a, b, c, ...)
$sqlVariableVrednostVrstniRedString = 'SELECT variable FROM srv_vrednost WHERE id ='.$rowKalkulacija['vre_id'].' ';
$sqlVariableVrednostVrstniRed = sisplet_query($sqlVariableVrednostVrstniRedString);
$rowVariableVrednostVrstniRed = mysqli_fetch_assoc($sqlVariableVrednostVrstniRed);
$imeSpremenljivke = $rowVariableVrednostVrstniRed['variable'];
}else{
if($rowKalkulacija['spr_id']>0){
$rowVariableName = Cache::srv_spremenljivka($rowKalkulacija['spr_id']); //pridobitev imena spremenljivke iz njenega id
$imeSpremenljivke = $rowVariableName['variable'];
}else{
$imeSpremenljivke = $rowKalkulacija['number'];
}
}
$tex .= $imeSpremenljivke;
//echo "ime variable:".$imeSpremenljivke."</br>";
//ime spremenljivke - konec
//desni oklepaj
//if($rowKalkulacija['right_bracket']!=0){
for ($i = 1; $i <= $rowKalkulacija['right_bracket']; $i++){
//$tex .= $rowKalkulacija['right_bracket'];
$tex .= ')';
}
//echo $tex."</br>";
}
}
if($export_subtype=='q_data'||$export_subtype=='q_data_all'){
$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'];
}
//pridobi potrebne podatke za izpis kalkulacije - konec
//echo $tex."</br>";
/* $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;
}
}
|