summaryrefslogtreecommitdiffstats
path: root/admin/survey/classes/class.SurveyHeatMapBackground.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/survey/classes/class.SurveyHeatMapBackground.php')
-rw-r--r--admin/survey/classes/class.SurveyHeatMapBackground.php137
1 files changed, 137 insertions, 0 deletions
diff --git a/admin/survey/classes/class.SurveyHeatMapBackground.php b/admin/survey/classes/class.SurveyHeatMapBackground.php
new file mode 100644
index 0000000..0b37a7e
--- /dev/null
+++ b/admin/survey/classes/class.SurveyHeatMapBackground.php
@@ -0,0 +1,137 @@
+<?php
+/**
+ * November 2016
+ *
+ * Pridobi podatke o klikanih tockah na slikah, za njihov prikaz v heatmap
+ *
+ * @author Patrik Pucer
+ */
+include_once('../survey/definition.php');
+
+class SurveyHeatMapBackground
+{
+ function __construct() {
+ }
+
+ function ajax() {
+ if(isset($_POST['heatmapBackground_data'])) {
+ $spr_id = $_POST['heatmapBackground_data'];
+ //echo $spr_id;
+ $data = sisplet_query("SELECT params from srv_spremenljivka WHERE id = $spr_id");
+ $rowImageHtml = mysqli_fetch_assoc($data);
+ $spremenljivkaParams = new enkaParameters($rowImageHtml['params']);
+
+ //kopiranje slike iz spleta, ce ta ni na lokalnem strezniku
+ //$this->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."</br>";
+ $findme = 'editor/';
+
+ $pos = strpos($imageName, $findme); //najdi pozicijo teksta 'editor/'
+ //echo "editor je tu ".$pos."</br>";
+
+ 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."</br>";
+ //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."</br>";
+ $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."</br>";
+ 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."</br>";
+ $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
+ }
+ }
+ }
+
+
+} \ No newline at end of file