diff --git a/inc/lib_config.php b/inc/lib_config.php index 0522ef3862f7e0c033c4f7ce36a397aa517938dc..5fa6b5f7c6481877a4f5d11ed099820943d58f5a 100755 --- a/inc/lib_config.php +++ b/inc/lib_config.php @@ -14,6 +14,18 @@ class OC_CONFIG{ require('templates/configform.php'); } + public static function createuserlisener(){ + if(isset($_POST['new_username']) and isset($_POST['new_password'])){ + if(OC_USER::createuser($_POST['new_username'],$_POST['new_password'])){ + return 'user successfully created'; + }else{ + return 'error while trying to create user'; + } + }else{ + return false; + } + } + /** * lisen for configuration changes and write it to the file * diff --git a/inc/lib_user.php b/inc/lib_user.php index eb515b92a00129e1df889f183813f4a096d70747..e7855b5b7b37cdcb8f625d4d9310b6948fd34569 100644 --- a/inc/lib_user.php +++ b/inc/lib_user.php @@ -32,8 +32,6 @@ class OC_USER { * */ public static function loginlisener(){ - global $CONFIG_ADMINLOGIN; - global $CONFIG_ADMINPASSWORD; if(isset($_POST['loginbutton']) and isset($_POST['password']) and isset($_POST['login'])){ if(OC_USER::login($_POST['login'],$_POST['password'])){ OC_LOG::event($_SESSION['username'],1,''); @@ -45,6 +43,7 @@ class OC_USER { return(''); } + /** * try to create a new user * @@ -192,6 +191,10 @@ class OC_USER { return true; } } + + public static function generatepassword(){ + return uniqid(); + } } ?> \ No newline at end of file diff --git a/inc/templates/configform.php b/inc/templates/configform.php index 61217df2acf37116ab51ae7b789fe3fc13f07e24..ba946fc67b0d71429dc0d406723ddac0f8d82609 100755 --- a/inc/templates/configform.php +++ b/inc/templates/configform.php @@ -4,6 +4,7 @@ global $CONFIG_ERROR; if(!isset($fillDB)) $fillDB=true; if(!isset($CONFIG_DBHOST)) $CONFIG_DBHOST='localhost'; if(!isset($CONFIG_DBUSER)) $CONFIG_DBUSER='owncloud'; +$newuserpassword=OC_USER::generatepassword(); ?> <script type="text/javascript"> function showDBAdmin(){ @@ -82,7 +83,16 @@ if($CONFIG_DBTYPE=='sqlite'){ <tr id='dbAdminPwd'><td>database administrative password:</td><td><input type="password" name="dbadminpwd" size="30" class="formstyle" value=''></input></td></tr> <tr><td>automaticly fill initial database:</td><td><input type="checkbox" name="filldb" size="30" class="formstyle" value='1' <?php if($FIRSTRUN) echo 'checked'; ?>></input></td></tr> <tr><td></td><td><input type="submit" name="set_config" alt="save" value="save" class="formstyle" /></td></tr> -</table></form> +</table></form><br/> +<br/> +<form method="post" enctype="multipart/form-data"> +<table cellpadding="5" cellspacing="5" border="0" class="loginform"> +<tr><td colspan='2'>Create new user:</td></tr> +<tr><td>user name</td><td><input type='text' name='new_username' class="formstyle"></input></td></tr> +<tr><td>password</td><td><input type='text' name='new_password' class="formstyle" autocomplete="off" value='<?php echo($newuserpassword);?>'></input></td></tr> +<tr><td></td><td><input type='submit' value='create' class="formstyle"></input></td></tr> +</table> +</form> <script type="text/javascript"> dbtypechange() </script> \ No newline at end of file diff --git a/inc/templates/header.php b/inc/templates/header.php index bd4ccaf35e3d1a4f7a6d454e65f1712a700d569f..46c64bfd6456a12dc92a1c371dc9338d05d67954 100755 --- a/inc/templates/header.php +++ b/inc/templates/header.php @@ -33,6 +33,9 @@ echo('<h1><a id="owncloud-logo" href="'.$WEBROOT.'"><span>ownCloud</span></a></h // check if already configured. otherwise start configuration wizard $error=OC_CONFIG::writeconfiglisener(); + if($e=OC_CONFIG::createuserlisener()){ + $error=$e; + } $CONFIG_ERROR=$error; global $CONFIG_INSTALLED; if(!$CONFIG_INSTALLED) {