2020-08-14 13:36:36 +02:00
< ? php
/***************************************
* Description : Priprava Latex kode za Kalkulacija
*
* Vprašanje je prisotno :
* tip 22
*
* Autor : Patrik Pucer
* Datum : 05 / 2018
*****************************************/
2020-12-07 09:43:59 +01:00
define ( " NAGOVOR_LINE_WIDTH " , 0.5 );
2020-08-14 13:36:36 +02:00
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 ;
}
}