disable-adminbar-menus.php
7 months ago
hide-notice.php
7 months ago
index.php
8 years ago
restore-notice.php
7 months ago
disable-adminbar-menus.php
41 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Ajax action to disabled adminbar menus. |
| 4 | */ |
| 5 | |
| 6 | if ( ! defined( 'ABSPATH' ) ) { |
| 7 | exit; |
| 8 | } |
| 9 | |
| 10 | /** |
| 11 | * Disbaled adminbar items. |
| 12 | */ |
| 13 | function dan_ajax_disabled_adminbar_menus() { |
| 14 | $menu_ID = WDN_Plugin::app()->request->post( 'menu_id', null, 'sanitize_key' ); |
| 15 | $enable_menu = WDN_Plugin::app()->request->post( 'enable_menu', "false" ) === "true"; |
| 16 | |
| 17 | check_admin_referer( 'enable_adminbar_item_' . $menu_ID ); |
| 18 | |
| 19 | if ( ! current_user_can( 'manage_options' ) ) { |
| 20 | wp_die( - 1 ); |
| 21 | } |
| 22 | |
| 23 | $items = WDN_Plugin::app()->getPopulateOption( 'hidden_adminbar_items', [] ); |
| 24 | |
| 25 | if ( ! $enable_menu ) { |
| 26 | if ( ! isset( $items[ $menu_ID ] ) ) { |
| 27 | $items[ $menu_ID ] = true; |
| 28 | } |
| 29 | } else { |
| 30 | if ( isset( $items[ $menu_ID ] ) ) { |
| 31 | unset( $items[ $menu_ID ] ); |
| 32 | } |
| 33 | } |
| 34 | |
| 35 | WDN_Plugin::app()->updatePopulateOption( 'hidden_adminbar_items', $items ); |
| 36 | |
| 37 | wp_send_json_success( [ 'success_message' => __( 'Settings successfully saved!', 'disable-admin-notices' ) ] ); |
| 38 | } |
| 39 | |
| 40 | add_action( 'wp_ajax_wdan-disable-adminbar-menus', 'dan_ajax_disabled_adminbar_menus'); |
| 41 |