multiple name servers

This commit is contained in:
Serghey Rodin 2015-09-28 02:00:45 +03:00
commit 99a403a2ef
7 changed files with 318 additions and 47 deletions

View file

@ -39,14 +39,19 @@ if (!empty($_POST['ok'])) {
if (!empty($_POST['v_ns2'])) $v_ns2 = escapeshellarg($_POST['v_ns2']); if (!empty($_POST['v_ns2'])) $v_ns2 = escapeshellarg($_POST['v_ns2']);
if (!empty($_POST['v_ns3'])) $v_ns3 = escapeshellarg($_POST['v_ns3']); if (!empty($_POST['v_ns3'])) $v_ns3 = escapeshellarg($_POST['v_ns3']);
if (!empty($_POST['v_ns4'])) $v_ns4 = escapeshellarg($_POST['v_ns4']); if (!empty($_POST['v_ns4'])) $v_ns4 = escapeshellarg($_POST['v_ns4']);
if (!empty($_POST['v_ns5'])) $v_ns5 = escapeshellarg($_POST['v_ns5']);
if (!empty($_POST['v_ns6'])) $v_ns6 = escapeshellarg($_POST['v_ns6']);
if (!empty($_POST['v_ns7'])) $v_ns7 = escapeshellarg($_POST['v_ns7']);
if (!empty($_POST['v_ns8'])) $v_ns8 = escapeshellarg($_POST['v_ns8']);
// Add dns domain // Add dns domain
if (empty($_SESSION['error_msg'])) { if (empty($_SESSION['error_msg'])) {
exec (VESTA_CMD."v-add-dns-domain ".$user." ".$v_domain." ".$v_ip." ".$v_ns1." ".$v_ns2." ".$v_ns3." ".$v_ns4." no", $output, $return_var); exec (VESTA_CMD."v-add-dns-domain ".$user." ".$v_domain." ".$v_ip." ".$v_ns1." ".$v_ns2." ".$v_ns3." ".$v_ns4." ".$v_ns5." ".$v_ns6." ".$v_ns7." ".$v_ns8." no", $output, $return_var);
check_return_code($return_var,$output); check_return_code($return_var,$output);
unset($output); unset($output);
} }
// Set expiriation date // Set expiriation date
if (empty($_SESSION['error_msg'])) { if (empty($_SESSION['error_msg'])) {
if ((!empty($_POST['v_exp'])) && ($_POST['v_exp'] != date('Y-m-d', strtotime('+1 year')))) { if ((!empty($_POST['v_exp'])) && ($_POST['v_exp'] != date('Y-m-d', strtotime('+1 year')))) {
@ -139,6 +144,16 @@ include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
// Panel // Panel
top_panel($user,$TAB); top_panel($user,$TAB);
$v_ns1 = str_replace("'", "", $v_ns1);
$v_ns2 = str_replace("'", "", $v_ns2);
$v_ns3 = str_replace("'", "", $v_ns3);
$v_ns4 = str_replace("'", "", $v_ns4);
$v_ns5 = str_replace("'", "", $v_ns5);
$v_ns6 = str_replace("'", "", $v_ns6);
$v_ns7 = str_replace("'", "", $v_ns7);
$v_ns8 = str_replace("'", "", $v_ns8);
// Display body for dns domain // Display body for dns domain
if (empty($_GET['domain'])) { if (empty($_GET['domain'])) {
if (empty($v_ttl)) $v_ttl = 14400; if (empty($v_ttl)) $v_ttl = 14400;
@ -146,10 +161,14 @@ if (empty($_GET['domain'])) {
if (empty($v_ns1)) { if (empty($v_ns1)) {
exec (VESTA_CMD."v-list-user-ns ".$user." json", $output, $return_var); exec (VESTA_CMD."v-list-user-ns ".$user." json", $output, $return_var);
$nameservers = json_decode(implode('', $output), true); $nameservers = json_decode(implode('', $output), true);
$v_ns1 = $nameservers[0]; $v_ns1 = str_replace("'", "", $nameservers[0]);
$v_ns2 = $nameservers[1]; $v_ns2 = str_replace("'", "", $nameservers[1]);
$v_ns3 = $nameservers[2]; $v_ns3 = str_replace("'", "", $nameservers[2]);
$v_ns4 = $nameservers[3]; $v_ns4 = str_replace("'", "", $nameservers[3]);
$v_ns5 = str_replace("'", "", $nameservers[4]);
$v_ns6 = str_replace("'", "", $nameservers[5]);
$v_ns7 = str_replace("'", "", $nameservers[6]);
$v_ns8 = str_replace("'", "", $nameservers[7]);
unset($output); unset($output);
} }
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_dns.html'); include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_dns.html');

View file

@ -79,9 +79,17 @@ if (!empty($_POST['ok'])) {
$v_ns2 = trim($_POST['v_ns2'], '.'); $v_ns2 = trim($_POST['v_ns2'], '.');
$v_ns3 = trim($_POST['v_ns3'], '.'); $v_ns3 = trim($_POST['v_ns3'], '.');
$v_ns4 = trim($_POST['v_ns4'], '.'); $v_ns4 = trim($_POST['v_ns4'], '.');
$v_ns5 = trim($_POST['v_ns5'], '.');
$v_ns6 = trim($_POST['v_ns6'], '.');
$v_ns7 = trim($_POST['v_ns7'], '.');
$v_ns8 = trim($_POST['v_ns8'], '.');
$v_ns = $v_ns1.",".$v_ns2; $v_ns = $v_ns1.",".$v_ns2;
if (!empty($v_ns3)) $v_ns .= ",".$v_ns3; if (!empty($v_ns3)) $v_ns .= ",".$v_ns3;
if (!empty($v_ns4)) $v_ns .= ",".$v_ns4; if (!empty($v_ns4)) $v_ns .= ",".$v_ns4;
if (!empty($v_ns5)) $v_ns .= ",".$v_ns5;
if (!empty($v_ns6)) $v_ns .= ",".$v_ns6;
if (!empty($v_ns7)) $v_ns .= ",".$v_ns7;
if (!empty($v_ns8)) $v_ns .= ",".$v_ns8;
$v_ns = escapeshellarg($v_ns); $v_ns = escapeshellarg($v_ns);
$v_time = escapeshellarg(date('H:i:s')); $v_time = escapeshellarg(date('H:i:s'));
$v_date = escapeshellarg(date('Y-m-d')); $v_date = escapeshellarg(date('Y-m-d'));

View file

@ -107,24 +107,70 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns1" <?php if (!empty($v_ns1)) echo "value=".htmlentities($v_ns1); ?>> <input type="text" size="20" class="vst-input" name="v_ns1" <?php if (!empty($v_ns1)) echo 'value="'.htmlentities($v_ns1).'"'; ?>>
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns2" <?php if (!empty($v_ns2)) echo "value=".htmlentities($v_ns2); ?>> <input type="text" size="20" class="vst-input" name="v_ns2" <?php if (!empty($v_ns2)) echo 'value="'.htmlentities($v_ns2).'"'; ?>>
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>
<tr> <? if($v_ns3)
echo '<tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns3" <?php if (!empty($v_ns3)) echo "value=".htmlentities($v_ns3); ?>> <input type="text" size="20" class="vst-input" name="v_ns3" value="'.htmlentities($v_ns3).'">
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>';
<tr>
if($v_ns4)
echo '<tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns4" <?php if (!empty($v_ns4)) echo "value=".htmlentities($v_ns4); ?>> <input type="text" size="20" class="vst-input" name="v_ns4" value="'.htmlentities($v_ns4).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns5)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns5" value="'.htmlentities($v_ns5).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns6)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns6" value="'.htmlentities($v_ns6).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns7)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns7" value="'.htmlentities($v_ns7).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns8)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns8" value="'.htmlentities($v_ns8).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
?>
<tr class="add-ns" <? if($v_ns8) echo 'style="display:none;"'; ?> >
<td class="step-top-small">
<span class="add-ns-button additional-control add">Add one more Name Server</span>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
@ -144,3 +190,33 @@
</table> </table>
</form> </form>
</div> </div>
<script type="text/javascript">
$(document).ready(function(){
$('.add-ns-button').click(function(){
var n = $("input[name^=v_ns]").length;
if(n < 8){
var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
t.find('input').attr({value:'', name:'v_ns'+(n+1)});
t.find('span').show();
$('tr.add-ns').before(t);
}
if( n == 7 ) {
$('.add-ns').hide();
}
});
$('.remove-ns').click(function(){
$(this).parents('tr')[0].remove();
$('input[name^=v_ns]').each(function(i, ns){
$(ns).attr({name: 'v_ns'+(i+1)});
i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
})
$('.add-ns').show()
})
$('input[name^=v_ns]').each(function(i, ns){
i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
})
});
</script>

View file

@ -305,23 +305,71 @@
<tr> <tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns1" <?php if (!empty($v_ns1)) echo "value=".htmlentities($v_ns1); ?>> <input type="text" size="20" class="vst-input" name="v_ns1" <?php if (!empty($v_ns1)) echo "value=".htmlentities($v_ns1); ?>>
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns2" <?php if (!empty($v_ns2)) echo "value=".htmlentities($v_ns2); ?>> <input type="text" size="20" class="vst-input" name="v_ns2" <?php if (!empty($v_ns2)) echo "value=".htmlentities($v_ns2); ?>>
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>
<tr>
<? if($v_ns3)
echo '<tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns3" <?php if (!empty($v_ns3)) echo "value=".htmlentities($v_ns3); ?>> <input type="text" size="20" class="vst-input" name="v_ns3" value="'.htmlentities($v_ns3).'">
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>';
<tr>
if($v_ns4)
echo '<tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns4" <?php if (!empty($v_ns4)) echo "value=".htmlentities($v_ns4); ?>> <input type="text" size="20" class="vst-input" name="v_ns4" value="'.htmlentities($v_ns4).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns5)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns5" value="'.htmlentities($v_ns5).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns6)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns6" value="'.htmlentities($v_ns6).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns7)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns7" value="'.htmlentities($v_ns7).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns8)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns8" value="'.htmlentities($v_ns8).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
?>
<tr class="add-ns" <? if($v_ns8) echo 'style="display:none;"'; ?> >
<td class="step-top-small">
<span class="add-ns-button additional-control add">Add one more Name Server</span>
</td> </td>
</tr> </tr>
</table> </table>
<table class="data-col2"> <table class="data-col2">
<tr> <tr>
@ -339,3 +387,33 @@
</form> </form>
</div> </div>
<script type="text/javascript" src="/js/pages/edit.package.js"></script> <script type="text/javascript" src="/js/pages/edit.package.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.add-ns-button').click(function(){
var n = $("input[name^=v_ns]").length;
if(n < 8){
var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
t.find('input').attr({value:'', name:'v_ns'+(n+1)});
t.find('span').show();
$('tr.add-ns').before(t);
}
if( n == 7 ) {
$('.add-ns').hide();
}
});
$('.remove-ns').click(function(){
$(this).parents('tr')[0].remove();
$('input[name^=v_ns]').each(function(i, ns){
$(ns).attr({name: 'v_ns'+(i+1)});
i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
})
$('.add-ns').show()
})
$('input[name^=v_ns]').each(function(i, ns){
i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
})
});
</script>

View file

@ -182,24 +182,72 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns1" <?php if (!empty($v_ns1)) echo "value=".htmlentities($v_ns1); ?>> <input type="text" size="20" class="vst-input" name="v_ns1" <?php if (!empty($v_ns1)) echo 'value="'.htmlentities($v_ns1).'"'; ?>>
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns2" <?php if (!empty($v_ns2)) echo "value=".htmlentities($v_ns2); ?>> <input type="text" size="20" class="vst-input" name="v_ns2" <?php if (!empty($v_ns2)) echo 'value="'.htmlentities($v_ns2).'"'; ?>>
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>
<tr> <? if($v_ns3)
echo '<tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns3" <?php if (!empty($v_ns3)) echo "value=".htmlentities($v_ns3); ?>> <input type="text" size="20" class="vst-input" name="v_ns3" value="'.htmlentities($v_ns3).'">
<span class="remove-ns additional-control delete">delete</span>
</td> </td>
</tr> </tr>';
<tr>
if($v_ns4)
echo '<tr>
<td> <td>
<input type="text" size="20" class="vst-input" name="v_ns4" <?php if (!empty($v_ns4)) echo "value=".htmlentities($v_ns4); ?>> <input type="text" size="20" class="vst-input" name="v_ns4" value="'.htmlentities($v_ns4).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns5)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns5" value="'.htmlentities($v_ns5).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns6)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns6" value="'.htmlentities($v_ns6).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns7)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns7" value="'.htmlentities($v_ns7).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
if($v_ns8)
echo '<tr>
<td>
<input type="text" size="20" class="vst-input" name="v_ns8" value="'.htmlentities($v_ns8).'">
<span class="remove-ns additional-control delete">delete</span>
</td>
</tr>';
?>
<tr class="add-ns" <? if($v_ns8) echo 'style="display:none;"'; ?> >
<td class="step-top-small">
<span class="add-ns-button additional-control add">Add one more Name Server</span>
</td> </td>
</tr> </tr>
</table> </table>
<table class="data-col2"> <table class="data-col2">
<tr> <tr>
@ -216,3 +264,33 @@
</table> </table>
</form> </form>
</div> </div>
<script type="text/javascript">
$(document).ready(function(){
$('.add-ns-button').click(function(){
var n = $("input[name^=v_ns]").length;
if(n < 8){
var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
t.find('input').attr({value:'', name:'v_ns'+(n+1)});
t.find('span').show();
$('tr.add-ns').before(t);
}
if( n == 7 ) {
$('.add-ns').hide();
}
});
$('.remove-ns').click(function(){
$(this).parents('tr')[0].remove();
$('input[name^=v_ns]').each(function(i, ns){
$(ns).attr({name: 'v_ns'+(i+1)});
i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
})
$('.add-ns').show()
})
$('input[name^=v_ns]').each(function(i, ns){
i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
})
});
</script>

View file

@ -115,14 +115,25 @@
if(l_unit.hasClass('l-unit--starred')){ if(l_unit.hasClass('l-unit--starred')){
// removing star // removing star
$.removeCookie(l_unit.attr('uniq-id'));
l_unit.removeClass('l-unit--starred'); $.ajax({
method: "POST",
url: "/delete/favorite/index.php",
data: { v_section: l_unit.attr('v_section'), v_unit_id: l_unit.attr('v_unit_id') }
});
l_unit.attr({'sort-star': 0}); l_unit.attr({'sort-star': 0});
l_unit.removeClass('l-unit--starred');
} }
else{ else{
$.cookie(l_unit.attr('uniq-id'), 1, {expires: 3650, path: '/'}); $.ajax({
l_unit.addClass('l-unit--starred'); method: "POST",
url: "/add/favorite/index.php",
data: { v_unit_id: l_unit.attr('v_unit_id'), v_section: l_unit.attr('v_section') }
});
l_unit.attr({'sort-star': 1}); l_unit.attr({'sort-star': 1});
l_unit.addClass('l-unit--starred');
} }
}); });
@ -456,7 +467,8 @@
VE.core.register(); VE.core.register();
if (location.href.search(/list/) != -1) { if (location.href.search(/list/) != -1) {
var shift_select_ref = $('body').finderSelect({children: '.l-unit', var shift_select_ref = $('body').finderSelect({
children: '.l-unit',
'onFinish': function(evt) { 'onFinish': function(evt) {
var ref = $(evt.target); var ref = $(evt.target);
$('.l-content').find('.l-unit .ch-toggle').attr('checked', false); $('.l-content').find('.l-unit .ch-toggle').attr('checked', false);