PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.3.2
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.3.2
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
← All changes | class-wp-adminify.php +64 -72 4.2.124.0.3.2 View file →
@@ -1,18 +1,17 @@
1 1 <?php
2 2
3 -namespace PXLBSAdminify;
3 +namespace WPAdminify;
4 4
5 -use PXLBSAdminify\Libs\Featured;
6 -use PXLBSAdminify\Inc\Admin\Admin;
7 -use PXLBSAdminify\Inc\Classes\Assets;
8 -use PXLBSAdminify\Inc\Classes\Upgrade;
9 -use PXLBSAdminify\Inc\Classes\Feedback;
10 -use PXLBSAdminify\Inc\Admin\AdminSettings;
11 -use PXLBSAdminify\Inc\Classes\Pro_Upgrade;
12 -use PXLBSAdminify\Inc\Classes\Addons_Plugins;
13 -use PXLBSAdminify\Inc\Classes\GoogleFontsLocal;
14 -use PXLBSAdminify\Inc\Classes\Notifications\Notifications;
5 +use WPAdminify\Libs\Featured;
6 +use WPAdminify\Inc\Admin\Admin;
7 +use WPAdminify\Inc\Classes\Assets;
8 +use WPAdminify\Inc\Classes\Upgrade;
9 +use WPAdminify\Inc\Classes\Feedback;
10 +use WPAdminify\Inc\Admin\AdminSettings;
11 +use WPAdminify\Inc\Classes\Pro_Upgrade;
12 +use WPAdminify\Inc\Classes\Addons_Plugins;
13 +use WPAdminify\Inc\Classes\Notifications\Notifications;
15 14 // No, Direct access Sir !!!
16 15 if ( !defined( 'ABSPATH' ) ) {
17 16 exit;
18 17 }
@@ -17,9 +16,9 @@
17 16 exit;
18 17 }
19 18 if ( !class_exists( 'WP_Adminify' ) ) {
20 19 class WP_Adminify {
21 - const VERSION = PXLBSADMINIFY_VER;
20 + const VERSION = WP_ADMINIFY_VER;
22 21
23 22 private static $instance = null;
24 23
25 24 public function __construct() {
@@ -25,43 +24,39 @@
25 24 public function __construct() {
26 25 add_action( 'plugins_loaded', array($this, 'maybe_run_upgrades'), -100 );
27 26 // This should run earlier
28 27 add_action( 'plugins_loaded', array($this, 'maybe_loaded_addons'), -200 );
29 - // add_action('plugins_loaded', array($this, 'pxlbsadminify_plugins_loaded'), 999);
30 - add_filter( 'plugin_action_links_' . PXLBSADMINIFY_BASE, array($this, 'plugin_action_links') );
31 - add_filter( 'network_admin_plugin_action_links_' . PXLBSADMINIFY_BASE, array($this, 'plugin_action_links') );
32 - add_filter( 'admin_body_class', array($this, 'pxlbsadminify_body_class'), 99 );
33 - // Load textdomain and include files on init for WP 6.7+ compatibility
34 - // Textdomain must be loaded before files that use translations
35 - // Priority order: 0=textdomain, 1=include files (registers options), 5=framework setup
36 - add_action( 'init', array($this, 'pxlbsadminify_load_textdomain'), 0 );
37 - add_action( 'init', array($this, 'pxlbsadminify_include_files'), 1 );
38 - add_action( 'init', array($this, 'pxlbsadminify_is_plugin_row_meta'), 1 );
39 - $is_finished = get_option( 'pxlbsadminify_setup_wizard_ran' );
40 - if ( $is_finished !== '1' ) {
41 - if ( apply_filters( 'pxlbsadminify_show_setup_wizard', true ) ) {
42 - new \PXLBSAdminify\Inc\Classes\Wizard\Setup_Wizard();
43 - set_transient( 'pxlbsadminify_activation_redirect', 1, 30 );
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 + add_action( 'plugins_loaded', array($this, 'jltwp_is_plugin_row_meta') );
33 + add_action( 'plugins_loaded', array($this, 'jltwp_adminify_include_files') );
34 + $is_finished = get_option( 'jltwp_adminify_setup_wizard_ran' );
35 + if ( !empty( $is_finished ) || $is_finished != '1' ) {
36 + if ( apply_filters( 'jltwp_adminify_show_setup_wizard', true ) ) {
37 + new \WPAdminify\Inc\Classes\Wizard\Setup_Wizard();
38 + set_transient( '_adminify_activation_redirect', 1, 30 );
44 39 }
45 40 }
46 - jltwp_adminify()->add_filter( 'pricing_url', [$this, 'pxlbsadminify_pricing_url'] );
41 + jltwp_adminify()->add_filter( 'pricing_url', [$this, 'jltwp_adminify_pricing_url'] );
47 42 }
48 43
49 - function pxlbsadminify_pricing_url( $pricing_url ) {
50 - $pricing_url = 'https://wpadminify.com/pricing';
44 + function jltwp_adminify_pricing_url( $pricing_url ) {
45 + $pricing_url = 'https://jeweltheme.com';
51 46 return $pricing_url;
52 47 }
53 48
54 - public function pxlbsadminify_is_plugin_row_meta() {
49 + public function jltwp_is_plugin_row_meta() {
55 50 add_filter(
56 51 'plugin_row_meta',
57 - array($this, 'pxlbsadminify_plugin_row_meta'),
52 + array($this, 'jltwp_adminify_plugin_row_meta'),
58 53 10,
59 54 2
60 55 );
61 56 add_filter(
62 57 'network_admin_plugin_row_meta',
63 - array($this, 'pxlbsadminify_plugin_row_meta'),
58 + array($this, 'jltwp_adminify_plugin_row_meta'),
64 59 10,
65 60 2
66 61 );
67 62 }
@@ -68,9 +63,9 @@
68 63
69 64 /**
70 65 * Add Body Class
71 66 */
72 - public function pxlbsadminify_body_class( $classes ) {
67 + public function jltwp_adminify_body_class( $classes ) {
73 68 $classes .= ' wp-adminify ';
74 69 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
75 70 if ( !empty( $adminify_ui ) ) {
76 71 $classes .= ' adminify-ui';
@@ -89,18 +84,18 @@
89 84 * @return array
90 85 */
91 86 public function plugin_action_links( $links ) {
92 87 $links['settings'] = apply_filters( 'adminify_settings_link', sprintf( '<a class="adminify-plugin-settings" href="%1$s">%2$s</a>', admin_url( 'admin.php?page=wp-adminify-settings' ), __( 'Settings', 'adminify' ) ) );
93 - $links['pricing'] = apply_filters( 'pxlbsadminify_upgrade_now_link', sprintf( '<a href="%1$s" class="adminify-upgrade-pro" target="_blank" style="color: orangered;font-weight: bold;">%2$s</a>', 'https://wpadminify.com/pricing', __( 'Upgrade Now', 'adminify' ) ) );
88 + $links['pricing'] = apply_filters( 'adminify_upgrade_now_link', sprintf( '<a href="%1$s" class="adminify-upgrade-pro" target="_blank" style="color: orangered;font-weight: bold;">%2$s</a>', 'https://wpadminify.com/pricing', __( 'Upgrade Now', 'adminify' ) ) );
94 89 return apply_filters( 'adminify_plugin_row_links', $links );
95 90 }
96 91
97 - public function pxlbsadminify_plugin_row_meta( $plugin_meta, $plugin_file ) {
98 - if ( PXLBSADMINIFY_BASE === $plugin_file ) {
92 + public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file ) {
93 + if ( WP_ADMINIFY_BASE === $plugin_file ) {
99 94 $row_meta = array(
100 - 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/docs/adminify/getting-started' ), __( 'Docs', 'adminify' ) ),
95 + 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/kb' ), __( 'Docs', 'adminify' ) ),
101 96 'changelogs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/changelogs/' ), __( 'Changelogs', 'adminify' ) ),
102 - 'tutorials' => '<a href="https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8" aria-label="' . esc_attr( __( 'View Adminify Video Tutorials', 'adminify' ) ) . '" target="_blank">' . __( 'Video Tutorials', 'adminify' ) . '</a>',
97 + '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>',
103 98 );
104 99 $plugin_meta = array_merge( $plugin_meta, $row_meta );
105 100 }
106 101 return $plugin_meta;
@@ -105,10 +100,10 @@
105 100 }
106 101 return $plugin_meta;
107 102 }
108 103
109 - public function pxlbsadminify_plugins_loaded() {
110 - self::pxlbsadminify_activation_hook();
104 + public function jltwp_adminify_plugins_loaded() {
105 + self::jltwp_adminify_activation_hook();
111 106 }
112 107
113 108 /**
114 109 * Addons Loaded Method
@@ -115,9 +110,9 @@
115 110 *
116 111 * @return void
117 112 */
118 113 public function maybe_loaded_addons() {
119 - do_action( 'pxlbsadminify_plugin_loaded', WP_Adminify::get_instance() );
114 + do_action( 'jltwp_adminify_plugin_loaded', WP_Adminify::get_instance() );
120 115 }
121 116
122 117 public function maybe_run_upgrades() {
123 118 if ( !is_admin() && !current_user_can( 'manage_options' ) ) {
@@ -128,9 +123,9 @@
128 123 $upgrade->run_updates();
129 124 }
130 125 }
131 126
132 - public function pxlbsadminify_include_files() {
127 + public function jltwp_adminify_include_files() {
133 128 new Assets();
134 129 new Admin();
135 130 new Featured();
136 131 new Feedback();
@@ -136,20 +131,20 @@
136 131 new Feedback();
137 132 new Notifications();
138 133 new Pro_Upgrade();
139 134 new Addons_Plugins();
140 - // Initialize Google Fonts Local early to catch option updates
141 - GoogleFontsLocal::get_instance();
142 135 }
143 136
144 - public function pxlbsadminify_init() {
137 + public function jltwp_adminify_init() {
145 138 // Backup for OLD Database
146 - $current_version = get_option( 'pxlbsadminify_version' );
147 - $is_backup = $old_data = get_option( 'pxlbsadminify_settings_backup' );
148 - if ( version_compare( $current_version, PXLBSADMINIFY_VER, '<' ) && empty( $is_backup ) ) {
149 - $old_data = get_option( 'pxlbsadminify_settings' );
150 - update_option( 'pxlbsadminify_settings_backup', $old_data );
139 + $current_version = get_option( 'wp_adminify_version' );
140 + $is_backup = $old_data = get_option( '_wpadminify_backup' );
141 + if ( version_compare( $current_version, WP_ADMINIFY_VER, '<' ) && empty( $is_backup ) ) {
142 + $old_data = get_option( '_wpadminify' );
143 + update_option( '_wpadminify_backup', $old_data );
151 144 }
145 + // Load Text Domain
146 + $this->jltwp_adminify_load_textdomain();
152 147 }
153 148
154 149 /**
155 150 * Loads the text domain for localization.
@@ -161,44 +156,41 @@
161 156 * the plugin's languages directory.
162 157 *
163 158 * @return void
164 159 */
165 - public function pxlbsadminify_load_textdomain() {
166 - $locale = apply_filters( 'plugin_locale', get_locale(), 'adminify' );
167 - load_textdomain( 'adminify', WP_LANG_DIR . '/adminify/adminify-' . $locale . '.mo' );
168 - // phpcs:ignore PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound -- retained for non-hosted / older-WP installs.
169 - load_plugin_textdomain( 'adminify', false, dirname( PXLBSADMINIFY_BASE ) . '/languages/' );
160 + public function jltwp_adminify_load_textdomain() {
161 + add_action( 'init', function () {
162 + $domain = 'adminify';
163 + $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
164 + load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
165 + load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
166 + } );
170 167 }
171 168
172 169 // Activation Hook
173 - public static function pxlbsadminify_activation_hook() {
174 - $current_adminify_version = get_option( 'pxlbsadminify_version', null );
175 - if ( get_option( 'pxlbsadminify_activation_time' ) === false ) {
176 - update_option( 'pxlbsadminify_activation_time', strtotime( 'now' ) );
170 + public static function jltwp_adminify_activation_hook() {
171 + $current_adminify_version = get_option( 'wp_adminify_version', null );
172 + if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
173 + update_option( 'jltwp_adminify_activation_time', strtotime( 'now' ) );
177 174 }
178 - if ( "dismissed" === get_option( 'pxlbsadminify_plugin_update_info_notice', true ) ) {
179 - update_option( 'pxlbsadminify_plugin_update_info_notice', '' );
180 - }
181 175 if ( is_null( $current_adminify_version ) ) {
182 - update_option( 'pxlbsadminify_version', self::VERSION );
176 + update_option( 'wp_adminify_version', self::VERSION );
183 177 }
184 178 //database upgrade logic here
185 - $old_data = get_option( 'pxlbsadminify_settings' );
186 - update_option( 'pxlbsadminify_settings_backup', $old_data );
179 + $old_data = get_option( '_wpadminify' );
180 + update_option( '_wpadminify_backup', $old_data );
187 181 // Create term_order collumn in terms table, to support post type order
188 182 global $wpdb;
189 - // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- direct query required for one-time schema inspection on activation; not cached intentionally.
190 183 $check_term_order_column = $wpdb->query( "SHOW COLUMNS FROM {$wpdb->terms} LIKE 'term_order'" );
191 184 if ( $check_term_order_column == 0 ) {
192 - // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching,WordPress.DB.DirectDatabaseQuery.SchemaChange -- direct query required for one-time schema change on activation; not cached intentionally.
193 185 $wpdb->query( "ALTER TABLE {$wpdb->terms} ADD term_order INT( 4 ) NULL DEFAULT '0'" );
194 186 }
195 187 }
196 188
197 189 // Deactivation Hook
198 - public static function pxlbsadminify_deactivation_hook() {
199 - delete_option( 'pxlbsadminify_activation_time' );
200 - delete_option( 'pxlbsadminify_customizer_flush_url' );
190 + public static function jltwp_adminify_deactivation_hook() {
191 + delete_option( 'jltwp_adminify_activation_time' );
192 + delete_option( 'jltwp_adminify_customizer_flush_url' );
201 193 }
202 194
203 195 /**
204 196 * Returns the singleton instance of the class.
@@ -205,9 +197,9 @@
205 197 */
206 198 public static function get_instance() {
207 199 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
208 200 self::$instance = new WP_Adminify();
209 - self::$instance->pxlbsadminify_init();
201 + self::$instance->jltwp_adminify_init();
210 202 }
211 203 return self::$instance;
212 204 }
213 205