'; add_options_page( __( 'Advanced Scrollbar Settings', 'advanced-scrollbar' ), // Page title __( 'Advanced Scrollbar Settings', 'advanced-scrollbar' ), // Menu title 'manage_options', // Capability 'advanced-scrollbar', // Menu slug [$this, 'dashboardPage'] // Callback ); } function dashboardPage(){ ?>
CASB_VERSION, "dirUrl" => CASB_DIR_URL, "nonce" => wp_create_nonce("casb_scrollbar_nc"), "ajaxUrl" => admin_url('admin-ajax.php'), "deleteDataOnUninstall" => (bool) get_option( 'casb_delete_data_on_uninstall', false ), "uninstallNonce" => wp_create_nonce( 'casb_uninstall_nc' ), ]) ); ?>>
' . __( 'Settings', 'advanced-scrollbar' ) . ''; array_unshift( $links, $settings_link ); return $links; } /** * AJAX handler to save the "Delete Data on Uninstall" preference. */ function casb_save_uninstall_option() { if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce'] ) ), 'casb_uninstall_nc' ) ) { wp_send_json_error( 'Invalid request' ); } if ( ! current_user_can( 'manage_options' ) ) { wp_send_json_error( 'Unauthorized' ); } $enabled = isset( $_POST['enabled'] ) && sanitize_text_field( wp_unslash( $_POST['enabled'] ) ) === 'true'; update_option( 'casb_delete_data_on_uninstall', $enabled ); wp_send_json_success( [ 'enabled' => $enabled, 'message' => $enabled ? __( 'Data will be deleted when the plugin is uninstalled.', 'advanced-scrollbar' ) : __( 'Data will be preserved when the plugin is uninstalled.', 'advanced-scrollbar' ), ] ); } } new CASBAdmin; }