Chatnetv1.8.1需要踢/禁解决方案

xdnvmnnf  于 2022-09-17  发布在  Java
关注(0)|答案(1)|浏览(82)

你好
我从Chatnetv1.8.1购买了聊天室脚本。
聊天脚本有很多问题。。。
但主要问题是没有用户禁令解决方案…我不能禁止用户。。。
有人可以在这个脚本中添加BAN解决方案吗。。。

"use strict";   
function getIPLogs(){ 
    var log_table = $('#ip_logs').DataTable( { 
        "processing": true, 
        "serverSide": true, 
        "ajax": { 
        "url": "{{ url('dashboard-ip-logs-data') }}", 
            "type": "POST", 
            "data": function ( d ) { 
                d.csrftoken = '{{ csrf_token_ajax() }}', 
                d.log_type = $('.log_type').val(); 
            } 
        }, 
       "columns": [ 
           { "data": "ip" }, 
           { "data": "country" }, 
           { "data": "device", orderable: false }, 
           { "data": "email" }, 
           { "data": "time" }, 
           { "data": "type" }, 
           { "data": "message" } 
       ] 
    });   
    $('.log_type').change( function() { 
        log_table.draw(); 
    }); 
}   
function getFlagedContent(){ 
    var flaged_table = $('#flaged_content').DataTable( { 
        "processing": true, 
        "serverSide": true, 
        "ajax": { 
        "url": "{{ url('dashboard-flaged-content-data') }}", 
            "type": "POST", 
            "data": function ( d ) { 
                d.csrftoken = '{{ csrf_token_ajax() }}', 
                d.report_type = $('.report_type').val(); 
                d.report_status = $('.report_status').val(); 
            } 
        }, 
       "columns": [ 
            { "data": "id" }, 
            { "data": null, orderable: false, name: 'report_type', render: function ( data, type, row ) { 
                if(data.report_type == 1){ 
                    var report_type = "Chat"; 
                }else if (data.report_type == 2) { 
                    var report_type = "User"; 
                }else if (data.report_type == 3) { 
                    var report_type = "Room"; 
                }else if (data.report_type == 4) { 
                    var report_type = "Group"; 
                }else { 
                    var report_type = ""; 
                } 
                return report_type; 
            }}, 
            { "data": "title"}, 
            { "data": "reported_at" }, 
            { "data": null, orderable: false, name: 'status', render: function ( data, type, row ) { 
                var span_cls = 'flaged-'+data.id; 
                if(data.status == 1){ 
                    var status = '<span class="badge badge-danger '+span_cls+'">{{_("Reported")}}</span>'; 
                }else { 
                    var status = '<span class="badge badge-primary '+span_cls+'">{{_("Solved")}}</span>'; 
                } 
                return status; 
            }}, 
            { "data": null, orderable: false, render: function ( data, type, row ) { 
                var view_button = '<a class="btn btn-xs btn-success flaged-view" data-id="'+data.id+'" data-toggle="tooltip" data-placement="top" title="{{_("View Flaged")}}" >' 
                                        +'<i class="fas fa-eye"></i>' 
                                    +'</a>';   
                return "<div class='nowrap'>"+view_button+"</div>"; 
            }}, 
       ], 
       "order": [[0, 'desc']] 
    });   
    $('.report_type').change( function() { 
        flaged_table.draw(); 
    });   
    $('.report_status').change( function() { 
        flaged_table.draw(); 
    }); 
}   
function getUsers(){ 
    var user_list_table = $('#user_list').DataTable( { 
        "processing": true, 
        "serverSide": true, 
        "ajax": { 
        "url": "{{ url('dashboard-user-list-data') }}", 
            "type": "POST", 
            "data": function ( d ) { 
                d.csrftoken = '{{ csrf_token_ajax() }}'; 
                d.user_type = $('.user_type').val(); 
                d.available_status = $('.available_status').val(); 
            } 
        }, 
       "columns": [ 
            { "data": null, name: 'id', orderable: false, render: function ( data, type, row ) { 
                if({{USER.id}} != data.id){ 
                    return '<input type="checkbox" class="user-selection" name="delete_user_list[]" id="'+data.id+'_user" value="'+data.id+'" >'; 
                }else{ 
                    return ""; 
                } 
            }}, 
            { "data": null, orderable: false, render: function ( data, type, row ) { 
                if(data.avatar){ 
                    var user_avatar = '<div class="user-avatar">' 
                                        +'<img class="img-profile mr-2" src="{{MEDIA_URL}}/avatars/'+data.avatar+'">' 
                                        +'</div>'; 
                }else{ 
                    var user_avatar = '<div class="user-avatar">' 
                                        +'<img class="img-profile mr-2" src="{{STATIC_URL}}/img/user.png">' 
                                        +'</div>'; 
                } 
                return user_avatar; 
            }}, 
            { "data": null, name: 'first_name', render: function ( data, type, row ) { 
                return data.first_name+" "+data.last_name; 
            }}, 
            { "data": "user_name" }, 
            { "data": "email" }, 
            { "data": null, name: 'user_type', render: function ( data, type, row ) { 
                if(data.user_type == 1){ 
                    var user_type = "Admin"; 
                }else if (data.user_type == 2) { 
                    var user_type = "Member"; 
                }else if (data.user_type == 4) { 
                    var user_type = "Moderator"; 
                }else { 
                    var user_type = "Guest"; 
                } 
                return user_type; 
            }}, 
            { "data": null, name: 'available_status', render: function ( data, type, row ) { 
                if(data.available_status == 1){ 
                    var available_status = '<span class="badge badge-primary">{{_("Active")}}</span>'; 
                }else { 
                    var available_status = '<span class="badge badge-warning">{{_("Inactive")}}</span>'; 
                } 
                return available_status; 
            }}, 
            { "data": null, orderable: false, render: function ( data, type, row ) { 
                var button_list = '<a class="btn btn-xs btn-success" href="{{  url("dashboard-user-view") }}?user='+data.id+'"  data-toggle="tooltip" data-placement="top" title="{{_("View User")}}" >' 
                                        +'<i class="fas fa-eye"></i>' 
                                    +'</a>'; 
                if({{USER.id}} != data.id){ 
                    button_list += ' <a class="btn btn-danger btn-xs delete-user" href="javascript:void(0)" data-id="'+data.id+'_user" data-toggle="tooltip" data-placement="top" title="{{_("Delete User")}}"  >' 
                                        +'<i class="fas fa-trash"></i>' 
                                    +'</a>'; 
                } 
                return "<div class='nowrap'>"+button_list+"</div>"; 
            }}, 
       ] 
    });   
    $('.user_type').change( function() { 
        user_list_table.draw(); 
    });   
    $('.available_status').change( function() { 
        user_list_table.draw(); 
    }); 
}   
function getGuests(){ 
    var guest_list_table = $('#guest_list').DataTable( { 
        "processing": true, 
        "serverSide": true, 
        "ajax": { 
        "url": "{{ url('dashboard-guest-list-data') }}", 
            "type": "POST", 
            "data": function ( d ) { 
                d.csrftoken = '{{ csrf_token_ajax() }}'; 
            } 
        }, 
       "columns": [ 
            { "data": null, name: 'id', orderable: false, render: function ( data, type, row ) { 
                if({{USER.id}} != data.id){ 
                    return '<input type="checkbox" class="user-selection" name="delete_user_list[]" id="'+data.id+'_guest" value="'+data.id+'" >'; 
                }else{ 
                    return ""; 
                } 
            }},   
            { "data": 'first_name'}, 
            { "data": "user_name" }, 
            { "data": "last_seen" }, 
            { "data": null, orderable: false, render: function ( data, type, row ) { 
                var button_list = '<a class="btn btn-xs btn-success" href="{{  url("dashboard-user-view") }}?user='+data.id+'"  data-toggle="tooltip" data-placement="top" title="{{_("View Guest")}}" >' 
                                        +'<i class="fas fa-eye"></i>' 
                                    +'</a>';   
                    button_list += ' <a class="btn btn-danger btn-xs delete-user" href="javascript:void(0)" data-id="'+data.id+'_guest" data-toggle="tooltip" data-placement="top" title="{{_("Delete Guest")}}"  >' 
                                        +'<i class="fas fa-trash"></i>' 
                                    +'</a>';   
                return "<div class='nowrap'>"+button_list+"</div>"; 
            }}, 
       ] 
    });   
}   
function messagePreview(obj){ 
    var msg_preview; 
    if(obj.type == 1){ 
        msg_preview = obj.message; 
    }else if(obj.type == 2){ 
        var images = JSON.parse(obj.message); 
        if (images.length >= 2) { 
            msg_preview = "<i class='fa fa-image'></i> "+images.length+" {{_('Images')}}"; 
        }else{ 
            msg_preview = "<i class='fa fa-image'></i> {{_('Image')}}"; 
        }   
    }else if(obj.type == 3){ 
        msg_preview = "<i class='fa fa-image'></i> {{_('GIF')}} "; 
    }else if(obj.type == 4){ 
        msg_preview = "<i class='fa fa-smile'></i> {{_('Sticker')}}"; 
    }else if(obj.type == 5){ 
        var json_msg = JSON.parse(obj.message); 
        msg_preview = linkParse(json_msg.message); 
    }else if(obj.type == 6){ 
        var files = JSON.parse(obj.message); 
        if (files.length >= 2) { 
            msg_preview = "<i class='fa fa-file-alt'></i> "+files.length+" {{_('Files')}}"; 
        }else{ 
            msg_preview = "<i class='fa fa-file-alt'></i> {{_('File')}}"; 
        }   
    }else if(obj.type == 7){ 
        msg_preview = "<i class='fa microphone-alt'></i> {{_('Audio')}} "; 
    }else if(obj.type == 8){ 
        msg_preview = "<i class='fa fa-reply'></i> {{_('Reply Message')}} "; 
    }else if(obj.type == 9){ 
        msg_preview = "<i class='fa fa-share'></i> {{_('Forwarded Message')}} "; 
    } 
    return msg_preview; 
}   
function linkParse(inputText) { 
    var replacedText, replacePattern1, replacePattern2, replacePattern3;   
    //URLs starting with http://, https://, or ftp:// 
    replacePattern1 = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim; 
    replacedText = inputText.replace(replacePattern1, '<a href="$1" target="_blank"><span class="chat-link"><i class="fa fa-link"></i> $1</span></a>');   
    //URLs starting with "www." (without // before it, or it'd re-link the ones done above). 
    replacePattern2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim; 
    replacedText = replacedText.replace(replacePattern2, '$1<a href="http://$2" target="_blank"><span class="chat-link"><i class="fa fa-link"></i> $2</span></a>');   
    //Change email addresses to mailto:: links. 
    replacePattern3 = /(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim; 
    replacedText = replacedText.replace(replacePattern3, '<a href="mailto:$1"><span class="chat-link"><i class="fa fa-link"></i> $1</span></a>');   
    return replacedText; 
}     
$(document).ready(function() { 
    // Initialize summernote wysiwyg editor 
    $('.summernote').summernote(); 
    $(".dob").dateDropdowns(); 
    $('#dataTable').DataTable({ 
        stateSave: true 
    });   
    $(function () { 
        $('[data-toggle="tooltip"]').tooltip() 
    })   
    //Init lazy Load 
    $(function() { 
        $('.lazy').Lazy(); 
    }); 
    var page_reload = false;   
    // Whenever user click on Update button on settings page, call ajax with new settings 
    $(".update-settings").on('click', function(e) { 
        var update_type = $(this).val(); 
        var data = new FormData($('#'+$(this).val())[0]); 
        data.append("update_type", $(this).val()); 
        {{ csrf_token }} 
        if(update_type == "policy-settings"){ 
            data.set('terms_and_conditions', $('#terms_and_conditions').summernote('code')); 
            data.set('privacy_policy', $('#privacy_policy').summernote('code')); 
        } 
        if(update_type == "about-settings"){ 
            data.set('about_us', $('#about_us').summernote('code')); 
        } 
        $('.settings-success').hide(); 
        $('.settings-error').hide(); 
        $.ajax({ 
            url: "{{ url('ajax-update-settings') }}", 
            data: data, 
            type: "POST", 
            dataType: 'json', 
            contentType: false, 
            processData: false, 
            enctype: 'multipart/form-data', 
            beforeSend: function() { 
                loading(".card-"+update_type, "show"); 
            }, 
            success: function(data) { 
                page_reload = true; 
                $('.text-error').remove(); 
                if(data.success) { 
                    toastr["success"]("{{_('Successfully Updated')}}"); 
                }else{ 
                    $.each( data.message, function( key, field_array ) { 
                        $.each( field_array, function( field, error_list ) { 
                            $.each( error_list, function( error_key, error_message ) { 
                                $('[name='+field+']').after(`<small class="form-text text-danger text-error">`+error_message+`</small>`); 
                            }); 
                        }); 
                    }); 
                } 
            },complete: function(){ 
                loading(".card-"+update_type, "hide"); 
            } 
        });   
    });   
    // Generate image instant previews 
    $(document).on("change",".upload-setting-image", function(){ 
        var uploadFile = $(this); 
        var files = !!this.files ? this.files : []; 
        if (!files.length || !window.FileReader) return; // no file selected, or no FileReader support   
        if (/^image/.test( files[0].type)){ // only image file 
            var reader = new FileReader(); // instance of the FileReader 
            reader.readAsDataURL(files[0]); // read the local file 
            reader.onloadend = function(){ // set image data as background of div 
                uploadFile.closest(".row").find(".setting-image-preview").html(""); 
                uploadFile.closest(".row").find(".setting-image-preview").css("background-image", "url("+this.result+")");   
            } 
        } 
    });   
    // Update Chat Room information with ajax 
    $(document).on("click", '.admin-update-chatroom', function(event) { 
        var data = new FormData($('#admin-chatroom-info')[0]); 
        $('.chatroom-success').hide(); 
        $('.chatroom-error').hide(); 
        $.ajax({ 
            url: "{{ url('ajax-update-chatroom') }}", 
            data: data, 
            type: "POST", 
            dataType: 'json', 
            contentType: false, 
            processData: false, 
            enctype: 'multipart/form-data', 
            beforeSend: function() { 
                loading(".card-room-info", "show"); 
            }, 
            success: function(data) { 
                $('.text-error').remove(); 
                if(data.success == "true") { 
                    toastr.success( 
                        "{{_('Successfully Updated')}}", '', 
                        { 
                            timeOut: 3000, 
                            fadeOut: 3000, 
                            onHidden: function () { 
                                window.location.href = "{{ url('dashboard-chatroom-list') }}"; 
                            } 
                        } 
                    ); 
                }else{ 
                    $.each( data.message, function( key, field_array ) { 
                        $.each( field_array, function( field, error_list ) { 
                            $.each( error_list, function( error_key, error_message ) { 
                                $('[name='+field+']').after(`<small class="form-text text-danger text-error">`+error_message+`</small>`); 
                            }); 
                        }); 
                    }); 
                }   
            },complete: function(){ 
                loading(".card-room-info", "hide"); 
            } 
        });   
        $('a[data-toggle="pill"]').on('shown.bs.tab', function (e) {   
            $('.chatroom-success').hide(); 
            $('.chatroom-error').hide(); 
        }); 
    });   
    // Change cover image of chat room preveiw 
    $(document).on("change",".upload-cover-image", function(){ 
        var uploadFile = $(this); 
        var files = !!this.files ? this.files : []; 
        if (!files.length || !window.FileReader) return; // no file selected, or no FileReader support   
        if (/^image/.test( files[0].type)){ // only image file 
            var reader = new FileReader(); // instance of the FileReader 
            reader.readAsDataURL(files[0]); // read the local file 
            reader.onloadend = function(){ // set image data as background of div 
                uploadFile.closest(".row").find(".room-coverimage-preview img").attr("src",this.result); 
            } 
        } 
    });   
    // Change bg  image of chat room preveiw 
    $(document).on("change",".upload-background-image", function(){ 
        var uploadFile = $(this); 
        var files = !!this.files ? this.files : []; 
        if (!files.length || !window.FileReader) return; // no file selected, or no FileReader support   
        if (/^image/.test( files[0].type)){ // only image file 
            var reader = new FileReader(); // instance of the FileReader 
            reader.readAsDataURL(files[0]); // read the local file 
            reader.onloadend = function(){ // set image data as background of div 
                uploadFile.closest(".row").find(".room-bgimage-preview img").attr("src",this.result); 
            } 
        } 
    });   
    // Whenever user click on Update button on social login 
    $(document).on("click",".update-social-login", function(e){ 
        var enable_social_login = $('#enable_social_login').val(); 
        var update_list = []; 
        var delete_list = []; 
        $('tr').not('.hidden-row, .delete-row').each(function(){ 
            var auth_provider = $(this).find('#name').val(); 
            if(auth_provider){ 
                var auth_id = $(this).find('#id_key').val(); 
                var auth_secret = $(this).find('#secret_key').val(); 
                var auth_status = $(this).find('#status').val(); 
                var each_auth = [auth_provider, auth_id, auth_secret, auth_status]; 
                update_list.push(each_auth); 
            } 
        });   
        $('.delete-row').each(function(){ 
            var auth_provider = $(this).find('#name').val(); 
            if(auth_provider){ 
                delete_list.push(auth_provider); 
            } 
        });   
        $.ajax({ 
            url: "{{ url('ajax-social-login-update') }}", 
            data: { 
                csrftoken: '{{ csrf_token_ajax() }}', 
                update_list : JSON.stringify(update_list), 
                delete_list : JSON.stringify(delete_list), 
                enable_social_login : enable_social_login, 
            }, 
            type: "POST", 
            dataType: 'json', 
            beforeSend: function() { 
                loading(".card-social-login-settings", "show"); 
            }, 
            success: function(data) { 
                $('.text-error').remove(); 
                if(data.success) { 
                    toastr["success"]("{{_('Successfully Updated')}}"); 
                }else{ 
                    $.each( data.message, function( key, field_array ) { 
                        $.each( field_array, function( field, error_list ) { 
                            $.each( error_list, function( error_key, error_message ) { 
                                $('[name='+field+']').after(`<small class="form-text text-danger text-error">`+error_message+`</small>`); 
                            }); 
                        }); 
                    }); 
                } 
            },complete: function(){ 
                loading(".card-social-login-settings", "hide"); 
            } 
        });   
    });   
    $(document).on("change",".upload-radio-icon", function(e){ 
        var myImageUrl = URL.createObjectURL(e.target.files[0]); 
        var myImage = new Image(); 
        myImage.src = myImageUrl; 
        var this_image = this;   
        myImage.onload = function(){ 
            var myCanvas = document.createElement('canvas'); 
            $(myCanvas).prop('width', this.width).prop('height', this.height); 
            var ctx = myCanvas.getContext('2d'); 
            ctx.drawImage(myImage, 0, 0); 
            var mydataURL = myCanvas.toDataURL('image/jpg'); 
            $(this_image).parent().parent().find('.radio-icon').prop('src', mydataURL); 
            $(this_image).data('image', mydataURL); 
        } 
    });   
    // Whenever user click on Update button on social login 
    $(document).on("click", ".update-radio", function(e){ 
        var enable_radio = $('#enable_radio').val(); 
        var update_list = []; 
        var delete_list = []; 
        $('tr').not('.hidden-row, .delete-row').each(function(){ 
            var radio_station_name = $(this).find('#name').val(); 
            if(radio_station_name){ 
                var id = $(this).find('#id').val(); 
                var description = $(this).find('#description').val(); 
                var source = $(this).find('#source').val(); 
                var status = $(this).find('#status').val(); 
                var data_image = $(this).find(".upload-radio-icon").data('image'); 
                var each_station = {id, radio_station_name, description, source, status, data_image}; 
                update_list.push(each_station); 
            } 
        });   
        $('.delete-row').each(function(){ 
            var radio_station = $(this).find('#id').val(); 
            if(radio_station){ 
                delete_list.push(radio_station); 
            } 
        });   
        var formData = new FormData(); 
        formData.append('csrftoken', '{{ csrf_token_ajax() }}'); 
        formData.append('update_list', JSON.stringify(update_list)); 
        formData.append('delete_list', JSON.stringify(delete_list)); 
        formData.append('radio', enable_radio);   
        $.ajax({ 
            url: "{{ url('ajax-radio-update') }}", 
            data: formData, 
            contentType: false, 
            processData: false, 
            cache: false, 
            type: "POST", 
            dataType: 'json', 
            beforeSend: function() { 
                loading(".card-radio-settings", "show"); 
            }, 
            success: function(data) { 
                $('.text-error').remove(); 
                if(data.success) { 
                    toastr.success( 
                        "{{_('Successfully updated')}}", '', 
                        { 
                            timeOut: 1000, 
                            fadeOut: 1000, 
                            onHidden: function () { 
                                window.location.reload(); 
                            } 
                        } 
                    ); 
                }else{ 
                    $.each( data.message, function( key, field_array ) { 
                        $.each( field_array, function( field, error_list ) { 
                            $.each( error_list, function( error_key, error_message ) { 
                                $('[name='+field+']').after(`<small class="form-text text-danger text-error">`+error_message+`</small>`); 
                            }); 
                        }); 
                    }); 
                } 
            },complete: function(){ 
                loading(".card-radio-settings", "hide"); 
            } 
        });   
    });   
    // Update already created chat room 
    $(document).on("click", ".edit-chatroom, .new-chatroom", function(){ 
        var edit_id = $(this).attr("data-edit-id"); 
        $.ajax({ 
            url: "{{ url('ajax-get-chatroom') }}", 
            data: { 
                edit_room: edit_id, 
                csrftoken: '{{ csrf_token_ajax() }}' 
            }, 
            type: "POST", 
            beforeSend: function() { 
                loading(".card-room-users", "show"); 
            }, 
            success: function(data) { 
                $('.rooms-modal .modal-body').html(data); 
                $('.rooms-modal').modal('show'); 
                $('#dataTable').DataTable(); 
            }, 
            complete: function(){ 
                loading(".card-room-users", "hide"); 
            } 
        }); 
    });   
    // delete chatroom 
    $(document).on('click', '.delete-chatroom', function(e) { 
        var room_id = this.id; 
        if (confirm('{{_("Are you sure you want to delete this room? This action can not be undone.")}}')) { 
            $.ajax({ 
                url: "{{ url('ajax-delete-chatroom') }}", 
                type: "POST", 
                dataType: 'json', 
                data: { 
                    csrftoken: '{{ csrf_token_ajax() }}', 
                    room_id: room_id 
                }, 
                beforeSend: function() { 
                    loading(".card-room-list","show"); 
                }, 
                success: function(data) { 
                    if(data.success){ 
                        toastr["success"]("{{_('Successfully deleted')}}"); 
                        $('#dataTable').DataTable().row($('#'+room_id).closest('tr')).remove().draw(); 
                    } 
                },complete: function(){ 
                    loading(".card-room-list","hide"); 
                }   
            }); 
        } 
    });   
    // delete chats 
    $(document).on('click', '.delete-chats', function(e) { 
        var room_id = this.id; 
        if (confirm('{{_("Are you sure you want to delete all chats on this room? This action can not be undone.")}}')) { 
            $.ajax({ 
                url: "{{ url('ajax-delete-chats') }}", 
                type: "POST", 
                dataType: 'json', 
                data: { 
                    csrftoken: '{{ csrf_token_ajax() }}', 
                    room_id: room_id 
                }, 
                beforeSend: function() { 
                    loading(".card-room-list","show"); 
                }, 
                success: function(data) { 
                    if(data.success){ 
                        toastr["success"]("{{_('Successfully deleted')}}"); 
                    } 
                },complete: function(){ 
                    loading(".card-room-list","hide"); 
                }   
            }); 
        } 
    });   
    // Update and manage users in chat rooms (kick and unkick) 
    $(document).on("click", ".chatroom-user-restriction", function(){ 
        var result = confirm("Are you sure?"); 
        if (result) { 
            var current_row = $(this).closest('tr'); 
            var room_id = $(this).attr("data-room"); 
            var selected_user = $(this).attr("data-user"); 
            var restriction_type = $(this).attr("data-restriction-type"); 
            $.ajax({ 
                url: "{{ url('ajax-chatroom-user-restriction') }}", 
                data: {room_id : room_id, selected_user : selected_user, restriction_type : restriction_type, 
                csrftoken: '{{ csrf_token_ajax() }}' 
                }, 
                type: "POST", 
                beforeSend: function() { 
                    loading(".card-room-users", "show"); 
                }, 
                success: function(data) { 
                    if(restriction_type == "3"){ 
                        $(current_row).find('.kick-btn').css("display", "none"); 
                        $(current_row).find('.unkick-btn').css("display", "inline-block"); 
                    }else if (restriction_type == "1") { 
                        $(current_row).find('.kick-btn').css("display", "inline-block"); 
                        $(current_row).find('.unkick-btn').css("display", "none"); 
                    }   
                    if(data.success == "true") { 
                        $('.chatroom-success').html(data.message); 
                        $('.chatroom-success').show(); 
                    }else{ 
                        $('.chatroom-error').html(data.message); 
                        $('.chatroom-error').show(); 
                    } 
                }, 
                complete: function(){ 
                    loading(".card-room-users", "hide"); 
                } 
            }); 
        } 
    });   
    // Whenever user click on Update button on language page, call ajax with new settings 
    $(document).on("click", ".update-language", function(){ 
        var data = new FormData($('#language-form')[0]); 
        $('.language-error').hide(); 
        $.ajax({ 
            url: "{{ url('ajax-language-update') }}", 
            data: data, 
            type: "POST", 
            cache: false, 
            contentType: false, 
            processData: false, 
            beforeSend: function() { 
                loading(".card-language", "show"); 
            }, 
            success: function(data) { 
                page_reload = true; 
                $('.text-error').remove(); 
                if(data.success) { 
                    toastr.success( 
                        "{{_('Successfully Updated')}}", '', 
                        { 
                            timeOut: 3000, 
                            fadeOut: 3000, 
                            onHidden: function () { 
                                window.location.href = "{{ url('dashboard-languages') }}"; 
                            } 
                        } 
                    ); 
                }else{ 
                    $.each( data.message, function( key, field_array ) { 
                        $.each( field_array, function( field, error_list ) { 
                            $.each( error_list, function( error_key, error_message ) { 
                                $('[name='+field+']').after(`<small class="form-text text-danger text-error">`+error_message+`</small>`); 
                            }); 
                        }); 
                    }); 
                } 
            },complete: function(){ 
                loading(".card-language", "hide"); 
            } 
        });   
    });   
    // Whenever user click on Update translation on translation page 
    $(document).on("click", ".update-translation", function(){ 
        var data = new FormData($('#lang-translation')[0]); 
        $.ajax({ 
            url: "{{ url('ajax-update-translation') }}", 
            data: data, 
            type: "POST", 
            cache: false, 
            contentType: false, 
            processData: false, 
            beforeSend: function() { 
                loading(".card-language", "show"); 
            }, 
            success: function(data) { 
                page_reload = true; 
                $('.text-error').remove(); 
                if(data.success) { 
                    toastr.success( 
                        "{{_('Successfully Updated')}}", '', 
                        { 
                            timeOut: 3000, 
                            fadeOut: 3000, 
                        } 
                    ); 
                }else{ 
                    if ($.isArray(data.message)) { 
                        $.each( data.message, function( key, field_array ) { 
                            $.each( field_array, function( field, error_list ) { 
                                $.each( error_list, function( error_key, error_message ) { 
                                    $('[name='+field+']').after(`<small class="form-text text-danger text-error">`+error_message+`</small>`); 
                                }); 
                            }); 
                        }); 
                    } else { 
                        toastr["warning"](data.message); 
                    } 
                } 
            },complete: function(){ 
                loading(".card-language", "hide"); 
            } 
        });   
    });   
    // Update and manage users in chat rooms (kick and unkick) 
    $(document).on("click", ".delete-language", function(){ 
        var result = confirm("Are you sure?"); 
        if (result) { 
            var lang = $(this).attr("data-lang"); 
            $.ajax({ 
                url: "{{ url('ajax-language-delete') }}", 
                data: {lang : lang, csrftoken: '{{ csrf_token_ajax() }}'}, 
                type: "POST", 
                beforeSend: function() { 
                    loading(".card-language-list", "show"); 
                }, 
                success: function(data) { 
                    if(data.success == true) { 
                        toastr.success( 
                            "{{_('Successfully deleted')}}", '', 
                            { 
                                timeOut: 3000, 
                                fadeOut: 3000, 
                                onHidden: function () { 
                                    window.location.href = "{{ url('dashboard-languages') }}"; 
                                } 
                            } 
                        ); 
                    }else{ 
                        $('.language-error').html(data.message); 
                        $('.language-error').show(); 
                    } 
                }, 
                complete: function(){ 
                    loading(".card-language-list", "hide"); 
                } 
            }); 
        } 
    });   
    $(document).on('change', '#is_protected', function() { 
        if(this.checked) { 
            $('.pin-area').show(); 
            $('.public-view-area').hide(); 
        }else{ 
            $('.pin-area').hide(); 
            $('.public-view-area').show(); 
        } 
    });   
    $(document).on('change', '#user_list_type', function() { 
        if($(this).val() == 3) { 
            $('.user-list-auth-roles').show(); 
        }else{ 
            $('.user-list-auth-roles').hide(); 
        } 
    });   
    $(document).on('change', '#single_room_mode', function() { 
        if($(this).val() == 1) { 
            $('.default-room-area').show(); 
        }else{ 
            $('.default-room-area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_terms', function() { 
        if($(this).val() == 1) { 
            $('.enable-terms-area').show(); 
        }else{ 
            $('.enable-terms-area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_privacy', function() { 
        if($(this).val() == 1) { 
            $('.enable-privacy-area').show(); 
        }else{ 
            $('.enable-privacy-area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_about', function() { 
        if($(this).val() == 1) { 
            $('.enable-about-area').show(); 
        }else{ 
            $('.enable-about-area').hide(); 
        } 
    });   
    $(document).on('change', '#profanity_filter', function() { 
        if($(this).val() == 1) { 
            $('.enable-profanity-area').show(); 
        }else{ 
            $('.enable-profanity-area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_files', function() { 
        if($(this).val() == 1) { 
            $('.enable-filelist-area').show(); 
        }else{ 
            $('.enable-filelist-area').hide(); 
        } 
    });   
    $(document).on('change', '#domain_filter', function() { 
        if($(this).val() == 1) { 
            $('.domain-filter-area').show(); 
        }else{ 
            $('.domain-filter-area').hide(); 
        } 
    });   
    $(document).on('change', '#sso_enabled', function() { 
        if($(this).val() == 1) { 
            $('.sso-setting-area').show(); 
        }else{ 
            $('.sso-setting-area').hide(); 
        } 
    });   
    $(document).on('change', '#cloud_storage', function() { 
        if($(this).val() == 1) { 
            $('.cloud-storage-area').show(); 
        }else{ 
            $('.cloud-storage-area').hide(); 
        } 
    });   
    $(document).on('change', '.auth-provider-name', function() { 
        var selected_auth_src = "{{ STATIC_URL }}/img/auth_icons/"+$(this).val()+".png"; 
        $(this).parent().parent().find('.auth-provider-icon').attr('src', selected_auth_src); 
    });   
    $(document).on('change', '#enable_contact', function() { 
        if($(this).val() == 1) { 
            $('.enable-contact-area').show(); 
        }else{ 
            $('.enable-contact-area').hide(); 
        } 
    });   
    $(document).on('change', '#cookie_consent_popup', function() { 
        if($(this).val() == 1) { 
            $('.cookie-message-area').show(); 
        }else{ 
            $('.cookie-message-area').hide(); 
        } 
    });   
    $(document).on('change', '#theme', function() { 
        if($(this).val() == 'custom') { 
            $('.custom-colors').show(); 
        }else{ 
            $('.custom-colors').hide(); 
        } 
    });   
    $(document).on('change', '#push_notifications', function() { 
        if($(this).val() == 1) { 
            $('.push-notification-area').show(); 
        }else{ 
            $('.push-notification-area').hide(); 
        } 
    });   
    $(document).on('change', '#pwa_enabled', function() { 
        if($(this).val() == 1) { 
            $('.enable-pwa-area').show(); 
        }else{ 
            $('.enable-pwa-area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_social_login', function() { 
        if($(this).val() == 1) { 
            $('.enable-social-login-area').show(); 
        }else{ 
            $('.enable-social-login-area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_radio', function() { 
        if($(this).val() == 1) { 
            $('.enable-radio-area').show(); 
        }else{ 
            $('.enable-radio-area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_recaptcha', function() { 
        if($(this).val() == 1) { 
            $('.recaptcha-area').show(); 
        }else{ 
            $('.recaptcha-area').hide(); 
        } 
    });   
    $(document).on('change', '#recaptcha_version', function() { 
        if($(this).val() == 3) { 
            $('.recaptcha_v3_pass_score_area').show(); 
        }else{ 
            $('.recaptcha_v3_pass_score_area').hide(); 
        } 
    });   
    $(document).on('change', '#reg_autodetect_country', function() { 
        if($(this).val() == 1) { 
            $('.geoip_api_endpoint_area').show(); 
        }else{ 
            $('.geoip_api_endpoint_area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_ip_blacklist', function() { 
        if($(this).val() == 1) { 
            $('.ip-blacklist-area').show(); 
        }else{ 
            $('.ip-blacklist-area').hide(); 
        } 
    });   
    $(document).on('change', '#enable_multiple_languages', function() { 
        $('.update-settings').click(); 
    });   
    $(document).on('change', '#push_provider', function() { 
        $('.push-provider-area').hide(); 
        $('.'+$(this).val()+'-area').show(); 
    });   
    $(document).on('change', '.trans-lang-switch, .trans-section-switch', function() { 
        var lang = $('.trans-lang-switch').val(); 
        var section = $('.trans-section-switch').val(); 
        window.location.href = "{{ url('dashboard-language-translation') }}?lang="+lang+"&section="+section; 
    });   
    $(document).on('change', '.check_all', function() { 
        $('.user-selection, .check_all').prop('checked', this.checked); 
    });   
    $(document).on('click', '.delete-user', function(e) { 
        var selected = $(this).attr('data-id'); 
        $('#'+selected).prop('checked', 'checked'); 
        $(".delete-selected-user").trigger("click"); 
    });   
    $(document).on('click', '.delete-selected-user', function(e) { 
        var result = confirm("Are you sure?"); 
        if (result) { 
            var data = new FormData($('#user-list')[0]); 
            var url = "{{url('ajax-delete-users')}}"; 
            $.ajax({ 
                url: url, 
                data: data, 
                type: "POST", 
                dataType: 'json', 
                cache: false, 
                contentType: false, 
                processData: false, 
                success: function(data) { 
                    if (data.success == true) { 
                        toastr.success( 
                            "{{_('Successfully deleted')}}", '', 
                            { 
                                timeOut: 1500, 
                                fadeOut: 1500, 
                                onHidden: function () { 
                                    window.location.reload(); 
                                } 
                            } 
                        ); 
                    } else { 
                        toastr["error"]("{{_('Something went wrong')}}"); 
                    } 
                }, 
            }); 
        } 
    });   
    $('.color-picker').on('input', function() { 
        $(this).siblings("input[type=text]").val($(this).val()); 
    });   
    $('.color-input').on('input', function() { 
        $(this).siblings('.color-picker').val($(this).val()); 
    });   
    $(".save-profile").on('click', function(e) { 
        var data = new FormData($('#profile-form')[0]); 
        var url = "{{url('ajax-save-profile')}}"; 
        $('.profile-error').hide(); 
        $.ajax({ 
            url: url, 
            data: data, 
            type: "POST", 
            dataType: 'json', 
            cache: false, 
            contentType: false, 
            processData: false, 
            enctype: 'multipart/form-data', 
            success: function(data) {   
                $('.text-error').remove(); 
                if (data.success == true) { 
                    toastr["success"]("{{_('Successfully Updated')}}"); 
                } else { 
                    if ($.isArray(data.message)) { 
                        $.each(data.message, function(key, field_array) { 
                            $.each(field_array, function(field, error_list) { 
                                $.each(error_list, function(error_key, error_message) { 
                                    $('[name=' + field + ']').after(`<small class="form-text text-danger text-error">` + error_message + `</small>`); 
                                }); 
                            }); 
                        }); 
                    } else { 
                        $('.profile-error').html(data.message); 
                        $('.profile-error').show(); 
                    } 
                } 
            }, 
        }); 
    });   
    $(".add-profile").on('click', function(e) { 
        var data = new FormData($('#profile-form')[0]); 
        var url = "{{url('ajax-add-profile')}}"; 
        $('.profile-error').hide(); 
        $.ajax({ 
            url: url, 
            data: data, 
            type: "POST", 
            dataType: 'json', 
            cache: false, 
            contentType: false, 
            processData: false, 
            enctype: 'multipart/form-data', 
            success: function(data) {   
                $('.text-error').remove(); 
                if (data.success == true) { 
                    toastr.success( 
                        "{{_('Successfully added')}}", '', 
                        { 
                            timeOut: 3000, 
                            fadeOut: 3000, 
                            onHidden: function () { 
                                window.location.href = "{{ url('dashboard-user-list') }}"; 
                            } 
                        } 
                    ); 
                } else { 
                    if ($.isArray(data.message)) { 
                        $.each(data.message, function(key, field_array) { 
                            $.each(field_array, function(field, error_list) { 
                                $.each(error_list, function(error_key, error_message) { 
                                    $('[name=' + field + ']').after(`<small class="form-text text-danger text-error">` + error_message + `</small>`); 
                                }); 
                            }); 
                        }); 
                    } else { 
                        $('.profile-error').html(data.message); 
                        $('.profile-error').show(); 
                    } 
                } 
            }, 
        }); 
    });     
    // profile image upload 
    $(document).on("change", ".upload-image", function() { 
        var uploadFile = $(this); 
        var files = !!this.files ? this.files : []; 
        if (!files.length || !window.FileReader) return; // no file selected, or no FileReader support   
        if (/^image/.test(files[0].type)) { // only image file 
            var reader = new FileReader(); // instance of the FileReader 
            reader.readAsDataURL(files[0]); // read the local file 
            reader.onloadend = function() { // set image data as background of div 
                uploadFile.closest(".imgUp").find('.imagePreview').html(""); 
                uploadFile.closest(".imgUp").find('.imagePreview').css("background-image", "url(" + this.result + ")"); 
            } 
        } 
    });   
    $(document).on("click", ".add-new-auth-provider", function() { 
        var $tr = $('.hidden-row').clone(); 
        $tr.removeClass('hidden-row'); 
        $('.auth-provider-list').append($tr); 
    });   
    $(document).on("click", ".delete-auth-provider", function() { 
        $(this).closest('tr').addClass('delete-row'); 
    });   
    $(document).on("click", ".add-new-radio", function() { 
        var $tr = $('.hidden-row').clone(); 
        $tr.removeClass('hidden-row'); 
        $('.radio-list').append($tr); 
    });   
    $(document).on("click", ".delete-radio", function() { 
        $(this).closest('tr').addClass('delete-row'); 
    });   
    $('.select2').select2({ 
        theme: 'bootstrap4' 
    });   
    // Update and manage users in chat rooms (kick and unkick) 
    $(document).on("click", ".chatroom-user-mod", function(){ 
        var result = confirm("Are you sure?"); 
        if (result) { 
            var current_row = $(this).closest('tr'); 
            var room_id = $('#room_id').val(); 
            var selected_user = $(this).attr("data-user"); 
            var mod_type = $(this).attr("data-mod-type"); 
            $.ajax({ 
                url: "{{ url('ajax-chatroom-user-mod') }}", 
                data: { 
                    room_id : room_id, 
                    selected_user : selected_user, 
                    mod_type: mod_type, 
                    csrftoken: '{{ csrf_token_ajax() }}' 
                }, 
                type: "POST", 
                beforeSend: function() { 
                    loading(".card-room-users", "show"); 
                }, 
                success: function(data) { 
                    if(mod_type == "1"){ 
                        $(current_row).find('.add-mod').css("display", "none"); 
                        $(current_row).find('.remove-mod').css("display", "inline-block"); 
                    }else if (mod_type == "0") { 
                        $(current_row).find('.add-mod').css("display", "inline-block"); 
                        $(current_row).find('.remove-mod').css("display", "none"); 
                    }   
                    if(data.success == "true") { 
                        toastr["success"](data.message); 
                    }else{ 
                        toastr["error"](data.message); 
                    } 
                }, 
                complete: function(){ 
                    loading(".card-room-users", "hide"); 
                } 
            }); 
        } 
    });   
    // Update already created chat room 
    $(document).on("click", ".flaged-view", function(){ 
        var flaged_id = $(this).attr("data-id"); 
        $.ajax({ 
            url: "{{ url('dashboard-flaged-view') }}", 
            data: { 
                flaged_id: flaged_id, 
                csrftoken: '{{ csrf_token_ajax() }}' 
            }, 
            type: "POST", 
            beforeSend: function() { 
                loading(".flaged-view-html", "show"); 
            }, 
            success: function(data) { 
                if(data.report_type == 1){ 
                    var message_preview = messagePreview(data.flaged_for); 
                    if(data.chat_type == 1){ 
                        if(data.flaged_for.user_1 == data.reported_by){ 
                            var to_user = data.flaged_for.user_2; 
                        }else{ 
                            var to_user = data.flaged_for.user_1; 
                        } 
                        var chat_with = '&chat-with='+to_user; 
                    }else{ 
                        var chat_with = ""; 
                    }   
                    var chat_view = ` <a class="btn btn-xs btn-success" onclick="window.open('{{  url('chat-room', {'chatroomslug':'`+data.flaged_for.slug+`'}) }}?view-as=`+data.reported_by+`&view-chat=`+data.flaged_for.id+chat_with+`','popUpWindow','height=768,width=1024,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no, status=yes');" href="javascript:void(0)"  data-toggle="tooltip" data-placement="top" title="View Chats"  > 
                                            {{_("View", 2)}} 
                                        </a>`; 
                    var report_section = message_preview + chat_view;   
                    if(data.flaged_for.status == 3){ 
                        var delete_btn = ' <a href="javascript:void(0)" class="btn btn-sm btn-success disable" data-toggle="tooltip" data-placement="top" title="{{_("Message Deleted")}}" >' 
                                            +'{{_("Message Deleted", 2)}}' 
                                        +'</a>'; 
                    }else{ 
                        var delete_btn = ' <a href="javascript:void(0)" class="btn btn-sm btn-danger flaged-delete-chat" data-id="'+data.flaged_for.id+'" data-chat-type="'+data.chat_type+'" data-toggle="tooltip" data-placement="top" title="{{_("Delete Message")}}" >' 
                                            +'{{_("Delete Message", 2)}}' 
                                        +'</a>'; 
                    } 
                }else if(data.report_type == 2){ 
                    var user_view = ' <a class="btn btn-xs btn-success" target="_blank" href="{{  url("dashboard-user-view") }}?user='+data.flaged_for.id+'"  data-toggle="tooltip" data-placement="top" title="{{_("View User")}}" >' 
                                        +'{{_("View", 2)}}' 
                                    +'</a>'; 
                    var report_section = data.flaged_for.first_name + " " + data.flaged_for.last_name + user_view; 
                    if(data.flaged_for.available_status == 2){ 
                        var delete_btn = ' <a href="javascript:void(0)" class="btn btn-sm btn-success disable" data-toggle="tooltip" data-placement="top" title="{{_("User Deactivated")}}" >' 
                                            +'{{_("User Deactivated", 2)}}' 
                                        +'</a>'; 
                    }else{ 
                        var delete_btn = ' <a  href="javascript:void(0)" class="btn btn-sm btn-danger flaged-delete-user" data-id="'+data.flaged_for.id+'" data-toggle="tooltip" data-placement="top" title="{{_("Deactivate User")}}" >' 
                                            +'{{_("Deactivate User", 2)}}' 
                                        +'</a>'; 
                    }   
                }else if(data.report_type == 3){ 
                    var room_view = ' <a class="btn btn-xs btn-success" target="_blank" href="{{  url("dashboard-chatroom-edit") }}?edit_room='+data.flaged_for.id+'"  data-toggle="tooltip" data-placement="top" title="{{_("View Room")}}" >' 
                                        +'{{_("View", 2)}}' 
                                    +'</a>'; 
                    var report_section = data.flaged_for.name + room_view; 
                    if(data.flaged_for.status == 2){ 
                        var delete_btn = ' <a href="javascript:void(0)" class="btn btn-sm btn-success disable" data-toggle="tooltip" data-placement="top" title="{{_("Room Deactivated")}}" >' 
                                            +'{{_("Room Deactivated", 2)}}' 
                                        +'</a>'; 
                    }else{ 
                        var delete_btn = ' <a href="javascript:void(0)" class="btn btn-sm btn-danger flaged-delete-room" data-id="'+data.flaged_for.id+'" data-toggle="tooltip" data-placement="top" title="{{_("Deactivate Room")}}" >' 
                                            +'{{_("Deactivate Room", 2)}}' 
                                        +'</a>'; 
                    } 
                }else if(data.report_type == 4){ 
                    var report_section = data.flaged_for.name; 
                    var delete_btn = ""; 
                }else{ 
                    var report_section = ""; 
                    var delete_btn = ""; 
                }   
                if(data.status == 2){ 
                    var solve_btn = ' <a href="javascript:void(0)" class="btn btn-sm btn-info disable" data-toggle="tooltip" data-placement="top" title="{{_("Solved")}}" >' 
                                        +'{{_("Solved", 2)}}' 
                                    +'</a>'; 
                }else{ 
                    var solve_btn = ' <a href="javascript:void(0)" class="btn btn-sm btn-primary flaged-resolve" data-flaged-id="'+data.id+'" data-toggle="tooltip" data-placement="top" title="{{_("Resolve")}}" >' 
                                        +'{{_("Resolve", 2)}}' 
                                    +'</a>'; 
                }   
                $('.report-section-title').html(data.report_type_text); 
                $('.report-section').html(report_section); 
                $('.report-reason').html(data.report_reason_title); 
                $('.report-comment').html(data.report_comment); 
                $('.report-flaged-by').html(data.first_name + " " + data.last_name); 
                $('.report-flaged-at').html(data.reported_at); 
                $('.flaged-deactive').html(delete_btn); 
                $('.flaged-solve').html(solve_btn); 
                $('.report-head').html("#" + data.id + " - " + data.report_type_text + " " + "{{_('Flaged', 2)}}"); 
                $('.flaged-view-html').show(); 
            }, 
            complete: function(){ 
                loading(".flaged-view-html", "hide"); 
            } 
        }); 
    });   
    $(document).on("click", ".flaged-delete-chat", function(){ 
        if (confirm('{{_("Are you sure?", 2)}}')) { 
            var chat_id = $(this).data('id'); 
            var chat_type = $(this).data('chat-type'); 
            if(chat_type == 1){ 
                chat_type = "private"; 
            }else{ 
                chat_type = "group"; 
            }   
            $.ajax({ 
                url: "{{ url('ajax-delete-message') }}", 
                type: "POST", 
                dataType: 'json', 
                data: { 
                    csrftoken: '{{ csrf_token_ajax() }}', 
                    message_id: chat_id, 
                    chat_type: chat_type 
                }, 
                beforeSend: function() { 
                    loading(".flaged-delete-chat","show"); 
                }, 
                success: function(data) { 
                    if(data.success){ 
                        $('.flaged-delete-chat').addClass('btn-success').addClass('disable').removeClass('btn-danger'); 
                        $('.flaged-delete-chat').html('{{_("Message Deleted", 2)}}'); 
                        $('.flaged-delete-chat').attr('title', '{{_("Message Deleted", 2)}}'); 
                    }else{ 
                        toastr.error(data.message); 
                    } 
                },complete: function(){ 
                    loading(".flaged-delete-chat","hide"); 
                }   
            }); 
        } 
    });   
    $(document).on("click", ".flaged-delete-user", function(){ 
        if (confirm('{{_("Are you sure?", 2)}}')) { 
            var user_id = $(this).data('id');   
            $.ajax({ 
                url: "{{ url('ajax-deactivate-user') }}", 
                type: "POST", 
                dataType: 'json', 
                data: { 
                    csrftoken: '{{ csrf_token_ajax() }}', 
                    user_id: user_id 
                }, 
                beforeSend: function() { 
                    loading(".flaged-delete-user","show"); 
                }, 
                success: function(data) { 
                    if(data.success){ 
                        $('.flaged-delete-user').addClass('btn-success').addClass('disable').removeClass('btn-danger'); 
                        $('.flaged-delete-user').html('{{_("User Deactivated", 2)}}'); 
                        $('.flaged-delete-user').attr('title', '{{_("User Deactivated", 2)}}'); 
                    }else{ 
                        toastr.error(data.message); 
                    } 
                },complete: function(){ 
                    loading(".flaged-delete-user","hide"); 
                }   
            }); 
        } 
    });   
    $(document).on("click", ".flaged-delete-room", function(){ 
        if (confirm('{{_("Are you sure?", 2)}}')) { 
            var room_id = $(this).data('id');   
            $.ajax({ 
                url: "{{ url('ajax-deactivate-room') }}", 
                type: "POST", 
                dataType: 'json', 
                data: { 
                    csrftoken: '{{ csrf_token_ajax() }}', 
                    room_id: room_id 
                }, 
                beforeSend: function() { 
                    loading(".flaged-delete-room","show"); 
                }, 
                success: function(data) { 
                    if(data.success){ 
                        $('.flaged-delete-room').addClass('btn-success').addClass('disable').removeClass('btn-danger'); 
                        $('.flaged-delete-room').html('{{_("Room Deactivated", 2)}}'); 
                        $('.flaged-delete-room').attr('title', '{{_("Room Deactivated", 2)}}'); 
                    }else{ 
                        toastr.error(data.message); 
                    } 
                },complete: function(){ 
                    loading(".flaged-delete-room","hide"); 
                }   
            }); 
        } 
    });   
    $(document).on("click", ".flaged-resolve", function(){ 
        if (confirm('{{_("Are you sure?", 2)}}')) { 
            var flaged_id = $(this).data('flaged-id');   
            $.ajax({ 
                url: "{{ url('dashboard-flaged-resolve') }}", 
                type: "POST", 
                dataType: 'json', 
                data: { 
                    csrftoken: '{{ csrf_token_ajax() }}', 
                    flaged_id: flaged_id 
                }, 
                beforeSend: function() { 
                    loading(".flaged-resolve","show"); 
                }, 
                success: function(data) { 
                    if(data.success){ 
                        $('.flaged-resolve').addClass('btn-info').addClass('disable').removeClass('btn-primary'); 
                        $('.flaged-resolve').html('{{_("Solved", 2)}}'); 
                        $('.flaged-resolve').attr('title', '{{_("Solved", 2)}}');   
                        $('.flaged-'+flaged_id).addClass('badge-primary').removeClass('badge-danger'); 
                        $('.flaged-'+flaged_id).html('{{_("Solved", 2)}}');   
                    }else{ 
                        toastr.error(data.message); 
                    } 
                },complete: function(){ 
                    loading(".flaged-resolve","hide"); 
                }   
            }); 
        } 
    });   
    // remove chat room bg 
    $(document).on("click", '.room-bgimage-remove', function() { 
        var room_id = $('#room_id').val(); 
        $.ajax({ 
            url: "{{ url('ajax-chatroom-remove-bg') }}", 
            data: { 
                room_id : room_id, 
                csrftoken: '{{ csrf_token_ajax() }}' 
            }, 
            type: "POST", 
            success: function(data) { 
                if(data.success){ 
                    toastr.success(data.message); 
                    $('#background_image').val(''); 
                    $('.room-bgimage-preview img').attr('src', "{{STATIC_URL}}/img/chatbg.png"); 
                }else{ 
                    toastr.error(data.message); 
                } 
            } 
        }); 
    });   
    // remove setting 
    $(document).on("click", '.remove-setting', function(e) { 
        e.preventDefault(); 
        if (confirm('{{_("Are you sure?", 2)}}')) { 
            var setting = $(this).data('setting'); 
            if (setting) { 
                $.ajax({ 
                    url: "{{ url('ajax-remove-setting') }}", 
                    data: { 
                        setting : setting, 
                        csrftoken: '{{ csrf_token_ajax() }}' 
                    }, 
                    type: "POST", 
                    success: function(data) { 
                        if(data.success){ 
                            toastr.success( 
                                "{{_('Successfully updated')}}", '', 
                                { 
                                    timeOut: 1000, 
                                    fadeOut: 1000, 
                                    onHidden: function () { 
                                        window.location.reload(); 
                                    } 
                                } 
                            );   
                        }else{ 
                            toastr.error( 
                                data.message, '', 
                                { 
                                    timeOut: 1000, 
                                    fadeOut: 1000, 
                                    onHidden: function () { 
                                        window.location.reload(); 
                                    } 
                                } 
                            ); 
                        } 
                    } 
                }); 
            } 
        } 
    });   
});      
e4yzc0pl

e4yzc0pl1#

嗨,
我从Chatnetv1.8.1购买了聊天室脚本。
聊天脚本有很多问题。。。
但主要问题是没有用户禁令解决方案…我不能禁止用户。。。
有人可以在这个脚本中添加BAN解决方案吗。。。
阅读张贴指南https://bytes.com/faq.php?faq=posting_guidelines

相关问题