HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/tokld.top/wp-content/plugins/migiksv/admin/js/protect-uploads-passwords.js
(function($) {
    'use strict';

    $(document).ready(function() {
        // Handle adding new passwords
        $('.protect-uploads-passwords .add-password-button').on('click', function(e) {
            e.preventDefault();
            var container = $(this).closest('.protect-uploads-passwords');
            var label = container.find('input[name="protect_uploads_password_label"]').val();
            var password = container.find('input[name="protect_uploads_password"]').val();
            var attachmentId = container.data('attachment-id');

            if (!label || !password) {
                alert(protectUploadsPasswords.i18n.enterBothFields);
                return;
            }

            $(this).prop('disabled', true).text(protectUploadsPasswords.i18n.addingPassword);

            $.ajax({
                url: protectUploadsPasswords.ajaxurl,
                type: 'POST',
                data: {
                    action: 'protect_uploads_add_password',
                    nonce: protectUploadsPasswords.nonce,
                    attachment_id: attachmentId,
                    label: label,
                    password: password
                },
                success: function(response) {
                    if (response.success) {
                        // Clear inputs
                        container.find('input[name="protect_uploads_password_label"]').val('');
                        container.find('input[name="protect_uploads_password"]').val('');
                        
                        // Update password list
                        var passwordList = '';
                        if (response.data.passwords.length) {
                            passwordList += '<h4>' + protectUploadsPasswords.i18n.existingPasswords + '</h4>';
                            passwordList += '<ul>';
                            response.data.passwords.forEach(function(pass) {
                                passwordList += '<li>' + pass.password_label;
                                passwordList += ' <a href="#" class="delete-password" data-id="' + pass.id + '">';
                                passwordList += protectUploadsPasswords.i18n.delete + '</a></li>';
                            });
                            passwordList += '</ul>';
                        }
                        container.find('.existing-passwords').html(passwordList);
                    } else {
                        alert(response.data.message);
                    }
                },
                error: function() {
                    alert('Error adding password');
                },
                complete: function() {
                    container.find('.add-password-button').prop('disabled', false)
                        .text(protectUploadsPasswords.i18n.addPassword);
                }
            });
        });

        // Handle deleting passwords
        $(document).on('click', '.protect-uploads-passwords .delete-password', function(e) {
            e.preventDefault();
            if (!confirm(protectUploadsPasswords.i18n.confirmDelete)) {
                return;
            }

            var link = $(this);
            var container = link.closest('.protect-uploads-passwords');
            var attachmentId = container.data('attachment-id');
            var passwordId = link.data('id');

            link.text(protectUploadsPasswords.i18n.deletingPassword);

            $.ajax({
                url: protectUploadsPasswords.ajaxurl,
                type: 'POST',
                data: {
                    action: 'protect_uploads_delete_password',
                    nonce: protectUploadsPasswords.nonce,
                    attachment_id: attachmentId,
                    password_id: passwordId
                },
                success: function(response) {
                    if (response.success) {
                        // Update password list
                        var passwordList = '';
                        if (response.data.passwords.length) {
                            passwordList += '<h4>' + protectUploadsPasswords.i18n.existingPasswords + '</h4>';
                            passwordList += '<ul>';
                            response.data.passwords.forEach(function(pass) {
                                passwordList += '<li>' + pass.password_label;
                                passwordList += ' <a href="#" class="delete-password" data-id="' + pass.id + '">';
                                passwordList += protectUploadsPasswords.i18n.delete + '</a></li>';
                            });
                            passwordList += '</ul>';
                        }
                        container.find('.existing-passwords').html(passwordList);
                    } else {
                        alert(response.data.message);
                    }
                },
                error: function() {
                    alert('Error deleting password');
                }
            });
        });
    });
})(jQuery);