summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2007-09-30 20:42:50 +0200
committerAndreas Gohr <andi@splitbrain.org>2007-09-30 20:42:50 +0200
commit009768124df70258806ec3120189432d1b2bb912 (patch)
treecc66e19004645686d0bf84e71fa54f490e0ff4a7
parent0b30864498cfa9af2398991188109da991e4613f (diff)
downloadrpg-009768124df70258806ec3120189432d1b2bb912.tar.gz
rpg-009768124df70258806ec3120189432d1b2bb912.tar.bz2
don't use realpath() anymore (FS#1261 and others)
The use of realpath() to clean up relative file names caused some trouble in certain setups relying on symlinks or having restricitve file structure setups. This patch replaces all realpath() calls with a PHP only replacement which should solve those problems. darcs-hash:20070930184250-7ad00-512ff04c95f57fc9eaf104f80372237a3c94286f.gz
-rw-r--r--doku.php2
-rw-r--r--feed.php2
-rw-r--r--inc/FeedParser.php2
-rw-r--r--inc/HTTPClient.php2
-rw-r--r--inc/JSON.php2
-rw-r--r--inc/JpegMeta.php2
-rw-r--r--inc/actions.php2
-rw-r--r--inc/auth.php2
-rw-r--r--inc/cache.php2
-rw-r--r--inc/cliopts.php4
-rw-r--r--inc/common.php6
-rw-r--r--inc/confutils.php2
-rw-r--r--inc/events.php2
-rw-r--r--inc/form.php2
-rw-r--r--inc/fulltext.php2
-rw-r--r--inc/html.php2
-rw-r--r--inc/indexer.php2
-rw-r--r--inc/infoutils.php2
-rw-r--r--inc/init.php46
-rw-r--r--inc/io.php4
-rw-r--r--inc/mail.php2
-rw-r--r--inc/media.php2
-rw-r--r--inc/parser/handler.php2
-rw-r--r--inc/parser/lexer.php2
-rw-r--r--inc/parser/metadata.php2
-rw-r--r--inc/parser/parser.php2
-rw-r--r--inc/parser/renderer.php2
-rw-r--r--inc/parser/xhtml.php2
-rw-r--r--inc/parser/xhtmlsummary.php2
-rw-r--r--inc/parserutils.php2
-rw-r--r--inc/search.php2
-rw-r--r--inc/template.php6
-rw-r--r--inc/toolbar.php2
-rw-r--r--install.php2
-rw-r--r--lib/exe/ajax.php2
-rw-r--r--lib/exe/css.php2
-rw-r--r--lib/exe/detail.php2
-rw-r--r--lib/exe/fetch.php2
-rw-r--r--lib/exe/indexer.php2
-rw-r--r--lib/exe/js.php2
-rw-r--r--lib/exe/mediamanager.php2
-rw-r--r--lib/exe/opensearch.php2
-rw-r--r--lib/exe/spellcheck.php2
-rw-r--r--lib/exe/xmlrpc.php2
44 files changed, 92 insertions, 52 deletions
diff --git a/doku.php b/doku.php
index cc6d9e0f5..55db77e99 100644
--- a/doku.php
+++ b/doku.php
@@ -8,7 +8,7 @@
// xdebug_start_profiling();
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__)).'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__)).'/');
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/common.php');
require_once(DOKU_INC.'inc/events.php');
diff --git a/feed.php b/feed.php
index 74788ac5a..bb23381b7 100644
--- a/feed.php
+++ b/feed.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__)).'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__)).'/');
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/common.php');
require_once(DOKU_INC.'inc/events.php');
diff --git a/inc/FeedParser.php b/inc/FeedParser.php
index 867392add..386d7c3f4 100644
--- a/inc/FeedParser.php
+++ b/inc/FeedParser.php
@@ -5,7 +5,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/HTTPClient.php');
require_once(DOKU_INC.'inc/SimplePie.php');
diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php
index 26edeb491..23a376c39 100644
--- a/inc/HTTPClient.php
+++ b/inc/HTTPClient.php
@@ -6,7 +6,7 @@
* @author Andreas Goetz <cpuidle@gmx.de>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_CONF.'dokuwiki.php');
define('HTTP_NL',"\r\n");
diff --git a/inc/JSON.php b/inc/JSON.php
index 09a837da7..380b064cb 100644
--- a/inc/JSON.php
+++ b/inc/JSON.php
@@ -58,7 +58,7 @@
*/
// for DokuWiki
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/utf8.php');
/**
diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php
index 1b57ccd05..6d61ad54c 100644
--- a/inc/JpegMeta.php
+++ b/inc/JpegMeta.php
@@ -1196,7 +1196,7 @@ class JpegMeta
if (file_exists($this->_fileName)) {
$this->_info['file'] = array();
$this->_info['file']['Name'] = basename($this->_fileName);
- $this->_info['file']['Path'] = realpath($this->_fileName);
+ $this->_info['file']['Path'] = fullpath($this->_fileName);
$this->_info['file']['Size'] = filesize($this->_fileName);
if ($this->_info['file']['Size'] < 1024) {
$this->_info['file']['NiceSize'] = $this->_info['file']['Size'] . 'B';
diff --git a/inc/actions.php b/inc/actions.php
index 7330c8d95..653910fe0 100644
--- a/inc/actions.php
+++ b/inc/actions.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/template.php');
diff --git a/inc/auth.php b/inc/auth.php
index 3e5362a41..0a6b1cb76 100644
--- a/inc/auth.php
+++ b/inc/auth.php
@@ -9,7 +9,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/common.php');
require_once(DOKU_INC.'inc/io.php');
diff --git a/inc/cache.php b/inc/cache.php
index a3b16d974..2c43da5ff 100644
--- a/inc/cache.php
+++ b/inc/cache.php
@@ -6,7 +6,7 @@
* @author Chris Smith <chris@jalakai.co.uk>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/io.php');
require_once(DOKU_INC.'inc/pageutils.php');
diff --git a/inc/cliopts.php b/inc/cliopts.php
index 06167b0bd..6ca8de748 100644
--- a/inc/cliopts.php
+++ b/inc/cliopts.php
@@ -20,7 +20,7 @@
// +----------------------------------------------------------------------+
//
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
//------------------------------------------------------------------------------
/**
@@ -86,7 +86,7 @@ define('DOKU_CLI_OPTS_ARG_READ',5);//Could not read argv
}
// Compatibility between "php extensions.php" and "./extensions.php"
- if ( realpath($_SERVER['argv'][0]) == $bin_file ) {
+ if ( fullpath($_SERVER['argv'][0]) == $bin_file ) {
$options = Doku_Cli_Opts::getOpt($args,$short_options,$long_options);
} else {
$options = Doku_Cli_Opts::getOpt2($args,$short_options,$long_options);
diff --git a/inc/common.php b/inc/common.php
index 73e8e9369..18fad2120 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_CONF.'dokuwiki.php');
require_once(DOKU_INC.'inc/io.php');
require_once(DOKU_INC.'inc/changelog.php');
@@ -136,7 +136,7 @@ function pageinfo(){
$info['namespace'] = getNS($ID);
$info['locked'] = checklock($ID);
- $info['filepath'] = realpath(wikiFN($ID));
+ $info['filepath'] = fullpath(wikiFN($ID));
$info['exists'] = @file_exists($info['filepath']);
if($REV){
//check if current revision was meant
@@ -144,7 +144,7 @@ function pageinfo(){
$REV = '';
}else{
//really use old revision
- $info['filepath'] = realpath(wikiFN($ID,$REV));
+ $info['filepath'] = fullpath(wikiFN($ID,$REV));
$info['exists'] = @file_exists($info['filepath']);
}
}
diff --git a/inc/confutils.php b/inc/confutils.php
index c668e8066..8133dc209 100644
--- a/inc/confutils.php
+++ b/inc/confutils.php
@@ -6,7 +6,7 @@
* @author Harry Fuecks <hfuecks@gmail.com>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
/**
* Returns the (known) extension and mimetype of a given filename
diff --git a/inc/events.php b/inc/events.php
index 5caba5cff..b87bbadbc 100644
--- a/inc/events.php
+++ b/inc/events.php
@@ -6,7 +6,7 @@
* @author Christopher Smith <chris@jalakai.co.uk>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/pluginutils.php');
class Doku_Event {
diff --git a/inc/form.php b/inc/form.php
index 4e210ab07..e03591e88 100644
--- a/inc/form.php
+++ b/inc/form.php
@@ -6,7 +6,7 @@
* @author Tom N Harris <tnharris@whoopdedo.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
if(!defined('NL')) define('NL',"\n");
require_once(DOKU_INC.'inc/html.php');
diff --git a/inc/fulltext.php b/inc/fulltext.php
index 59a469362..fd83a8c05 100644
--- a/inc/fulltext.php
+++ b/inc/fulltext.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/indexer.php');
diff --git a/inc/html.php b/inc/html.php
index 4c92060eb..74ec1cd64 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
if(!defined('NL')) define('NL',"\n");
require_once(DOKU_INC.'inc/parserutils.php');
require_once(DOKU_INC.'inc/form.php');
diff --git a/inc/indexer.php b/inc/indexer.php
index ca446827d..bc92a9a83 100644
--- a/inc/indexer.php
+++ b/inc/indexer.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_CONF.'dokuwiki.php');
require_once(DOKU_INC.'inc/io.php');
require_once(DOKU_INC.'inc/utf8.php');
diff --git a/inc/infoutils.php b/inc/infoutils.php
index 6da344d81..f08acb318 100644
--- a/inc/infoutils.php
+++ b/inc/infoutils.php
@@ -5,7 +5,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
if(!defined('DOKU_MESSAGEURL')) define('DOKU_MESSAGEURL','http://update.dokuwiki.org/check/');
require_once(DOKU_INC.'inc/HTTPClient.php');
diff --git a/inc/init.php b/inc/init.php
index 416b117eb..f96997f21 100644
--- a/inc/init.php
+++ b/inc/init.php
@@ -11,7 +11,7 @@
define('DOKU_START_TIME', delta_time());
// define the include path
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
// define config path (packagers may want to change this to /etc/dokuwiki/)
if(!defined('DOKU_CONF')) define('DOKU_CONF',DOKU_INC.'conf/');
@@ -201,9 +201,9 @@ function init_files(){
*/
function init_path($path){
// check existance
- $p = realpath($path);
+ $p = fullpath($path);
if(!@file_exists($p)){
- $p = realpath(DOKU_INC.$path);
+ $p = fullpath(DOKU_INC.$path);
if(!@file_exists($p)){
return '';
}
@@ -400,4 +400,44 @@ EOT;
}
+/**
+ * A realpath() replacement
+ *
+ * This function behaves similar to PHP's realpath() but does not resolve
+ * symlinks or accesses upper directories
+ *
+ * @author <richpageau at yahoo dot co dot uk>
+ * @link http://de3.php.net/manual/en/function.realpath.php#75992
+ */
+function fullpath($path){
+
+ // check if path begins with "/" ie. is absolute
+ // if it isnt concat with script path
+ if (strpos($path,"/") !== 0) {
+ $base=dirname($_SERVER['SCRIPT_FILENAME']);
+ $path=$base."/".$path;
+ }
+
+ // canonicalize
+ $path=explode('/', $path);
+ $newpath=array();
+ for ($i=0; $i<sizeof($path); $i++) {
+ if ($path[$i]==='' || $path[$i]==='.') continue;
+ if ($path[$i]==='..') {
+ array_pop($newpath);
+ continue;
+ }
+ array_push($newpath, $path[$i]);
+ }
+ $finalpath="/".implode('/', $newpath);
+
+ // check then return valid path or filename
+ if (file_exists($finalpath)) {
+ return ($finalpath);
+ }
+ else return false;
+}
+
+
+
//Setup VIM: ex: et ts=2 enc=utf-8 :
diff --git a/inc/io.php b/inc/io.php
index e097dce69..f23a9a544 100644
--- a/inc/io.php
+++ b/inc/io.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/common.php');
require_once(DOKU_INC.'inc/HTTPClient.php');
require_once(DOKU_INC.'inc/events.php');
@@ -385,7 +385,7 @@ function io_mkdir_p($target){
//recursion
if (io_mkdir_p(substr($target,0,strrpos($target,'/')))){
if($conf['safemodehack']){
- $dir = preg_replace('/^'.preg_quote(realpath($conf['ftp']['root']),'/').'/','', $target);
+ $dir = preg_replace('/^'.preg_quote(fullpath($conf['ftp']['root']),'/').'/','', $target);
return io_mkdir_ftp($dir);
}else{
$ret = @mkdir($target,$conf['dmode']); // crawl back up & create dir tree
diff --git a/inc/mail.php b/inc/mail.php
index a75aeefc4..9a2ae96c7 100644
--- a/inc/mail.php
+++ b/inc/mail.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/utf8.php');
// end of line for mail lines - RFC822 says CRLF but postfix (and other MTAs?)
diff --git a/inc/media.php b/inc/media.php
index c1bee133a..e08bd569a 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
if(!defined('NL')) define('NL',"\n");
require_once(DOKU_INC.'inc/html.php');
diff --git a/inc/parser/handler.php b/inc/parser/handler.php
index 9716bd74f..740ccea04 100644
--- a/inc/parser/handler.php
+++ b/inc/parser/handler.php
@@ -1,5 +1,5 @@
<?php
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
class Doku_Handler {
diff --git a/inc/parser/lexer.php b/inc/parser/lexer.php
index 2175e6786..0887dde93 100644
--- a/inc/parser/lexer.php
+++ b/inc/parser/lexer.php
@@ -13,7 +13,7 @@
/**
* Init path constant
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
/**#@+
* lexer mode constant
diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php
index 20a37ff18..f3cea82cd 100644
--- a/inc/parser/metadata.php
+++ b/inc/parser/metadata.php
@@ -5,7 +5,7 @@
* @author Esther Brunner <wikidesign@gmail.com>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
if ( !defined('DOKU_LF') ) {
// Some whitespace to help View > Source
diff --git a/inc/parser/parser.php b/inc/parser/parser.php
index 849c6f0ea..89ce4313d 100644
--- a/inc/parser/parser.php
+++ b/inc/parser/parser.php
@@ -1,6 +1,6 @@
<?php
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
require_once DOKU_INC . 'inc/parser/lexer.php';
require_once DOKU_INC . 'inc/parser/handler.php';
diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php
index dd4974f0d..aa4da9dc1 100644
--- a/inc/parser/renderer.php
+++ b/inc/parser/renderer.php
@@ -5,7 +5,7 @@
* @author Harry Fuecks <hfuecks@gmail.com>
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
require_once DOKU_INC . 'inc/parser/renderer.php';
require_once DOKU_INC . 'inc/plugin.php';
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index 7279844f9..7b3e0cf9b 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
if ( !defined('DOKU_LF') ) {
// Some whitespace to help View > Source
diff --git a/inc/parser/xhtmlsummary.php b/inc/parser/xhtmlsummary.php
index b82c564ed..2992b2a23 100644
--- a/inc/parser/xhtmlsummary.php
+++ b/inc/parser/xhtmlsummary.php
@@ -1,5 +1,5 @@
<?php
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
require_once DOKU_INC . 'inc/parser/xhtml.php';
diff --git a/inc/parserutils.php b/inc/parserutils.php
index 7078161e3..ceaef2f65 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -7,7 +7,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/confutils.php');
require_once(DOKU_INC.'inc/pageutils.php');
diff --git a/inc/search.php b/inc/search.php
index a41125f61..584e684ff 100644
--- a/inc/search.php
+++ b/inc/search.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/common.php');
/**
diff --git a/inc/template.php b/inc/template.php
index 10719c08c..5879d98db 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_CONF.'dokuwiki.php');
/**
@@ -859,9 +859,9 @@ function tpl_pageinfo(){
$fn = $INFO['filepath'];
if(!$conf['fullpath']){
if($REV){
- $fn = str_replace(realpath($conf['olddir']).DIRECTORY_SEPARATOR,'',$fn);
+ $fn = str_replace(fullpath($conf['olddir']).DIRECTORY_SEPARATOR,'',$fn);
}else{
- $fn = str_replace(realpath($conf['datadir']).DIRECTORY_SEPARATOR,'',$fn);
+ $fn = str_replace(fullpath($conf['datadir']).DIRECTORY_SEPARATOR,'',$fn);
}
}
$fn = utf8_decodeFN($fn);
diff --git a/inc/toolbar.php b/inc/toolbar.php
index b8ac76f6d..c507d3eb0 100644
--- a/inc/toolbar.php
+++ b/inc/toolbar.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/');
require_once(DOKU_INC.'inc/JSON.php');
diff --git a/install.php b/install.php
index 6bc1bcb30..575af1b5b 100644
--- a/install.php
+++ b/install.php
@@ -5,7 +5,7 @@
* @author Chris Smith <chris@jalakai.co.uk>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__)).'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__)).'/');
if(!defined('DOKU_CONF')) define('DOKU_CONF',DOKU_INC.'conf/');
if(!defined('DOKU_LOCAL')) define('DOKU_LOCAL',DOKU_INC.'conf/');
diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php
index 8bcf184b5..08994e81f 100644
--- a/lib/exe/ajax.php
+++ b/lib/exe/ajax.php
@@ -11,7 +11,7 @@ if(!count($_POST) && $HTTP_RAW_POST_DATA){
parse_str($HTTP_RAW_POST_DATA, $_POST);
}
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/common.php');
require_once(DOKU_INC.'inc/pageutils.php');
diff --git a/lib/exe/css.php b/lib/exe/css.php
index 59a2a63ea..bab24b257 100644
--- a/lib/exe/css.php
+++ b/lib/exe/css.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session or authentication here (better caching)
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/pageutils.php');
diff --git a/lib/exe/detail.php b/lib/exe/detail.php
index a9fe72b91..263dd30cb 100644
--- a/lib/exe/detail.php
+++ b/lib/exe/detail.php
@@ -1,5 +1,5 @@
<?php
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
define('DOKU_MEDIADETAIL',1);
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/common.php');
diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php
index 94aae7deb..031edd274 100644
--- a/lib/exe/fetch.php
+++ b/lib/exe/fetch.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
define('DOKU_DISABLE_GZIP_OUTPUT', 1);
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/common.php');
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php
index 282aa73ac..a3d953740 100644
--- a/lib/exe/indexer.php
+++ b/lib/exe/indexer.php
@@ -5,7 +5,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
define('DOKU_DISABLE_GZIP_OUTPUT',1);
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/auth.php');
diff --git a/lib/exe/js.php b/lib/exe/js.php
index 802ed4490..9315e7783 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -6,7 +6,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session or authentication here (better caching)
if(!defined('NL')) define('NL',"\n");
require_once(DOKU_INC.'inc/init.php');
diff --git a/lib/exe/mediamanager.php b/lib/exe/mediamanager.php
index fc11ed36c..a1f00660d 100644
--- a/lib/exe/mediamanager.php
+++ b/lib/exe/mediamanager.php
@@ -1,5 +1,5 @@
<?php
- if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+ if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
define('DOKU_MEDIAMANAGER',1);
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/lang/en/lang.php');
diff --git a/lib/exe/opensearch.php b/lib/exe/opensearch.php
index bd70f4b58..eda32e14d 100644
--- a/lib/exe/opensearch.php
+++ b/lib/exe/opensearch.php
@@ -8,7 +8,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session or authentication here (better caching)
if(!defined('NL')) define('NL',"\n");
require_once(DOKU_INC.'inc/init.php');
diff --git a/lib/exe/spellcheck.php b/lib/exe/spellcheck.php
index e4739b60c..8ed116b8b 100644
--- a/lib/exe/spellcheck.php
+++ b/lib/exe/spellcheck.php
@@ -46,7 +46,7 @@ if(!count($_POST) && $HTTP_RAW_POST_DATA){
parse_str($HTTP_RAW_POST_DATA, $_POST);
}
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
require_once (DOKU_INC.'inc/init.php');
session_write_close();
require_once (DOKU_INC.'inc/utf8.php');
diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php
index 46db3cb30..f2b9a2b7d 100644
--- a/lib/exe/xmlrpc.php
+++ b/lib/exe/xmlrpc.php
@@ -1,5 +1,5 @@
<?php
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/');
// fix when '<?xml' isn't on the very first line
if(isset($HTTP_RAW_POST_DATA)) $HTTP_RAW_POST_DATA = trim($HTTP_RAW_POST_DATA);