/**
  * @param $post
  */
 public function run($post)
 {
     // Check for autosetup:
     $post = $this->loadAutoConfig($post);
     $opts = $this->getSystemInfo();
     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) {
             $options = array_merge($opts, $post, $errors);
             $this->display($options);
         } else {
             $this->finishSetup();
         }
     } else {
         $options = array_merge($opts, $post);
         $this->display($options);
     }
 }
Example #2
0
}
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__ . "Nullbyte")) {
    // Check if the used PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)
    $vulnerableToNullByte = true;
}
// 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, 'secureRNG' => OC_Util::secureRNGAvailable(), 'htaccessWorking' => OC_Util::isHtAccessWorking(), 'vulnerableToNullByte' => $vulnerableToNullByte, 'errors' => array(), 'dbIsSet' => $dbIsSet, 'directoryIsSet' => $directoryIsSet);
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);
}