diff --git a/admin/survey/export/latexclasses/class.LatexSurvey.php b/admin/survey/export/latexclasses/class.LatexSurvey.php index aaf7def36..c378f6e31 100644 --- a/admin/survey/export/latexclasses/class.LatexSurvey.php +++ b/admin/survey/export/latexclasses/class.LatexSurvey.php @@ -11,6 +11,7 @@ include('../../vendor/autoload.php'); define("RADIO_BTN_SIZE", 0.13); +define("PIC_SIZE_ANS", "\includegraphics[width=3cm]"); //slika dolocene sirine class LatexSurvey{ @@ -48,6 +49,8 @@ class LatexSurvey{ protected $path2UploadedImages; protected $language = -1; // Katero verzijo prevoda izvazamo + + public static $spremenljivka; //function __construct($anketa, $export_format){ function __construct($anketa=null, $export_format='', $export_show_intro=null, $export_show_if=null, $export_data_skip_empty=null, $export_data_skip_empty_sub=null){ @@ -209,13 +212,11 @@ class LatexSurvey{ if(isset($_GET['language'])){ $this->language = $_GET['language']; $prevod = 1; - }elseif($this->language!=-1){ - $prevod = 1; }else{ $prevod = 0; } //preverjanje, ali je prevod - konec - + //if($this->language!=-1){ //ce je prevod ankete if($prevod){ //ce je prevod ankete $spr_id_uvod = -1; @@ -223,14 +224,18 @@ class LatexSurvey{ $rowl = mysqli_fetch_array($sqll); //pridobi prevod uvoda v ustreznem jeziku $intro = $rowl['naslov']; //prevod uvoda v ustreznem jeziku }else{ - $intro = (SurveyInfo::getInstance()->getSurveyIntro() == '') ? $lang['srv_intro'] : SurveyInfo::getInstance()->getSurveyIntro(); - } + //$intro = (SurveyInfo::getInstance()->getSurveyIntro() == '') ? $lang['srv_intro'] : SurveyInfo::getInstance()->getSurveyIntro(); + $sqlIntroString = "SELECT introduction FROM srv_anketa WHERE id=".$this->anketa." "; + $sqlIntro = sisplet_query($sqlIntroString); + $rowl = mysqli_fetch_array($sqlIntro); //pridobi besedilu uvoda + $intro = $rowl['introduction']; //prevod uvoda v ustreznem jeziku + } $tex .= $this->encodeTextHere($intro); if($intro){ $tex .= $this->texNewLine; $tex .= $this->texNewLine; } - + //echo "uvod: $intro
"; } } @@ -1217,11 +1222,34 @@ class LatexSurvey{ } #funkcija ki skrbi za encode dolocenih spornih delov besedila v latex-u prijazno - function encodeTextHere($text='', $vre_id=0){ + function encodeTextHere($text='', $vre_id=0, $naslovStolpca = 0, $img_id=0){ global $site_path, $lang; - + //$text = str_replace(' ','X',$text); //nadomesti presledke //echo "Encoding ".$text."
"; //echo "vre_id: ".$vre_id."
"; + //echo "ime spremenljivke ".$this->variableName."
"; + + $text = htmlspecialchars_decode($text); //vse html special chars kot je & spremeni v ustrezne simbole (npr. &=>&) + + //resevanje razbirajanja predolgih neprekinjenih besed in URL - spremenljivke za kasnejsi prilagojen izpis + //$numOfWords = str_word_count($text, 0); + $numOfSpacesPrej = substr_count($text, ' '); //stevilo presledkov v besedilu + $stringLength = strlen($text); + + $findSpace = ' '; + $posSpace1 = strpos($text, $findSpace); //najdi pozicijo prvega presledka v besedilu + $posSpace2 = strripos($text, $findSpace); //najdi pozicijo zadnjega presledka v besedilu + + + $findHttp = 'http://'; + $findHttps = 'https://'; + $posHttp = strpos($text, $findHttp); + $posHttps = strpos($text, $findHttps); + $isURL = 0; + /* if($posHttp !== false || $posHttps !== false) { //imamo URL naslov + $isURL = 1; + } */ + //resevanje razbirajanja predolgih neprekinjenih besed in URL - konec $this->path2UploadedImages = $site_path.'uploadi/editor/'; if($text == ''){ //ce ni teksta, vrni se @@ -1234,6 +1262,7 @@ class LatexSurvey{ $findImgLength = strlen($findImg); $findUl = '"; + + //ureditev izrisa slike + if($posImg !== false){ + $numOfImgs = substr_count($text, $findImg); //stevilo ''); //pozicija, kjer se konca html koda za img + $textPotem = substr($textPotem, $posImgEnd+strlen('/>')); //tekst od konca html kode za img dalje + + $imageName = $this->path2UploadedImages."".$this->getImageName($text, 0, '"; + //error_log("iz survey element: ".$imageNameTest); + //echo("iz survey element imageNameTest: ".$imageNameTest."
"); + //echo "Obstaja ? ".file_exists($imageNameTest)."
"; + //echo("iz survey element imageName: ".$imageName."
"); + //echo "velikost: ".filesize($imageNameTest)."
"; +/* if(filesize($imageNameTest) > 0){ + $text = $textPrej.' '.PIC_SIZE_ANS."{".$imageName."}".' '.$textPotem; + }else{ + $image = $lang['srv_pc_unavailable']; + $text = $textPrej.' '.$image.' '.$textPotem; + } */ + $text = ''; + //$text = $textPrej.' '; + + //if(filesize($imageNameTest) > 0){ + if(file_exists($imageNameTest)){ + $text .= $textPrej.' '.PIC_SIZE_ANS."{".$imageName."}"; + }else{ + $image = $lang['srv_pc_unavailable']; + $text .= $image; + } + $text .= ' '.$textPotem; + } + + //pred ureditvijo posebnih karakterjev, odstrani del teksta s kodo za sliko, da se ne pojavijo tezave zaradi imena datoteke od slike + $findImgCode = '\includegraphics'; + $posOfImgCode = strpos($text, $findImgCode); + //echo $posOfImgCode."
"; + $textToImgCode = substr($text, 0, $posOfImgCode); //tekst do $findImgCode + //echo $textToImgCode."
"; + $textFromImgCode = substr($text, $posOfImgCode); //tekst po $findImgCode + //echo $textFromImgCode."
"; + $findImgCodeEnd = '}'; + //$posOfImgCodeEnd = strpos($text, $findImgCodeEnd); + $posOfImgCodeEnd = strpos($textFromImgCode, $findImgCodeEnd); + //echo $posOfImgCodeEnd."
"; + $textAfterImgCode = substr($textFromImgCode, $posOfImgCodeEnd+1); //tekst po $findImgCodeEnd + //echo $textAfterImgCode."
"; + $textOfImgCode = substr($text, $posOfImgCode, $posOfImgCodeEnd+1); + //echo $textOfImgCode."
"; + + $text = $textToImgCode.$textAfterImgCode; + + //pred ureditvijo posebnih karakterjev, odstrani del teksta s kodo za sliko, da se ne pojavijo tezave zaradi imena datoteke od slike - konec + } + //ureditev izrisa slike - konec + //ureditev posebnih karakterjev za Latex http://www.cespedes.org/blog/85/how-to-escape-latex-special-characters, https://en.wikibooks.org/wiki/LaTeX/Special_Characters#Other_symbols $text = str_replace('\\','\textbackslash{} ',$text); //$text = str_replace('{','\{',$text); //$text = str_replace('}','\}',$text); $text = str_replace('$','\$ ',$text); - $text = str_replace('#','\# ',$text); + + if(substr_count($text, '#')){ //ce je stevilo # vecje od 1 + $text = str_replace('#','\#',$text); + }else{ + $text = str_replace('#','\# ',$text); + } $text = str_replace('%','\% ',$text); $text = str_replace('€','\euro',$text); $text = str_replace('^','\textasciicircum{} ',$text); $text = str_replace('_','\_ ',$text); $text = str_replace('~','\textasciitilde{} ',$text); - $text = str_replace('&','\&',$text); + if(strpos($text, '&')){ //ce je prisotno v besedilu &' + $text = str_replace('&','\& ',$text); + }else{ + $text = str_replace('&','\& ',$text); + } + $text = str_replace(' ','~',$text); //$text = str_replace('<','\textless ',$text); - $text = str_replace('<','\textless',$text); + $text = str_replace('<',' \textless ',$text); //$text = str_replace('>','\textgreater ',$text); - $text = str_replace('>','\textgreater',$text); + $text = str_replace('>',' \textgreater ',$text); //ureditev posebnih karakterjev za Latex - konec + //ureditev grskih crk + $text = str_replace('α','\textalpha ',$text); //ά + $text = str_replace('ά','\textalpha ',$text); + $text = str_replace('β','\textbeta ',$text); + $text = str_replace('γ','\textgamma ',$text); + $text = str_replace('δ','\textdelta ',$text); + $text = str_replace('ε','\textepsilon ',$text); + $text = str_replace('ζ','\textzeta ',$text); + $text = str_replace('η','\texteta ',$text); + $text = str_replace('θ','\texttheta ',$text); + $text = str_replace('ι','\textiota ',$text); + $text = str_replace('κ','\textkappa ',$text); + $text = str_replace('λ','\textlambda ',$text); + $text = str_replace('μ','\textmugreek ',$text); + $text = str_replace('ν','\textnu ',$text); + $text = str_replace('ξ','\textxi ',$text); + //$text = str_replace('ο','o',$text); // \textomicron ne dela + $text = str_replace('ο','\textgreek{ο}',$text); + //$text = str_replace('ς','\textvarsigma ',$text); + $text = str_replace('ς','\textgreek{ς}',$text); + $text = str_replace('π','\textpi ',$text); + $text = str_replace('ρ','\textrho ',$text); + $text = str_replace('σ','\textsigma ',$text); + $text = str_replace('τ','\texttau ',$text); + $text = str_replace('υ','\textupsilon ',$text); + $text = str_replace('φ','\textphi ',$text); + $text = str_replace('χ','\textchi ',$text); + $text = str_replace('ψ','\textpsi ',$text); + $text = str_replace('ω','\textomega ',$text); + $text = str_replace('ύ','\textgreek{ύ}',$text); + //ureditev grskih crk - konec + + //ureditev ostalih posebnih crk + $text = str_replace('ə','\textschwa ',$text); + //ureditev ostalih posebnih crk - konec + + //ureditev preureditve html kode ul in li v latex itemize if($posUl !== false){ //echo "text prej: ".$text."
"; @@ -1272,27 +1413,133 @@ class LatexSurvey{ //if($numOfUl!=0){ if($numOfUl!=0 && $posLi !== false){ //ce imamo ul in li $text = str_replace('','\end{itemize} ', $text); + $text = str_replace('','\item ', $text); + $text = str_replace('','\item \ ', $text); + $text = str_replace('','\end{itemize} \ ', $text); } //echo "prazno v html: ".strpos($text, '\r')."
"; //echo "text potem: ".$text."
"; ###################### } //ureditev preureditve html kode ul in li v latex itemize - konec - - if($posPar !== false){ //ce je kaksen html tag

, dodaj prazno vrstico oz. break - if($numOfUl!=0 && $posLi !== false){ //ce imamo ul in li - $divider = ' '; - }else{ - $divider = ' \\ \\\\ '; - } - //$text = str_replace('

',' ', $text); - //$text = str_replace('

',' \break ', $text); - //$text = str_replace('

',' \\\\ ', $text); - $text = str_replace('

', $divider, $text); + //ureditev preureditve html kode ol in li v latex enumerate, ki je ostevilcen + if($posOl !== false){ + //echo "text prej: ".$text."
"; + $numOfOl = substr_count($text, $findOl); //stevilo '"; + ###################### + //if($numOfUl!=0){ + if($numOfOl!=0 && $posLi !== false){ //ce imamo ol in li + $text = str_replace('

    ','\begin{enumerate} ', $text); +/* $text = str_replace('
  1. ','\item ', $text); + $text = str_replace('','\item \ ', $text); + $text = str_replace('','\end{enumerate} \ ', $text); + } + //echo "prazno v html: ".strpos($text, '\r')."
    "; + //echo "text potem: ".$text."
    "; + ###################### } + //ureditev preureditve html kode ol in li v latex enumerate, ki je ostevilcen - konec + + //po ureditvi posebnih karakterjev, dodati del teksta s kodo za sliko, ce je slika prisotna + if($posImg !== false){ + $text = substr_replace($text, $textOfImgCode, $posOfImgCode, 0); + } + //po ureditvi posebnih karakterjev, dodati del teksta s kodo za sliko, ce je slika prisotna + + if($posPar !== false){ //ce je kaksen html tag

    , dodaj prazno vrstico oz. break + if($this->variableName=='gdpr'){ + if($numOfUl!=0 && $posLi !== false){ //ce imamo ul in li + $divider = ' '; + }else{ + $divider = ' \\ \\\\ '; + } + $text = str_replace('

    ',$divider, $text); + }else{ + $text = str_replace('

    ',' ', $text); + } + } + + + //priprava izpisa zelo dolgega besedila brez presledkov (URL, email, ...) + //if($numOfSpacesPrej == 0 && ($stringLength >= MAX_STRING_LENGTH)){ //ce v besedilu ni presledkov in je besedilo daljse od max dovoljene dolzine + if( ($numOfSpacesPrej == 0 && ($stringLength >= MAX_STRING_LENGTH)) || ($numOfSpacesPrej == 1 && $posSpace1 == $posSpace2 && $stringLength >= MAX_STRING_LENGTH)){ //ce v besedilu ni presledkov in je besedilo daljse od max dovoljene dolzine + //$text = "\seqsplit{".$text."}"; //ni v redu seqsplit, ker ne dela, če so posebni znaki + $text = substr_replace($text, $this->texNewLine, MAX_STRING_LENGTH, 0); //dodaj na ustrezni dolzini besedila prehod v novo vrstico + } + //priprava izpisa zelo dolgega besedila brez presledkov - konec + + //echo "text potem: ".$text."
    "; + + //detekcija prisotnosti e-naslova v besedilu in primerna preureditev, da pride do pravilnega izpisa + $findAt = '@'; + $numOfAt = substr_count($text, $findAt); //stevilo '@' v besedilu + + $posAt = strpos($text, $findAt); + if($posAt && $posSpace1){ //ce je prisotna afna in je prisoten presledek v besedilu + //echo "afna je: $posAt
    "; + //echo "Encoding: ".$text."
    "; + + //najdi prvi presledek po afni + //echo substr($text, $posAt) ."
    "; + $posSpace1Mail = strpos(substr($text, $posAt), $findSpace); //najdi pozicijo prvega presledka v besedilu po e-naslovu + $posSpace1Mail = $posSpace1Mail+$posAt; //koncna pozicija, ce se gleda celotno besedilo + //echo $posSpace1Mail."
    "; + + //najdi prvi presledek pred afno + $posSpace2Mail = strripos(substr($text, 0, $posAt), $findSpace); //najdi pozicijo zadnjega presledka v besedilu pred e-naslovom + //echo $posSpace2Mail."
    "; + + //dodaj po e-naslovu potrebno latex kodo za zakljucek url + $text = substr_replace($text, '}', $posSpace1Mail, 0); + + //dodaj pred e-naslovom potrebno latex kodo za url + //substr_replace(string_name, replacement_string, start_pos, length) + $text = substr_replace($text, ' \url{', $posSpace2Mail+1, 0); + //echo $text."
    "; + } + //detekcija prisotnosti e-naslova v besedilu in primerna preureditev, da pride do pravilnega izpisa - konec + + + //RESEVANJE BESEDILA V CIRILICI + $contains_cyrillic = (bool) preg_match('/[\p{Cyrillic}]/u', $text); //ali je v besedilu cirilica? + if($contains_cyrillic){ // ce je cirilica v besedilu + $text = '\foreignlanguage{russian}{'.$text.'}'; + } + //RESEVANJE BESEDILA V CIRILICI - konec + + + + //RESEVANJE odstranitve dodatnih style tag-ov po ul, ipd. ####################################################### + $findStyleTagFull = '"; if($pos === false && $posImg === false) { //v tekstu ni br in img @@ -1300,37 +1547,39 @@ class LatexSurvey{ return strip_tags($text); }else { //v tekstu sta prisotna br ali img $text2Return = ''; //tekst ki bo vrnjen - + //ureditev preureditev html kode za novo vrstico v latex, ureditev prenosa v novo vrstico - if($pos !== false){ - $pos = strpos($text, $findme); - $numOfBr = substr_count($text, $findme); //stevilo '
    ' v tekstu - for($i=0; $i<$numOfBr; $i++){ - if($i == 0){ //ce je prvi najdeni '
    ' - $textPrej = substr($text, 0, $pos); - $textPotem = substr($text, $pos+$findmeLength); - if($i == $numOfBr-1){ - //$text2Return .= $textPrej.' \break '.$textPotem; - $text2Return .= $textPrej.' \\\\ '.$textPotem; - }else{ - //$text2Return .= $textPrej.' \break '; - $text2Return .= $textPrej.' \\\\ '; - } - }else{ //drugace - $pos = strpos($textPotem, $findme); - $textPrej = substr($textPotem, 0, $pos); - $textPotem = substr($textPotem, $pos+$findmeLength); - if($i == $numOfBr-1){ - //$text2Return .= $textPrej.' \break '.$textPotem; - $text2Return .= $textPrej.' \\\\ '.$textPotem; - }else{ - //$text2Return .= $textPrej.' \break '; - $text2Return .= $textPrej.' \\\\ '; + if($naslovStolpca==0){ // ce besedilo ni naslov stolpca tabele + if($pos !== false){ + $pos = strpos($text, $findme); + $numOfBr = substr_count($text, $findme); //stevilo '
    ' v tekstu + for($i=0; $i<$numOfBr; $i++){ + if($i == 0){ //ce je prvi najdeni '
    ' + $textPrej = substr($text, 0, $pos); + $textPotem = substr($text, $pos+$findmeLength); + if($i == $numOfBr-1){ + //$text2Return .= $textPrej.' \break '.$textPotem; + $text2Return .= $textPrej.' \\\\ '.$textPotem; + }else{ + //$text2Return .= $textPrej.' \break '; + $text2Return .= $textPrej.' \\\\ '; + } + }else{ //drugace + $pos = strpos($textPotem, $findme); + $textPrej = substr($textPotem, 0, $pos); + $textPotem = substr($textPotem, $pos+$findmeLength); + if($i == $numOfBr-1){ + //$text2Return .= $textPrej.' \break '.$textPotem; + $text2Return .= $textPrej.' \\\\ '.$textPotem; + }else{ + //$text2Return .= $textPrej.' \break '; + $text2Return .= $textPrej.' \\\\ '; + } } } + $text = $text2Return; } - $text = $text2Return; - } + } //ureditev preureditev html kode za novo vrstico v latex, ureditev prenosa v novo vrstico - konec //echo "text potem: ".$text."
    "; $text = preg_replace("/(\R){2,}/", "$1", $text); @@ -1338,5 +1587,184 @@ class LatexSurvey{ } } #funkcija ki skrbi za encode dolocenih spornih delov besedila v latex-u prijazno - konec + + #funkcija, ki skrbi za pridobitev imena slike, ki jo je potrebno izrisati ###################################### + function getImageName($text='', $sprId=null, $findme='', $vre_id=0, $img_id=0){ + global $site_path, $site_url; + $imageName = ''; + //echo "id slike $img_id
    "; + if($text == 'hotspot' && $findme == 'hotspot_image='){ + $sqlParametrov = sisplet_query("SELECT params FROM srv_spremenljivka WHERE id='".$sprId."'"); + $rowParametrov = mysqli_fetch_row($sqlParametrov); + $text = $rowParametrov[0]; + } + + $pos = strpos($text, $findme); //najdi pozicijo teksta v $findme + //echo "text za echo: ".$text."
    "; + //if($pos!=''){ //ce je slika v bazi + if($pos!=''||$pos==0){ //ce je slika v bazi + $imageName = substr($text,$pos); //pokazi le del text od besedila $findme dalje (vkljucno z besedilom) + //echo "imageName prej: ".$imageName."
    "; + + //$findme = $site_path.'uploadi/editor/'; + $findme = $site_url.'uploadi/editor/'; + //$findme = 'uploadi/editor/'; + //$findme = 'editor/'; + //echo "findme: ".$findme."
    "; + $pos = strpos($imageName, $findme); //najdi pozicijo teksta v $findme + //echo "najdi tole: ".$findme."
    "; + //echo "najdi tukaj: ".$imageName."
    "; + //echo "pozicija tega: ".$pos."
    "; + if($pos){ //ce je slika na strezniku + $slikaNaStrezniku = 1; + }else{//ce slike ni na strezniku + $slikaNaStrezniku = 0; + } + //echo "ali je slika na strežniku: ".$slikaNaStrezniku."
    "; + if($slikaNaStrezniku==1){ //ce je slika na strezniku + $findEditor = 'editor/'; + $posEditor = strpos($imageName, $findEditor); //najdi pozicijo teksta v $findEditor + $imageName = substr($imageName,$posEditor+7); //pokazi le del params od besedila 'editor/' dalje, brez besedila 'editor/' + //echo "imagename : ".$imageName."
    "; + $pos = $this->getEndPosition($imageName); //najdi pozicijo konca URL slike + $imageExtension = substr($imageName, $pos-3, 3); //pridobi koncnico slike (za gif je potrebno sliko pretvoriti v png, saj latex ne podpira gif) + $imageName = substr($imageName, 0, $pos); //pokazi le del params od zacetka besedila do '"' oz. konca URL slike + + $path = $site_path.'uploadi/editor/'.$imageName; + //$path = $site_url.'uploadi/editor/'.$imageName; + + if($imageExtension == 'gif'){ //ce je slika gif, jo je potrebno pretvoriti v png + $this->convertGifToPng($path, $slikaNaStrezniku); + } + + if($imageExtension == 'jpg' || $imageExtension == 'peg'){ //ce je slika jpg ali jpeg, jo je potrebno pretvoriti v png + $this->convertJpgToPng($path, $slikaNaStrezniku, $imageExtension); + } + }elseif($slikaNaStrezniku==0){ //ce slike ni na strezniku + //echo "vre_id: $vre_id
    "; + $imageName = $this->getOnlineImageName($imageName, $slikaNaStrezniku, $vre_id, $img_id); //pridobi njen URL + } + + $imageName = substr($imageName, 0, strrpos($imageName, '.')); + + } + + //echo "imagename pred return: ".$imageName."
    "; + return $imageName; + } + #funkcija, ki skrbi za pridobitev imena slike, ki jo je potrebno izrisati - konec ############################### + function getEndPosition($imageName=''){ + $findme = '"'; + $pos = strpos($imageName, $findme); //najdi pozicijo teksta '"' + return $pos; + } + + function convertGifToPng($path='', $slikaNaStrezniku=null){ + //echo "path: ".$path."
    "; + $image = imagecreatefromgif($path); //pripravi sliko iz gif za pretvorbo + $imageName = substr($path, 0, -3); //ime slike brez extension-a + //echo $imageName."
    "; + $imageNamePNG = $imageName.'png'; //ime slike z ustreznim extension + imagepng($image, $imageNamePNG); //pretvori pripravljeno gif sliko v png + + if($slikaNaStrezniku==0){ //ce slika je iz URL in ni na strezniku, GIF izbrisi + unlink($imageName.'gif'); //izbrisi gif sliko + } + } + + function convertJpgToPng($path='', $slikaNaStrezniku=null, $imageExtension=''){ + $image = imagecreatefromjpeg($path); //pripravi sliko iz jpg za pretvorbo + $imageName = substr($path, 0, strrpos($path, '.')); //ime slike brez extension-a + //echo $imageName."
    "; + $imageNamePNG = $imageName.'.png'; //ime slike z ustreznim extension + imagepng($image, $imageNamePNG); //pretvori pripravljeno jpg sliko v png + //echo "pretvorba v png: ".$imageNamePNG."
    "; + //echo "xtens: ".$imageExtension."
    "; + //$origExtension = strrchr($path, '.'); + //echo "ali je slika na strežniku: ".$slikaNaStrezniku."
    "; + if($slikaNaStrezniku==0){ //ce slika je iz URL in ni na strezniku, izbrisi jo + //echo "tukaj
    "; + if($imageExtension == 'jpg'){ + unlink($imageName.'.'.$imageExtension); //izbrisi sliko + }elseif($imageExtension == 'peg'){ + unlink($imageName.'.j'.$imageExtension); //izbrisi sliko + } + } + } + #funkcija, ki skrbi za pridobitev slike, ki se nahaja nekje online in jo je potrebno izrisati, in vrne lokalno ime slike ###################################### + function getOnlineImageName($imageName='', $slikaNaStrezniku=null, $vre_id=null, $img_id=0){ + global $site_path; + //echo "imageName v getOnlineImageName nekje vmes 1: ".$imageName."
    "; + $row = Cache::srv_spremenljivka(self::$spremenljivka); + //echo "sprem: ".self::$spremenljivka."
    "; + $spremenljivkaParams = new enkaParameters($row['params']); + //echo "params: ".$spremenljivkaParams->get('hotspot_image')."
    "; + $imageNameTmp = $spremenljivkaParams->get('hotspot_image'); + //if($imageNameTmp!=''){ //ce je hotspot + if($imageNameTmp!=''&&$vre_id==0){ //ce je hotspot + $imageName = $imageNameTmp; + } + + $findHttp = 'http'; + $posHttp = strpos($imageName, $findHttp); + $imageName = substr($imageName,$posHttp); //besedilo do zacetka http + + $pos = $this->getEndPosition($imageName); //najdi pozicijo konca URL slike + $imageName = substr($imageName, 0, $pos); //pokazi le del params od zacetka besedila do '"' oz. konca URL slike + //echo "imageName v getOnlineImageName nekje vmes 2: ".$imageName."
    "; + $imageExtension = substr($imageName, $pos-3, 3); //pridobi koncnico slike + //echo "imageExtension: ".$imageExtension."
    "; + + //if($imageExtension!='jpg'&&$imageExtension!='png'&&$imageExtension!='gif'&&$imageExtension!='jpeg'){ //ce ni veljavnen extension, spremeni ga v png + if($imageExtension=='jpg'||$imageExtension=='gif'||$imageExtension=='jpeg'){ //ce ni veljavnen extension, spremeni ga v png + //echo "spremeni extension
    "; + $imageExtension='png'; + } + + if($vre_id){ //ce se pridobiva imena tmp slik iz vrednosti vprasanja + //$imgFilename = self::$spremenljivka.'_'.$vre_id.'_tmpImage.'.$imageExtension; //tmp ime slike, ki je sestavljeno iz id spremenljivke+tmpImage+extension + $imgFilename = self::$spremenljivka.'_'.$vre_id.'_tmpImage_'.$img_id.'.'.$imageExtension; //tmp ime slike, ki je sestavljeno iz id spremenljivke+tmpImage+extension + }else{ + //$imgFilename = self::$spremenljivka.'_tmpImage.'.$imageExtension; //tmp ime slike, ki je sestavljeno iz id spremenljivke+tmpImage+extension + $imgFilename = self::$spremenljivka.'_tmpImage_'.$img_id.'.'.$imageExtension; //tmp ime slike, ki je sestavljeno iz id spremenljivke+tmpImage+extension + } + + $pathDir = $site_path.'uploadi/editor/'; //pot za novo mapo, kjer se bodo shranjevale slike za trenutno anketo + $path = $pathDir.$imgFilename; //pot do datoteke z imenom datoteke + + # ukaz za pretakanje slike + if(IS_WINDOWS){ + //za windows sisteme //powershell -command "& { iwr URL -OutFile 'PATH' }" + $command = 'powershell -command "& { iwr \''.$imageName.'\' -OutFile \''.$path.'\' }"'; + //$command = 'wget -O \''.$imageName.'\' -O '.$path.' '; + }elseif(IS_LINUX){ + //za linux sisteme //exec('wget URL -P PATH '); + //$command = 'wget \''.$imageName.'\' -P '.$path.' '; + $command = 'wget -O '.$path.' \''.$imageName.'\' '; + //echo "ukaz za pobiranje: $command
    "; + } + + //echo "command: ".$command."
    "; + exec($command); //pretoci sliko + + //$path = $pathDir.$imgFilename; //pot do datoteke z imenom datoteke + +/* if($imageExtension == 'gif'){ //ce je slika gif, jo je potrebno pretvoriti v png, saj latex ne podpira gif + $this->convertGifToPng($path, $slikaNaStrezniku); + } */ + //echo "imgfilename na koncu: ".$imgFilename."
    "; + if($imageExtension != 'png'){ //ce slika ni png, jo pretvori + if($imageExtension == 'gif'){ //ce je slika gif, jo je potrebno pretvoriti v png, saj latex ne podpira gif + $this->convertGifToPng($path, $slikaNaStrezniku); + }else{ + $this->convertJpgToPng($path, $slikaNaStrezniku, $imageExtension); + } + } + + //echo "imgfilename na koncu: ".$imgFilename."
    "; + return $imgFilename; + } + #funkcija, ki skrbi za pridobitev slike, ki se nahaja nekje online in jo je potrebno izrisati, in vrne lokalno ime slike - konec ############################### + } \ No newline at end of file