PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.3
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.3
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 / class-wp-adminify.php

class-wp-adminify.php in Adminify – White Label, Admin Menu Editor, Login Customizer 3.2.3, at class-wp-adminify.php

191 lines 6.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPAdminify;
4
5 use WPAdminify\Inc\Classes\Assets ;
6 use WPAdminify\Inc\Classes\Upgrade ;
7 use WPAdminify\Inc\Admin\Admin ;
8 use WPAdminify\Inc\Admin\AdminSettings ;
9 use WPAdminify\Libs\Featured ;
10 use WPAdminify\Inc\Classes\Recommended_Plugins ;
11 use WPAdminify\Inc\Classes\Pro_Upgrade ;
12 use WPAdminify\Inc\Classes\Feedback ;
13 use WPAdminify\Inc\Classes\Notifications\Notifications ;
14 // No, Direct access Sir !!!
15 if ( !defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 if ( !class_exists( 'WP_Adminify' ) ) {
20 class WP_Adminify
21 {
22 const VERSION = WP_ADMINIFY_VER ;
23 private static $instance = null ;
24 public function __construct()
25 {
26 add_action( 'plugins_loaded', array( $this, 'maybe_run_upgrades' ), -100 );
27 // This should run earlier
28 add_action( 'plugins_loaded', array( $this, 'jltwp_adminify_plugins_loaded' ), 999 );
29 add_filter( 'plugin_action_links_' . WP_ADMINIFY_BASE, array( $this, 'plugin_action_links' ) );
30 add_filter( 'network_admin_plugin_action_links_' . WP_ADMINIFY_BASE, array( $this, 'plugin_action_links' ) );
31 add_filter( 'admin_body_class', array( $this, 'jltwp_adminify_body_class' ), 99 );
32 $this->jltwp_is_plugin_row_meta();
33 $this->jltwp_adminify_include_files();
34
35 if ( apply_filters( 'jltwp_adminify_show_setup_wizard', true ) ) {
36 new \WPAdminify\Inc\Classes\Setup_Wizard();
37 set_transient( '_adminify_activation_redirect', 1, 30 );
38 }
39
40 }
41
42 public function jltwp_is_plugin_row_meta()
43 {
44 add_filter(
45 'plugin_row_meta',
46 array( $this, 'jltwp_adminify_plugin_row_meta' ),
47 10,
48 2
49 );
50 add_filter(
51 'network_admin_plugin_row_meta',
52 array( $this, 'jltwp_adminify_plugin_row_meta' ),
53 10,
54 2
55 );
56 }
57
58 /**
59 * Add Body Class
60 */
61 public function jltwp_adminify_body_class( $classes )
62 {
63 $classes .= ' wp-adminify ';
64 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
65 if ( !empty($adminify_ui) ) {
66 $classes .= ' adminify-ui';
67 }
68 if ( is_rtl() ) {
69 $classes .= ' adminify-rtl ';
70 }
71 return $classes;
72 }
73
74 /**
75 * Plugin action links
76 *
77 * @param array $links
78 *
79 * @return array
80 */
81 public function plugin_action_links( $links )
82 {
83 $links[] = sprintf( '<a class="adminify-plugin-settings" href="%1$s">%2$s</a>', admin_url( 'admin.php?page=wp-adminify-settings' ), __( 'Settings', 'adminify' ) );
84 $links[] = sprintf( '<a href="%1$s" class="adminify-upgrade-pro" target="_blank" style="color: orangered;font-weight: bold;">%2$s</a>', 'https://wpadminify.com/pricing', __( 'Go Pro', 'adminify' ) );
85 return $links;
86 }
87
88 public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file )
89 {
90
91 if ( WP_ADMINIFY_BASE === $plugin_file ) {
92 $row_meta = array(
93 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/kb' ), __( 'Docs', 'adminify' ) ),
94 'changelogs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/changelogs/' ), __( 'Changelogs', 'adminify' ) ),
95 'tutorials' => '<a href="https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8" aria-label="' . esc_attr( __( 'View WP Adminify Video Tutorials', 'adminify' ) ) . '" target="_blank">' . __( 'Video Tutorials', 'adminify' ) . '</a>',
96 );
97 $plugin_meta = array_merge( $plugin_meta, $row_meta );
98 }
99
100 return $plugin_meta;
101 }
102
103 public function jltwp_adminify_plugins_loaded()
104 {
105 self::jltwp_adminify_activation_hook();
106 }
107
108 public function maybe_run_upgrades()
109 {
110 if ( !is_admin() && !current_user_can( 'manage_options' ) ) {
111 return;
112 }
113 $upgrade = new Upgrade();
114 if ( $upgrade->if_updates_available() ) {
115 $upgrade->run_updates();
116 }
117 }
118
119 public function jltwp_adminify_include_files()
120 {
121 new Assets();
122 new Admin();
123 new Featured();
124 new Feedback();
125 new Notifications();
126 new Pro_Upgrade();
127 new Recommended_Plugins();
128 }
129
130 public function jltwp_adminify_init()
131 {
132 $this->jltwp_adminify_load_textdomain();
133 // Redirect Hook
134 // add_action('admin_init', [$this, 'jltwp_adminify_redirect_hook']);
135 }
136
137 // Text Domains
138 public function jltwp_adminify_load_textdomain()
139 {
140 $domain = 'adminify';
141 $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
142 load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
143 load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
144 }
145
146 /*
147 * Activation Plugin redirect hook
148 */
149 public function jltwp_adminify_redirect_hook()
150 {
151 wp_redirect( 'admin.php?page=wp-adminify-settings' );
152 exit;
153 }
154
155 // Activation Hook
156 public static function jltwp_adminify_activation_hook()
157 {
158 $current_adminify_version = get_option( 'wp_adminify_version', null );
159 if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
160 update_option( 'jltwp_adminify_activation_time', strtotime( 'now' ) );
161 }
162 if ( is_null( $current_adminify_version ) ) {
163 update_option( 'wp_adminify_version', self::VERSION );
164 }
165 }
166
167 // Deactivation Hook
168 public static function jltwp_adminify_deactivation_hook()
169 {
170 delete_option( 'jltwp_adminify_activation_time' );
171 delete_option( 'jltwp_adminify_customizer_flush_url' );
172 }
173
174 /**
175 * Returns the singleton instance of the class.
176 */
177 public static function get_instance()
178 {
179
180 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
181 self::$instance = new WP_Adminify();
182 self::$instance->jltwp_adminify_init();
183 }
184
185 return self::$instance;
186 }
187
188 }
189 WP_Adminify::get_instance();
190 }
191