403Webshell
Server IP : 23.254.227.96  /  Your IP : 216.73.216.120
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/postgresql_manager/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/local/cwpsrv/var/services/users/cwp_theme/original/js/modules/postgresql_manager/users.js.twig
let users_db_list = JSON.parse('{{mod.pgre_user_list|json_encode|raw}}');
function ShowDeleteUserConfirm(elem, footprint) {
    let uname = /^user_/.test(footprint) ? $('.' + footprint).data('uname') : $('#_pgre_user_db_item_' + footprint + '_').data('uname');
    $('#_pgre_user_deleting_footprint_').val(footprint);
    $('#_pgresql_user_to_remove_').text(uname);
    $('#_pgre_delete_user_modal_').modal('show');
}
function OpenModaluser(parent_ancestor) {
    let uname = parent_ancestor.data('uname');
    let dbname = parent_ancestor.data('dbname');
    $('#_pgre_user_form_').show();
    $('#_pgre_existing_user_form_').hide();
    $('#_pgre_toexisting_user_chg_btn_').hide();
    $('#_pgre_user_modal_dbname_').val(dbname);
    $('#_pgresql_username_wrapper_').hide();
    $('#_pgresql_manage_username_wrapper_').show();
    $('#_pgresql_manage_username_wrapper_ span').text(uname);
    $('#_pgresql_modal_user_title_').text('{{langmod.LABPGRE39}}');
    $('#_pgre_manage_user_modal_').modal('show');
    $('#_pgresql_modal_user_save_btn_').unbind('click').click(function () {
        pgreSendUserInfo('edit', parent_ancestor);
    });
}
function manageUserFromList(elem) {
    OpenModaluser($(elem).closest('.pgresql-user-list-item'));
}
function manageUsermodal(elem) {
    OpenModaluser($(elem).closest('.pgre-userdb-item-wrapper'));
}
function showUserFormInner() {
    let elem_show = '#_pgre_existing_user_form_';
    let elem_hide = '#_pgre_user_form_';
    if ($(elem_show).is(':visible')) {
        elem_hide = '#_pgre_existing_user_form_';
        elem_show = '#_pgre_user_form_';
    }
    uchip.slideToggle(elem_show, elem_hide);
}
function renderUserDBItem(user, dbname, users_length, footprint, uindex) {
    return '<div class="db_list_user_' + user.uname + ' pgre-userdb-item-wrapper' + (uindex > 1 ? ' pgre-userdb-item-hidden' : '') + '" id="_pgre_user_db_item_' + footprint + '_" data-dbname="' + dbname + '" data-uname="' + user.uname + '">' +
            '<div class="pgre-userdb-item' + (users_length === 1 ? ' pgre-userdb-item-alone' : '') + '">' +
                '<span>' + user.uname + '</span> ' +
                // '<button class="btn btn-success btn-xs" title="Change password" data-toggle="tooltip" data-placement="top"><i class="fa fa-lock"></i></button>' +
                '<div>' +
                    '<button class="btn btn-success btn-xs" title="{{langmod.LABPGRE35}}" data-toggle="tooltip" data-placement="top" onclick="manageUsermodal(this)"><i class="fa fa-cogs"></i></button>' +
                    '<button class="btn btn-warning btn-xs" title="{{langmod.LABPGRE36}}" data-toggle="tooltip" data-placement="top" onclick="ShowDeleteUserConfirm(this,\'' + footprint + '\')"><i class="fa fa-trash"></i></button>' +
                '</div>' +
            '</div>' +
        '</div>';
}
function UpdateUserInfoInUI(user_info, anchor) {
    if (user_info.type === 'edit') {
        anchor.data('role', user_info.user_data.role);
        let role_display = parseRoleDisplay(user_info.user_data.role);
        // anchor.find('.pgresql-user-role-container').text(role_display);
        $('.user_item_' + user_info.user_data.dbname + '_' + user_info.user_data.uname + ' .users-list-role-container').text(role_display);
        $('.user_item_role_' + user_info.user_data.dbname + '_' + user_info.user_data.uname + '.pgresql-user-role-container').text(role_display);
    } else {
        let users_container = $('#_pgre_sql_item_' + anchor + ' .pgre-userdb-items');
        let dbname = $('#_pgre_sql_item_' + anchor).data('name');
        let user_items = users_container.find('.pgre-userdb-item-wrapper');
        let uindex = user_items.length;
        let user = {
            uname: user_info.user_data.uname,
            role: user_info.user_data.role,
            dbname: user_info.user_data.dbname
        };
        if (users_db_list !== null) {
            let exists = users_db_list.find(function(user){
                return user.name == user_info.user_data.uname;
            });
            if (exists === undefined){
                users_db_list.push({
                    name: user_info.user_data.uname,
                    database: user_info.user_data.dbname,
                    role: user_info.user_data.role
                });
            }
        }
        let html_user = renderUserDBItem(user, dbname, uindex + 1, anchor + '_' + uindex, uindex);
        if (uindex == 0) {
            users_container.find('.pgre-userdb-not-users').remove();
            users_container.prepend(html_user);
            users_container.find('.pgre-userdb-item').addClass('pgre-userdb-item-alone');
        } else {
            user_items.last().after(html_user);
            users_container.find('.pgre-userdb-item-alone').removeClass('pgre-userdb-item-alone');
            if (users_container.find('.pgre-userdb-item-hidden').is(':visible')) {
                $('#_pgre_user_db_item_' + anchor + '_' + uindex + '_').slideDown('fast');
            }
            if (uindex >= 2) {
                users_container.find('.pgresql-users-display-control').slideDown('fast');
            }

        }
        $('[data-toggle="tooltip"]').tooltip();
    }
}
function BindUserModal() {
    let optpass1 = {
        ui: {
            container: "#pass_container",
            showVerdictsInsideProgressBar: true,
            viewports: {
                progress: ".pwstrength_viewport_progress"
            }
        },
        common: {
            debug: false,
        }
    }
    $('#_user_new_pass_field').pwstrength(optpass1);
}
function showMoreOrLessUsers(elem, less) {
    let toShow = 'vless-users-btn';
    let toHide = 'vmore-users-btn';
    let parent_items_hidden = $(elem).closest('.pgre-userdb-items').find('.pgre-userdb-item-hidden');
    if (less != undefined) {
        toHide = 'vless-users-btn';
        toShow = 'vmore-users-btn';
        parent_items_hidden.slideUp('fast');
    } else {
        parent_items_hidden.slideDown('fast');
    }
    let control_div = $(elem).parent();
    control_div.find('.' + toHide).hide();
    control_div.find('.' + toShow).show();
}
function parseRoleDisplay(role) {
    if (role == 'read') {
        return '{{langmod.LABPGRE37}}';
    } else {
        return '{{langmod.LABPGRE38}}';
    }
}
function LoadeDBUsers() {
    if (users_db_list === null){
        uchip.slideToggle('#_mongdb_users_loader_', '#_mongdb_users_list_wrapper_');
        getpgresqlUsersList(function(resp_data){
            users_db_list = resp_data.list;
            renderUsersList();
            uchip.slideToggle('#_mongdb_users_list_wrapper_', '#_mongdb_users_loader_');
        }, function(){
            $('#_mongdb_users_list_wrapper_').html('<div class="pgresql-user-list-error">' +
                                                        '<i class="fa fa-ban text-danger"></i>' +
                                                        '<h5>{{langmod.LABPGRE32}}</h5>' +
                                                        '<button class="btn btn-success">' +
                                                            '<i class="fa fa-refresh"></i> {{langmod.LABPGRE33}}'+
                                                        '</button>' +
                                                    '</div>');
            uchip.slideToggle('#_mongdb_users_list_wrapper_', '#_mongdb_users_loader_');
        });
    }else{
        renderUsersList();
    }
}
// function pgresqlUserDeletionConfirmed() {
//     let footprint = $('#_pgre_user_deleting_footprint_').val();
//     let db_user_item = /^user_/.test(footprint) ? $('.' + footprint) : $('#_pgre_user_db_item_' + footprint + '_');
//     let delete_button = db_user_item.find('.btn-warning');
//     db_user_item.addClass('deleting_tr');
//     uchip.handleButton(delete_button, 'fa-trash');
//     db_user_item.find('.btn').prop('disabled', true);
//     $('#_pgre_delete_user_modal_').modal('hide');
//     let user_data = {
//         uname: db_user_item.data('uname'),
//         dbname: db_user_item.data('dbname')
//     };
//     sendpgresqlUserDeletion(user_data, function () {
//         function cleanUserList(user_data) {
//             let user_item_list = $('.user_item_' + user_data.dbname + '_' + user_data.uname);
//             if (user_item_list.length > 0) {
//                 user_item_list.slideUp('fast', function () {
//                     users_db_table.row(this).remove().draw();
//                 });
//             }
//         }
//         if (/^user_/.test(footprint)) {
//             db_user_item = $('.db_list_user_' + user_data.dbname + '_' + user_data.uname);
//         }
//         db_user_item.slideUp('fast', function () {
//             let parent_ancestor = db_user_item.parent();
//             if (db_user_item.hasClass('pgre-userdb-item-hidden')) {
//                 db_user_item.remove();
//                 if (parent_ancestor.find('.pgre-userdb-item-hidden').length === 0) {
//                     parent_ancestor.find('.pgresql-users-display-control').fadeOut('fast');
//                 }
//             } else {
//                 let next_item = db_user_item.parent().find('.pgre-userdb-item-hidden').first();
//                 if (next_item.length === 0) {
//                     db_user_item.remove();
//                     let item_wrappers = parent_ancestor.find('.pgre-userdb-item-wrapper');
//                     if (item_wrappers.length === 1) {
//                         item_wrappers.find(".pgre-userdb-item").animate({ height: "5rem" });
//                     }
//                 } else if (next_item.is(':visible')) {
//                     next_item.removeClass('pgre-userdb-item-hidden');
//                     setUserItemVisibleEvent(next_item, db_user_item);
//                 } else {
//                     next_item.slideDown('fast', function () {
//                         setUserItemVisibleEvent(next_item, db_user_item);
//                     });
//                 }
//             }
//             let item_wrappers_2 = parent_ancestor.find('.pgre-userdb-item-wrapper');
//             if (item_wrappers_2.length == 0 ){
//                 parent_ancestor.prepend('<div class="pgre-userdb-not-users"><h5>{{langmod.LABPGRE55}}</h5></div>');
                
//             }
//             if (users_db_list !== null){
//                 let user_index = users_db_list.findIndex(function(user){
//                     return user.name == user_data.uname && user.database == user_data.dbname;
//                 });
//                 if (user_index >= 0){
//                     users_db_list.splice(user_index, 1);
//                 }
//             }
//             // parent_ancestor.find('.pgre-userdb-item-alone').removeClass('pgre-userdb-item-alone');
//             // pgre-userdb-item 
//             cleanUserList(user_data);
//         });
//         noti_bubble('{{langmod.LABPGRE66}}', '{{langmod.LABPGRE18}}', 'success', false, false, '3000', true);
//     }, function () {
//         db_user_item.removeClass('deleting_tr');
//         uchip.handleButton(delete_button, 'fa-trash', true);
//         db_user_item.find('.btn').prop('disabled', false);
//     });
// }
function ShowDeleteUserConfirmList(elem, footprint) {
    let uname = /^user_/.test(footprint) ? $('.' + footprint).data('uname') : $('#_pgre_user_db_item_' + footprint + '_').data('uname');
    $('#_pgre_user_deleting_footprint_').val(footprint);
    $('#_pgresql_user_to_remove_2_').text(uname);

    $('#_pgre_delete_user_modal_2_').modal('show');
}
function pgresqlUserDeletionConfirmed(wholeuser) {
    let footprint = $('#_pgre_user_deleting_footprint_').val();
    let db_user_item = /^user_/.test(footprint) ? $('.' + footprint) : $('#_pgre_user_db_item_' + footprint + '_');
    let delete_button = db_user_item.find('.btn-warning');
    db_user_item.addClass('deleting_tr');
    uchip.handleButton(delete_button, 'fa-trash');
    db_user_item.find('.btn').prop('disabled', true);
    // $(wholeuser === true ? '#_pgre_delete_user_modal_').modal('hide');
    $(wholeuser === true ? '#_pgre_delete_user_modal_2_' : '#_pgre_delete_user_modal_').modal('hide');
    let user_data = {
        uname: db_user_item.data('uname'),
        dbname: db_user_item.data('dbname')
    };
    //let type = $('#_user_deletion_type_user').is(':checked') && wholeuser !== true ? 'usertodb' : 'wholeuser';
    let type = wholeuser === true || (wholeuser !== true && !$('#_user_deletion_type_user').is(':checked')) ? 'wholeuser' : 'usertodb';
    sendpgresqlUserDeletion(user_data, type, function () {
        function cleanUserList(user_data) {
            let user_item_list = $('.user_item_' + user_data.uname);
            if (user_item_list.length > 0) {
                user_item_list.slideUp('fast', function () {
                    users_db_table.row(this).remove().draw();
                });
            }
        }
        function DeleteFromMap(){
            let user_index = users_db_list.findIndex(function (user) {
                return user.name == user_data.uname;
            });
            if (user_index > -1) {
                users_db_list.splice(user_index, 1);
            }
        }
        if (/^user_/.test(footprint)) {
            db_user_item = $('.db_list_user_' + user_data.uname);
            DeleteFromMap();
            cleanUserList(user_data);
        } else if (type == 'wholeuser') {
            db_user_item = $('.db_list_user_' + user_data.uname);
            DeleteFromMap();
        }
        console.log('db_user_item.length', db_user_item.length);
        db_user_item.each(function(){
            $(this).slideUp('fast', function () {
                let parent_ancestor = $(this).closest('.pgre-userdb-items');
                // let parent_ancestor = $(this).parent();
                if ($(this).hasClass('pgre-userdb-item-hidden')) {
                    $(this).remove();
                    if (parent_ancestor.find('.pgre-userdb-item-hidden').length === 0) {
                        parent_ancestor.find('.pgresql-users-display-control').fadeOut('fast');
                    }
                } else {
                    let next_item = $(this).parent().find('.pgre-userdb-item-hidden').first();
                    if (next_item.length === 0) {
                        let parent_ancestor = $(this).parent();
                        $(this).remove();
                        let item_wrappers = parent_ancestor.find('.pgre-userdb-item-wrapper');
                        if (item_wrappers.length === 1) {
                            item_wrappers.find(".pgre-userdb-item").animate({ height: "4.2rem" });
                        }
                    } else if (next_item.is(':visible')) {
                        next_item.removeClass('pgre-userdb-item-hidden');
                        setUserItemVisibleEvent(next_item, $(this));
                    } else {
                        next_item.slideDown('fast', function () {
                            setUserItemVisibleEvent(next_item, $(this));
                        });
                    }
                }

                let item_wrappers_2 = parent_ancestor.find('.pgre-userdb-item-wrapper');

                if (item_wrappers_2.length == 0) {
                    // console.log('item_wrappers_2', item_wrappers_2);
                    // console.log('item_wrappers_2.lenght', item_wrappers_2.length);
                    // console.log('parent_ancestor', parent_ancestor.attr('id'));
                    parent_ancestor.prepend('<div class="pgre-userdb-not-users"><h5>{{langmod.LABPGRE55}}</h5></div>');
                }
                if (users_db_list !== null) {
                    let user_index = users_db_list.findIndex(function (user) {
                        return user.name == user_data.uname && user.database == user_data.dbname;
                    });
                    if (user_index >= 0) {
                        users_db_list.splice(user_index, 1);
                    }
                }
            });
        });
        
        noti_bubble('{{langmod.LABPGRE66}}', '{{langmod.LABPGRE18}}', 'success', false, false, '3000', true);
    }, function () {
        db_user_item.removeClass('deleting_tr');
        uchip.handleButton(delete_button, 'fa-trash', true);
        db_user_item.find('.btn').prop('disabled', false);
    });
}
function setUserItemVisibleEvent(elem, db_user_item) {
    $(elem).removeClass('pgre-userdb-item-hidden');
    if (db_user_item.parent().find('.pgre-userdb-item-hidden').length === 0) {
        db_user_item.parent().find('.pgresql-users-display-control').fadeOut('fast');
    }
    db_user_item.remove();
}
function renderUsersList(){
    let html_list = '';
    if (users_db_list.length > 0) {
        let html_content = '';
        index = 0;
        users_db_list.forEach(function (user) {
            let footprint = 'user_item_' + user.name;
            html_content += '<tr id="_pgre_sql_user_item_' + index + '" class="pgresql-user-list-item  ' + footprint + '" data-role="' + user.role + '" data-dbname="' + user.database + '" data-uname="' + user.name + '">' +
                                '<td>' + user.name + '</td>' +
                                // '<td>' + user.database + '</td>' +
                                // '<td><span class="users-list-role-container">' + parseRoleDisplay(user.role) + '</span></td>' +
                                '<td width="90">' +
                                    '<div class="pgre-sql-actions">' +
                                        '<button title="{{langmod.LABPGRE39}}" data-toggle="tooltip" data-placement="top" onclick="manageUserFromList(this)" class="btn btn-success btn-md"><i class="fa fa-cogs"></i></button>' +
                                        '<button class="btn btn-warning btn-md" data-name="' + user.name + '" data-user="' + user.user + '" title="{{langmod.LABPGRE40}}" data-toggle="tooltip" data-placement="top" onclick="ShowDeleteUserConfirmList(this,\'' + footprint + '\')"><i class="fa fa-trash"></i></button>' +
                                    '</div>' +
                                '</td>' +
                            '</tr>';
            index++;
        });
        html_list = '<table class="table pgresql_users_table table-striped table-bordered table-hover" style="width:100% !important;">' +
                        '<thead>' +
                            '<tr role="row">' +
                                '<th>{{langmod.LABPGRE41}}</th>' +
                                // '<th>{{langmod.LABPGRE42}}</th>' +
                                // '<th>{{langmod.LABPGRE43}}</th>' +
                                '<th width="90">{{langmod.LABPGRE44}}</th>' +
                            '</tr>' +
                        '</thead>' +
                        '<tbody id="contenttr">' +
                            html_content +
                        '</tbody>' +
                    '</table>';
        $('#_pgresql_users_list_wrapper_').html(html_list);
        users_db_table = $('.pgresql_users_table').removeAttr('width').DataTable({
            columnDefs: [
                { width: 50, targets: 1 }
            ],
            "bAutoWidth": false,
        });
    } else {
        html_list = '<div class="pgresql-empty-list-database">' +
                        '<h4>{{langmod.LABPGRE45}}</h4>' +
                        // '<button class="btn btn-success" onclick="addNewNodeJSApp()">' +
                        //     '<i class="fa fa-plus"></i> ' +
                        //     '{{langmod.LABNODEJS115}}'
                        // '</button>' +
                    '</div>';
        $('#_pgresql_users_list_wrapper_').html(html_list);
    }
    $('[data-toggle="tooltip"]').tooltip();
}
function CleanUserModal() {
    $('#_pgresql_username_input_').val('');
    $('#_user_role').val('');
    $('#_user_new_pass_field').val('');
    $('#_user_new_pass_field').pwstrength("forceUpdate");
    $('#_user_new_pass_field_confirm').val('');
    $('#_pgre_manage_user_modal_ .error-field').removeClass('error-field');
}
function LockModalUserButtons(status) {
    $('#_pgresql_modal_user_cancel_btn_').prop('disabled', status);
    uchip.handleButton('#_pgresql_modal_user_save_btn_', 'fa-flopp-o', status === true ? undefined : false);
}
function AddpgresqlUser(elem, index) {
    let owner = $(elem).data('owner');
    let dbname = $(elem).data('dbname');
    let option_select = '<select class="form-control" id="_add_existing_user_select_">' +
        '<option value="">Select user</option>';
    let have_users = false;
    users_db_list.sort(function (a, b) {
        if (a.name < b.name) { return -1; }
        if (a.name > b.name) { return 1; }
        return 0;
    })
    users_db_list.forEach(function (user) {
        // let index_user = database_list[index].users.findIndex(function(userdb){
        //     return userdb.uname == user.name;
        // });
        if ($(elem).closest('.pgresql-db-list-item').find('.pgre-userdb-items .db_list_user_' + user.name).length == 0) {
            option_select += '<option value="' + user.name + '">' + user.name + '</option>';
            have_users = true;
        }
    });
    if (have_users) {
        $('#_pgre_user_form_').hide();
        $('#_pgre_existing_user_form_').show();
    } else {
        $('#_pgre_user_form_').show();
        $('#_pgre_existing_user_form_').hide();
    }
    option_select += '</select>';
    $('#_add_existing_user_select_wrapper_').html(option_select);
    $("#_add_existing_user_select_").select2({
        placeholder: "Select user",
        allowClear: true
    });
    $('#_pgre_toexisting_user_chg_btn_').show();
    $('#_pgre_user_modal_dbname_').val(dbname);
    $('#_pgresql_modal_user_title_').text('Adding user to  database: ' + dbname);
    $('#_pgresql_manage_username_wrapper_').hide();
    $('#_pgresql_username_wrapper_').show();
    $('#_pgresql_user_modal_sysowner_').text('{{users}}' + '_');
    $('#_pgre_manage_user_modal_').modal('show');
    $('#_pgresql_modal_user_save_btn_').unbind('click').click(function () {
        pgreSendUserInfo('new', index);
    });
}
function pgreValidateuserForm() {
    let valid = true;
    let uname = $('#_pgresql_username_input_').val();
    let dbname = $('#_pgre_user_modal_dbname_').val();
    let error_message = '{{langmod.LABPGRE30}}';
    let is_new_user = $('#_pgresql_username_input_').is(':visible') || $('#_pgre_existing_user_form_').is(':visible');
    if (is_new_user) {
        if ($('#_pgre_existing_user_form_').is(':visible')) {
            uname = $('#_add_existing_user_select_').val();
        } else {
            if (/^[A-Za-z0-9\_\-]+$/.test(uname) === false) {
                valid = false;
                $('#_pgresql_username_input_').addClass('error-field');
            } else {
                uname = $('#_pgresql_user_modal_sysowner_').text() + uname;
                $('#_pgresql_username_input_').removeClass('error-field');
            }
            if ($('#_user_new_pass_field').val() == '') {
                valid = false;
                $('#_user_new_pass_field').addClass('error-field');
            } else {
                $('#_user_new_pass_field').removeClass('error-field');
            }
        }
    } else {
        uname = $('#_pgresql_manage_username_wrapper_ span').text();
    }
    // if ($('#_user_role').val() == '') {
    //     valid = false;
    //     $('#_user_role').addClass('error-field');
    // } else {
    //     $('#_user_role').removeClass('error-field');
    // }
    if ($('#_user_new_pass_field').val() != $('#_user_new_pass_field_confirm').val()) {
        $('#_user_new_pass_field').addClass('error-field');
        $('#_user_new_pass_field_confirm').addClass('error-field');
        error_message = valid === true ? '{{langmod.LABPGRE31}}' : error_message + '<br /><b>{{langmod.LABPGRE31}}</b>';
        valid = false;
    } else if (!is_new_user || (is_new_user && $('#_user_new_pass_field').val() != '')) {
        $('#_user_new_pass_field').removeClass('error-field');
        $('#_user_new_pass_field_confirm').removeClass('error-field');
    }
    if (valid === true) {
        return {
            dbname: dbname,
            uname: uname,
            role: $('#_user_role').val(),
            pass: $('#_user_new_pass_field').val(),
        };
    } else {
        noti_bubble(error_message, '{{langmod.LABPGRE20}}', 'error', false, false, '5000', true);
        return false;
    }
}
function pgreSendUserInfo(type, anchor) {
    let user_data = pgreValidateuserForm();
    if (user_data) {
        LockModalUserButtons(true);
        if ($('#_pgre_existing_user_form_').is(':visible')) {
            sendpgresqlAddUserToDatabase(JSON.stringify(user_data), function () {
                UpdateUserInfoInUI({
                    user_data: user_data,
                    type: 'new'
                }, anchor);
                LockModalUserButtons(false);
                $('#_pgre_manage_user_modal_').modal('hide');
                noti_bubble('User added to database successfully.', '{{langmod.LABPGRESUCCESS}}', 'success', false, false, '3000', true);
            }, function () {
                LockModalUserButtons(false);
            });
        }else{
            sendpgresqlUserInfo(JSON.stringify(user_data), type, function () {
                UpdateUserInfoInUI({
                    user_data: user_data,
                    type: type
                }, anchor);
                LockModalUserButtons(false);
                $('#_pgre_manage_user_modal_').modal('hide');
                noti_bubble('{{langmod.LABPGRE34}}', '{{langmod.LABPGRESUCCESS}}', 'success', false, false, '3000', true);
            }, function () {
                LockModalUserButtons(false);
            });
        }
        
    }
}
function sendpgresqlUserDeletion(user_data, type, success, cleaner) {
    uchip.call('module=postgresql_manager&acc=delete_pgresql_user', {
        data: 'uname=' + user_data.uname + '&dbname=' + user_data.dbname + '&type=' + type,
        callback: function (response) {
            
            if (response.hasOwnProperty('result') && response.result === 'success') {
                success(response);
            } else {
                let message_error = '{{langmod.LABPGRE23}}';
                if (response.hasOwnProperty('code')) {
                    if (response.code == 1) {
                        message_error = '{{langmod.LABPGRE46}}';
                    } else if (response.code == 2) {
                        message_error = '{{langmod.LABPGRE47}}';
                    } else if (response.code == 3) {
                        message_error = '{{langmod.LABPGRE48}}';
                    }
                }
                noti_bubble(message_error, '{{langmod.LABPGRE20}}', 'error', false, false, '5000', true);
                cleaner();
            }
        }
    });
}
function sendpgresqlAddUserToDatabase(user_data, success, cleaner) {
    uchip.call('module=postgresql_manager&acc=add_user_to_db', {
        data: 'user_data=' + user_data,
        callback: function (response) {
            
            if (response.hasOwnProperty('result') && response.result === 'success') {
                success(response);
            } else {
                // let message_error = '{{langmod.LABPGRE23}}';
                let message_error = '{{langmod.LABPGRE23}}';
                
                if (response.hasOwnProperty('code')) {
                    if (response.code == 1) {
                        message_error = '{{langmod.LABPGRE49}}';
                    } else if (response.code == 2) {
                        message_error = '{{langmod.LABPGRE51}}';
                    } else if (response.code == 3) {
                        message_error = '{{langmod.LABPGRE52}}';
                    } else if (response.code == 5) {
                        message_error = '{{langmod.LABPGRE48}}';
                    } else if (response.code == 4) {
                        message_error = '{{langmod.LABPGRE53}}';
                    } else if (response.code == 6) {
                        message_error = '{{langmod.LABPGRE52}}';
                    }
                }
                noti_bubble(message_error, '{{langmod.LABPGRE20}}', 'error', false, false, '4000', true);
                cleaner();
            }
        }
    });
}
function sendpgresqlUserInfo(user_data, type, success, cleaner) {
    uchip.call('module=postgresql_manager&acc=save_user_info', {
        data: 'user_data=' + user_data + '&type=' + type,
        callback: function (response) {
            
            if (response.hasOwnProperty('result') && response.result === 'success') {
                success(response);
            } else {
                // let message_error = '{{langmod.LABPGRE23}}';
                let message_error = '{{langmod.LABPGRE23}}';
                
                if (response.hasOwnProperty('code')) {
                    if (response.code == 1) {
                        message_error = '{{langmod.LABPGRE49}}';
                    } else if (response.code == 2) {
                        message_error = '{{langmod.LABPGRE51}}';
                    } else if (response.code == 3) {
                        message_error = '{{langmod.LABPGRE47}}';
                    } else if (response.code == 5) {
                        message_error = '{{langmod.LABPGRE53}}';
                    } else if (response.code == 4) {
                        message_error = '{{langmod.LABPGRE53}}';
                    } else if (response.code == 6) {
                        message_error = '{{langmod.LABPGRE54}}';
                    }
                }
                noti_bubble(message_error, '{{langmod.LABPGRE20}}', 'error', false, false, '4000', true);
                cleaner();
            }
        }
    });
}
function getpgresqlUsersList(success, cleaner) {
    uchip.call('module=postgresql_manager&acc=users_list', {
        callback: function(response){
            
            if (response.hasOwnProperty('result') && response.result === 'success') {
                success(response);
            } else {
                let message_error = '{{langmod.LABPGRE23}}';
                noti_bubble(message_error, '{{langmod.LABPGRE20}}', 'error', false, false, '5000', true);
                cleaner();
            }
        }
    });
}

Youez - 2016 - github.com/yon3zu
LinuXploit