getImagename('hotspot', $spr_id, 'hotspot_image='); $text=$spremenljivkaParams->get('hotspot_image'); $this->changeHeatmapImage($text, $spr_id); //kopiranje slike iz spleta, ce ta ni na lokalnem strezniku - konec echo $spremenljivkaParams->get('hotspot_image'); } exit(); } //function getImagename($text, $sprId, $findme){ function changeHeatmapImage($text, $sprId){ global $site_path; $imageName = $text; //echo "imageName ".$imageName."
"; $findme = 'editor/'; $pos = strpos($imageName, $findme); //najdi pozicijo teksta 'editor/' //echo "editor je tu ".$pos."
"; if($pos){ //ce je slika na strezniku $slikaNaStrezniku = 1; }else{//ce slike ni na strezniku $slikaNaStrezniku = 0; } if($slikaNaStrezniku==0){ //ce slika ni na strezniku $this->getOnlineImageName($imageName, $slikaNaStrezniku, $sprId); //pridobi njen URL } //$imageName = substr($imageName, 0, $pos-4); //pokazi le del params od zacetka besedila do '"'-4character manj ".png"/".jpg"*/ //echo "imagename pred return: ".$imageName."
"; //return $imageName; } function getEndPosition($imageName){ $findme = '"'; $pos = strpos($imageName, $findme); //najdi pozicijo teksta '"' return $pos; } function getOnlineImageName($imageName, $slikaNaStrezniku, $sprId){ global $site_path; global $site_url; //$imageName = "jo je potrebno pobrati online"; //$row = Cache::srv_spremenljivka(self::$spremenljivka); $row = Cache::srv_spremenljivka($sprId); //echo "sprem: ".self::$spremenljivka."
"; $spremenljivkaParams = new enkaParameters($row['params']); //echo "params: ".$spremenljivkaParams->get('hotspot_image'); $imageName = $spremenljivkaParams->get('hotspot_image'); $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 $imageExtension = substr($imageName, $pos-3, 3); //pridobi koncnico slike if($imageExtension!='jpg'&&$imageExtension!='png'&&$imageExtension!='gif'){ //ce ni veljavnen extension, spremeni ga v png $imageExtension='png'; } $imgFilename = $sprId.'tmpImage.'.$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.'\' }"'; }elseif(IS_LINUX){ //za linux sisteme //exec('wget URL -P PATH '); //$command = 'wget \''.$imageName.'\' -P '.$path.' '; $command = 'wget -O '.$path.' \''.$imageName.'\' '; } //echo $command; exec($command); //pretoci sliko //$path = $pathDir.$imgFilename; //pot do datoteke z imenom datoteke if($imageExtension == 'gif' || $imageExtension == 'jpg'){ //ce je slika gif, jo je potrebno pretvoriti v png, saj latex ne podpira gif //$this->convertGifToPng($path, $slikaNaStrezniku); $this->convertGifToPng($path, $slikaNaStrezniku, $imageExtension); } } function convertGifToPng($path, $slikaNaStrezniku, $imageExtension){ //echo "path: ".$path."
"; if($imageExtension == 'gif'){ $image = imagecreatefromgif($path); //pripravi sliko iz gif za pretvorbo }elseif($imageExtension == 'jpg'){ $image = imagecreatefromjpeg($path); //pripravi sliko iz jpeg 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, if($imageExtension == 'gif'){ unlink($imageName.'gif'); //izbrisi gif sliko }elseif($imageExtension == 'jpg'){ unlink($imageName.'jpg'); //izbrisi jpg sliko } } } }