HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/prevent-direct-access/includes/setting.php
<?php
/**
 *
 * PDA Menu and settings
 *
 */

/**
 * Create Setting Menu
 */
function pda_menu() {
    add_menu_page('Prevent Direct Access Plugin Settings', 'Prevent Direct Access', 'administrator', __FILE__, 'pda_settings' , 'dashicons-unlock' );
}

/**
 * Manage PDA Setting
 */
function pda_settings() {

    // Check current user role and access
    if(!current_user_can('manage_options')) {
        wp_die( __('You do not have sufficient permissions to access this page.', 'prevent-direct-access') );
    }
    ?>

    <div class="wrap">
        <style>
            .notice.pda-notice {
                border-left-color: #0194F3 !important;
                padding: 20px;
            }
            .rtl .notice.pda-notice {
                border-right-color: #0194F3 !important;
            }
            .notice.pda-notice .pda-notice-inner {
                display: table;
                width: 100%;
            }
            .notice.pda-notice .pda-notice-inner .pda-notice-icon,
            .notice.pda-notice .pda-notice-inner .pda-notice-content,
            .notice.pda-notice .pda-notice-inner .pda-install-now {
                display: table-cell;
                vertical-align: middle;
            }
            .notice.pda-notice .pda-notice-icon {
                color: #0194F3;
                font-size: 50px;
                width: 50px;
            }
            .notice.pda-notice .pda-notice-content {
                padding: 0 20px;
            }
            .notice.pda-notice p {
                padding: 0;
                margin: 0;
            }
            .notice.pda-notice h3 {
                margin: 0 0 5px;
            }
            .notice.pda-notice .pda-install-now {
                text-align: center;
            }
            .notice.pda-notice .pda-install-now .pda-install-button {
                background-color: #0194F3;
                color: #fff;
                border-color: #0da8f3;
                box-shadow: 0 1px 0 #0da8f3;
                padding: 5px 14px;
                height: auto;
                line-height: 20px;
                text-transform: capitalize;
                float: right;
                font-size: 1rem;
            }
            .notice.pda-notice .pda-install-now .pda-install-button i {
                padding-right: 5px;
            }
            .rtl .notice.pda-notice .pda-install-now .pda-install-button i {
                padding-right: 0;
                padding-left: 5px;
            }
            .notice.pda-notice .pda-install-now .pda-install-button:hover {
                background-color: #0da8f3;
            }
            .notice.pda-notice .pda-install-now .pda-install-button:active {
                box-shadow: inset 0 1px 0 #0da8f3;
                transform: translateY(1px);
            }
            @media (max-width: 767px) {
                .notice.pda-notice {
                    padding: 10px;
                }
                .notice.pda-notice .pda-notice-inner {
                    display: block;
                }
                .notice.pda-notice .pda-notice-inner .pda-notice-content {
                    display: block;
                    padding: 0;
                }
                .notice.pda-notice .pda-notice-inner .pda-notice-icon,
                .notice.pda-notice .pda-notice-inner .pda-install-now {
                    display: none;
                }
            }
        </style>
        <div class="notice updated is-dismissible pda-notice pda-install-elementor">
            <div class="pda-notice-inner">
                <div class="pda-notice-icon">
                    <img width="64" height="64" src="https://ps.w.org/prevent-direct-access/assets/icon-128x128.jpg?rev=1300338" alt="PDA Logo" />
                </div>
                <div class="pda-notice-content">
                    <h3><?php _e( 'Do you like Prevent Direct Access? You\'ll love its Gold version!'); ?></h3>
                    <p><?php _e( 'Please upgrade to ' ); ?>
                        <a target="_blank" href="<?php echo sprintf(constant( 'PDA_HOME_PAGE' ), 'user-website' , "settings-notification-link") ?>" target="_blank"><?php _e( 'Gold version' ); ?></a> to change default settings!</p>
                </div>
                <div class="pda-install-now">
                    <a class="button pda-install-button" target="_blank" href="<?php echo sprintf(constant( 'PDA_HOME_PAGE' ), 'user-website', 'settings-notification-cta') ?>"><i class="dashicons dashicons-download"></i><?php _e( 'Get it now!' ); ?></a>
                </div>
            </div>
        </div>
        <form method="post" action="options.php">
            <?php
            settings_fields( 'pda_options' );
            do_settings_sections( 'pda-settings' );
            ?>
            <p class="submit">
                <input disabled type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
            </p>
        </form>
    </div>
    <?php
}

//Comment due to change to new setting page
//add_action('admin_init', 'register_pda_settings');

/**
 * Register PDA Setting
 */
function register_pda_settings() {
    register_setting('pda_options', 'pda_options', 'pda_options_validate');
    add_settings_section('pda_defaults', 'Default Settings', 'defaults_output', 'pda-settings');
    add_settings_field('pda_enable_remote_log', 'Enable remote log?', 'pda_enable_remote_log', 'pda-settings', 'pda_defaults');
    add_settings_field('pda_view_by_logged_user', 'Apply for logged users?', 'pda_view_by_logged_user', 'pda-settings', 'pda_defaults');
    add_settings_field('pda_prefix_url', 'Prefix url', 'pda_prefix_url', 'pda-settings', 'pda_defaults');
    add_settings_field('pda_auto_protect_new_files', 'Auto protect new uploaded files?', 'pda_enable_remote_log', 'pda-settings', 'pda_defaults');
}

/**
 * PDA Prefic URL
 */
function pda_prefix_url() {
    echo "<input id='prefix_url' name='prefix_url' type='text' value='private' />";
}

/**
 * PDA View by Logged user
 */
function pda_view_by_logged_user() {
    echo "<input id='view_by_logged_user' name='pda_options[view_by_logged_user]' type='checkbox' />";
}

/**
 * PDA Enable remote log
 */
function pda_enable_remote_log() {
    echo "<input id='pda_enable_remote_log' type='checkbox' />";
}

/* Set defaults */
register_activation_hook(plugin_dir_path( __FILE__ ) . 'prevent-direct-access.php', 'pda_add_defaults_fn');

/**
 * PDA Add Default Function
 */
function pda_add_defaults_fn() {
    $tmp = get_option('pda_options');
    if(!is_array($tmp)) {
        $arr = array(
            "view_by_logged_user" => false
        );
        update_option('pda_options', $arr);
    }
}