Просмотр исходного кода

delete dns record page & add mail page

Serghey Rodin 13 лет назад
Родитель
Сommit
6d4b14e392

+ 135 - 0
web/add/mail/index.php

@@ -0,0 +1,135 @@
+<?php
+// Init
+error_reporting(NULL);
+ob_start();
+session_start();
+$TAB = 'MAIL';
+include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
+
+// Header
+include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
+
+// Panel
+top_panel($user,$TAB);
+
+// Are you admin?
+if ($_SESSION['user'] == 'admin') {
+
+    // Cancel
+    if (!empty($_POST['cancel'])) {
+        header("Location: /list/mail/");
+    }
+
+    // Mail Domain
+    if (!empty($_POST['ok'])) {
+        if (empty($_POST['v_domain'])) $errors[] = 'domain';
+        if (!empty($_POST['v_antispam'])) {
+            $v_antispam = 'yes';
+        } else {
+            $v_antispam = 'no';
+        }
+
+        if (!empty($_POST['v_antivirus'])) {
+            $v_antivirus = 'yes';
+        } else {
+            $v_antivirus = 'no';
+        }
+
+        if (!empty($_POST['v_dkim'])) {
+            $v_dkim = 'yes';
+        } else {
+            $v_dkim = 'no';
+        }
+
+        // Protect input
+        $v_domain = preg_replace("/^www./i", "", $_POST['v_domain']);
+        $v_domain = escapeshellarg($v_domain);
+
+        // 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 {
+
+            // Add mail domain
+            exec (VESTA_CMD."v_add_mail_domain ".$user." ".$v_domain." ".$v_antispam." ".$v_antivirus." ".$v_dkim, $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;
+            }
+            unset($output);
+
+            if (empty($_SESSION['error_msg'])) {
+                $_SESSION['ok_msg'] = "OK: domain <b>".$_POST[v_domain]."</b> has been created successfully.";
+                unset($v_domain);
+            }
+        }
+    }
+
+
+    // Mail Account
+    if (!empty($_POST['ok_acc'])) {
+        // Check input
+        if (empty($_POST['v_domain'])) $errors[] = 'domain';
+        if (empty($_POST['v_account'])) $errors[] = 'account';
+        if (empty($_POST['v_password'])) $errors[] = 'password';
+
+        // Protect input
+        $v_domain = escapeshellarg($_POST['v_domain']);
+        $v_account = escapeshellarg($_POST['v_account']);
+        $v_password = escapeshellarg($_POST['v_password']);
+        $v_quota = escapeshellarg($_POST['v_quota']);
+        if (empty($_POST['v_quota'])) $v_quota = 0;
+
+        // 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 {
+            // Add Mail Account
+            exec (VESTA_CMD."v_add_mail_account ".$user." ".$v_domain." ".$v_account." ".$v_password." ".$v_quota, $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;
+            }
+            unset($output);
+            if (empty($_SESSION['error_msg'])) {
+                $_SESSION['ok_msg'] = "OK: account <b>".$_POST['v_account']."</b> has been created successfully.";
+                unset($v_account);
+                unset($v_password);
+            }
+        }
+    }
+
+
+    if ((empty($_GET['domain'])) && (empty($_POST['domain'])))  {
+        $v_domain = $_GET['domain'];
+        include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_add_mail.html');
+        include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_mail.html');
+        unset($_SESSION['error_msg']);
+        unset($_SESSION['ok_msg']);
+    } else {
+        $v_domain = $_GET['domain'];
+        include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_add_mail_acc.html');
+        include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_mail_acc.html');
+        unset($_SESSION['error_msg']);
+        unset($_SESSION['ok_msg']);
+    }
+}
+
+// Footer
+include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');

+ 69 - 0
web/delete/dns/index.php

@@ -0,0 +1,69 @@
+<?php
+// Init
+//error_reporting(NULL);
+ob_start();
+session_start();
+$TAB = 'DNS';
+include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
+
+// Header
+include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
+
+// Panel
+top_panel($user,$TAB);
+
+// Are you admin?
+if ($_SESSION['user'] == 'admin') {
+
+    // Cancel
+    if (!empty($_POST['back'])) {
+        header("Location: /list/dns/");
+    }
+
+    // DNS domain
+    if ((!empty($_GET['domain'])) && (empty($_GET['record_id'])))  {
+        $v_username = escapeshellarg($user);
+        $v_domain = escapeshellarg($_GET['domain']);
+        exec (VESTA_CMD."v_delete_dns_domain ".$v_username." ".$v_domain, $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: dns domain <b>".$_GET['domain']."</b> has been deleted.";
+                unset($v_lname);
+        }
+        unset($output);
+
+        include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_delete_dns.html');
+        include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/delete_dns.html');
+        unset($_SESSION['error_msg']);
+        unset($_SESSION['ok_msg']);
+    }
+
+    // DNS record
+    if ((!empty($_GET['domain'])) && (!empty($_GET['record_id'])))  {
+        $v_username = escapeshellarg($user);
+        $v_domain = escapeshellarg($_GET['domain']);
+        $v_record_id = escapeshellarg($_GET['record_id']);
+        exec (VESTA_CMD."v_delete_dns_domain_record ".$v_username." ".$v_domain." ".$v_record_id, $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: dns record has been deleted.";
+                unset($v_lname);
+        }
+        unset($output);
+
+        include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_delete_dns_rec.html');
+        include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/delete_dns_rec.html');
+        unset($_SESSION['error_msg']);
+        unset($_SESSION['ok_msg']);
+    }
+
+}
+
+// Footer
+include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');

+ 29 - 0
web/templates/admin/add_mail.html

@@ -0,0 +1,29 @@
+<table class='data'>
+<tr class="data-add">
+    <td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
+        <table class="data-col1">
+            <tr><td style="padding: 18 0 4 18;"></td></tr>
+        </table>
+    </td>
+    <td class="data-dotted" width="830px" style="vertical-align:top;">
+        <table width="830px"><tr>
+            <td></td>
+        </tr></table>
+        <table class="data-col2" width="600px">
+            <form method="post" name="v_add_user">
+            <tr><td class="add-text" style="padding: 10 0 0 2px;">Domain</td></tr>
+            <tr><td><input type="text" size="20" class="add-input" name="v_domain" <?php if (!empty($v_domain)) echo "value=".$v_domain;  ?> ></td></tr>
+            <tr><td class="add-text" style="padding: 10px 0 0 2px;">AntiSpam Support</td></tr>
+            <tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_antispam" <?php if ((empty($v_antispam)) || ($v_antispam == 'yes')) echo "checked=yes"; ?>></tr>
+            <tr><td class="add-text" style="padding: 10px 0 0 2px;">AntiVirus Support</td></tr>
+            <tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_antivirus" <?php if ((empty($v_antivirus)) || ($v_antivirus == 'yes')) echo "checked=yes"; ?>></tr>
+            <tr><td class="add-text" style="padding: 10px 0 0 2px;">DKIM Support</td></tr>
+            <tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_dkim" <?php if ($v_dkim == 'yes') echo "checked=yes"; ?>></tr>
+            <tr><td style="padding: 24px 0 0 0;">
+                <input type="submit" name="ok" value="OK" class="add-button"></form>
+                <input type="button" class="add-button" value="Cancel" onClick="location.href='/list/mail/'">
+            </td></tr>
+        </table>
+    </td>
+</tr>
+</table>

+ 43 - 0
web/templates/admin/add_mail_acc.html

@@ -0,0 +1,43 @@
+<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">
+            <tr><td style="padding: 18 0 4 18;"></td></tr>
+        </table>
+    </td>
+    <td class="data-dotted" width="830px" style="vertical-align:top;">
+        <table width="830px"><tr>
+            <td></td>
+        </tr></table>
+        <table class="data-col2" width="600px">
+            <form method="post" name="v_add_user">
+            <tr><td class="add-text" style="padding: 10 0 0 2px;">Domain</td></tr>
+            <tr><td><input type="text" size="20" class="add-input" name="v_domain" <?php echo "value=".$v_domain;  ?> disabled ><input type="hidden" name="v_domain" <?php echo "value=".$v_domain;  ?>></td></tr>
+            <tr><td class="add-text" style="padding: 10px 0 0 2px;">Account</td></tr>
+            <tr><td><input type="text" size="20" class="add-input" name="v_account" <?php if (!empty($v_account)) echo "value=".$v_account; ?>></tr>
+            <tr><td class="add-text" style="padding: 10px 0 0 2px;">Password <a href="javascript: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;">Quota <span style="padding:0 0 0 6px; font-size: 10pt; color:#555;">(optional)</span></td></tr>
+            <tr><td><input type="text" size="20" class="add-input" name="v_quota" <?php if (!empty($v_quota)) echo "value=".$v_quota; ?>></tr>
+            <tr><td style="padding: 24px 0 0 0;">
+                <input type="submit" name="ok_acc" value="OK" class="add-button"></form>
+                <input type="button" class="add-button" value="Cancel" onClick="location.href='/list/mail/<?php echo "?domain=".$v_domain;  ?>'">
+            </td></tr>
+        </table>
+    </td>
+</tr>
+</table>

+ 26 - 0
web/templates/admin/delete_dns.html

@@ -0,0 +1,26 @@
+<table class='data'>
+<tr class="data-add">
+    <td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
+        <table class="data-col1">
+            <tr><td style="padding: 18 0 4 18;"></td></tr>
+        </table>
+    </td>
+    <td class="data-dotted" width="830px" style="vertical-align:top;">
+        <table width="830px"><tr>
+            <td></td>
+        </tr></table>
+
+        <table class="data-col2" width="830px">
+            <tr>
+                <td style="padding: 24px 0 0 0;" width="100px">
+                    <form method="get">
+                        <input type="button" class="add-button" value="List Domains" onClick="location.href='/list/dns/'">
+                    </form>
+                </td>
+                <td style="padding: 24px 0 0 0;">
+                </td>
+            </tr>
+        </table>
+    </td>
+</tr>
+</table>

+ 26 - 0
web/templates/admin/delete_dns_rec.html

@@ -0,0 +1,26 @@
+<table class='data'>
+<tr class="data-add">
+    <td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
+        <table class="data-col1">
+            <tr><td style="padding: 18 0 4 18;"></td></tr>
+        </table>
+    </td>
+    <td class="data-dotted" width="830px" style="vertical-align:top;">
+        <table width="830px"><tr>
+            <td></td>
+        </tr></table>
+
+        <table class="data-col2" width="830px">
+            <tr>
+                <td style="padding: 24px 0 0 0;" width="100px">
+                    <form method="get">
+                        <input type="button" class="add-button" value="List Records" onClick="location.href='/list/dns/?domain=<?php echo $_GET['domain']?>'">
+                    </form>
+                </td>
+                <td style="padding: 24px 0 0 0;">
+                </td>
+            </tr>
+        </table>
+    </td>
+</tr>
+</table>

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

@@ -14,7 +14,7 @@
             <tr>
                 <td style="padding: 24px 0 0 0;">
                     <form method="post">
-                        <input type="button" class="add-button" value="List users" onClick="location.href='/list/user/'">
+                        <input type="button" class="add-button" value="List Users" onClick="location.href='/list/user/'">
                     </form>
                 </td>
             </tr>

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

@@ -14,7 +14,7 @@
             <tr>
                 <td style="padding: 24px 0 0 0;">
                     <form method="post">
-                        <input type="button" class="add-button" value="List domains" onClick="location.href='/list/web/'">
+                        <input type="button" class="add-button" value="List Domains" onClick="location.href='/list/web/'">
                     </form>
                 </td>
             </tr>

+ 7 - 2
web/templates/admin/list_dns.html

@@ -73,9 +73,14 @@ foreach ($data as $key => $value) {
                     <p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <span style="color: #34536A;"><b><?php echo "$key" ?></b></span> domain?</p>
                 </div>
             </td>
-            <td class="data-controls" width="70px"><img src="/images/delete.png" width="7px" height="7px"><a href="#"> delete</a></td>
+            <td class="data-controls" width="70px">
+                <img src="/images/delete.png" width="7px" height="7px">
+                <a href="#" id="delete_link_<?php echo $i ?>"> delete</a>
+                <div id="delete_dialog_<?php echo $i ?>" title="Confirmation">
+                    <p class="counter-value">Are you sure you want to delete <span style="color: #34536A;"><b><?php echo "$key" ?></b></span> domain?</p>
+                </div>
+            </td>
         </tr></table>
-
         <table class="data-col2" width="830px">
             <tr><td colspan=3 class="domain" style="padding: 0 0 0 4px;"><b><?php echo $key ?></b></td></tr>
             <tr>

+ 15 - 0
web/templates/admin/menu_add_mail.html

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

+ 15 - 0
web/templates/admin/menu_add_mail_acc.html

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

+ 15 - 0
web/templates/admin/menu_delete_dns.html

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

+ 15 - 0
web/templates/admin/menu_delete_dns_rec.html

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

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

@@ -1,7 +1,7 @@
 <table class="sub-menu">
 <tr>
     <td width="142px" style="padding: 16px 0 16px 6px">
-    <button style="width:120px; padding: 2px 0px 2px 0px;" onclick="location.href='/add/mail/'">Add Domain</button>
+    <button style="width:120px; padding: 2px 0px 2px 0px;" onclick="location.href='/add/mail/?domain=<?php echo $_GET['domain'] ?>'">Add Account</button>
     <td><a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("vstobjects");'> toggle all </a>
     <select style="margin:0 0 0 0px">
         <option>apply to selected</option>

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

@@ -14,7 +14,7 @@
             <tr>
                 <td style="padding: 24px 0 0 0;" width="100px">
                     <form method="get">
-                        <input type="button" class="add-button" value="List domains" onClick="location.href='/list/dns/'">
+                        <input type="button" class="add-button" value="List Domains" onClick="location.href='/list/dns/'">
                     </form>
                 </td>
                 <td style="padding: 24px 0 0 0;">

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

@@ -14,7 +14,7 @@
             <tr>
                 <td style="padding: 24px 0 0 0;" width="100px">
                     <form method="get">
-                        <input type="button" class="add-button" value="List users" onClick="location.href='/list/user/'">
+                        <input type="button" class="add-button" value="List Users" onClick="location.href='/list/user/'">
                     </form>
                 </td>
                 <td style="padding: 24px 0 0 0;">

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

@@ -14,7 +14,7 @@
             <tr>
                 <td style="padding: 24px 0 0 0;" width="100px">
                     <form method="get">
-                        <input type="button" class="add-button" value="List domains" onClick="location.href='/list/web/'">
+                        <input type="button" class="add-button" value="List Domains" onClick="location.href='/list/web/'">
                     </form>
                 </td>
                 <td style="padding: 24px 0 0 0;">

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

@@ -14,7 +14,7 @@
             <tr>
                 <td style="padding: 24px 0 0 0;" width="100px">
                     <form method="get">
-                        <input type="button" class="add-button" value="List domains" onClick="location.href='/list/dns/'">
+                        <input type="button" class="add-button" value="List Domains" onClick="location.href='/list/dns/'">
                     </form>
                 </td>
                 <td style="padding: 24px 0 0 0;">

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

@@ -14,7 +14,7 @@
             <tr>
                 <td style="padding: 24px 0 0 0;" width="100px">
                     <form method="post">
-                        <input type="button" class="add-button" value="List users" onClick="location.href='/list/user/'">
+                        <input type="button" class="add-button" value="List Users" onClick="location.href='/list/user/'">
                     </form>
                 </td>
                 <td style="padding: 24px 0 0 0;">

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

@@ -14,7 +14,7 @@
             <tr>
                 <td style="padding: 24px 0 0 0;" width="100px">
                     <form method="get">
-                        <input type="button" class="add-button" value="List domains" onClick="location.href='/list/web/'">
+                        <input type="button" class="add-button" value="List Domains" onClick="location.href='/list/web/'">
                     </form>
                 </td>
                 <td style="padding: 24px 0 0 0;">