summaryrefslogtreecommitdiffstats
path: root/inc/lib_base.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/lib_base.php')
-rwxr-xr-xinc/lib_base.php32
1 files changed, 7 insertions, 25 deletions
diff --git a/inc/lib_base.php b/inc/lib_base.php
index 775504a656b..d946f565c8a 100755
--- a/inc/lib_base.php
+++ b/inc/lib_base.php
@@ -33,33 +33,15 @@ session_start();
// calculate the documentroot
$SERVERROOT=substr(__FILE__,0,-17);
-$DOCUMENTROOT=$_SERVER['DOCUMENT_ROOT'];
+$DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']);
$SERVERROOT=str_replace("\\",'/',$SERVERROOT);
-if(strpos($SERVERROOT,$DOCUMENTROOT)===0){
- //if the serverroot is a subdir of the documentroot we can use this
- $count=strlen($DOCUMENTROOT);
- $WEBROOT=substr($SERVERROOT,$count);
-}else{
- //try some common patterns
- $WEBROOT='';
- if(strpos($_SERVER['REQUEST_URI'],'/~')!==false){
- //owncloud is probable installed in a users home folder, extract the username from the uri and use it as base for the webroot
- $part=substr($_SERVER['REQUEST_URI'],strpos($_SERVER['REQUEST_URI'],'/~')+1);
- $part=substr($part,0,strpos($part,'/'));
- $WEBROOT.='/'.$part;
- }
- if(strpos($SERVERROOT,'public_html')!==false){
- //a common used folder name for websevers to store their sites
- if($WEBROOT{strlen($WEBROOT)-1}!=='/'){
- $WEBROOT.='/';
- }
- $WEBROOT.=substr($SERVERROOT,strpos($SERVERROOT,'public_html')+strlen('public_html'));
- }
-}
-if($WEBROOT{0}!=='/' and $WEBROOT!=''){
+$SUBURI=substr(realpath($_SERVER["SCRIPT_FILENAME"]),strlen($SERVERROOT));
+$WEBROOT=substr($_SERVER["SCRIPT_NAME"],0,strlen($_SERVER["SCRIPT_NAME"])-strlen($SUBURI));
+
+
+if($WEBROOT!='' and $WEBROOT[0]!=='/'){
$WEBROOT='/'.$WEBROOT;
}
-// $WEBROOT='http://localhost'.$WEBROOT;
// set the right include path
// set_include_path(get_include_path().PATH_SEPARATOR.$SERVERROOT.PATH_SEPARATOR.$SERVERROOT.'/inc'.PATH_SEPARATOR.$SERVERROOT.'/config');
@@ -666,4 +648,4 @@ function chmodr($path, $filemode) {
return FALSE;
}
-?> \ No newline at end of file
+?>