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 ftp_list = JSON.parse('{{mod.ftp_account_list|json_encode|raw}}'); let uchip = null; let ftp_table = null; $(document).ready(function() { {% if mod.isie == 1 %} uchip = new $.Uchip(); {% else %} uchip = new Uchip(); {% endif %} let optpass1 = {}; uchip.getBarColor(23); optpass1.ui = { container: "", showVerdictsInsideProgressBar: true, viewports: { progress: "" } }; optpass1.common = { debug: false, }; $('#ftppass1').pwstrength(optpass1); let optpass2 = {}; optpass2.ui = { container: "", showVerdictsInsideProgressBar: true, viewports: { progress: "" } }; optpass2.common = { debug: false, }; $('#ftppass1_ch').pwstrength(optpass2); listFTP(ftp_list); }); function listFTP(list){ ftp_list = list; let table_content = ''; let index = 0; ftp_list.forEach(function(account){ table_content += '<tr id="tr_ftp_' + index + '">' + '<td class="action_ftp"><a href="#" onclick="return settingmanual(\'' + account.username + '\',\'' + account.domain + '\')"><i class="fa fa-info-circle"></i> </a></td>' + '<td>' + account.domain + '</td>' + '<td>' + account.username + '@' + account.domain + '</td>' + '<td>' + account.path + '</td>' + '<td class="action_ftp">' + '<button type="button" class="btn btn-primary btn-xs mr5 mb10" title="{{langmod.FTPCHNAGEPASS}}" onclick="displayChPass(\'' + account.username + '\',\'' + account.domain + '\')"><i class="fa fa-key"></i></button>' + '<button type="button" class="btn btn-danger btn-xs mr5 mb10" id="btn_del_' + index + '" title="{{langmod.FTPDELETEONLY}}" onclick="ftpdelete(0,\'' + account.username + '\',\'' + account.domain + '\',' + index + ')"><i class="fa fa-trash"></i></button>' + '</td>' + '</tr>'; index++; }); let html_table = '<table class="table ftp_table table-striped table-bordered table-hover">' + '<thead>' + '<tr role="row">' + '<th class="action_ftp">#</th>' + '<th>{{langmod.FTPDOMAINS}}</th>' + '<th>{{langmod.FTPUSER}}</th>' + '<th>{{langmod.PATH}}</th>' + '<th>{{langmod.ACTION}}</th>' + '</tr>' + '</thead>' + '<tbody id="contftp">' + '<tr>' + '<td class="action_ftp">' + '<a href="#" onclick="settingmanual(\'{{users}}\',\'{{mod.ftp_domain}}\')"><i class="fa fa-info-circle"></i> </a>' + '</td>' + '<td class="sorting_1">{{mod.ftp_domain}}</td>' + '<td class="sorting_1">{{users}}</td>' + '<td>/home/{{users}}/</td>' + '<td class="action_ftp">default</td>' + '</tr>' + table_content + '</tbody>' + '</table>'; $('#table_ftp_container').html(html_table); $('.ftp_table').DataTable().destroy(); ftp_table = $('.ftp_table').dataTable({ "columnDefs": [ { "orderable": false, "targets": 0 } ] }); } function displaynewForm(){ $('#ftp_list_wrapper').slideUp('fast', function(){ $('#ftp_form').slideDown('fast'); }); } function displayChPass(uname, domain){ $('#ftp_list_wrapper').slideUp('fast', function(){ $('#user_chpass').text(uname); $('#domain_chpass').text(domain); $('#ch_title').text('Change password for: ' + uname + '@' + domain); $('#ftp_form_pass').slideDown('fast'); }); } function cancelChPass(){ $('#ftp_form_pass').slideUp('fast', function(){ $('#ftppass1_ch').val(''); $('#ftppass2_ch').val(''); $('#ftp_list_wrapper').slideDown('fast'); $('#ftppass1_ch').pwstrength("forceUpdate"); $('.password-generator-copied').hide(); }); } function cancelForm(){ $('#ftp_form').slideUp('fast', function(){ $('#loginftp').val(''); $('#ftppass1').val(''); $('#ftppass2').val(''); $('#dirsel').text('/public_html/'); $('#directoryftp').val(''); $('#ftp_list_wrapper').slideDown('fast'); $('#ftppass1').pwstrength("forceUpdate"); $('.password-generator-copied').hide(); }); } function copyPass(elem){ let field = document.getElementById(elem); field.select(); document.execCommand('copy'); $('.password-generator-copied').slideDown(); setTimeout(function(){ $('.password-generator-copied').slideUp(); }, 4500); } function openPGOPT(type){ let divelem = type == null ? '#pgopt_container' : type; if($(divelem).is(':visible')){ $(divelem).slideUp('fast'); }else{ $(divelem).slideDown('fast'); hideOnClickOutside(divelem); } } function hideOnClickOutside(selector, second){ let forhide = false; if(second === undefined){ second = '#show_options_button'; forhide = true; } function outsideClickListener(event){ $target = $(event.target); if (!$target.closest(selector).length && !$target.closest(second).length && $(selector).is(':visible')) { if(forhide){ $(selector).slideUp('fast'); }else{ $(selector).remove(); } removeClickListener(); } } function removeClickListener(){ document.removeEventListener('click', outsideClickListener) } document.addEventListener('click', outsideClickListener) } function generateNewPass(type, element){ let passmeter = 'ftppass1_ch'; let lengthpass = 'lengthpass2'; let typepass = 'typepass2'; let confpass = 'ftppass2_ch'; if(type == 'userp'){ passmeter = 'ftppass1'; lengthpass = 'lengthpass'; typepass = 'typepass'; confpass = 'ftppass2'; } let lpass = $('#' + lengthpass).val(); let tpass = $('#' + typepass).val(); let new_pass = generatePasswordRand(lpass, tpass); $('#' + passmeter).val(new_pass); $('#' + confpass).val(new_pass); $('#' + passmeter).pwstrength("forceUpdate"); // if(type == undefined || type == 'userp'){ // copyPass(passmeter); // } copyPass(passmeter); } function sendFTPPass(elem){ if(uchip.validator('#ftp_form_pass .reqfield')){ uchip.handleButton(elem, 'fa-floppy-o'); uchip.call('module=ftp_accounts&acc=chpass', { data: '&hidenuserftp=' + $('#user_chpass').text() + '@' + $('#domain_chpass').text() + '&pass=' + Base64.encode($('#ftppass1_ch').val()), callback: function(response){ if(response.result == 'success'){ noti_bubble('{{langmod.SUCCESSFUL}}','{{langmod.FTPEXITPASS}}','success',false,false,'3000',true); cancelChPass(); }else{ noti_bubble('{{langmod.ERROROCURRED}}','{{langmod.ERROR1}}','error',true,false,'3000',true); } uchip.handleButton('.btn-save-ftp','fa-floppy-o', true); uchip.handleButton('.btn-cancel-ftp','fa-ban', true); } }); } } function calculateQuota(){ let plan = {{mod.ftp_pack}}; $('#ftpused').text(ftp_list.length); if(plan >= 0){ if(ftp_list.length == plan){ $('#add_new_ftpbtn').addClass('disabled'); $('#add_new_ftpbtn').prop('disabled', true) }else{ $('#add_new_ftpbtn').removeClass('disabled'); $('#add_new_ftpbtn').prop('disabled', false) } let percent = ((ftp_list.length * 100) / plan).toFixed(0); $('#ftp_percent').text(percent + '%'); let barcolor = uchip.getBarColor(percent); $('#barftpind').removeClass(); $('#barftpind').addClass(barcolor); $('#barftpind').width(percent + '%'); } } function sendFTPForm(elem){ if(uchip.validator('#new_ftp_form .reqfield')){ uchip.handleButton(elem, 'fa-floppy-o'); let directory = $('#dirsel').text() + $('#directoryftp').val(); uchip.call('module=ftp_accounts&acc=addnew', { data: 'login=' + $('#loginftp').val() + '&dir=' + directory + '&pass=' + Base64.encode($('#ftppass1').val()) + '&domain=' + $('#domain').val(), callback: function(response){ if(response.result == 'success'){ noti_bubble('{{langmod.FTPCREATE}}','{{langmod.SUCCESSFUL}}','success',true,false,'3000',true); listFTP(response.list); calculateQuota(); cancelForm(); }else{ let message_error = '{{langmod.ERROROCURRED}}'; if(response.hasOwnProperty('code')){ if(response.code == '500'){ message_error = '{{langmod.FTPERRORADD}}'; } } noti_bubble(message_error,'{{langmod.ERROR1}}','error',true,false,'3000',true); } uchip.handleButton('.btn-save-ftp','fa-floppy-o', true); uchip.handleButton('.btn-cancel-ftp','fa-ban', true); } }); } } function changepassftp(user){ $("#pass1ftp").val(''); $("#pass2ftp").val(''); $("#changepassftptitle").html('{{langene.MDCHANPASS}} '+user); $("#modal-changepassftp").modal('toggle'); $("#hidenuserftp").val(user); return false; } function ftpdelete(st,user,domain, index){ if(st==0){ let btsfooter = '<button type="button" class="btn btn-white" data-dismiss="modal">{{ langmod.FTPNO }}</button>\n' +'<button type="button" class="btn btn-primary" onclick="ftpdelete(1,\'' + user + '\',\'' + domain + '\',' + index + ')">{{ langmod.FTPYES }}</button>'; let btsheader = '<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">{{ langmod.FTPLABEL2 }}</span></button><h4 class="modal-title" style="font-size:2rem">{{ langmod.FTPLABEL3 }}</h4>'; $("#deletemodaluserftp .modal-footer").html(btsfooter); $("#deletemodaluserftp .modal-header").html(btsheader); $("#deletemodaluserftp .modal-body").html('<p>{{langmod.FTPCONFDEL1}}: <br><strong id="descron">' + user + '@' + domain + '</strong><br>{{langmod.FTPCONFDEL2}}</p>'); $("#deletemodaluserftp").modal('toggle'); return false } if(st==1){ $("#deletemodaluserftp").modal('toggle'); uchip.handleButton('#btn_del_' + index,'fa-trash'); let tr = $('#tr_ftp_' + index); tr.addClass('deleting_tr'); let deluser = user + '@' + domain; uchip.call('module=ftp_accounts&acc=ftpdelete', { data: 'user=' + user + '&domain=' + domain + '&deluser=' + deluser, callback: function(response){ if(response.result == 'success'){ noti_bubble('{{langmod.FTPDELETEUSER}}','{{langmod.FTPDELETE}}','success',true,false,'3000',true); tr.slideUp('fast', function(){ ftp_table.row(this).remove().draw(); }); ftp_list.splice(index, 1); calculateQuota(); }else{ tr.removeClass('deleting_tr'); noti_bubble('{{langmod.ERROROCURRED}}','{{langmod.ERROR1}}','error',true,false,'3000',true); uchip.handleButton('#btn_del_' + index,'fa-trash', true); } } }); // btnporcess('off','btnyesdel','{{ langmod.FTPLABEL6 }}'); // $("#btnyesdel").attr('disabled',true); // $("#btnyesdel").addClass('disabled'); // $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } }); // $.ajax({ // type: "POST", // url: "./{{users}}/index.php?module=ftp_accounts&acc=ftpdelete", // data:"user="+user+"&domain="+domain+"&deluser"+deluser, // complete: function(datos){ // ftprefres(user,domain); // refrespanelnew('ftp_accounts'); // noti_bubble('{{langmod.FTPDELETEUSER}}','{{langmod.FTPDELETE}}','success',true,false,'3000',true); // btnporcess('on','btnyesdel','{{ langmod.FTPYES }}'); // $("#deletemodaluserftp").modal('hide'); // return false; // } // }); } return false; } function settingmanual(user,domain){ //alert(user); $('#userftp').html(user); $('#serverftp').html(domain); $('#config_file_account').text(user); // $('#aftpfilezilla').prop('href', '?module=ftp_accounts&acc=xmlfilezilla&client=filezilla&userftp='+user+'&domain='+domain); // $('#aftptransmit').prop('href', '?module=ftp_accounts&acc=xmlfilezilla&client=transmit&userftp='+user+'&domain='+domain); // $('#aftpcyberduck').prop('href', '?module=ftp_accounts&acc=xmlfilezilla&client=cyberduck&userftp='+user+'&domain='+domain); if(!$('#ftp_details').is(':visible')){ uchip.slideToggle('#ftp_details','#ftp_details_info', function(){ // $('#autoconfigfile').slideDown('fast'); }); } return false; } function downloadConfFile(){ let user = $('#userftp').text(); let domain = $('#serverftp').text(); if($('#client_ftp_conf').val() != ''){ window.open('?module=ftp_accounts&acc=xmlconf&client=' + $('#client_ftp_conf').val() + '&data=' + Base64.encode(user + '@' + domain), '_blank'); } } // CECILIO MORALES JS function ftprefres(user,domain){ $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } }); $.ajax({ type: 'POST', url: './{{users}}/index.php?module=ftp_accounts&acc=ftprefres', data:'user='+user+'&domain='+domain, complete: function(datos){ $('#contftp').html(''); $('#contftp').html(datos.responseText); return false; } }); } function changerrandom(inputdiv){ var long=$('#lengthpass').val(); var typepass=$('#typepass').val(); $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } }); $.ajax({ type: 'POST', url: './{{users}}/index.php?module=ftp_accounts&acc=changerrandom&long='+long+'&typepass='+typepass, complete: function(datos){ $("#"+inputdiv).val(datos.responseText); return false; } }); return false; } function newvalidpassftp(pass1,pass2){ var expreg =/^[a-zA-Z0-9\_\.\-\/]+$/i; var sw1=0; var sw2=0; if(pass1!=""){ var resp=expreg.test(pass1); if(resp==false){ noti_bubble('{{langmod.ERROR1}}','{{langmod.ERROR2}}','error',true,false,'3000',true); sw1=1; }else{ sw1=3; } } if(pass2!=""){ var resp=expreg.test(pass2); if(resp==false){ noti_bubble('{{langmod.ERROR1}}','{{langmod.ERROR2}}','error',true,false,'3000',true); sw2=1; $("#btn-submitftp").hide(); }else{ sw2=3; } } if((pass1==pass2)&&(sw1 + sw2)==6) { $("#btn-submitftp").show(); }else{ $("#btn-submitftp").hide(); } } function newvalidpass(pass1,pass2){ var expreg =/^[a-zA-Z0-9\_\.\-\/]+$/i; var sw1=0; var sw2=0; if(pass1!=""){ //var resp=expreg.test(pass1); var resp = true; if(resp==false){ noti_bubble('{{langmod.ERROR1}}','{{langmod.ERROR2}}','error',true,false,'3000',true); sw1=1; }else{ sw1=3; } } if(pass2!=""){ //var resp=expreg.test(pass2); var resp = true; if(resp==false){ noti_bubble('{{langmod.ERROR1}}','{{langmod.ERROR2}}','error',true,false,'3000',true); sw2=1; $("#btn-submit").hide(); }else{ sw2=3; } } if((pass1==pass2)&&(sw1 + sw2)==6) { $("#btn-submit").show(); }else{ $("#btn-submit").hide(); } } $("#btn_add_ftp").click(function () { $("#modal-addfaccountftp").modal('toggle'); return false; }); $("#btn_save_ftp").click(function (){ btnporcess('off','btn_save_ftp','{{ langmod.FTPLABEL6 }}'); var passlength=$("#ftppass1").val(); passlength=passlength.length; $("#alertftp").hide('blind'); if($("#loginftp").val()=='' || $("#directoryftp").val()=='' || $("#ftppass1").val()=='' || $("#ftppass2").val()==''){ noti_bubble('{{langmod.FTPREQUERIDATE}}','{{langmod.ERROR1}}','error',true,false,'3000',true); btnporcess('on','btn_save_ftp','{{ langmod.ADDFTPACCOUNT }}'); return false; }else if($("#ftppass1").val()!=$("#ftppass2").val()){ noti_bubble('{{langmod.PASSDIF}}','{{langmod.ERROR1}}','error',true,false,'3000',true); btnporcess('on','btn_save_ftp','{{ langmod.ADDFTPACCOUNT }}'); return false; }else if(passlength <=6){ noti_bubble('{{langmod.FTPSECUREPASS}}','{{langmod.ERROR1}}','success',true,false,'3000',true); btnporcess('on','btn_save_ftp','{{ langmod.ADDFTPACCOUNT }}'); return false; }else{ var pass=Base64.encode($("#ftppass1").val()); $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } }); $.ajax({ type: "POST", url: "./{{users}}/index.php?module=ftp_accounts&acc=btn_save_ftp", data: "login="+$("#loginftp").val()+"&dir="+$("#directoryftp").val()+"&pass="+pass+"&domain="+$("#domain").val(), complete: function(datos){ //console.log(datos.responseText); if(datos.responseText=='OK'){ $("#loginftp").val(''); $("#directoryftp").val('/public_html/'); $("#directoryftp").val('/public_html/'); ftprefres($("#loginftp").val()+'@'+$("#domain").val(),$("#domain").val()); refrespanelnew('ftp_accounts'); noti_bubble('{{langmod.FTPCREATE}}','{{langmod.SUCCESSFUL}}','success',true,false,'3000',true); btnporcess('on','btn_save_ftp','{{ langmod.ADDFTPACCOUNT }}'); $("#modal-addfaccountftp").modal('hide'); } if(datos.responseText=='Error'){ noti_bubble('{{langmod.FTPERRORADD}}','{{langmod.ERROR1}}','error',true,false,'3000',true); btnporcess('on','btn_save_ftp','{{ langmod.ADDFTPACCOUNT }}'); } return false; } }); } }); $("#btn-submitftp").click(function (){ $("#btn-submitftp").attr('disalbled',true); $("#btn-submitftp").addClass('disalbled'); $("#btn-submitftp").html('<i class="fa fa-spinner"></i> {{langene.MDBTN_SAVE}}'); $.ajaxSetup({ headers: { 'csrftoken' : '{{ tokenajax }}' } }); $.ajax({ type: "POST", url: "./{{users}}/index.php?module=ftp_accounts&acc=changepassftp", data: "pass="+$("#pass1ftp").val()+"&hidenuserftp="+$("#hidenuserftp").val(), complete: function(datos){ console.log(datos.responseText); changepassftp($("#hidenuserftp").val()); noti_bubble('{{langmod.SUCCESSFUL}}','{{langmod.FTPEXITPASS}}','success',false,false,'3000',true); $("#modal-changepassftp").modal('hide'); $("#btn-submitftp").attr('disalbled',false); $("#btn-submitftp").removeClass('disalbled'); return false; } }); return false; }); 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 selCurrentPath(){ let curpath = $('#current_path_dirsel').val(); $('.dir-sel-btn').attr('data-original-title',curpath); $('#dirsel').text(curpath); $('#dir_explorer_domain').modal('hide'); } 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'); } $("#btn_cancel_ftp").click(function (){ $("#modal-addfaccountftp").modal('hide'); return false; }); $("#pass2ftp").keyup(function() { if($("#pass2ftp").val()==$("#pass1ftp").val()){ $("#btn-submitftp").show(); newvalidpassftp($("#pass1ftp").val(),$("#pass2ftp").val()); }else{ newvalidpassftp($("#pass1ftp").val(),$("#pass2ftp").val()); $("#btn-submitftp").hide(); } }); $("#pass1ftp").keyup(function() { var color1=0; var color2=0; var color3=0; var color4=0; var classpar=''; var msj=''; // set password variable var pswd = $(this).val(); //validate the length if(pswd.length<8){ color1=0;}else{ color1=1; msj=msj+' largo 1'; } //validate letter if(pswd.match(/[A-z]/gi)){color2=1; msj=msj+' letras 1'; }else{ color2=0;} //validate capital letter if(pswd.match(/[A-Z]/gi)){ msj=msj+' Mayusculas 1'; color3=1; } else { color3=0; } //validate number if (pswd.match(/[0-9]/gi)){color4=1; msj=msj+' Numeros 1';}else{ color4=0; } var sum=(color1+color2+color3+color4); newvalidpassreseller($("#pass1ftp").val(),$("#pass2ftp").val()); //alert(sum+' M:'+msj); if(sum==0){ classpar='progress-bar-danger';} if(sum==1){ classpar='progress-bar-warning';} if(sum==2){ classpar='progress-bar-danger';} if(sum==3){ classpar='progress-bar-info';} if(sum==4){ classpar='progress-bar-success';} var barra='<div class="progress-bar '+classpar+'" style="width: '+((pswd.length)*10)+'%;"></div>'; $("#progresspassftp").html(barra); });