PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 2.1.0
ShopBuilder – WooCommerce Builder For Elementor v2.1.0
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
shopbuilder / app / Controllers / Admin / AdminInit.php

AdminInit.php in ShopBuilder – WooCommerce Builder For Elementor 2.1.0, at app/Controllers/Admin/AdminInit.php

141 lines 2.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace RadiusTheme\SB\Controllers\Admin;
4
5 defined( 'ABSPATH' ) || exit();
6
7 use RadiusTheme\SB\Controllers\Admin\Ajax as Ajax;
8 use RadiusTheme\SB\Traits\SingletonTrait;
9
10 class AdminInit {
11 /**
12 * Parent Menu Page Slug
13 */
14 const MENU_PAGE_SLUG = 'rtsb';
15
16 /**
17 * Menu capability
18 */
19 const MENU_CAPABILITY = 'manage_options';
20
21 /**
22 * Parent Menu Hook
23 *
24 * @var string
25 */
26 static $parent_menu_hook = '';
27
28 //private $menu_link_part;
29
30 use SingletonTrait;
31
32 public function __construct() {
33 // $this->menu_link_part = admin_url( 'admin.php?page=rtsb' );
34 $this->remove_all_notices();
35 $this->init();
36 $this->ajax_actions();
37 $this->upgrade();
38 }
39
40 /**
41 * Admin Ajax hooks.
42 *
43 * @return void
44 */
45 public function ajax_actions() {
46 Ajax\DefaultTemplate::instance();
47 Ajax\ModalTemplate::instance();
48 Ajax\CreateTemplate::instance();
49 Ajax\AdminSettings::instance();
50 }
51
52 /**
53 * Upgrade Notice.
54 *
55 * @return void
56 */
57 public function upgrade() {
58 Notice\Upgrade::instance();
59 Notice\BlackFriday::instance();
60 }
61
62 public function init() {
63 add_action( 'admin_menu', [ $this, 'add_menu' ], 25 );
64 PluginRow::instance();
65 }
66
67 public function add_menu() {
68 self::$parent_menu_hook = add_menu_page(
69 esc_html__( 'ShopBuilder', 'shopbuilder' ),
70 esc_html__( 'ShopBuilder', 'shopbuilder' ),
71 self::MENU_CAPABILITY,
72 self::MENU_PAGE_SLUG,
73 null,
74 RTSB_URL . '/assets/images/icon/shopbuilder-logo-white.svg',
75 '55.6'
76 );
77
78 add_submenu_page(
79 self::MENU_PAGE_SLUG,
80 esc_html__( 'Settings', 'shopbuilder' ),
81 esc_html__( 'Settings', 'shopbuilder' ),
82 self::MENU_CAPABILITY,
83 'rtsb-settings',
84 [ $this, 'settings_page' ],
85 );
86
87 do_action( 'rtsb/add/more/submenu', self::MENU_PAGE_SLUG, self::MENU_CAPABILITY );
88 /*
89 add_submenu_page(
90 self::MENU_PAGE_SLUG,
91 esc_html__( 'Get Help', 'shopbuilder' ),
92 esc_html__( 'Get Help', 'shopbuilder' ),
93 self::MENU_CAPABILITY,
94 'rtsb-get-help',
95 [ $this, 'get_help_page' ],
96 );
97 */
98 // Remove Parent Submenu
99 remove_submenu_page( self::MENU_PAGE_SLUG, self::MENU_PAGE_SLUG );
100 }
101
102 function redirect_to_content() {
103 wp_redirect( admin_url( 'admin.php?page=rtsb-settings' ) );
104 }
105
106
107 public function settings_page() {
108 ?>
109 <div class="wrap rtsb-admin-wrap">
110 <div id="rtsb-admin-app"></div>
111 </div>
112 <?php
113 }
114
115 public function get_help_page() {
116 ?>
117 <div class="wrap rtsb-get-help-wrap">
118 Get Help
119 </div>
120 <?php
121 }
122
123 /**
124 * Remove admin notices
125 */
126 public function remove_all_notices() {
127 add_action(
128 'in_admin_header',
129 function () {
130 $screen = get_current_screen();
131 if ( in_array( $screen->base, [ 'shopbuilder_page_rtsb-settings', 'shopbuilder_page_rtsb-license' ]) ) {
132 remove_all_actions( 'admin_notices' );
133 remove_all_actions( 'all_admin_notices' );
134 }
135 },
136 1000
137 );
138 }
139
140 }
141