Merge pull request #4982 from syncloud/master

Automatic config can set some of parameters or all of them
This commit is contained in:
Owen Winkler 2013-10-05 16:13:46 -07:00
commit 08e1147a6b
2 changed files with 24 additions and 4 deletions

View File

@ -5,9 +5,18 @@ $autosetup_file = OC::$SERVERROOT."/config/autoconfig.php";
if( file_exists( $autosetup_file )) { if( file_exists( $autosetup_file )) {
OC_Log::write('core', 'Autoconfig file found, setting up owncloud...', OC_Log::INFO); OC_Log::write('core', 'Autoconfig file found, setting up owncloud...', OC_Log::INFO);
include $autosetup_file; include $autosetup_file;
$_POST['install'] = 'true';
$_POST = array_merge ($_POST, $AUTOCONFIG); $_POST = array_merge ($_POST, $AUTOCONFIG);
unlink($autosetup_file); }
$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);
}
} }
OC_Util::addScript('setup'); OC_Util::addScript('setup');
@ -21,7 +30,7 @@ $datadir = OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data');
$vulnerableToNullByte = false; $vulnerableToNullByte = false;
if(@file_exists(__FILE__."\0Nullbyte")) { // Check if the used PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243) if(@file_exists(__FILE__."\0Nullbyte")) { // Check if the used PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)
$vulnerableToNullByte = true; $vulnerableToNullByte = true;
} }
// Protect data directory here, so we can test if the protection is working // Protect data directory here, so we can test if the protection is working
OC_Setup::protectDataDirectory(); OC_Setup::protectDataDirectory();
@ -37,6 +46,8 @@ $opts = array(
'htaccessWorking' => OC_Util::isHtAccessWorking(), 'htaccessWorking' => OC_Util::isHtAccessWorking(),
'vulnerableToNullByte' => $vulnerableToNullByte, 'vulnerableToNullByte' => $vulnerableToNullByte,
'errors' => array(), 'errors' => array(),
'dbIsSet' => $dbIsSet,
'directoryIsSet' => $directoryIsSet,
); );
if(isset($_POST['install']) AND $_POST['install']=='true') { if(isset($_POST['install']) AND $_POST['install']=='true') {

View File

@ -61,8 +61,14 @@
</p> </p>
</fieldset> </fieldset>
<fieldset id="datadirField"> <?php if(!$_['directoryIsSet'] OR !$_['dbIsSet']): ?>
<fieldset id="advancedHeader">
<legend><a id="showAdvanced"><?php p($l->t( 'Advanced' )); ?> <img class="svg" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a></legend> <legend><a id="showAdvanced"><?php p($l->t( 'Advanced' )); ?> <img class="svg" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a></legend>
</fieldset>
<?php endif; ?>
<?php if(!$_['directoryIsSet']): ?>
<fieldset id="datadirField">
<div id="datadirContent"> <div id="datadirContent">
<label for="directory"><?php p($l->t( 'Data folder' )); ?></label> <label for="directory"><?php p($l->t( 'Data folder' )); ?></label>
<input type="text" name="directory" id="directory" <input type="text" name="directory" id="directory"
@ -70,7 +76,9 @@
value="<?php p(OC_Helper::init_var('directory', $_['directory'])); ?>" /> value="<?php p(OC_Helper::init_var('directory', $_['directory'])); ?>" />
</div> </div>
</fieldset> </fieldset>
<?php endif; ?>
<?php if(!$_['dbIsSet']): ?>
<fieldset id='databaseField'> <fieldset id='databaseField'>
<?php if($_['hasMySQL'] or $_['hasPostgreSQL'] or $_['hasOracle'] or $_['hasMSSQL']) <?php if($_['hasMySQL'] or $_['hasPostgreSQL'] or $_['hasOracle'] or $_['hasMSSQL'])
$hasOtherDB = true; else $hasOtherDB =false; //other than SQLite ?> $hasOtherDB = true; else $hasOtherDB =false; //other than SQLite ?>
@ -171,6 +179,7 @@
</div> </div>
<?php endif; ?> <?php endif; ?>
</fieldset> </fieldset>
<?php endif; ?>
<div class="buttons"><input type="submit" class="primary" value="<?php p($l->t( 'Finish setup' )); ?>" data-finishing="<?php p($l->t( 'Finishing …' )); ?>" /></div> <div class="buttons"><input type="submit" class="primary" value="<?php p($l->t( 'Finish setup' )); ?>" data-finishing="<?php p($l->t( 'Finishing …' )); ?>" /></div>
</form> </form>