Server IP : 23.254.227.96 / Your IP : 216.73.216.7 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/local/cwpsrv/var/services/users/cwp_theme/original/js/modules/ |
Upload File : |
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}}<br>' + '{{langmod.DOMREDIRWARNING}}<br>' + response.ssl_status.san_excluded.join(', '),'{{langmod.DSUCCT}}','warning',false,false,'6500',true); }else{ noti_bubble('{{langmod.DDOMAINEXIT}}<br>' + '{{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('<div class="table_cron_loader"><span><i class="fa fa-circle-o-notch fa-spin"></i></span></div>'); $('#dir_explorer_domainEdit').modal('show'); callDirListEdit(path,domain); } function showExplorer(){ $('#dir_explorer_domain .modal-body').html('<div class="table_cron_loader"><span><i class="fa fa-circle-o-notch fa-spin"></i></span></div>'); $('#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('<div class="table_cron_loader"><span><i class="fa fa-circle-o-notch fa-spin"></i></span></div>'); 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('<div class="table_cron_loader"><span><i class="fa fa-circle-o-notch fa-spin"></i></span></div>'); 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 += '<div class="dir-item" data-dir="' + dir + '"><div class="row">' + '<div class="col-md-12">' + '<i class="fa fa-folder-o" aria-hidden="true"></i>' + dir + '</div>' + '</div></div>'; }); let html = '<div id="dir_list" class="container-fluid" style="display:none">' + '<div class="row">' + '<div class="col-md-12 current-path-div">' + '<label class="form-label">Cuerent path</label>' + '<input type="text" id="current_path_dirsel" class="form-control" value="' + base + '" readonly>' + '</div>' + '</div>' + dirs_html + '</div>'; $('#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 += '<div class="dir-item" data-dir="' + dir + '"><div class="row">' + '<div class="col-md-12">' + '<i class="fa fa-folder-o" aria-hidden="true"></i>' + dir + '</div>' + '</div></div>'; }); let html = '<div id="dir_listEdit" class="container-fluid" style="display:none">' + '<div class="row">' + '<div class="col-md-12 current-path-div">' + '<label class="form-label">Cuerent path</label>' + '<input type="text" id="current_path_dirselEdit" class="form-control" value="' + base + '" readonly>' + '</div>' + '</div>' + dirs_html + '</div>'; $('#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 = '<i class="fa fa-unlock text-center" title="{{langmod.DOMNONSSL}}" data-toggle="tooltip" data-placement="top" aria-hidden="true" style="color: #ed5565; font-size: 1.5em;"></i>'; if (domain.ssl != 0){ ssl_stats = '<a href="?module=letsencrypt" title="{{langmod.DOMHAVESSL}}" data-toggle="tooltip" data-placement="top" aria-hidden="true"><i class="fa fa-lock text-center" style="color: #1ab394; font-size: 1.5em;" ></i></a>'; } let subdomains = '<i class="fa fa-ban text-warning subdomain-icon" title="{{langmod.DOMNONESUBS}}" data-toggle="tooltip" data-placement="top" aria-hidden="true"></i>'; if(domain.sub > 0){ subdomains = '<i class="fa fa-check-circle subdomain-icon" data-toggle="tooltip" title="' + domain.sub + (domain.sub > 1 ? ' {{langmod.DOMSUBPLU}}' : ' {{langmod.DOMSUBSSING}}') + ' created" data-placement="top" aria-hidden="true"></i>'; } let bandwidth_container = ''; if({{mod.pack_bandwidth}} > -1){ let barcolor = uchip.getBarColor(domain.porbanw); bandwidth_container = '<div class="progress" style="height: 10px;background-color: #CBCACF;">' + '<div style="width:' + domain.porbanw + '%" class="' + barcolor + '"></div>' + '</div>' + uchip.humanFileSize(domain.banw * 1024 * 2014) + ' / ' + uchip.humanFileSize({{mod.pack_bandwidth}} * 1024 * 1024); }else{ bandwidth_container = '<div class="progress" style="height: 10px;background-color: #CBCACF;">' + '<div style="width:0%" class="progress-bar"></div>' + '</div>' + uchip.humanFileSize(domain.banw * 1024 * 2014) + ' / <span class="infinite-bandwidth">∞</span> MB'; } let sublist = domain.sub_list.map(function(sub){ return sub.sub + '.' + sub.domain}).join(','); html_content += '<tr id="trdomain_' + index + '" class="gradeA odd" role="row">' + '<td class="td-table-domain">' + domain.domain + ' <a href="http://' + domain.domain + '" target="_blank"><i class="icomoon-icon-play-3"></i></a></td>' + '<td align="center" class="td-table-domain">{{users}}</td>' + '<td class="td-table-domain">' + domain.path + ' <a href="#" onclick="return changepath(\'' + domain.domain + '\',\'' + domain.path + '\')"><i class="fa fa-edit text-center" style="color: #1ab394; font-size: 1.5em;"></i></a></td>' + '<td align="center" class="domain_bw">' + bandwidth_container + '</td>' + '<td align="center" class="td-table-domain-icon"><a href="?module=subdomains">' + subdomains + '</a></td>' + '<td align="center" class="td-table-domain-icon">' + ssl_stats + '</td>' + '<td align="center" class="td-table-domain-btn">' + '<button type="button" data-sublist="' + sublist + '" id="btn_del_' + index + '" title="{{langmod.DBTNDELETE}}" class="btn btn-danger btn-xs mr5 mb10" onclick="return domaindelete(0,\'' + domain.domain + '\',' + index + ')">' + '<i class="fa fa-trash"></i>' + '</button>' + '</td>' + '</tr>'; index++; }); let table_html = '<table class="table domain_table table-striped table-bordered table-hover">' + '<thead>' + '<tr role="row">' + '<th>{{langmod.DDOMAIN}}</th>' + '<th>{{langmod.DUSER}}</th>' + '<th>{{langmod.DPATH}}</th>' + '<th>{{langmod.DONLABEL11}}</th>' + '<th>{{langmod.DSUB}}</th>' + '<th>{{langmod.DONLABEL9}}</th>' + '<th>{{langmod.DACTION}}</th>' + '</tr>' + '</thead>' + '<tbody id="contenttr">' + html_content + '</tbody>' + '</table>'; $('#table_domains_wrapper').html(table_html); $('.domain_table').DataTable().destroy(); domain_table = $('.domain_table').DataTable(); $('[data-toggle="tooltip"]').tooltip() }else{ $('#table_domains_wrapper').html('<div class="empty_list"><h4 class="text-success">{{langmod.DOMNOTCREATED}}</h4></div>'); } } 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 = '<button type="button" class="close" data-dismiss="modal">'+ '<span aria-hidden="true">×</span><span class="sr-only">{{ langmod.DOMLABEL3 }}</span>' + '</button>' + '<h4 class="modal-title text-center" style="font-size:2rem;">{{ langmod.DOMLABEL6 }}</h4>'; let strbody = '<p>{{langmod.DOMDELW1}} <br>' + '<strong id="descron">' + domain + '</strong>'; if(sublist != ''){ strbody += '<br><br>{{langmod.DOMDELW2}} ' + (sublist.length > 1 ? '{{langmod.DOMDELSUBPLU}}' : '{{langmod.DOMDELSUBSING}}') + ':<br>' + sublist.map(function(sub){ return '<b>' + sub + '</b>'}).join('<br>') + '<br>{{langmod.DOMDELSUBW}}<br>'; } strbody += '<br>{{langmod.DOMDELCONF}}</p>'; let strfooter = '<button type="button" class="btn btn-white" data-dismiss="modal">{{ langmod.DCANDELDOMAIN }}</button>' + '<button type="button" class="btn btn-primary" id="btnyesdel" onclick="return domaindelete(1,\''+domain+'\', ' + index + ')">{{langmod.DYES}}</button>'; $("#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='<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">{{ langmod.DOMLABLE3 }}</span></button><h4 class="modal-title">{{ langmod.DBNTADD }}</h4>'; var bodyvar='<div class="row"><div class="col-sm-3"><b>{{ langmod.DDOMAIN }}:</b></div><div class="col-sm-5"><input type="text" class="form-control" style="padding:3px 0px;" id="newdomain" onkeyup="return newdomainkeyup()"></div></div><div class="row" style="padding-top: 5px"><div class="col-sm-3" style="padding-top: 3px"><b>{{ langmod.DPATH }}:</b> /home/{{ users }}</div><div class="col-sm-5"><input type="text" class="form-control" style="padding:3px 0px;" id="pathdomain" value="/public_html/"></div></div><div class="row" style="padding-top: 5px"><div class="col-sm-3" style="padding-top: 3px"><b>{{ langmod.DONLABEL8 }}</b></div><div class="col-sm-5"><input type="checkbox" class="form-controla" style="padding:3px 0px;" id="autossl"></div></div><p class="text-center" style="padding-top: 15px"><b>{{ langmod.DONLABEL7 }}</b></p>'; var btnvar='<button type="button" class="btn btn-white" data-dismiss="modal">{{ langmod.DCANDELDOMAIN }}</button> <button type="button" class="btn btn-primary" onclick="return btn_save_domain()" id="btn_save_domain">{{ langmod.DBNTADD }}</button>'; $("#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'); }