diff options
author | Bart Visscher <bartv@thisnet.nl> | 2012-10-30 20:56:31 +0100 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2012-10-30 20:56:31 +0100 |
commit | 246d7ea2ea849b115c0d6eb47e6ea725c6271d0a (patch) | |
tree | 732e39b9d9d8cd2e815111566c93caa9d8492052 /core/setup.php | |
parent | 3fdf239b478273155a68ec4ede8d4e4dd54b504d (diff) | |
download | nextcloud-server-246d7ea2ea849b115c0d6eb47e6ea725c6271d0a.tar.gz nextcloud-server-246d7ea2ea849b115c0d6eb47e6ea725c6271d0a.zip |
Separate control code from class definition
Diffstat (limited to 'core/setup.php')
-rw-r--r-- | core/setup.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/core/setup.php b/core/setup.php new file mode 100644 index 00000000000..1c03e3397af --- /dev/null +++ b/core/setup.php @@ -0,0 +1,53 @@ +<?php + +// 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'); + +$hasSQLite = (is_callable('sqlite_open') or class_exists('SQLite3')); +$hasMySQL = is_callable('mysql_connect'); +$hasPostgreSQL = is_callable('pg_connect'); +$hasOracle = is_callable('oci_connect'); +$datadir = OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data'); + +// Test if .htaccess is working +$content = "deny from all"; +file_put_contents(OC::$SERVERROOT.'/data/.htaccess', $content); + +$opts = array( + 'hasSQLite' => $hasSQLite, + 'hasMySQL' => $hasMySQL, + 'hasPostgreSQL' => $hasPostgreSQL, + 'hasOracle' => $hasOracle, + 'directory' => $datadir, + 'secureRNG' => OC_Util::secureRNG_available(), + 'htaccessWorking' => OC_Util::ishtaccessworking(), + 'errors' => array(), +); + +if(isset($_POST['install']) AND $_POST['install']=='true') { + // We have to launch the installation process : + $e = OC_Setup::install($_POST); + $errors = array('errors' => $e); + + if(count($e) > 0) { + //OC_Template::printGuestPage("", "error", array("errors" => $errors)); + $options = array_merge($_POST, $opts, $errors); + OC_Template::printGuestPage("", "installation", $options); + } + else { + header("Location: ".OC::$WEBROOT.'/'); + exit(); + } +} +else { + OC_Template::printGuestPage("", "installation", $opts); +} |