PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 2.1.15
ShopBuilder – WooCommerce Builder For Elementor v2.1.15
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 2.3.0 All 62 releases
shopbuilder / app / Controllers / Admin / AdminInit.php

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

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