Ask for configuration on first run

This commit is contained in:
Robin 2010-03-15 15:40:28 +01:00
parent e992da513f
commit 6bb0022345

View file

@ -1,36 +1,74 @@
<?php
function getConfig(){
?>
<form method="post" enctype="multipart/form-data" action="index.php" >
<table cellpadding="5" cellspacing="5" border="0" class="loginform">
<tr><td>owner name:</td><td><input type="text" name="CONFIG_FOOTEROWNERNAME" size="30" class="formstyle"></input></td></tr>
<tr><td>owner email:</td><td><input type="text" name="CONFIG_FOOTEROWNEREMAIL" size="30" class="formstyle"></input></td></tr>
<tr><td>admin name:</td><td><input type="text" name="CONFIG_ADMINLOGIN" size="30" class="formstyle"></input></td></tr>
<tr><td>admin password:</td><td><input type="password" name="CONFIG_ADMINPASSWORD" size="30" class="formstyle"></input></td></tr>
<tr><td>retype admin password:</td><td><input type="password" name="CONFIG_ADMINPASSWORD_RETYPE" size="30" class="formstyle"></input></td></tr>
<tr><td>document root:</td><td><input type="text" name="CONFIG_DOCUMENTROOT" size="30" class="formstyle" value="<?php echo realpath(dirname(__FILE__).'/../'); ?>"></input></td></tr>
<tr><td>data directory:</td><td><input type="text" name="CONFIG_DATADIRECTORY" size="30" class="formstyle" value="<?php echo realpath(dirname(__FILE__).'/../'); ?>/data/"></input></td></tr>
<tr><td>site root:</td><td><input type="text" name="CONFIG_SITEROOT" size="30" class="formstyle" value="<?php echo $_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']); ?>"></input></td></tr>
<tr><td>force ssl:</td><td><input type="checkbox" name="CONFIG_HTTPFORCESSL" size="30" class="formstyle" value='0'></input></td></tr>
<tr><td>date format:</td><td><input type="text" name="CONFIG_DATEFORMAT" size="30" class="formstyle" value='j M Y G:i'></input></td></tr>
<tr><td>database host:</td><td><input type="text" name="CONFIG_DBHOST" size="30" class="formstyle" value='localhost'></input></td></tr>
<tr><td>database name:</td><td><input type="text" name="CONFIG_DBNAME" size="30" class="formstyle" value='owncloud'></input></td></tr>
<tr><td>database user:</td><td><input type="text" name="CONFIG_DBUSER" size="30" class="formstyle" value='owncloud'></input></td></tr>
<tr><td>database password:</td><td><input type="password" name="CONFIG_DBPWD" size="30" class="formstyle" value=''></input></td></tr>
<tr><td>retype database password:</td><td><input type="password" name="CONFIG_DBPWD_RETYPE" size="30" class="formstyle" value=''></input></td></tr>
<tr><td></td><td><input type="submit" name="savebutton" alt="save" value="save" class="formstyle" /></td></tr>
</table></form>
<?php
die();
}
// Owner
$CONFIG_FOOTEROWNERNAME = 'Frank Karlitschek';
$CONFIG_FOOTEROWNEREMAIL = 'karlitschek@kde.org';
function writeConfig($config){
$allowed=array('CONFIG_FOOTEROWNERNAME','CONFIG_FOOTEROWNEREMAIL','CONFIG_ADMINLOGIN','CONFIG_ADMINPASSWORD','CONFIG_DBHOST','CONFIG_DBNAME','CONFIG_DBUSER','CONFIG_DBPWD','CONFIG_DOCUMENTROOT','CONFIG_DATADIRECTORY','CONFIG_HTTPFORCESSL','CONFIG_DATEFORMAT');
$requireRetype=array('CONFIG_ADMINPASSWORD','CONFIG_DBPWD');
foreach($requireRetype as $name){
if($config[$name]!=$config[$name.'_RETYPE']){
echo "error: passwords don't match";
getConfig();
}
}
$configString="//config\n";
foreach($allowed as $name){
if($config[$name]===''){
echo "error: empty field not allowed";
getConfig();
}
$GLOBALS[$name]=$config[$name];
if(is_string($config[$name])){
$value="'{$config[$name]}'";
}else{
$value=(integer)$config[$name];
}
$configString.="\$$name = $value;\n";
}
$configFile=file_get_contents(__FILE__);
$configFile=str_replace('//config'.'_placeholder',$configString,$configFile);
file_put_contents(__FILE__,$configFile);
}
//config_placeholder
// ADMIN ACCOUNT
$CONFIG_ADMINLOGIN = 'frank';
$CONFIG_ADMINPASSWORD = '123';
if(!isset($CONFIG_ADMINLOGIN)){
if(!isset($_POST['CONFIG_FOOTEROWNERNAME'])){
getConfig();
}else{
writeConfig($_POST);
}
}
$protocol=strtolower($_SERVER['SERVER_PROTOCOL']);
$CONFIG_PROTOCOL=substr($protocol,0,strpos($protocol,"/"))."://";
$CONFIG_WEBROOT=$CONFIG_PROTOCOL.$CONFIG_SITEROOT;
// DB Config
$CONFIG_DBHOST = 'localhost';
$CONFIG_DBNAME = 'owncloud';
$CONFIG_DBUSER = 'owncloud';
$CONFIG_DBPWD = 'owncloud12345';
// directories
$CONFIG_DATADIRECTORY = '/www/testy';
$CONFIG_DOCUMENTROOT = '/www/owncloud/htdocs';
// force SSL
$CONFIG_HTTPFORCESSL = false;
// other
$CONFIG_DATEFORMAT = 'j M Y G:i';
// plugins
//$CONFIG_LOADPLUGINS = 'music test';
$CONFIG_LOADPLUGINS='';
@ -38,6 +76,7 @@ $CONFIG_LOADPLUGINS = '';
// don´t change unless you know what you are doing
set_include_path(get_include_path().PATH_SEPARATOR.$CONFIG_DOCUMENTROOT.PATH_SEPARATOR.$CONFIG_DOCUMENTROOT.'/inc');
require_once('lib_base.php');
?>