Przeglądaj źródła

completed useradd form

Serghey Rodin 14 lat temu
rodzic
commit
988b30fb87

+ 50 - 4
web/add/user/index.php

@@ -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

+ 33 - 18
web/templates/admin/add_user.html

@@ -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>

+ 9 - 2
web/templates/admin/menu_add_user.html

@@ -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>

+ 1 - 1
web/templates/admin/panel.html

@@ -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>

+ 18 - 1
web/templates/header.html

@@ -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>

+ 2 - 2
web/templates/login.html

@@ -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>

+ 5 - 5
web/test.php

@@ -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";
+