HOME


Mini Shell 1.0
DIR:/usr/local/cwpsrv/var/services/users/mefccpc/cwp_theme/original/js/modules/
Upload File :
Current File : //usr/local/cwpsrv/var/services/users/mefccpc/cwp_theme/original/js/modules/mongodb_manager.js.twig
console.log();
let database_list = JSON.parse('{{mod.database_list|json_encode|raw}}');
let mongo_db_table = null;
let uchip = null;
$(document).ready(function () {
    {% if mod.isie == 1 %}
    uchip = new $.Uchip();
    {% else %}
    uchip = new Uchip();
    {% endif %}
    // MongolistDatabases();
    {% if mod.mod_installed == true %}
        MongolistDatabases();
        BindUserModal();
    {% endif %}
    $('#_mongo_manage_user_modal_').on('hidden.bs.modal', function () {
        CleanUserModal()
    });
    $('#_mongo_new_db_user_modal_').on('hidden.bs.modal', function () {
        cancelForm()
    });
});
function calculateQuota(){
  let plan = {{mod.mongodb_quota}};
  $('#mongodb_used').text(database_list.length);
  if(plan >= 0){
    if(database_list.length == plan){
      $('#btn_add_mongodb_database_').addClass('disabled');
      $('#btn_add_mongodb_database_').prop('disabled', true)
    }else{
      $('#btn_add_mongodb_database_').removeClass('disabled');
      $('#btn_add_mongodb_database_').prop('disabled', false)
    }
    let percent = ((database_list.length * 100) / plan).toFixed(0);
    $('.stat-percent').text(percent + '%');
    let barcolor = uchip.getBarColor(percent);
    $('#_bar_mongodb_quota_').removeClass();
    $('#_bar_mongodb_quota_').addClass(barcolor);
    $('#_bar_mongodb_quota_').width(percent + '%');
  }
} 
function showUsesrTab(){
    LoadeDBUsers()
}
function cancelForm() {
    $('#_mongo_db_user_select_').val('');
    $('#_mongo_db_user_select_').trigger('change');
    $('#_mongo_db_name_input_').val('');
    $('.select2-container .select2-choice').removeClass('error-field');
    $('#_mongo_db_name_input_').removeClass('error-field');
    $('#_mongo_form_alert_dbname_').text('dbname');
}
function updateDBNameExample(elem) {
    let elem_value = $(elem).val();
    if (elem_value == ''){
        elem_value = 'dbname';
    }
    $('#_mongo_form_alert_dbname_').text(elem_value);
}
function copyPass(elem) {
    let field = document.getElementById(elem);
    field.select();
    document.execCommand('copy');
    noti_bubble('{{langmod.LABMONCOPIEDPASS}}', '{{langmod.LABMONSUCCESS}}', 'success', false, false, '3000', true);
    // noti_bubble('{{lang.LABMONCOPIEDPASS}}', '{{lang.LABMONSUCCESS}}', 'success', 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 generatePasswordRand(length, type) {
    switch (type) {
        case 'num':
            characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            break;
        case 'alf':
            characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            break;
        case 'rand':
            //FOR ↓
            break;
        default:
            characters = "0123456789/-_%*!^><.abcdefghijklmnopqrstuvwxyz/-_%*!^><.ABCDEFGHIJKLMNOPQRSTUVWXYZ/-_%*!^><.";
            break;
    }
    var pass = "";
    for (i = 0; i < length; i++) {
        if (type == 'rand') {
            pass += String.fromCharCode((Math.floor((Math.random() * 100)) % 94) + 33);
        } else {
            pass += characters.charAt(Math.floor(Math.random() * characters.length));
        }
    }
    return pass;
}
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'));
}
{% include("/js/modules/mongodb_manager/databases.js.twig") %}
{% include("/js/modules/mongodb_manager/users.js.twig") %}