completed useradd form

This commit is contained in:
Serghey Rodin 2012-05-18 17:08:38 +03:00
parent 8959b3fcf3
commit 988b30fb87
7 changed files with 118 additions and 33 deletions

View file

@ -1,6 +1,6 @@
<?php
// Init
error_reporting(NULL);
//error_reporting(NULL);
ob_start();
session_start();
$TAB = 'USER';
@ -12,17 +12,61 @@ include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
// Panel
top_panel($user,$TAB);
// Data
// Are you admin?
if ($_SESSION['user'] == 'admin') {
// Cancel
if (!empty($_POST['cancel'])) {
echo $_POST['cancel'];
header("Location: /list/user/");
}
// Ok
if (!empty($_POST['ok'])) {
echo $_POST['vusername'];
echo $_POST['vpassword'];
// Check input
$v_username = escapeshellarg($_POST['v_username']);
$v_password = escapeshellarg($_POST['v_password']);
$v_package = escapeshellarg($_POST['v_package']);
$v_email = escapeshellarg($_POST['v_email']);
$v_fname = escapeshellarg($_POST['v_fname']);
$v_lname = escapeshellarg($_POST['v_lname']);
if (empty($v_username)) $errors[] = 'user';
if (empty($v_password)) $errors[] = 'password';
if (empty($v_package)) $errrors[] = 'package';
if (empty($v_email)) $errors[] = 'email';
if (empty($v_fname)) $errors[] = 'first name';
if (empty($v_lname)) $errors[] = 'last name';
// Check for errors
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
if ( $i == 0 ) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
$_SESSION['error_msg'] = "Error: field ".$error_msg." can not be blank.";
} else {
exec (VESTA_CMD."v_add_user ".$v_username." ".$v_password." ".$v_email." ".$v_package." ".$v_fname." ".$v_lname, $output, $return_var);
if ($return_var != 0) {
$error = implode('<br>', $output);
if (empty($error)) $error = 'Error: vesta did not return any output.';
$_SESSION['error_msg'] = $error;
} else {
$_SESSION['ok_msg'] = "OK: user <b>".$v_username."</b> has been created successfully.";
unset($v_username);
unset($v_password);
unset($v_email);
unset($v_fname);
unset($v_lname);
}
unset($output);
}
}
exec (VESTA_CMD."v_list_user_packages json", $output, $return_var);
check_error($return_var);
$data = json_decode(implode('', $output), true);
@ -30,6 +74,8 @@ if ($_SESSION['user'] == 'admin') {
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_add_user.html');
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_user.html');
unset($_SESSION['error_msg']);
unset($_SESSION['ok_msg']);
}
// Footer

View file

@ -1,5 +1,16 @@
<script type="text/javascript">
function randomString() {
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 10;
var randomstring = '';
for (var i=0; i<string_length; i++) {
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
}
document.v_add_user.v_password.value = randomstring;
}
</script>
<table class='data'>
<tr class="data-add">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
@ -12,29 +23,33 @@
</tr></table>
<table class="data-col2" width="830px">
<form method="post">
<form method="post" name="v_add_user">
<tr><td class="add-text" style="padding: 10 0 0 2px;">Username</td></tr>
<tr><td><input type="text" size="20" class="add-input" name="vusername"></tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Password</td></tr>
<tr><td><input type="text" size="20" class="add-input" name="vpassword"></tr>
<tr><td><input type="text" size="20" class="add-input" name="v_username" <?php if (!empty($v_username)) echo "value=".$v_username; ?> ></tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;">
Password <a href="#" onclick="randomString();" class="genpass">generate</a></td></tr>
<tr><td><input type="text" size="20" class="add-input" name="v_password"</tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Email</td></tr>
<tr><td><input type="text" size="20" class="add-input" name="email"></tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;" name="package">Package</td></tr>
<tr><td><select class="add-list">
<?php
foreach ($data as $key => $value) {
echo "\t\t\t\t<option>".$key."</option>\n";
}
?>
<tr><td><input type="text" size="20" class="add-input" name="v_email" <?php if (!empty($v_email)) echo "value=".$v_email; ?>></tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;" name="v_package">Package</td></tr>
<tr><td><select class="add-list" name="v_package">
<?php
foreach ($data as $key => $value) {
echo "\t\t\t\t<option value=\"".$key."\"";
if ((!empty($v_package)) && ( $key == $_POST['package'])){
echo 'selected' ;
}
echo ">".$key."</option>\n";
}
?>
</select></td></tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;" name="fname">Frist Name</td></tr>
<tr><td><input type="text" size="20" class="add-input"></tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;" name="lname">Last Name</td></tr>
<tr><td><input type="text" size="20" class="add-input"></tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Frist Name</td></tr>
<tr><td><input type="text" size="20" class="add-input" name="v_fname" <?php if (!empty($v_fname)) echo "value=".$v_fname; ?>></tr>
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Last Name</td></tr>
<tr><td><input type="text" size="20" class="add-input" name="v_lname" <?php if (!empty($v_lname)) echo "value=".$v_lname; ?>></tr>
<tr><td style="padding: 24px 0 0 0;">
<input type="submit" name="ok" value="OK" class="add-button">
<input type="submit" class="add-button" name="cancel" value="Cancel">
</td></tr>
</form>
</table>

View file

@ -1,8 +1,15 @@
<table class="sub-menu">
<tr>
<td style="padding: 10px 2px 28px 0;" ><a class="add-name"><i>Adding New User Account: </i></a>
<a class="add-error"><i>
</i></a>
<?php
if (!empty($_SESSION['error_msg'])) {
echo "<a class=\"add-error\"><i>".$_SESSION['error_msg']."</i></a>";
} else {
if (!empty($_SESSION['ok_msg'])) {
echo "<a class=\"add-ok\"><i>".$_SESSION['ok_msg']."</i></a>";
}
}
?>
</td>
</tr>
</table>

View file

@ -39,7 +39,7 @@
<li><b><a class="nav-<?php if($TAB == 'CRON' ) echo 's' ?>link" href="/list/cron/">CRON</a></b><p class="counters">
jobs: <? echo $panel[$user]['U_CRON_JOBS']?><br>
suspended: <? echo $panel[$user]['SUSPENDED_CRON']?></p></li>
<li><b><a class="nav-<?php if($TAB == 'BACKUP' ) echo 's' ?>link" href="/list/backup/">BACKUP</a></b><p class="counters">
<li><b><a class="nav-<?php if($TAB == 'BACKUP' ) echo 's' ?>link" href="/list/backup/">BACKUP</a></a></b><p class="counters">
available: <? echo $panel[$user]['U_BACKUPS']?><br>
<ul></div></td>
</tr>

View file

@ -429,6 +429,13 @@ if (!empty($_SESSION['look'])) {
padding: 0 0 0 28px;
}
.add-ok {
font-family: Georgia;
font-size: 14pt;
color: #80C376;
padding: 0 0 0 6px;
}
.add-error {
font-family: Georgia;
font-size: 14pt;
@ -453,12 +460,22 @@ if (!empty($_SESSION['look'])) {
color: #555;
}
.add-button {
padding: 4px;
margin: 0 6px 0 0;
font-size: 12pt;
}
.genpass {
color: #34536A;
font-size: 8pt;
font-family: Arial, Helvetica, sans-serif;
padding: 0 5px 0 8px;
letter-spacing: 0.1em;
}
.genpass:hover {
color: #80C376;
}
</style>

View file

@ -102,11 +102,11 @@
<tr>
<td><p class="login-text1">Username</p></td>
</tr><tr>
<td><input tabindex="1" type="text" size="18px" name="user" class="loggin-input"></td>
<td><input tabindex="1" type="text" size="20px" name="user" class="loggin-input"></td>
</tr><tr>
<td><p class="login-text1">Password <a tabindex="5" class="forgot" href="#" >(forgot password)</a></p></td>
</tr><tr>
<td><input tabindex="2" type="password" size="18px" name="password" class="loggin-input"></td>
<td><input tabindex="2" type="password" size="20px" name="password" class="loggin-input"></td>
</tr><tr>
<td><p class="login-text2"><input tabindex="4" type="checkbox" style="margin: 0 8px 0 0" >Remember me</p></td>
</tr><tr>

View file

@ -1,7 +1,7 @@
<?php
echo "ok<br><pre>";
if (!empty($_GET['d'])){
echo 'ok';
}
//print_r($_GET);
$arg1 = escapeshellarg($_GET['arg1']);
$arg2 = escapeshellarg($_GET['arg2']);
echo "/root/bin/test.sh ".$arg1." ".$arg2."\n";