"; } else { if($style != "")$style = " style='".$style."' "; echo ""; } } if (!function_exists('file_put_contents')) { function file_put_contents($filename, $data) { $f = @fopen($filename, 'w'); if (!$f) { return false; } else { $bytes = fwrite($f, $data); fclose($f); return $bytes; } } } if (!function_exists('file_get_contents')) { function file_get_contents($filename) { if ($handle = @fopen($filename, 'rb')) { $data = fread($handle, filesize($filename)); fclose($fh); return $data; } } } function cmp_0($a, $b) { global $galleryfolder; return (filemtime($galleryfolder.$a[0]) < filemtime($galleryfolder.$b[0])) ? -1 : 1; } function cmp_1($a, $b) { global $galleryfolder; return (filemtime($galleryfolder.$a[0]) > filemtime($galleryfolder.$b[0])) ? -1 : 1; } function cmp_2($a, $b) { global $galleryfolder; $exif = @exif_read_data($galleryfolder.$a[0]); $date1 = ""; if (isset($exif['DateTimeOriginal'])) $date1 = $exif['DateTimeOriginal']; if (empty($date1) && isset($exif['DateTime'])) $date1 = $exif['DateTime']; if (!empty($date1)){ $date1 = explode(':', str_replace(' ',':', $date1)); $date1 = "{$date1[0]}-{$date1[1]}-{$date1[2]} {$date1[3]}:{$date1[4]}"; if(sizeof($date1) > 5)$date1 .= ":{$date1[5]}"; $date1 = strtotime($date1); } else { $date1 = filemtime($galleryfolder.$a[0]); } $exif = @exif_read_data($galleryfolder.$b[0]); $date2 = ""; if (isset($exif['DateTimeOriginal'])) $date2 = $exif['DateTimeOriginal']; if (empty($date2) && isset($exif['DateTime'])) $date2 = $exif['DateTime']; if (!empty($date2)){ $date2 = explode(':', str_replace(' ',':', $date2)); $date2 = "{$date2[0]}-{$date2[1]}-{$date2[2]} {$date2[3]}:{$date2[4]}"; if(sizeof($date2) > 5)$date2 .= ":{$date1[5]}"; $date2 = strtotime($date2); } else { $date2 = filemtime($galleryfolder.$b[0]); } return $date1 > $date2 ? 1 : -1; } function cmp_3($a, $b) { return strcmp($a[0], $b[0]); } function is_utf8($str) { $c=0; $b=0; $bits=0; $len=strlen($str); for($i=0; $i<$len; $i++){ $c=ord($str[$i]); if($c > 128){ if(($c >= 254)) return false; elseif($c >= 252) $bits=6; elseif($c >= 248) $bits=5; elseif($c >= 240) $bits=4; elseif($c >= 224) $bits=3; elseif($c >= 192) $bits=2; else return false; if(($i+$bits) > $len) return false; while($bits > 1){ $i++; $b=ord($str[$i]); if($b < 128 || $b > 191) return false; $bits--; } } } return true; } function utf8_encode_safe($string){ if( is_utf8($string) ) return $string; else return utf8_encode($string); } /* ---------------------------------------------------------- end functions -------------------------------------------------- */ $browser = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/Opera/",$browser)) $browser = "opera"; elseif(preg_match("/MSIE (9|10|11)/",$browser)) $browser = "ie9"; elseif(preg_match("/MSIE [7-8]/",$browser)) $browser = "ie7"; elseif(preg_match("/MSIE [1-6]/",$browser)) $browser = "ie6"; elseif(preg_match("/AppleWebKit/",$browser)) $browser = "webkit"; else $browser = "gecko"; if($browser == "ie6") $posfix = "absolute"; else $posfix = "fixed"; /* --------------------------------------------------------- Display full image ---------------------------------------------------------------------- */ @ini_set("default_charset", "utf-8"); header('Content-type: text/html; charset=utf-8'); if(isset($_GET['fileno'])) $fileno = $_GET['fileno']; else exit; if(isset($_GET['gallery'])) $gallery = $_GET['gallery']; else exit; if(isset($_GET['site'])) $site = $_GET['site']; else exit; if(isset($_GET['explorer'])) $explorer = 1; else $explorer = 0; if(isset($_GET['ss'])) $ss = 1; else $ss = 0; // -------------- Sicherheitsabfragen! if(!is_int(intval($fileno)))exit(); if(preg_match("/[\.]*\//", $gallery))exit(); // ---------- Ende Sicherheitsabfragen! include_once("../ki_config/ki_setup.php"); if(is_file("../ki_config/".$gallery."_ki_setup.php"))include_once("../ki_config/".$gallery."_ki_setup.php"); $supported = array("jpg","png","gif"); $galleryfolder = "../ki_galleries/".$gallery."/"; /*------------------- error/warning checking ------------------*/ if(!is_dir($galleryfolder)) { echo "
ERROR: KoschtIT Image Gallery could't find the following folder on the server: '".htmlentities($gallery)."' . Please check if the folder is available in the 'ki_galleries' folder.
"; exit(); } if($ki_pic_order == 3){ if(!function_exists("exif_read_data")){ $ki_pic_order = 2; } } /*------------------- end error/warning checking ------------------*/ $files = array(); $temp = array(); if(is_file($gallery."_dir")){ $temp = explode(PHP_EOL, file_get_contents($gallery."_dir")); $files = unserialize($temp[1]); } else { $iterator = new DirectoryIterator($galleryfolder); foreach ($iterator as $fileInfo) { $tfile = $fileInfo->getFilename(); if(!in_array(strtolower(substr($tfile, -3)), $supported))$continue; $imgsize = @getimagesize($galleryfolder.$tfile); if($imgsize[0]){ $files[] = array($tfile, $imgsize[0], $imgsize[1]); } } switch($ki_pic_order){ case 0: usort($files, "cmp_1"); break; case 1: usort($files, "cmp_0"); break; case 2: usort($files, "cmp_3"); break; case 3: usort($files, "cmp_2"); break; default: usort($files, "cmp_1"); break; } reset($files); } $file = $files[$fileno][0]; $x = $files[$fileno][1]; $y = $files[$fileno][2]; $xlimiter = 10000; $ylimiter = 10000; if(is_int($ki_max_pic_width)){ $xlimiter = $ki_max_pic_width; } if(is_int($ki_max_pic_height)){ $ylimiter = $ki_max_pic_height; } if($y > $ylimiter || $x > $xlimiter){ if(($x / $y) > 1){ $k = $y / $x; $x = $xlimiter-2*$ki_bord_size; $y = $k*$x; if($y > $ylimiter-2*$ki_bord_size){ $y = $ylimiter-2*$ki_bord_size; $x = (1/$k) * $y; } } else { $k = $x / $y; $y = $ylimiter-2*$ki_bord_size; $x = $k*$y; if($x > $xlimiter-2*$ki_bord_size){ $x = $xlimiter-2*$ki_bord_size; $y = (1/$k) * $x; } } $x = round($x); $y = round($y); } $commfile = "../ki_galleries/".$gallery."/comments/".substr($file, 0, -4).".txt"; $srcfile = $gallery."/".$file; if($x != $files[$fileno][1] || $y != $files[$fileno][2]){ $srcfile = "ki_makepic.php?fullimg=1&file=".$srcfile."&width=".$x."&height=".$y; } else { $srcfile = "../ki_galleries/".$srcfile; } ?> &ss=1"> KoschtIT Image Gallery: <?php echo $gallery ?> 1)) $breite = ($temp[0]+4)*3; else $breite = ($temp[0]+4)*2; if($ki_downloadpics == 1)$breite += ($temp[0]+4); if($ki_slideshow == 1)$breite += ($temp[0]+4); ?>
" style="float:left;"> 1){ if($next == count($files))$next = 0; if($prev == -1)$prev = count($files)-1; ?> " style="float:left;"> " style="float:left;">
" style="display:block; text-decoration:none;">
"; ?>
".utf8_encode_safe(stripslashes($comm))."
"; }elseif($ki_comm_text_align === "right"){ echo "
".utf8_encode_safe(stripslashes($comm))."
"; }else{ echo "
".utf8_encode_safe(stripslashes($comm))."
"; } } } ?>