Separate control code from class definition

This commit is contained in:
Bart Visscher 2012-10-30 20:56:31 +01:00
parent 3fdf239b47
commit 246d7ea2ea
3 changed files with 54 additions and 51 deletions

53
core/setup.php Normal file
View File

@ -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);
}

View File

@ -477,17 +477,7 @@ class OC{
*/
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';
require_once 'core/setup.php';
exit();
}
// Handle WebDAV

View File

@ -1,45 +1,5 @@
<?php
$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);
}
class OC_Setup {
public static function install($options) {
$error = array();