console.log();
let uchip = null;
let domain_list = JSON.parse('{{mod.domains|json_encode|raw}}');
let domain_table = null;
let subs_qty = {{mod.sub_domain_accounts}};
$(document).ready(function() {
{% if mod.isie == 1 %}
uchip = new $.Uchip();
{% else %}
uchip = new Uchip();
{% endif %}
table_domain(domain_list);
$('[data-toggle="tooltip"]').tooltip()
$('#newdomain').keyup(function(ev) {
let newpath = $(this).val();
$('#pathdomain').val(newpath);
});
$('#ssl_checkbox').change(function(){
if($(this).is(':checked')){
$('#san_selector').slideDown('fast');
$('#alert_info').fadeIn();
}else{
$('#san_selector').slideUp('fast');
$('#alert_info').fadeOut();
}
});
});
function sendNewDomain(new_domain_data){
}
function validateDomainSSL(data){
uchip.call('module=domains&acc=validdomains', {
data: data,
callback: function(response){
}
});
}
function saveNewDomain(){
let newdomain = $('#newdomain').val();
if(uchip.validator('#newdomain')){
let directory = $('#dirsel').text();
directory = directory.charAt(directory.length-1) == '/' ? directory : directory + '/';
let pathdomain = directory + $('#pathdomain').val();
if(pathdomain == '/'){
$('#pathdomain').addClass('error');
noti_bubble('{{langmod.DOMINVALIDPATH}}','{{langmod.DERROR}}','error',false,false,'3000',true);
return false;
}
let autossl = 0;
let sans_selected = [];
if($('#ssl_checkbox').is(':checked')){
autossl = 1;
let sans = $('.san-checkbox:checked');
if({{mod.sub_domain_pack}} > -1){
if((sans.length > {{mod.sub_domain_pack}} - subs_qty) && subs_qty > 0){
noti_bubble('{{langmod.DOMSUBLIMIT}}'+sans.length+' >>{{mod.sub_domain_pack}} '+subs_qty,'{{langmod.DERROR}}','error',false,false,'3000',true);
return;
}
}
sans.each(function(){
sans_selected.push($(this).val());
});
}
uchip.handleButton('.btn-save-domain','fa-floppy-o');
uchip.handleButton('.btn-cancel-domain','fa-ban');
let new_domain_data = 'newdomain=' + $('#newdomain').val() + '&pathdomain=' + pathdomain + '&autossl=' + autossl + '&sans_selected=' + sans_selected.join(',');
// if(autossl == 0){
uchip.call('module=domains&acc=newdomain', {
data: new_domain_data,
callback: function(response){
if(response.result != 'success'){
let message = '';
if(response.code == 1){
message = '{{langmod.DOMINVALIDDOM}}';
}else if(response.code == 2){
message = '{{langmod.DOMINVALIDPATH}}';
}else if(response.code == 409){
message = '{{langmod.DOMINVLIMITEX}}';
}else{
message = response.code;
}
noti_bubble(message,'{{langmod.DERROR}}','error',false,false,'3000',true);
}else{
if(autossl == 1){
if(response.ssl_status.type == 'created' && response.ssl_status.san_excluded.length == 0){
noti_bubble('{{langmod.DOMSSLSUCCESS}}','{{langmod.DSUCCT}}','success',false,false,'3000',true);
}else if(response.ssl_status.type == 'created' && response.ssl_status.san_excluded.length > 0){
noti_bubble('{{langmod.DOMSSLSUCCESS}}
' +
'{{langmod.DOMREDIRWARNING}}
' +
response.ssl_status.san_excluded.join(', '),'{{langmod.DSUCCT}}','warning',false,false,'6500',true);
}else{
noti_bubble('{{langmod.DDOMAINEXIT}}
' + '{{langmod.DOMREDIRWARNING2}}','{{langmod.DSUCCT}}','warning',false,false,'6500',true);
}
}else {
noti_bubble('{{langmod.DDOMAINEXIT}}','{{langmod.DSUCCT}}','success',false,false,'3000',true);
}
table_domain(response.list);
calculateQuota();
cancelNewForm();
}
uchip.handleButton('.btn-save-domain','fa-floppy-o', true);
uchip.handleButton('.btn-cancel-domain','fa-ban', true);
}
});
// }
}
}
function showExplorerEdit(path,domain){
$('#dir_explorer_domainEdit .modal-body').html('
');
$('#dir_explorer_domainEdit').modal('show');
callDirListEdit(path,domain);
}
function showExplorer(){
$('#dir_explorer_domain .modal-body').html('
');
$('#dir_explorer_domain').modal('show');
callDirList($('#dirsel').text());
}
function changepath(domain,path){
showExplorerEdit(path.replace('/home/{{users}}',''),domain);
return false;
}
function callDirListEdit(directory,domain){
uchip.handleButton('#sel_path_btnEdit', 'fa-thumb-tack');
$('#dir_explorer_domainEdit .modal-body').html('
');
uchip.call('module=domains&acc=dirlist', {
data: 'basedir=' + directory,
callback: function(response){
directory = directory.charAt(directory.length-1) == '/' ? directory : directory + '/';
renderDirSelectorEdit(directory, response,domain);
uchip.handleButton('#sel_path_btnEdit', 'fa-thumb-tack', true);
}
});
}
function selCurrentPath(){
let curpath = $('#current_path_dirsel').val();
$('.dir-sel-btn').attr('data-original-title',curpath);
$('#dirsel').text(curpath);
$('#dir_explorer_domain').modal('hide');
}
function selCurrentPathEdit(){
let curpath = $('#current_path_dirselEdit').val();
$('.dir-sel-btn').attr('data-original-title',curpath);
uchip.call('module=domains&acc=changepath', {
data: 'path=' + curpath+'&domain='+$('#dir_explorer_domainEdit #domain').val()+'&type=domain',
callback: function(response){
noti_bubble('{{langmod.DDOMAINEXIT}}','{{langmod.DSUCCT}}','success',false,false,'3000',true);
table_domain(response.list);
$('#dir_explorer_domainEdit').modal('hide');
}
});
uchip.call('module=fix_acc_perm&acc=accFixIssues', {
data: 'fix_permissions=1&internalError=0&removeHandler=0',
callback: function(response){
return false;
}
});
}
function callDirList(directory){
uchip.handleButton('#sel_path_btn', 'fa-thumb-tack');
$('#dir_explorer_domain .modal-body').html('
');
uchip.call('module=domains&acc=dirlist', {
data: 'basedir=' + directory,
callback: function(response){
directory = directory.charAt(directory.length-1) == '/' ? directory : directory + '/';
renderDirSelector(directory, response);
uchip.handleButton('#sel_path_btn', 'fa-thumb-tack', true);
}
});
}
function renderDirSelector(base, dirs){
let dirs_html = '';
dirs.forEach((dir) => {
dirs_html += '' +
'
' +
'' +
dir +
'
' +
'
';
});
let html = '' +
'
' +
'
' +
'' +
'' +
'
' +
'
' +
dirs_html +
'
';
$('#dir_explorer_domain .modal-body').html(html);
$('.dir-item').mouseover(function() {
$(this).find('.fa').removeClass('fa-folder-o').addClass('fa-folder-open-o');
})
.mouseout(function() {
$(this).find('.fa').removeClass('fa-folder-open-o').addClass('fa-folder-o');
}).click(function(){
let curpath = $('#current_path_dirsel').val();
let dir = $(this).data('dir');
if(dir == '..'){
let pieces = curpath.split('/');
pieces.pop();
pieces.pop();
dir = pieces.join('/')
}else{
dir = curpath + dir;
}
callDirList(dir);
});
$('#dir_list').slideDown('fast');
}
function renderDirSelectorEdit(base, dirs,domain){
$("#dir_explorer_domainEdit #domain").val(domain);
let dirs_html = '';
dirs.forEach((dir) => {
dirs_html += '' +
'
' +
'' +
dir +
'
' +
'
';
});
let html = '' +
'
' +
'
' +
'' +
'' +
'
' +
'
' +
dirs_html +
'
';
$('#dir_explorer_domainEdit .modal-body').html(html);
$('.dir-item').mouseover(function() {
$(this).find('.fa').removeClass('fa-folder-o').addClass('fa-folder-open-o');
})
.mouseout(function() {
$(this).find('.fa').removeClass('fa-folder-open-o').addClass('fa-folder-o');
}).click(function(){
let curpath = $('#current_path_dirselEdit').val();
let dir = $(this).data('dir');
if(dir == '..'){
let pieces = curpath.split('/');
pieces.pop();
pieces.pop();
dir = pieces.join('/')
}else{
dir = curpath + dir;
}
callDirListEdit(dir,domain);
});
$('#dir_listEdit').slideDown('fast');
}
function table_domain(list){
domain_list = list;
if(domain_list.length > 0){
let html_content = '';
let index = 0;
domain_list.forEach(function(domain){
let ssl_stats = '';
if (domain.ssl != 0){
ssl_stats = '';
}
let subdomains = '';
if(domain.sub > 0){
subdomains = '';
}
let bandwidth_container = '';
if({{mod.pack_bandwidth}} > -1){
let barcolor = uchip.getBarColor(domain.porbanw);
bandwidth_container = '' + uchip.humanFileSize(domain.banw * 1024 * 2014) + ' / ' + uchip.humanFileSize({{mod.pack_bandwidth}} * 1024 * 1024);
}else{
bandwidth_container = '' + uchip.humanFileSize(domain.banw * 1024 * 2014) + ' / ∞ MB';
}
let sublist = domain.sub_list.map(function(sub){ return sub.sub + '.' + sub.domain}).join(',');
html_content += '' +
'' + domain.domain + ' | ' +
'{{users}} | ' +
'' + domain.path + ' | ' +
'' +
bandwidth_container +
' | ' +
'' + subdomains + ' | ' +
'' + ssl_stats + ' | ' +
'' +
'' +
' | ' +
'
';
index++;
});
let table_html = '' +
'' +
'' +
'{{langmod.DDOMAIN}} | ' +
'{{langmod.DUSER}} | ' +
'{{langmod.DPATH}} | ' +
'{{langmod.DONLABEL11}} | ' +
'{{langmod.DSUB}} | ' +
'{{langmod.DONLABEL9}} | ' +
'{{langmod.DACTION}} | ' +
'
' +
'' +
'' +
html_content +
'' +
'
';
$('#table_domains_wrapper').html(table_html);
$('.domain_table').DataTable().destroy();
domain_table = $('.domain_table').DataTable();
$('[data-toggle="tooltip"]').tooltip()
}else{
$('#table_domains_wrapper').html('{{langmod.DOMNOTCREATED}}
');
}
}
function showNewDomainForm(){
uchip.slideToggle('#new_form_wrapper','#list_wrapper');
}
function cancelNewForm(){
uchip.slideToggle('#list_wrapper','#new_form_wrapper', function(){
$('#newdomain').val('');
$('#dirsel').text('/');
$('#pathdomain').val('');
$('#ssl_checkbox').prop('checked', false);
$('.san-checkbox').prop('checked', false);
$('.dir-sel-btn').attr('data-original-title','{{langmod.DOMCHOOBPAT}}');
$('#san_selector').hide();
});
}
function calculateQuota(){
let plan = {{mod.domain_pack}};
$('#domains_used').text(domain_list.length);
if(plan >= 0){
if(domain_list.length == plan){
$('#btn_add_domain').addClass('disabled');
$('#btn_add_domain').prop('disabled', true)
}else{
$('#btn_add_domain').removeClass('disabled');
$('#btn_add_domain').prop('disabled', false)
}
let percent = ((domain_list.length * 100) / plan).toFixed(0);
$('.stat-percent').text(percent + '%');
let barcolor = uchip.getBarColor(percent);
$('#bardomindpor').removeClass();
$('#bardomindpor').addClass(barcolor);
$('#bardomindpor').width(percent + '%');
}
}
function domaindelete(st,domain, index){
let sublist = $('#btn_del_' + index).data('sublist');
if(sublist != ''){
sublist = sublist.split(',');
}
if(st == 0){
// if(){
//
// }
let strheader = '' +
'{{ langmod.DOMLABEL6 }}
';
let strbody = '{{langmod.DOMDELW1}}
' +
'' + domain + '';
if(sublist != ''){
strbody += '
{{langmod.DOMDELW2}} ' + (sublist.length > 1 ? '{{langmod.DOMDELSUBPLU}}' : '{{langmod.DOMDELSUBSING}}') + ':
' + sublist.map(function(sub){ return '' + sub + ''}).join('
') + '
{{langmod.DOMDELSUBW}}
';
}
strbody += '
{{langmod.DOMDELCONF}}
';
let strfooter = '' +
'';
$("#deletemodaldomain .modal-footer").html(strfooter);
$("#deletemodaldomain .modal-body").html(strbody);
$("#deletemodaldomain .modal-header").html(strheader);
$("#deletemodaldomain").modal('toggle');
}else{
$("#deletemodaldomain").modal('hide');
uchip.handleButton('#btn_del_' + index,'fa-trash');
let tr = $('#trdomain_' + index);
tr.addClass('deleting_tr');
uchip.call('module=domains&acc=domaindelete', {
data: 'domain=' + domain,
callback: function(response){
if(response.result == 'success'){
noti_bubble('{{langmod.DSUCCT}}','{{langmod.DDELDOMAINALERT}}','success',false,false,'3000',true);
tr.slideUp('fast', function(){
domain_table.row(this).remove().draw();
});
domain_list.splice(index, 1);
calculateQuota();
subs_qty -= sublist.length;
}else{
let message = '';
if(response.code == 1){
message = '{{langmod.DDELDOMAINALERTSUB}}';
}else{
message = '{{langmod.DOMERROUNKNOW}}';
}
tr.removeClass('deleting_tr');
uchip.handleButton('#btn_del_' + index,'fa-trash', true);
noti_bubble(message,'Error','error',false,false,'3000',true);
}
}
});
}
}
function btn_save_domain(){
btnporcess('off','btn_save_domain','{{ langmod.DONLABEL10 }}');
if($("#newdomain").val()=='' || $("#pathdomain").val()==''){
noti_bubble('{{langmod.DDATEALL}}','{{langmod.DERROR}}','error',false,false,'3000',true);
btnporcess('on','btn_save_domain','{{ langmod.DBNTADD }}');
return false;
}else{
if ($('#autossl').prop('checked')){ var autossl=1; } else{ var autossl=0; }
$.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
$.ajax({
type: "POST",
url: "./{{users}}/index.php?module=domains&acc=btn_save_domain",
data: "newdomain="+$("#newdomain").val()+"&pathdomain="+$("#pathdomain").val()+"&autossl="+autossl,
complete: function(datos){
//alert(datos.responseText);
if(datos.responseText!='OK'){
noti_bubble(datos.responseText,'{{langmod.DERROR}}','error',false,false,'3000',true);
btnporcess('on','btn_save_domain','{{ langmod.DBNTADD }}');
}else{
$("#newdomain").val('');
$("#pathdomain").val('/public_html/');
domainrefres();
refrespanelnew('domains');
noti_bubble('{{langmod.DDOMAINEXIT}}','{{langmod.DSUCCT}}','success',false,false,'3000',true);
btnporcess('on','btn_save_domain','{{ langmod.DBNTADD }}');
canceladd();
}
return false;
}
});
}
}
function btnadddomain(){
var headervar='{{ langmod.DBNTADD }}
';
var bodyvar='{{ langmod.DONLABEL7 }}
';
var btnvar=' ';
$("#addmodal .modal-header").html(headervar);
$("#addmodal .modal-body").html(bodyvar);
$("#addmodal .modal-footer").html(btnvar);
$("#addmodal").modal('toggle');
}
function domainrefres(){
$.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } });
$.ajax({
type: "POST",
url: "./{{users}}/index.php?module=domains&acc=domainrefres",
complete: function(datos){
$('.dataTables-example').DataTable().destroy();
$("#contenttr").html(datos.responseText);
$('.dataTables-example').DataTable();
return false;
}
});
}
function canceladd(){
$("#addmodal").modal('hide');
}