From 451e14b16e96be106ada7c474f9cb17621ca25d3 Mon Sep 17 00:00:00 2001 From: Marc MAURICE Date: Thu, 27 Jan 2011 01:13:05 +0100 Subject: [PATCH] Fixed a bug when bizou was operating at the top root of a site Thanks to pilau who detected it --- index.php | 20 +++++++++++--------- plugins/viewer/functions.php | 2 +- plugins/viewer/view.php | 9 +++++---- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/index.php b/index.php index 9653b31..828b06c 100644 --- a/index.php +++ b/index.php @@ -19,6 +19,13 @@ require 'config.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/" + // load plugins $plugins = array(); if (is_dir("plugins")) { @@ -37,7 +44,7 @@ function plugins_include($phpFile) if (! function_exists('getImageLink')) { function getImageLink($imageSimplePath) { - return dirname($_SERVER["SCRIPT_NAME"]).'/'.IMAGES_DIR.$imageSimplePath; + return $GLOBALS['rootUrl'].IMAGES_DIR.$imageSimplePath; } } @@ -86,7 +93,7 @@ function getPreview($imgFile, $maxSize = THUMB_SIZE) imagedestroy($newImg); } - return dirname($_SERVER["SCRIPT_NAME"])."/".$newImgFile; + return $GLOBALS['rootUrl'].$newImgFile; } function getAlbumPreview($dir) @@ -100,11 +107,6 @@ function getAlbumPreview($dir) return ''; } -$scriptUrl = $_SERVER["SCRIPT_NAME"]; -$rootUrl = dirname($scriptUrl); -// $scriptUrl = "/path/to/bizou/index.php" -// $rootUrl = "/path/to/bizou" - // 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 @@ -146,7 +148,7 @@ foreach (scandir($realDir) as $file) if ($file != '.' and $file != '..') if ($ext == ".jpg" or $ext == ".png") { $imageFiles[] = array( "name" => $file, "url" => getPreview("$realDir/$file"), "link" => getImageLink("$simplePath/$file") ); } else { - $otherFiles[] = array( "name" => $file, "link" => "$rootUrl/$realDir/$file" ); + $otherFiles[] = array( "name" => $file, "link" => "$rootUrl$realDir/$file" ); } } } @@ -205,7 +207,7 @@ a { } - " /> + " /> diff --git a/plugins/viewer/functions.php b/plugins/viewer/functions.php index 71ec3f0..2ac59ac 100644 --- a/plugins/viewer/functions.php +++ b/plugins/viewer/functions.php @@ -1,6 +1,6 @@ diff --git a/plugins/viewer/view.php b/plugins/viewer/view.php index 2e68338..e8400cd 100644 --- a/plugins/viewer/view.php +++ b/plugins/viewer/view.php @@ -55,23 +55,24 @@ if ($pos < sizeof($images)-1) $scriptUrl = $_SERVER["SCRIPT_NAME"]; $bizouRootUrl = dirname(dirname(dirname($scriptUrl))); +if (substr($bizouRootUrl, -1) !== '/') $bizouRootUrl.='/'; // add a trailing / to rootUrl // scriptUrl = /path/to/bizou/plugins/viewer/view.php -// bizouRootUrl = /path/to/bizou +// bizouRootUrl = /path/to/bizou/ // template variables -$imageUrl = "$bizouRootUrl/".IMAGES_DIR.$simpleImagePath; +$imageUrl = $bizouRootUrl.IMAGES_DIR.$simpleImagePath; if ($nextImage === '') { $nextImageUrl = ''; $nextPageUrl = ''; } else { - $nextImageUrl = "$bizouRootUrl/".IMAGES_DIR.dirname($simpleImagePath)."/$nextImage"; + $nextImageUrl = $bizouRootUrl.IMAGES_DIR.dirname($simpleImagePath)."/$nextImage"; $nextPageUrl = dirname($_SERVER["REQUEST_URI"])."/$nextImage"; } if ($prevImage === '') $prevPageUrl = ''; else $prevPageUrl = dirname($_SERVER["REQUEST_URI"])."/$prevImage"; -$directoryUrl = "$bizouRootUrl/index.php".dirname($simpleImagePath); +$directoryUrl = $bizouRootUrl."index.php".dirname($simpleImagePath); $firefox = strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== false; -- 1.7.10.4