PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.2.4
Adminify – White Label, Admin Menu Editor, Login Customizer v4.2.4
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 4.1.17 All 164 releases
adminify / Inc / Classes / Wizard / Setup_Wizard.php

Setup_Wizard.php in Adminify – White Label, Admin Menu Editor, Login Customizer 4.2.4, at Inc/Classes/Wizard/Setup_Wizard.php

82 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace PXLBSAdminify\Inc\Classes\Wizard;
4
5 // no direct access allowed
6 if (!defined('ABSPATH')) {
7 exit;
8 }
9
10 class Setup_Wizard
11 {
12
13 public function __construct()
14 {
15 add_action('admin_init', [$this, 'redirects']);
16 add_action('admin_menu', [$this, 'setup_wizar_menu'], 11);
17 add_action('admin_init', [$this, 'setup_wizard_run']);
18 }
19
20 public function setup_wizard_run()
21 {
22 new Adminify_Setup_Wizard();
23 }
24
25
26 public function setup_wizar_menu()
27 {
28 $submenu_position = apply_filters('pxlbsadminify_submenu_position', 1);
29 add_submenu_page(
30 'wp-adminify-settings',
31 esc_html__( 'Setup Wizard by Adminify', 'adminify' ),
32 esc_html__( 'Setup Wizard', 'adminify' ),
33 apply_filters( 'pxlbsadminify_capability', 'manage_options' ),
34 'wp-adminify-setup-wizard',
35 $submenu_position
36 );
37
38 add_dashboard_page('', '', 'manage_options', 'wp-adminify-setup-wizard', '');
39 }
40
41
42 public function redirects()
43 {
44 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
45 if (!current_user_can('administrator') || is_network_admin() || isset($_GET['activate-multi']) || !current_user_can('manage_options')) {
46 return;
47 }
48
49 // pxlbsadminify_setup_wizard_ran = 0 => not started
50 // pxlbsadminify_setup_wizard_ran = 1 => finished
51 // pxlbsadminify_setup_wizard_ran = 2 => started
52 // pxlbsadminify_setup_wizard_ran = 3 => canceled
53
54 $is_ran = get_option('pxlbsadminify_setup_wizard_ran', '0');
55
56 if (is_admin()) {
57 global $pagenow;
58 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
59 if (($pagenow == 'index.php' && !isset($_GET['page'])) || ($pagenow == 'admin.php' && (isset($_GET['page']) && sanitize_text_field(wp_unslash($_GET['page'])) == 'wp-adminify-settings'))) {
60 if ($is_ran == '2') {
61 update_option('pxlbsadminify_setup_wizard_ran', '3');
62 }
63 }
64
65 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
66 if ((($pagenow == 'index.php' && !isset($_GET['page'])) || ($pagenow == 'admin.php' && (isset($_GET['page']) && sanitize_text_field(wp_unslash($_GET['page'])) == 'wp-adminify-settings'))) && isset($_GET['adminify_setup_done_config']) && sanitize_text_field(wp_unslash($_GET['adminify_setup_done_config'])) == '1') {
67 if ($is_ran == '2') {
68 update_option('pxlbsadminify_setup_wizard_ran', '1');
69 }
70 }
71 }
72
73 if ($is_ran != '1' && $is_ran != '2' && $is_ran != '3') {
74 update_option('pxlbsadminify_setup_wizard_ran', '2');
75 wp_safe_redirect(admin_url('index.php?page=wp-adminify-setup-wizard'));
76 exit;
77 } elseif ($is_ran == '2') {
78 new \PXLBSAdminify\Inc\Classes\Wizard\Adminify_Setup_Wizard();
79 }
80 }
81 }
82