summaryrefslogtreecommitdiffstats
path: root/core/setup.php
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2012-10-30 20:56:31 +0100
committerBart Visscher <bartv@thisnet.nl>2012-10-30 20:56:31 +0100
commit246d7ea2ea849b115c0d6eb47e6ea725c6271d0a (patch)
tree732e39b9d9d8cd2e815111566c93caa9d8492052 /core/setup.php
parent3fdf239b478273155a68ec4ede8d4e4dd54b504d (diff)
downloadnextcloud-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.php53
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);
+}