Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xindex.php45
-rw-r--r--lib/base.php48
2 files changed, 50 insertions, 43 deletions
diff --git a/index.php b/index.php
index e3c94adf66f..94893e475a2 100755
--- a/index.php
+++ b/index.php
@@ -26,49 +26,8 @@ $RUNTIME_NOAPPS = TRUE; //no apps, yet
require_once('lib/base.php');
-// Setup required :
-$not_installed = !OC_Config::getValue('installed', false);
-if($not_installed) {
- // Check for autosetup:
- $autosetup_file = OC::$SERVERROOT."/config/autoconfig.php";
- if( file_exists( $autosetup_file )){
- OC_Log::write('core','Autoconfig file found, setting up owncloud...',OC_Log::INFO);
- include( $autosetup_file );
- $_POST['install'] = 'true';
- $_POST = array_merge ($_POST, $AUTOCONFIG);
- unlink($autosetup_file);
- }
- OC_Util::addScript('setup');
- require_once('setup.php');
- exit();
-}
-
-// Handle WebDAV
-if($_SERVER['REQUEST_METHOD']=='PROPFIND'){
- header('location: '.OC_Helper::linkToRemote('webdav'));
- exit();
-}
-elseif(!OC_User::isLoggedIn() && substr(OC::$REQUESTEDFILE,-3) == 'css'){
- OC_App::loadApps();
- OC::loadfile();
-}
-// Someone is logged in :
-elseif(OC_User::isLoggedIn()) {
- OC_App::loadApps();
- if(isset($_GET["logout"]) and ($_GET["logout"])) {
- OC_User::logout();
- header("Location: ".OC::$WEBROOT.'/');
- exit();
- }else{
- if(is_null(OC::$REQUESTEDFILE)){
- OC::loadapp();
- }else{
- OC::loadfile();
- }
- }
-
-// For all others cases, we display the guest page :
-} else {
+if (!OC::handleRequest()) {
+// Not handled -> we display the login page:
OC_App::loadApps(array('prelogin'));
$error = false;
// remember was checked after last login
diff --git a/lib/base.php b/lib/base.php
index c5827064d75..b91945ab97b 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -398,6 +398,54 @@ class OC{
}
}
}
+
+ /**
+ * @brief Try to handle request
+ * @return true when the request is handled here
+ */
+ public static function handleRequest() {
+ if (!OC_Config::getValue('installed', false)) {
+ // Check for autosetup:
+ $autosetup_file = OC::$SERVERROOT."/config/autoconfig.php";
+ if( file_exists( $autosetup_file )){
+ OC_Log::write('core','Autoconfig file found, setting up owncloud...',OC_Log::INFO);
+ include( $autosetup_file );
+ $_POST['install'] = 'true';
+ $_POST = array_merge ($_POST, $AUTOCONFIG);
+ unlink($autosetup_file);
+ }
+ OC_Util::addScript('setup');
+ require_once('setup.php');
+ exit();
+ }
+ // Handle WebDAV
+ if($_SERVER['REQUEST_METHOD']=='PROPFIND'){
+ header('location: '.OC_Helper::linkToRemote('webdav'));
+ return true;
+ }
+ if(!OC_User::isLoggedIn() && substr(OC::$REQUESTEDFILE,-3) == 'css') {
+ OC_App::loadApps();
+ OC::loadfile();
+ return true;
+ }
+ // Someone is logged in :
+ if(OC_User::isLoggedIn()) {
+ OC_App::loadApps();
+ if(isset($_GET["logout"]) and ($_GET["logout"])) {
+ OC_User::logout();
+ header("Location: ".OC::$WEBROOT.'/');
+ }else{
+ if(is_null(OC::$REQUESTEDFILE)) {
+ OC::loadapp();
+ }else{
+ OC::loadfile();
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
}
// define runtime variables - unless this already has been done