Blame view
sources/core/setup.php
2.17 KB
|
03e52840d
|
1 2 3 4 5 6 7 |
<?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;
|
|
03e52840d
|
8 |
$_POST = array_merge ($_POST, $AUTOCONFIG); |
|
31b7f2792
|
9 10 11 12 13 14 15 16 17 18 19 20 |
$_REQUEST = array_merge ($_REQUEST, $AUTOCONFIG);
}
$dbIsSet = isset($_POST['dbtype']);
$directoryIsSet = isset($_POST['directory']);
$adminAccountIsSet = isset($_POST['adminlogin']);
if ($dbIsSet AND $directoryIsSet AND $adminAccountIsSet) {
$_POST['install'] = 'true';
if( file_exists( $autosetup_file )) {
unlink($autosetup_file);
}
|
|
03e52840d
|
21 22 23 24 25 26 27 28 29 30 31 32 33 |
}
OC_Util::addScript('setup');
$hasSQLite = class_exists('SQLite3');
$hasMySQL = is_callable('mysql_connect');
$hasPostgreSQL = is_callable('pg_connect');
$hasOracle = is_callable('oci_connect');
$hasMSSQL = is_callable('sqlsrv_connect');
$datadir = OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data');
$vulnerableToNullByte = false;
if(@file_exists(__FILE__."\0Nullbyte")) { // Check if the used PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)
$vulnerableToNullByte = true;
|
|
31b7f2792
|
34 |
} |
|
03e52840d
|
35 36 37 38 39 40 41 42 43 44 45 |
// Protect data directory here, so we can test if the protection is working OC_Setup::protectDataDirectory(); $opts = array( 'hasSQLite' => $hasSQLite, 'hasMySQL' => $hasMySQL, 'hasPostgreSQL' => $hasPostgreSQL, 'hasOracle' => $hasOracle, 'hasMSSQL' => $hasMSSQL, 'directory' => $datadir, |
|
31b7f2792
|
46 47 |
'secureRNG' => OC_Util::secureRNGAvailable(), 'htaccessWorking' => OC_Util::isHtAccessWorking(), |
|
03e52840d
|
48 49 |
'vulnerableToNullByte' => $vulnerableToNullByte, 'errors' => array(), |
|
31b7f2792
|
50 51 |
'dbIsSet' => $dbIsSet, 'directoryIsSet' => $directoryIsSet, |
|
03e52840d
|
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
);
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_Helper::linkToRoute( 'post_setup_check' ));
exit();
}
}
else {
OC_Template::printGuestPage("", "installation", $opts);
}
|