aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin <robin@Amaya.(none)>2010-04-22 20:08:38 +0200
committerRobin <robin@Amaya.(none)>2010-04-22 20:08:38 +0200
commit07a8992a84c252ab10d6047e3de1ce16ac3c6b0b (patch)
treefe5ca58f65f7be5fe1ef992e93c21e4b147db7dd
parent6b5bd8134131c4573f81cfe43fc9bbbe8fb35c05 (diff)
downloadnextcloud-server-07a8992a84c252ab10d6047e3de1ce16ac3c6b0b.tar.gz
nextcloud-server-07a8992a84c252ab10d6047e3de1ce16ac3c6b0b.zip
admins can now create new users
-rwxr-xr-xinc/lib_config.php12
-rw-r--r--inc/lib_user.php7
-rwxr-xr-xinc/templates/configform.php12
-rwxr-xr-xinc/templates/header.php3
4 files changed, 31 insertions, 3 deletions
diff --git a/inc/lib_config.php b/inc/lib_config.php
index 0522ef3862f..5fa6b5f7c64 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 eb515b92a00..e7855b5b7b3 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 61217df2acf..ba946fc67b0 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 bd4ccaf35e3..46c64bfd645 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) {