delete dns record page & add mail page

This commit is contained in:
Serghey Rodin 2012-06-15 11:57:46 +03:00
commit 6d4b14e392
20 changed files with 404 additions and 11 deletions

135
web/add/mail/index.php Normal file
View file

@ -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
web/delete/dns/index.php Normal file
View file

@ -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');

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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