diff options
author | Georg Ehrke <dev@georgswebsite.de> | 2012-04-18 08:20:51 +0200 |
---|---|---|
committer | Georg Ehrke <dev@georgswebsite.de> | 2012-04-18 08:20:51 +0200 |
commit | 3e0e6e35f4fa638dd42bd5adc3b26e078bf3d081 (patch) | |
tree | d1c6b4ba110d4bdcd4036e58ba10ed287024ce9a /lib/base.php | |
parent | 69ee0efc0b355c33ec566cffb36c4b0dc429c338 (diff) | |
download | nextcloud-server-3e0e6e35f4fa638dd42bd5adc3b26e078bf3d081.tar.gz nextcloud-server-3e0e6e35f4fa638dd42bd5adc3b26e078bf3d081.zip |
open app thru index.php
Diffstat (limited to 'lib/base.php')
-rw-r--r-- | lib/base.php | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/lib/base.php b/lib/base.php index f3dacdc0f76..c21ab973593 100644 --- a/lib/base.php +++ b/lib/base.php @@ -62,15 +62,22 @@ class OC{ * the root path of the 3rdparty folder for http requests (e.g. owncloud/3rdparty) */ public static $THIRDPARTYWEBROOT = ''; - /** - * The installation path of the apps folder on the server (e.g. /srv/http/owncloud) - */ - public static $APPSROOT = ''; - /** - * the root path of the apps folder for http requests (e.g. owncloud) - */ - public static $APPSWEBROOT = ''; - + /** + * The installation path of the apps folder on the server (e.g. /srv/http/owncloud) + */ + public static $APPSROOT = ''; + /** + * the root path of the apps folder for http requests (e.g. owncloud) + */ + public static $APPSWEBROOT = ''; + /* + * requested app + */ + public static $REQUESTEDAPP = ''; + /* + * requested file of app + */ + public static $REQUESTEDFILE = ''; /** * SPL autoload */ @@ -161,12 +168,15 @@ class OC{ } // search the apps folder - if(file_exists(OC::$SERVERROOT.'/apps')){ + if(OC_Config::getValue('appsroot', '')<>''){ + OC::$APPSROOT=OC_Config::getValue('appsroot', ''); + OC::$APPSWEBROOT=OC_Config::getValue('appsurl', ''); + }elseif(file_exists(OC::$SERVERROOT.'/apps')){ OC::$APPSROOT=OC::$SERVERROOT; OC::$APPSWEBROOT=OC::$WEBROOT; }elseif(file_exists(OC::$SERVERROOT.'/../apps')){ - OC::$APPSWEBROOT=rtrim(dirname(OC::$WEBROOT), '/'); OC::$APPSROOT=rtrim(dirname(OC::$SERVERROOT), '/'); + OC::$APPSWEBROOT=rtrim(dirname(OC::$WEBROOT), '/'); }else{ echo("apps directory not found! Please put the ownCloud apps folder in the ownCloud folder or the folder above. You can also configure the location in the config.php file."); exit; @@ -261,6 +271,13 @@ class OC{ ini_set('session.cookie_httponly','1;'); session_start(); } + + public static function loadapp(){ + if(file_exists(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP)){ + OC_App::loadApps(); + require_once(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP . '/index.php'); + } + } public static function init(){ // register autoloader @@ -371,6 +388,9 @@ class OC{ //make sure temporary files are cleaned up register_shutdown_function(array('OC_Helper','cleanTmp')); + + self::$REQUESTEDAPP = (isset($_GET['app'])?strip_tags($_GET['app']):'files'); + self::$REQUESTEDFILE = (isset($_GET['file'])?(OC_Helper::issubdirectory(OC::$APPSROOT . '/' . self::$REQUESTEDAPP . '/' . $_GET['file'], OC::$APPSROOT . '/' . self::$REQUESTEDAPP)?$_GET['file']:null):null); } } @@ -399,4 +419,4 @@ if(!function_exists('get_temp_dir')) { } } -OC::init(); +OC::init();
\ No newline at end of file |