HOME


Mini Shell 1.0
DIR:/usr/local/cwpsrv/var/services/users/cwp_theme/original/js/modules2/
Upload File :
Current File : //usr/local/cwpsrv/var/services/users/cwp_theme/original/js/modules2/dns_zone_editor.js.twig
// CECILIO MORALES JS
// const ValidateIPaddress = (ipaddress) =>{
//   var ipformat = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
//   if(ipaddress.match(ipformat)){
//     return true;
//   }else{
//     return false;
//   }
// }
const CheckIsValidDomain = (domain) =>{
    var re = new RegExp(/^((?:(?:(?:\w[\.\-\+]?)*)\w)+)((?:(?:(?:\w[\.\-\+]?){0,62})\w)+)\.(\w{2,6})$/);
    return domain.match(re);
}
const populateOnEdit = (edit) => {
  let regname = edit.type2;
  if(regname == 'TXT'){
    $("#namereg_" + regname).val(edit.name);
    $("#cachereg_" + regname).val(edit.cache);
    $("#valuereg_" + regname).val(edit.value);
  }else if(regname == 'AFSDB'){
    $("#afsdbaddress").val(edit.name);
    $("#afsdbtl").val(edit.priory);
    $("#afsdbsersub").val(edit.service);
    $("#afsdbserver").val(edit.value);
  }else if(regname == 'DNAME'){
    $("#danmename").val(edit.name);
    $("#danmepunta").val(edit.value);
    $("#danmeprio").val(edit.cache);
  }else if(regname == 'HINFO'){
    $("#hinfohost").val(edit.name);
    $("#hinfotl").val(edit.priory);
    let trozos = edit.value.split(' ');
    $("#hinfohosttype").val(trozos[0]);
    $("#hinfoos").val(trozos[1]);
  }else if(regname == 'PTR'){
    $("#ptrname").val(edit.name);
    $("#ptrapunta").val(edit.value);
    $("#ptrprio").val(edit.cache);
  }else if(regname == 'MX'){
    $("#mxname").val(edit.name);
    $("#mxcache").val($.isNumeric(edit.cache) ? edit.cache : '');
    $("#mxprio").val(edit.priory);
    $("#mxvalue").val(edit.value);
  }else if(regname == 'CAA'){
    $("#namereg_" + regname).val(edit.name);
    let trozos = edit.priory.split(' ');
    $('#flag_CAA').val(trozos[0]);
    $('#tag_CAA').val(trozos[1]);
    $('#valuereg_CAA').val(edit.value);
  }else if(regname == 'TLSA'){
    $("#tlsaport").val(edit.port);
    $("#tlsatransport").val(edit.protocol);
    $("#tlsaDomain").val(edit.domain);
    $("#tlsusage").val(edit.usage);
    $("#tlsaselector").val(edit.selector);
    $("#tlsamatchin").val(edit.match);
    $("#tlsahash").val(edit.hex);
    $("#tlsattl").val(edit.ttl);
  } else if(regname == 'NS'){
    $("#nsname").val(edit.name);
    $("#nsapunta").val(edit.value);
    $("#nsprio").val(edit.cache)
  }else if(regname == 'RP'){
    $("#rphost").val(edit.name);
    $("#rpemail").val(edit.value);
    $("#rpcache").val(edit.ttl);
    $("#rptxtrecord").val(edit.textrecord);
  }else if(regname == 'SRV'){
    // let slices1 = edit.name.split('.');
    $("#srvname").val(edit.name);
    $("#srvsymb").val(edit.sym);
    $("#srvprotocol").val(edit.protocol);
    // slices1 = edit.value.split('||');
    $("#srvprio").val(edit.priory);
    $("#srvweight").val(edit.weight);
    $("#srvport").val(edit.port);
    $("#srvtarget").val(edit.target);
    $("#srvttl").val(edit.ttl);
  }else{
    $("#namereg_" + regname).val(edit.name);
    $("#cachereg_" + regname).val($.isNumeric(edit.cache) ? edit.cache : '');
    $("#valuereg_" + regname).val(edit.value);
  }
}
const editrecord = (domain, elem) => {
  let record_data = $(elem).data('record');
  openmodalreg(record_data.type2, record_data);
}
const valideEmailAddress = (address) => {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(String(address).toLowerCase());
}
// END CECILIO MORALES JS
function validform(regname){
  var reg=regname;
  var domainsel=$("#domainsel").val();
  if(regname=='TXT'){
    let name_txt = $('#namereg_TXT').val();
    let value_txt = $('#valuereg_TXT').val();
    let cache_txt = $('#cachereg_TXT').val();
    if((name_txt=='')||(value_txt=='')){
        if(name_txt==''){$("#namereg_TXT").css("border-color", "#A80705");}
        if(value_txt==''){$("#valuereg_TXT").css("border-color", "#A80705");}
        noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
        return false;
    }
    var data = "domain=" + domainsel + "&cachereg=" + cache_txt + "&namereg=" + name_txt + "&valuereg=" + value_txt + "&reg=" + regname;
  }else if(regname=='AFSDB'){
      var afsdbaddress = $("#afsdbaddress").val();
      var afsdbtl = $("#afsdbtl").val();
      var afsdbsersub = $("#afsdbsersub").val();
      var afsdbserver = $("#afsdbserver").val();
      if((afsdbaddress=='')||(afsdbserver=='')){
          if(afsdbaddress==''){$("#afsdbaddress").css("border-color", "#A80705");}
          if(afsdbserver==''){$("#afsdbserver").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }
      // if(afsdbaddress.charAt(afsdbaddress.length-1) != '.'){
      //   afsdbaddress += '.';
      // }
      var data = "domain="+domainsel+"&afsdbaddress="+afsdbaddress+"&afsdbtl="+afsdbtl+"&afsdbsersub="+afsdbsersub+"&afsdbserver="+afsdbserver+"&reg="+regname;
  }else if(regname=='DNAME'){
      var danmename = $("#danmename").val();
      var danmepunta = $("#danmepunta").val();
      var danmeprio = $("#danmeprio").val();

      if((danmename=='')||(danmename=='')||(danmeprio=='')){
          if(danmename==''){$("#danmename").css("border-color", "#A80705");}
          if(danmepunta==''){$("#danmepunta").css("border-color", "#A80705");}
          if(danmeprio==''){$("#danmeprio").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }
      // if(danmename.charAt(danmename.length-1) != '.'){
      //   danmename += '.';
      // }
      // if(danmepunta.charAt(danmepunta.length-1) != '.'){
      //   danmepunta += '.';
      // }
      var data = "domain="+domainsel+"&danmename="+danmename+"&danmepunta="+danmepunta+"&danmeprio="+danmeprio+"&reg="+regname;
  }else if(regname=='HINFO'){
      var hinfohost = $("#hinfohost").val();
      var hinfotl = $("#hinfotl").val();
      var hinfohosttype = $("#hinfohosttype").val();
      var hinfoos = $("#hinfoos").val();

      if((hinfohost=='')||(hinfotl=='')||(hinfohosttype=='')||(hinfoos=='')){
          if(hinfohost==''){$("#hinfohost").css("border-color", "#A80705");}
          if(hinfotl==''){$("#hinfotl").css("border-color", "#A80705");}
          if(hinfohosttype==''){$("#hinfohosttype").css("border-color", "#A80705");}
          if(hinfoos==''){$("#hinfoos").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }
      // if(hinfohost.charAt(hinfohost.length-1) != '.'){
      //   hinfohost += '.';
      // }
      var data = "domain="+domainsel+"&hinfohost="+hinfohost+"&hinfotl="+hinfotl+"&hinfohosttype="+hinfohosttype+"&hinfoos="+hinfoos+"&reg="+regname;
  }else if(regname=='PTR'){
      var ptrname = $("#ptrname").val();
      var ptrapunta = $("#ptrapunta").val();
      var ptrprio = $("#ptrprio").val();

      if((ptrname=='')||(ptrapunta=='')||(ptrprio=='')){
          if(ptrname==''){$("#ptrname").css("border-color", "#A80705");}
          if(ptrapunta==''){$("#ptrapunta").css("border-color", "#A80705");}
          if(ptrprio==''){$("#ptrprio").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }//
      // if(ptrname.charAt(ptrname.length-1) != '.'){
      //   ptrname += '.';
      // }
      // if(ptrapunta.charAt(ptrapunta.length-1) != '.'){
      //   ptrapunta += '.';
      // }
      var data = "domain="+domainsel+"&ptrname="+ptrname+"&ptrapunta="+ptrapunta+"&ptrprio="+ptrprio+"&reg="+regname;
  }else if(regname=='MX'){
      var mxname = $("#mxname").val();
      var mxcache = $("#mxcache").val();
      var mxprio = $("#mxprio").val();
      var mxvalue = $("#mxvalue").val();
      var data = "domain="+domainsel+"&mxname="+mxname+"&mxcache="+mxcache+"&mxprio="+mxprio+"&mxvalue="+mxvalue+"&reg="+regname;
      if((mxname=='')||(mxprio=='')|| !ValidateIPaddress(mxvalue)){
          if(mxname==''){$("#mxname").css("border-color", "#A80705");}
          if(mxprio==''){$("#mxprio").css("border-color", "#A80705");}
          if(!ValidateIPaddress(mxvalue)){$("#mxvalue").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }//
  }else if(regname=='TLSA'){
      var tlsaport = $("#tlsaport").val();
      var tlsatransport = $("#tlsatransport").val();
      var tlsaDomain = $("#tlsaDomain").val();
      var tlsusage = $("#tlsusage").val();
      var tlsaselector = $("#tlsaselector").val();
      var tlsamatchin = $("#tlsamatchin").val();
      var tlsahash = $("#tlsahash").val();
      var tlsattl = $("#tlsattl").val();
      if((tlsaport=='')||(tlsatransport=='')||(tlsaDomain=='')||(tlsusage=='')||(tlsaselector=='')||(tlsamatchin=='')||(tlsahash=='')){
          if(tlsaport==''){$("#tlsaport").css("border-color", "#A80705");}
          if(tlsatransport==''){$("#tlsatransport").css("border-color", "#A80705");}
          if(tlsaDomain==''){$("#tlsaDomain").css("border-color", "#A80705");}
          if(tlsusage==''){$("#tlsusage").css("border-color", "#A80705");}
          if(tlsaselector==''){$("#tlsaselector").css("border-color", "#A80705");}
          if(tlsamatchin==''){$("#tlsamatchin").css("border-color", "#A80705");}
          if(tlsahash==''){$("#tlsahash").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }
      // if(tlsaDomain.charAt(tlsaDomain.length-1) != '.'){
      //   tlsaDomain += '.';
      // }
      var data = "domain="+domainsel+"&tlsaport="+tlsaport+"&tlsatransport="+tlsatransport+"&tlsaDomain="+tlsaDomain+"&tlsusage="+tlsusage+"&tlsaselector="+tlsaselector+"&reg="+regname+"&tlsamatchin="+tlsamatchin+"&tlsahash="+tlsahash+"&tlsattl="+tlsattl;
  }else if(regname=='NS'){
      var nsname = $("#nsname").val();
      var nsapunta = $("#nsapunta").val();
      var nsprio = $("#nsprio").val();

      if((nsname=='')||(nsapunta=='')||(nsprio=='')){
          if(nsname==''){$("#nsname").css("border-color", "#A80705");}
          if(nsapunta==''){$("#nsapunta").css("border-color", "#A80705");}
          if(nsprio==''){$("#nsprio").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }
      // if(nsname.charAt(nsname.length-1) != '.'){
      //   nsname += '.';
      // }
      // if(nsapunta.charAt(nsapunta.length-1) != '.'){
      //   nsapunta += '.';
      // }
      var data = "domain="+domainsel+"&nsname="+nsname+"&nsapunta="+nsapunta+"&nsprio="+nsprio+"&reg="+regname;
  }else if(regname=='CNAME'){
    var namereg=$("#namereg_"+reg).val();
    var cachereg=$("#cachereg_"+reg).val();
    var valuereg=$("#valuereg_"+reg).val();
    if((namereg=='')|| !CheckIsValidDomain(valuereg)){
        if(namereg==''){$("#namereg_"+reg).css("border-color", "#A80705");}
        if(!CheckIsValidDomain(valuereg)){$("#valuereg_"+reg).css("border-color", "#A80705");}
        noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
        return false;
    }
    // if(namereg.charAt(namereg.length-1) != '.'){
    //   namereg += '.';
    // }
    // if(valuereg.charAt(valuereg.length-1) != '.'){
    //   valuereg += '.';
    // }
    var data = "domain="+domainsel+"&namereg="+namereg+"&valuereg="+valuereg+"&cachereg="+cachereg+"&reg="+reg;
  }else if(regname=='CAA'){
      var namereg_CAA = $("#namereg_CAA").val();
      var flag_CAA = $("#flag_CAA").val();
      var tag_CAA = $("#tag_CAA").val();
      var valuereg_CAA = $("#valuereg_CAA").val();
      if((namereg_CAA == '') || (flag_CAA == '') || (tag_CAA == '') || (valuereg_CAA == '')){
        if(namereg_CAA == ''){$("#namereg_CAA").css("border-color", "#A80705");}
        if(flag_CAA == ''){$("#flag_CAA").css("border-color", "#A80705");}
        if(tag_CAA == ''){$("#tag_CAA").css("border-color", "#A80705");}
        if(valuereg_CAA == ''){$("#valuereg_CAA").css("border-color", "#A80705");}
      }
      // if(namereg_CAA.charAt(namereg_CAA.length-1) != '.'){
      //   namereg_CAA += '.';
      // }
      var data = "domain="+domainsel+"&namereg=" +namereg_CAA + "&valuereg=" + valuereg_CAA + "&flag="+flag_CAA+"&tag="+tag_CAA+"&reg="+regname;
  }else if(regname=='RP'){
      var rphost = $("#rphost").val();
      var rpcache = $("#rpcache").val();
      var email = $("#rpemail").val();
      var rptxtrecord = $('#rptxtrecord').val();
      if(rpemail == '' || rptxtrecord == '' ||(rpcache=='')||(!valideEmailAddress(email))){
          if(rphost == ''){$("#rphost").css("border-color", "#A80705");}
          if(rpcache==''){$("#rpcache").css("border-color", "#A80705");}
          if(rptxtrecord==''){$("#rptxtrecord").css("border-color", "#A80705");}
          if(!valideEmailAddress(email)){$("#rpemail").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }else{
        // if(rphost.charAt(rphost.length-1) != '.'){
        //   rphost += '.';
        // }
        let email_slices = email.split('@');
        // let username_slices = email_slices[0].replace(/./g, String.fromCharCode(92) + '.');
        let username_slices = email_slices[0].split('.');
        let username = '';
        username_slices.forEach((slice) => {
          username += slice + String.fromCharCode(92) + '.';
        });
        username = username.slice(0, -2);
        let domain_email = email_slices[1];
        email = username + '.' + domain_email + '.';
      }
      var data = "domain="+domainsel+"&rphost="+rphost+"&rpcache="+rpcache+"&rpemail="+email+"&reg="+regname+"&rptxtrecord=" +rptxtrecord;
  }else if(regname=='SRV'){
    let valid = true;
    $('#new_item_form input').each(function(){
      if($(this).val() == ''){
        valid = false;
        $(this).css("border-color", "#A80705");
      }
    });
    if(!valid){
      noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
      return false;
    }else{
      var srvname=$("#srvname").val();
      var srvsymb=$("#srvsymb").val();
      var srvprotocol=$("#srvprotocol").val();
      var srvprio=$("#srvprio").val();
      var srvweight=$("#srvweight").val();
      var srvport=$("#srvport").val();
      var srvtarget=$("#srvtarget").val();
      var srvttl=$("#srvttl").val();
      // if(srvname.charAt(srvname.length-1) != '.'){
      //   srvname += '.';
      // }
      // if(srvtarget.charAt(srvtarget.length-1) != '.'){
      //   srvtarget += '.';
      // }
      var data = "domain="+domainsel+"&srvname="+srvname+"&srvsymb="+srvsymb+"&srvprotocol="+srvprotocol+"&srvprio="+srvprio+"&srvweight="+srvweight+"&srvport="+srvport+"&srvtarget="+srvtarget+"&srvttl="+srvttl+"&reg="+regname;
      // var data = "domain="+domainsel+"&rphost="+rphost+"&rpcache="+rpcache+"&email="+email+"&reg="+regname;
    }
  }else{
      var namereg=$("#namereg_"+reg).val();
      var cachereg=$("#cachereg_"+reg).val();
      var valuereg=$("#valuereg_"+reg).val();

      //var domainsel=$("#domainsel_"+reg).val();
      var flag=$("#flag_"+reg).val();
      var tag=$("#tag_"+reg).val();

      if((namereg=='')|| valuereg == ''){
          if(namereg==''){$("#namereg").css("border-color", "#A80705");}
          if(valuereg==''){$("#valuereg").css("border-color", "#A80705");}
          noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
          return false;
      }
      // if(namereg.charAt(namereg.length-1) != '.'){
      //   namereg += '.';
      // }
      var data = "domain="+domainsel+"&namereg="+namereg+"&valuereg="+valuereg+"&cachereg="+cachereg+"&reg="+reg+"&flag="+flag+"&tag="+tag;
  }
  return data;
}
function addregdns(regname){
    var reg=regname;
    var domainsel=$("#domainsel").val();
    let data = validform(regname);
    if(data === false){
      return false;
    }
    /*alert(reg);
    if((namereg=='')||(valuereg=='')){
        if(namereg==''){$("#namereg").css("border-color", "#A80705");}
        if(valuereg==''){$("#valuereg").css("border-color", "#A80705");}
        noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
        return false;
    }else{*/
    // var contbtn = $("#btn-"+reg.toLowerCase()).text();
    // $(".btn-reg").addClass('disabled');
    // $(".btn-reg").attr('disabled',true);
    // $("#btn-"+reg.toLowerCase()).html('<i class="fa fa-spinner fa-spin"></i> '+contbtn);
    // $("#addregdns").addClass('disabled');
    $('#dns_save_mk').addClass('disabled');
    $('#dns_save_cancel').addClass('disabled');
    $('#dns_save_mk i').remove();
    $('#dns_save_mk').prepend('<i class="fa fa-spinner fa-spin"></i>');
    $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
    $.ajax({
        type: "POST",
        url: "./{{users}}/index.php?module=dns_zone_editor&acc=addregdns",
        data:data,
        complete: function(datos){
            //console.log(datos.responseText);
            $.ajax({
                type: "POST",
                url: "./{{users}}/index.php?module=dns_zone_editor&acc=restbind",
                data:"domain="+$("#domainsel").val(),
                complete: function(datos){
                    //console.log(datos.responseText);
                    if(datos.responseText==1){
                        $("#namereg").val('');
                        $("#cachereg").val('');
                        $("#valuereg").val('');
                        //$("#addregdns").removeClass('disabled');
                        $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
                        $.ajax({
                            type: "POST",
                            url: "./{{users}}/index.php?module=dns_zone_editor&acc=paserrecord",
                            data:"domain="+$("#domainsel").val(),
                            complete: function(datos){
                                noti_bubble('{{langmod.DNSZONEOK}}','{{langmod.DNSSUCCT}}','success',false,false,'3000',true);
                                $("#trnew").html(datos.responseText);
                                $("#table3").show('blind');
                                // $(".btn-reg").removeClass('disabled');
                                // $(".btn-reg").attr('disabled',false);
                                // $("#btn-"+reg.toLowerCase()).html(contbtn);
                                // $("#modal-"+reg).modal('hide');
                                canceldnsform();
                                return false;
                            }
                        });
                    }else{
                        noti_bubble('{{langmod.DNSZONEOFF}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
                        canceldnsform();
                    }
                    return false;
                }
            });
            return false;
        }
    });
    //}
}
function deleterecord(st,domain,line,tr){
    if(st==0){
        var strheader = '<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">{{ langmod.SSLCLOSE }}</span></button><h4 class="modal-title">{{langmod.DNSWARNING}}</h4><small class="font-bold">{{langmod.DNSDELETEFILE}}</small>';
        var strbody = '<p class="text-center" style="margin-bottom:0px;">'+domain+'</p>';
        var strfooter = '<button type="button" class="btn btn-white" data-dismiss="modal">{{langmod.DNSNO}}</button><button type="button" class="btn btn-primary" id="btnyesdel" onclick="return deleterecord(1,\''+domain+'\','+line+','+tr+')">{{langmod.DNSYES}}</button>';

        $("#deletemodal .modal-header").html(strheader);
        $("#deletemodal .modal-body").css('padding','10px');
        $("#deletemodal .modal-body").html(strbody);
        $("#deletemodal .modal-footer").html(strfooter);
        $("#deletemodal").modal('toggle');
        return false;
    }
    if(st==1){
        $("#btnyesdel").addClass('disabled');
        $("#btnyesdel").attr('disabled',true);
        $("#btnyesdel").html('<i class="fa fa-spinner fa-spin"></i>   '+$("#btnyesdel").text());
        $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
        $.ajax({
            type: "POST",
            url: "./{{users}}/index.php?module=dns_zone_editor&acc=deleteregzone",
            data:"domain="+domain+"&line="+line,
            complete: function(datos){
                //alert(datos.responseText);}
                if($('#line_editing').val() == line){
                  canceldnsform();
                }
                noti_bubble('{{langmod.DNSDELETEOK}}','{{langmod.DNSSUCCT}}','success',false,false,'3000',true);
                $("#"+tr).hide();
                $("#btnyesdel").removeClass('disabled');
                $("#btnyesdel").attr('disabled',false);
                $("#btnyesdel").html($("#btnyesdel").text());
                $("#deletemodal").modal('hide');
            }
        });
    }
}
const editdnsrecord = (domain, reg, line) => {
  let data = validform(reg);
  if(data === false){
    return false;
  }
  $('#dns_save_mk').addClass('disabled');
  $('#dns_save_cancel').addClass('disabled');
  $('#dns_save_mk i').remove();
  $('#dns_save_mk').prepend('<i class="fa fa-spinner fa-spin"></i>');
  $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
  $.ajax({
      type: "POST",
      url: "./{{users}}/index.php?module=dns_zone_editor&acc=deleteregzone",
      data:"domain="+domain+"&line="+line,
      complete: function(datos){
        $.ajax({
            type: "POST",
            url: "./{{users}}/index.php?module=dns_zone_editor&acc=addregdns",
            data:data,
            complete: function(datos){
                //console.log(datos.responseText);
                $.ajax({
                    type: "POST",
                    url: "./{{users}}/index.php?module=dns_zone_editor&acc=restbind",
                    data:"domain="+$("#domainsel").val(),
                    complete: function(datos){
                        //console.log(datos.responseText);
                        if(datos.responseText==1){
                            $("#namereg").val('');
                            $("#cachereg").val('');
                            $("#valuereg").val('');
                            //$("#addregdns").removeClass('disabled');
                            $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
                            $.ajax({
                                type: "POST",
                                url: "./{{users}}/index.php?module=dns_zone_editor&acc=paserrecord",
                                data:"domain="+$("#domainsel").val(),
                                complete: function(datos){
                                    noti_bubble('{{langmod.DNSZONEOK}}','{{langmod.DNSSUCCT}}','success',false,false,'3000',true);
                                    $("#trnew").html(datos.responseText);
                                    $("#table3").show('blind');
                                    // $(".btn-reg").removeClass('disabled');
                                    // $(".btn-reg").attr('disabled',false);
                                    // $("#btn-"+reg.toLowerCase()).html(contbtn);
                                    // $("#modal-"+reg).modal('hide');
                                    canceldnsform();
                                    return false;
                                }
                            });
                        }else{
                            noti_bubble('{{langmod.DNSZONEOFF}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
                            canceldnsform();
                        }
                        return false;
                    }
                });
                return false;
            }
        });
      }
  });
}
function btnsrvreg(){
    var reg=$("#typeregihide").val();
    var srvname=$("#srvname").val();
    var srvsymb=$("#srvsymb").val();
    var srvprotocol=$("#srvprotocol").val();
    var srvprio=$("#srvprio").val();
    var srvweight=$("#srvweight").val();
    var srvport=$("#srvport").val();
    var srvtarget=$("#srvtarget").val();
    var srvttl=$("#srvttl").val();
    var domainsel=$("#domainsel_SRV").val();
    if((srvsymb=='')||(srvprotocol=='')||(srvprio=='')||(srvweight=='')||(srvport=='')||(srvtarget=='')||(srvttl=='')){
        if(srvsymb==''){$("#srvsymb").css("border-color", "#A80705");}
        if(srvprotocol==''){$("#srvprotocol").css("border-color", "#A80705");}
        if(srvprio==''){$("#srvprio").css("border-color", "#A80705");}
        if(srvweight==''){$("#srvweight").css("border-color", "#A80705");}
        if(srvport==''){$("#srvport").css("border-color", "#A80705");}
        if(srvtarget==''){$("#srvtarget").css("border-color", "#A80705");}
        if(srvttl==''){$("#srvttl").css("border-color", "#A80705");}
        noti_bubble('{{langmod.DNSMSJ1}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
        return false;
    }else{
        $("#btn-srvreg").addClass('disabled');
        $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
        $.ajax({
            type: "POST",
            url: "./{{users}}/index.php?module=dns_zone_editor&acc=addregdns",
            data:"domain="+domainsel+"&srvname="+srvname+"&srvsymb="+srvsymb+"&srvprotocol="+srvprotocol+"&srvprio="+srvprio+"&srvweight="+srvweight+"&srvport="+srvport+"&srvtarget="+srvtarget+"&srvttl="+srvttl+"&reg="+reg,
            complete: function(datos){
                $("#trnew").html(datos.responseText);
                $("#srvname").val('');
                $("#srvsymb").val('');
                $("#srvprotocol").val('');
                $("#srvprio").val('');
                $("#srvweight").val('');
                $("#srvport").val('');
                $("#srvtarget").val('');
                $("#srvttl").val('');
                $.ajax({
                    type: "POST",
                    url: "./{{users}}/index.php?module=dns_zone_editor&acc=restbind",
                    data:"domain="+$("#domainsel").val(),
                    complete: function(datos){
                        if(datos.responseText==1){
                            $("#namereg").val('');
                            $("#cachereg").val('');
                            $("#valuereg").val('');
                            $("#btn-srvreg").removeClass('disabled');
                            $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
                            $.ajax({
                                type: "POST",
                                url: "./{{users}}/index.php?module=dns_zone_editor&acc=paserrecord",
                                data:"domain="+$("#domainsel").val(),
                                complete: function(datos){
                                    noti_bubble('{{langmod.DNSZONEOK}}','{{langmod.DNSSUCCT}}','success',false,false,'3000',true);
                                    $("#btn-srvreg").removeClass('disabled');
                                    $("#trnew").html(datos.responseText);
                                    $("#table3").show('blind');
                                    return false;
                                }
                            });
                        }else{
                            noti_bubble('{{langmod.DNSZONEOFF}}','{{langmod.DNSERROR}}','error',false,false,'3000',true);
                            $("#btn-srvreg").removeClass('disabled');
                            $("#divbtn-test").show();
                            $("#divbtn-addregdns").hide();
                        }
                        return false;
                    }
                });
                return false;
            }
        });
    }
}
function canceldnsform(){
  $('#dns_form').slideUp();
}
function openmodalreg(reg, edit){
    $("#domainsel_"+reg).val($("#domainsel").val());
    // $("#modal-"+reg).modal('toggle');
    let record_form = $("#modal-"+reg).find('.modal-body').html();
    if(edit == undefined){
      record_form += '<div class="row" style="margin-top:20px;">'+
                        '<div class="col-md-12" style="text-align:center;">' +
                          '<span class="btn btn-primary" id="dns_save_mk" onclick="addregdns(\'' + reg + '\')"><i class="fa fa-save"></i> Save record</span>&nbsp;' +
                          '<span class="btn btn-danger" id="dns_save_cancel" onclick="canceldnsform()"><i class="fa fa-ban"></i> Cancel</span>' +
                        '</div>' +
                      '</div>';
    }else{
      record_form += '<div class="row" style="margin-top:20px;">'+
                        '<div class="col-md-12" style="text-align:center;">' +
                          '<input type="hidden" id="line_editing" value="' + edit.line + '">' +
                          '<span class="btn btn-primary" id="dns_save_mk" onclick="editdnsrecord(\'' + $("#domainsel").val() + '\',\'' + reg + '\',' + edit.line + ')"><i class="fa fa-save"></i> Save record</span>&nbsp;' +
                          '<span class="btn btn-danger" id="dns_save_cancel" onclick="canceldnsform()"><i class="fa fa-ban"></i> Cancel</span>' +
                        '</div>' +
                      '</div>';
    }

    $('#new_item_form').html(record_form);
    if(edit == undefined){
      $('#new_item_title').text('Add a new ' + reg + ' record.');
    }else{
      $('#new_item_title').text('Edit ' + reg + ' record.');
      populateOnEdit(edit);
      $('html,body').animate({scrollTop: $('#dns_form').offset().top}, 200, function() {});
    }
    $('#dns_form').slideDown();

    $("#typeregihide").val(reg);
    return false;
}
$("#domainsel").change(function (){
    $("#table3").hide('blind');
    $("#btn-test").hide();
    $("#btnaddreg").hide();
    var domain=$("#domainsel").val();
    if($("#domainsel").val()!=''){
        $("#typyrecords").attr('disabled', false);
        $("#divloader").show();
        $('#dns_records').slideUp();
        $('#dns_form').slideUp();
        $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
        $.ajax({
            type: "POST",
            url: "./{{users}}/index.php?module=dns_zone_editor&acc=paserrecord",
            data:"domain="+domain,
            complete: function(datos){
                //alert(datos.responseText);
                $("#trnew").html(datos.responseText);
                $("#table3").show('blind');
                $('#table_records_dns').DataTable();
                // $("#btnaddreg").show();
                //$("#uladdreg").show();
                $("#divloader").hide();
                $("#btnaddreg").show();
                $('#dns_records').slideDown();
                return false;
            }
        });
    }else{
        $("#typyrecords").attr('disabled', true);
        $("#table3").hide('blind');
        $("#btn-test").hide();
        $("#aipv4").hide();
        $("#mx").hide();
        $("#txt").hide();
        $("#btnaddreg").hide();
        $('#dns_records').slideUp();
        $('#dns_form').slideUp();
        //$("#uladdreg").hide();
    }
    return false;
});
$("#btn-dnscanceltxt").click(function () {
    $("#txt").toggle('blind');
    return false;
});
$("#btn-dnscancelmx").click(function () {
    $("#mx").toggle('blind');
    return false;
});
$("#typyrecords").change(function(){
    if($("#typyrecords").val()==''){
        $("#aipv4").hide('blind');
        $("#mx").hide('blind');
        $("#txt").hide('blind');
        $("#srvr").hide();
    }
    if($("#typyrecords").val()=='A'){
        $("#cachereg").attr('disabled', false);
        $("#mx").hide();
        $("#txt").hide();
        $("#srvr").hide();
        $("#aipv4").show('blind');
        $("#ttitletype").html('{{langmod.DNSBTNADDRA}}');
        $("#namebox3").html('{{langmod.DNSDIRECT}} {{langmod.DNSIP4}}');
        $("#addregdns").html('{{langmod.DNSBTNADDRA}}');
        $("#aipv4").show('blind');
        $("#typeregihide").val($("#typyrecords").val());
    }
    if($("#typyrecords").val()=='AAAA'){
        $("#cachereg").attr('disabled', false);
        $("#mx").hide();
        $("#txt").hide();
        $("#srvr").hide();
        $("#aipv4").show('blind');
        $("#ttitletype").html('{{langmod.DNSBTNADDR4A}}');
        $("#namebox3").html('{{langmod.DNSDIRECT}} {{langmod.DNSIP6}}');
        $("#addregdns").html('{{langmod.DNSBTNADDR4A}}');
        $("#aipv4").show('blind');
        $("#typeregihide").val($("#typyrecords").val());
    }
    if($("#typyrecords").val()=='CNAME'){
        $("#cachereg").attr('disabled', true);
        $("#mx").hide();
        $("#txt").hide();
        $("#srvr").hide();
        $("#aipv4").show('blind');
        $("#ttitletype").html('{{langmod.DNSBTNADDCN}}');
        $("#namebox3").html('{{langmod.DNSTITCNAME}}');
        $("#addregdns").html('{{langmod.DNSBTNADDCN}}');
        $("#aipv4").show('blind');
        $("#typeregihide").val($("#typyrecords").val());
    }
    if($("#typyrecords").val()=='MX'){
        $("#aipv4").hide();
        $("#txt").hide();
        $("#srvr").hide();
        $("#mx").show('blind');
        $("#typeregihide").val($("#typyrecords").val());
    }
    if($("#typyrecords").val()=='TXT'){
        $("#aipv4").hide();
        $("#mx").hide();
        $("#srvr").hide();
        $("#txt").show('blind');
        $("#typeregihide").val($("#typyrecords").val());
    }
    if($("#typyrecords").val()=='SRV'){
        $("#aipv4").hide();
        $("#mx").hide();
        $("#txt").hide();
        $("#srvr").show('blind');
        $("#typeregihide").val($("#typyrecords").val());
    }
});