summaryrefslogtreecommitdiffstats
path: root/admin/survey/export/latexclasses/class.LatexGDPR.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/survey/export/latexclasses/class.LatexGDPR.php')
-rw-r--r--admin/survey/export/latexclasses/class.LatexGDPR.php115
1 files changed, 115 insertions, 0 deletions
diff --git a/admin/survey/export/latexclasses/class.LatexGDPR.php b/admin/survey/export/latexclasses/class.LatexGDPR.php
new file mode 100644
index 0000000..f56c2b2
--- /dev/null
+++ b/admin/survey/export/latexclasses/class.LatexGDPR.php
@@ -0,0 +1,115 @@
+<?php
+
+/**
+ *
+ * Class ki skrbi za izris GDPR dokumentov v latex
+ *
+ *
+ */
+
+
+//include('../../function.php');
+include('../../vendor/autoload.php');
+
+
+class LatexGDPR{
+
+ protected $anketa;
+
+ protected $pi=array('canCreate'=>false); // za shrambo parametrov in sporocil
+ protected $pdf;
+ protected $currentStyle;
+
+ protected $texNewLine = '\\\\ ';
+ protected $texBigSkip = '\bigskip';
+
+
+ function __construct($anketa=null){
+ global $global_user_id;
+
+ // preverimo ali imamo stevilko ankete
+ if ( is_numeric($anketa) ){
+ $this->anketa = $anketa;
+ }
+ else{
+ $this->pi['msg'] = "Anketa ni izbrana!";
+ $this->pi['canCreate'] = false;
+
+ return false;
+ }
+
+ // ce smo prisli do tu je vse ok
+ $this->pi['canCreate'] = true;
+
+ return true;
+ }
+
+
+ public function displayGDPR($export_subtype=''){
+ global $lang;
+
+ $tex = '';
+
+ // Definiramo
+ $tex = '';
+
+ // Izpis posameznega porocila
+ if($export_subtype == 'individual'){
+
+ // Naslov dokumenta
+ $tex .= '\noindent\MakeUppercase{\huge \textbf{'.$lang['export_gdpr_individual'].'}}'.$this->texBigSkip.$this->texNewLine.$this->texNewLine;
+
+ // Pridobimo array z vsemi texti
+ $text_array = GDPR::getGDPRInfoArray($this->anketa);
+ }
+ elseif($export_subtype == 'activity'){
+
+ // Naslov dokumenta
+ $tex .= '\noindent\MakeUppercase{\huge \textbf{'.$lang['export_gdpr_activity'].'}}'.$this->texBigSkip.$this->texNewLine.$this->texNewLine;
+
+ // Pridobimo array z vsemi texti
+ $text_array = GDPR::getGDPREvidencaArray($this->anketa);
+ }
+
+
+ // Loop po posameznih sklopih
+ foreach($text_array as $sklop){
+
+ // Naslov sklopa
+ $tex .= '\textbf{'.$sklop['heading'].'}';
+ $tex .= $this->texNewLine;
+
+ // Loop po posameznih vrsticah
+ foreach($sklop['text'] as $vrstica){
+
+ //$tex .= '\text{'.$vrstica.'}';
+ $tex .= '{'.$vrstica.'}';
+ $tex .= $this->texNewLine;
+ }
+
+ $tex .= $this->texNewLine;
+ }
+
+ $tex .= $this->texNewLine.$lang['date'].': '.date('j.n.Y').$this->texNewLine;
+
+
+ // Se pobarvamo text znotraj <strong> taga
+ //$tex = str_replace('<strong>', '\textcolor{1ka_orange}{', $tex);
+ $tex = str_replace('<strong>', '\textcolor{crta}{', $tex);
+ $tex = str_replace('</strong>', '}', $tex);
+
+ // Se replacamo href-e
+ preg_match_all("|<a.*(?=href=\"([^\"]*)\")[^>]*>([^<]*)</a>|i", $tex, $matches);
+ foreach($matches[0] as $key => $val){
+
+ $url = $matches[1][$key];
+ $url_text = $matches[2][$key];
+
+ $tex = str_replace($matches[0][$key], '\textcolor{crta}{\underline{\href{'.$url.'}'.'{'.$url_text.'}}}', $tex);
+ }
+
+
+ return $tex;
+ }
+
+} \ No newline at end of file