X-Git-Url: http://positon.org/gitweb/?a=blobdiff_plain;f=index.php;h=e77be4e3a6bd45249b1f4b43bbe3158fbbccd682;hb=HEAD;hp=337e96f42cc21b8a40fd7ac3097c781beccda4cb;hpb=89c678e18dc7d8b65280d7b7b0cdc7fba3a04c9a;p=bizou.git diff --git a/index.php b/index.php index 337e96f..e77be4e 100644 --- a/index.php +++ b/index.php @@ -19,105 +19,28 @@ require 'config.php'; -// load plugins -$plugins = scandir("plugins"); -array_shift($plugins); array_shift($plugins); // remove . and .. -foreach ($plugins as $p) if (is_file("plugins/$p/functions.php")) - require "plugins/$p/functions.php"; +// global variables, globals should remain contant +$scriptUrl = $_SERVER["SCRIPT_NAME"]; +$rootUrl = dirname($scriptUrl); +if (substr($rootUrl, -1) !== '/') $rootUrl.='/'; // add a trailing / to rootUrl +// $scriptUrl = "/path/to/bizou/index.php" +// $rootUrl = "/path/to/bizou/" -function plugins_include($phpFile) -{ - foreach ($GLOBALS['plugins'] as $p) if (is_file("plugins/$p/$phpFile")) - require "plugins/$p/$phpFile"; -} - -if (! function_exists('getImageLink')) { -function getImageLink($imageSimplePath) -{ - return dirname($_SERVER["SCRIPT_NAME"]).'/'.IMAGES_DIR.$imageSimplePath; -} -} - -function getPreview($imgFile, $maxSize = THUMB_SIZE) -{ - # example: data/myalbum/100.mypic.jpg - $newImgFile = DATA_DIR."/".dirname($imgFile)."/".$maxSize.".".basename($imgFile); - - if (! is_file($newImgFile)) - { - $ext = strtolower(substr($imgFile, -4)); - if ($ext == ".jpg") - $img = imagecreatefromjpeg($imgFile); - else - $img = imagecreatefrompng($imgFile); - - $w = imagesx($img); - $h = imagesy($img); - # don't do anything if the image is already small - if ($w <= $maxSize and $h <= $maxSize) { - imagedestroy($img); - return $imgFile; - } - - # create the thumbs directory recursively - if (! is_dir(dirname($newImgFile))) mkdir(dirname($newImgFile), 0777, true); - - if ($w > $h) { - $newW = $maxSize; - $newH = $h/($w/$maxSize); - } else { - $newW = $w/($h/$maxSize); - $newH = $maxSize; - } - - $newImg = imagecreatetruecolor($newW, $newH); - - imagecopyresampled($newImg, $img, 0, 0, 0, 0, $newW, $newH, $w, $h); - - if ($ext == ".jpg") - imagejpeg($newImg, $newImgFile); - else - imagepng($newImg, $newImgFile); - - imagedestroy($img); - imagedestroy($newImg); - } - - return dirname($_SERVER["SCRIPT_NAME"])."/".$newImgFile; -} - -function getAlbumPreview($dir) -{ - foreach (scandir($dir) as $file) if ($file != '.' and $file != '..') { - $ext = strtolower(substr($file, -4)); - if ($ext == ".jpg" or $ext == ".png") - return getPreview("$dir/$file"); - } - - return ''; -} +require 'functions.php'; -$scriptUrlPath = $_SERVER["SCRIPT_NAME"]; // if url == http://localhost/photos/index.php/toto/titi, path_info == /toto/titi // if url == http://localhost/photos/index.php, path_info is not set // if url == http://localhost/photos/, path_info is not set // if path_info is not set, we are at top level, so we redirect to /photos/index.php/ if (! isset($_SERVER["PATH_INFO"])) { - header("Location: $scriptUrlPath/"); + header("Location: $scriptUrl/"); exit(); } -# simplePath is the simple path to the image -# /index.php/toto/titi => simplePath == /toto/titi -$simplePath = $_SERVER["PATH_INFO"]; -if ($simplePath == '/') $simplePath = ''; -// extra security check to avoid /photos/index/../.. like urls, maybe useless but.. -if (strpos($simplePath, '..') !== false) die(".. found in url"); - -$folders = array(); -$imageFiles = array(); -$otherFiles = array(); +// simplePath is the simple path to the directory +// extract /path/to/dir/ from /index.php/path/to/dir/ +$simplePath = getPathInfo(); # realDir is the directory in filesystem # seen from current script directory @@ -128,99 +51,38 @@ if (! is_dir($realDir)) { die("Directory Not Found"); } -foreach (scandir($realDir) as $file) if ($file != '.' and $file != '..') +$folders = array(); +$imageFiles = array(); +$otherFiles = array(); + +foreach (scandir($realDir) as $file) if ($file[0] != '.') { if (is_dir("$realDir/$file")) { - $folders[] = array( "name" => $file, "link" => "$scriptUrlPath$simplePath/$file", "preview" => getAlbumPreview("$realDir/$file") ); + $folders[] = array( "name" => $file, "file" => "$realDir/$file", "link" => "$scriptUrl$simplePath/$file" ); } else { $ext = strtolower(substr($file, -4)); if ($ext == ".jpg" or $ext == ".png") { - $imageFiles[] = array( "name" => $file, "url" => getPreview("$realDir/$file"), "link" => getImageLink("$simplePath/$file") ); + $imageFiles[] = array( "name" => $file, "file" => "$realDir/$file", "link" => getImageLink("$simplePath/$file") ); } else { - $otherFiles[] = array( "name" => $file, "link" => dirname($scriptUrlPath)."/$realDir/$file" ); + $otherFiles[] = array( "name" => $file, "link" => "$rootUrl$realDir/$file" ); } } } if (dirname($simplePath) !== '') - $parentLink = $scriptUrlPath.dirname($simplePath); + $parentLink = $scriptUrl.dirname($simplePath); else $parentLink = ""; -?> - - - - - - " /> - - - - - -
^
- - - - - -
- - "> - -
-
- -
- - - -
">" alt="" />
- - - -
">
- - - -