console.log(); let wdlist = JSON.parse('{{mod.wdlist|json_encode|raw}}'); let wd_table = null; $(document).ready(function() { {% if mod.isie == 1 %} uchip = new $.Uchip(); {% else %} uchip = new Uchip(); {% endif %} // listSLL(ssl_list); $('[data-toggle="tooltip"]').tooltip() let optpass1 = {}; optpass1.ui = { container: "#pass_container", showVerdictsInsideProgressBar: true, viewports: { progress: ".pwstrength_viewport_progress" } }; optpass1.common = { debug: false, }; $('#pass_wd').pwstrength(optpass1); table_wd(wdlist); }); function table_wd(list){ wdlist = list; if(wdlist.length > 0){ let html_content = ''; let index = 0; wdlist.forEach(function(wd){ html_content += '' + '' + wd.username + '' + '' + wd.domain + '' + '' + wd.location + '' + '' + (wd.digest == 1 ? 'Auth. Digest' : '') + (wd.permissions == 1 ? 'read-write' : 'readonly') + '' + '' + '' + '' + '' + ''; index++; }); let table_html = '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + html_content + '' + '
UsernameDomainPathInfoActions
'; $('#table_webdisk_wrapper').html(table_html); $('.wd_table').DataTable().destroy(); wd_table = $('.wd_table').DataTable(); $('[data-toggle="tooltip"]').tooltip() }else{ $('#table_webdisk_wrapper').html('

{{langmod.WDNONECREATED}}

'); } } function newDiskWindow(){ uchip.slideToggle('#new_form_wrapper','#list_wrapper'); } function cancelNewForm(){ uchip.slideToggle('#list_wrapper','#new_form_wrapper', function(){ $('#username_wd').val(''); $('#pass_wd').val(''); $('#confpass_wd').val(''); $('#pass_wd').data('maybempty', false); $('#confpass_wd').data('maybempty', false); $('#read_write_wd').prop('checked',true); $('#read_only_wd').prop('checked',false); $('#digest_auth_wd').prop('checked',false); $('#dirsel').text('/'); $('.field-new-wd').show(); $('.field-edit-wd').hide(); $('#pass_wd').pwstrength('forceUpdate'); uchip.validator('.reqwd', true); }); } function copyPass(elem){ let field = document.getElementById(elem); field.select(); document.execCommand('copy'); noti_bubble('{{langmod.ADDCOPIEDPASS}}','{{langmod.SUCCESS}}','success',false,false,'3000',true); } function wdedit(id, elem){ let wddata = $(elem).data('wd'); $('.field-new-wd').hide(); $('.field-edit-wd').show(); $('#uname_edit').text(wddata.username); $('#domain_edit').text(wddata.domain); $('#dirsel').text(wddata.location); if(wddata.permissions == 1){ $('#read_write_wd').prop('checked', true); $('#read_only_wd').prop('checked', false); }else{ $('#read_write_wd').prop('checked', false); $('#read_only_wd').prop('checked', true); } let digest = wddata.digest == 1 ? true : false; $('#pass_wd').data('maybempty', true); $('#confpass_wd').data('maybempty', true); $('#digest_auth_wd').prop('checked', digest); $('#edit_id_wd').val(id); newDiskWindow(); } function wddelete(st, id, index){ if(st==0){ let wddata = $('#btn_del_' + index).data('wd'); let strheader = ''; let strbody = '

{{langmod.WDDELMESS1}}

'; strbody += '

{{langmod.WDUNAME}}: ' + wddata.username + '

'; strbody += '

{{langmod.WDDOMAIN}}: ' + wddata.domain + '

'; if(wddata.location != '/'){ strbody +='
' + '' + '' + '
'; } strbody += '

{{langmod.WDDELMESS2}}

'; let strfooter = ''; $("#deletemodal .modal-footer").html(strfooter); $("#deletemodal .modal-body").html(strbody); $("#deletemodal .modal-header").html(strheader); ///btnporcess('on','btnyesdel','{{ langmod.DYES }}'); $("#deletemodal").modal('toggle'); return false; }else{ $("#deletemodal").modal('hide'); uchip.handleButton('#btn_del_' + index,'fa-trash'); let tr = $('#trwd_' + index); tr.addClass('deleting_tr'); tr.find('.btn-primary').prop('disabled', true); let delete_files = $('#delete_files_wd').is(':checked') ? 1 : 0; uchip.call('module=webdisk&acc=delete', { data: 'index=' + id + '&delete_files=' + delete_files, callback: function(response){ if(response.result == 'success'){ noti_bubble('{{langmod.WDDELSUCC}}','{{langmod.WDSUCCESS}}','success',false,false,'3000',true); tr.slideUp('fast', function(){ wd_table.row(this).remove().draw(); }); }else{ let message = '{{langmod.WDDELGENERRO}}'; if(response.code == 1){ message = '{{langmod.WDDELGENERRO1wd}}'; } tr.removeClass('deleting_tr'); tr.find('.btn-primary').prop('disabled', false); uchip.handleButton('#btn_del_' + index,'fa-trash', true); noti_bubble(message,'{{langmod.WDGENERROR}}','error',false,false,'3000',true); } } }); } } function openPGOPT(type, second){ let divelem = type == null ? '#pgopt_container' : type; if($(divelem).is(':visible')){ $(divelem).slideUp('fast'); }else{ $(divelem).slideDown('fast'); hideOnClickOutside(divelem, second); } } function hideOnClickOutside(selector, second){ let forhide = true; 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(element){ let passmeter = $(element).parent().parent().find('.pass_container input'); let lengthpass = $(element).parent().find('.general-password-generator-options .pwlength'); let typepass = $(element).parent().find('.general-password-generator-options .pwtype'); 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); passmeter.pwstrength("forceUpdate"); // if(type == undefined || type == 'userp'){ // copyPass(passmeter); // } copyPass(passmeter.attr('id')); } function showExplorer(){ let base = $('#dirsel').text(); let parent_path_raw = $('#domain_wd').children("option:selected").data('path'); let parent_path_pieces = parent_path_raw.split('{{users}}'); if(base == '/'){ base = parent_path_pieces[1] + base; } $('#dir_explorer_domain .modal-body').html('
'); $('#dir_explorer_domain').modal('show'); callDirList(base, $('#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, basedomain){ uchip.handleButton('#sel_path_btn', 'fa-thumb-tack'); $('#dir_explorer_domain .modal-body').html('
'); uchip.call('module=webdisk&acc=dirlist', { data: 'basedir=' + directory + '&domain=' + $('#domain_wd').val(), callback: function(response){ directory = directory.charAt(directory.length-1) == '/' ? directory : directory + '/'; renderDirSelector(directory, basedomain, response); uchip.handleButton('#sel_path_btn', 'fa-thumb-tack', true); } }); } function renderDirSelector(base, basedomain, dirs){ let dirs_html = ''; dirs.forEach((dir) => { dirs_html += '
' + '
' + '' + dir + '
' + '
'; }); let 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 curpath2 = $('#current_path_dirsel2').val(); let dir = $(this).data('dir'); let dir2 = ''; if(dir == '..'){ let pieces = curpath2.split('/'); pieces.pop(); pieces.pop(); dir = pieces.join('/') pieces = curpath.split('/'); pieces.pop(); pieces.pop(); console.log(pieces); if(pieces.length == 0){ dir2 = '/'; }else if(pieces.length == 1 && pieces[0] == ''){ dir2 = '/'; }else{ dir2 = pieces.join('/') + '/'; } }else{ dir2 = curpath + dir + '/'; dir = curpath2 + dir; } callDirList(dir, dir2); }); $('#dir_list').slideDown('fast'); } function saveFormWD(){ if($('.field-new-wd').is(':visible')){ saveNewWD(); }else{ updateWD(); } } function updateWD(){ if(uchip.validator('.reqedit')){ uchip.handleButton('.btn-save-webdisk', 'fa-floppy-o'); uchip.handleButton('.btn-cancel-webdisk', 'fa-fan'); let password = $('#pass_wd').val(); password = password != '' ? Base64.encode(password) : ''; let mode = $('#read_write_wd').is(':checked') ? 'write' : 'read'; let digest = $('#digest_auth_wd').is(':checked') ? true : false; let path_wd = $('#dirsel').text(); uchip.call('module=webdisk&acc=updatedisk', { data: 'edit_id_wd=' + $('#edit_id_wd').val() + '&pass_wd=' + password + '&path_wd=' + $('#dirsel').text() + '&mode=' + mode +'&digest=' + digest, callback: function(response){ if(response.result == 'success'){ noti_bubble('{{langmod.WDUPDTSUCC}}','{{langmod.WDSUCCESS}}','success',false,false,'3000',true); table_wd(response.list); cancelNewForm(); }else{ let message = '{{langmod.WDUPDTGENERRO}}'; if(response.code == 1){ message = '{{langmod.WDDELGENERRO1}}'; } noti_bubble(message,'{{langmod.WDGENERROR}}','error',false,false,'3000',true); } uchip.handleButton('.btn-save-webdisk', 'fa-floppy-o', true); uchip.handleButton('.btn-cancel-webdisk', 'fa-fan', true); // directory = directory.charAt(directory.length-1) == '/' ? directory : directory + '/'; // renderDirSelector(directory, response); // uchip.handleButton('#sel_path_btn', 'fa-thumb-tack', true); } }); } } function saveNewWD(){ if(uchip.validator('.reqwd')){ uchip.handleButton('.btn-save-webdisk', 'fa-floppy-o'); uchip.handleButton('.btn-cancel-webdisk', 'fa-fan'); let password = Base64.encode($('#pass_wd').val()); let mode = $('#read_write_wd').is(':checked') ? 'write' : 'read'; let digest = $('#digest_auth_wd').is(':checked') ? true : false; let path_wd = $('#path_wd').val(); path_wd = $('#dirsel').text() + (path_wd.charAt(path_wd.length-1) == '/' || path_wd == '' ? path_wd : path_wd + '/'); uchip.call('module=webdisk&acc=savedisk', { data: 'username_wd=' + $('#username_wd').val() + '&domain_wd=' + $('#domain_wd').val() + '&pass_wd=' + password + '&path_wd=' + path_wd + '&mode=' + mode +'&digest=' + digest, callback: function(response){ if(response.result == 'success'){ noti_bubble('{{langmod.WDADDEDSUCC}}','{{langmod.WDSUCCESS}}','success',false,false,'3000',true); table_wd(response.list); cancelNewForm(); }else{ let message = '{{langmod.WDADDEDERR}}'; if(response.code == 1){ message = '{{langmod.WDADDEDERR1}}'; }else if(response.code == 2){ message = '{{langmod.WDADDEDERR2}}'; } noti_bubble(message,'{{langmod.WDGENERROR}}','error',false,false,'3000',true); } uchip.handleButton('.btn-save-webdisk', 'fa-floppy-o', true); uchip.handleButton('.btn-cancel-webdisk', 'fa-fan', true); // directory = directory.charAt(directory.length-1) == '/' ? directory : directory + '/'; // renderDirSelector(directory, response); // uchip.handleButton('#sel_path_btn', 'fa-thumb-tack', true); } }); } }