summaryrefslogtreecommitdiffstats
path: root/lib/base.php
diff options
context:
space:
mode:
authorGeorg Ehrke <dev@georgswebsite.de>2012-04-18 08:20:51 +0200
committerGeorg Ehrke <dev@georgswebsite.de>2012-04-18 08:20:51 +0200
commit3e0e6e35f4fa638dd42bd5adc3b26e078bf3d081 (patch)
treed1c6b4ba110d4bdcd4036e58ba10ed287024ce9a /lib/base.php
parent69ee0efc0b355c33ec566cffb36c4b0dc429c338 (diff)
downloadnextcloud-server-3e0e6e35f4fa638dd42bd5adc3b26e078bf3d081.tar.gz
nextcloud-server-3e0e6e35f4fa638dd42bd5adc3b26e078bf3d081.zip
open app thru index.php
Diffstat (limited to 'lib/base.php')
-rw-r--r--lib/base.php44
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