PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.1
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.1
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 +94 -118 4.1.173.2.4.1 View file →
@@ -1,79 +1,69 @@
1 1 <?php
2 2
3 3 namespace WPAdminify;
4 4
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\GoogleFontsLocal;
14 -use WPAdminify\Inc\Classes\Notifications\Notifications;
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 ;
15 14 // No, Direct access Sir !!!
16 15 if ( !defined( 'ABSPATH' ) ) {
17 16 exit;
18 17 }
18 +
19 19 if ( !class_exists( 'WP_Adminify' ) ) {
20 - class WP_Adminify {
21 - const VERSION = WP_ADMINIFY_VER;
22 -
23 - private static $instance = null;
24 -
25 - public function __construct() {
26 - add_action( 'plugins_loaded', array($this, 'maybe_run_upgrades'), -100 );
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 27 // This should run earlier
28 - add_action( 'plugins_loaded', array($this, 'maybe_loaded_addons'), -200 );
29 - // add_action('plugins_loaded', array($this, 'jltwp_adminify_plugins_loaded'), 999);
30 - add_filter( 'plugin_action_links_' . WP_ADMINIFY_BASE, array($this, 'plugin_action_links') );
31 - add_filter( 'network_admin_plugin_action_links_' . WP_ADMINIFY_BASE, array($this, 'plugin_action_links') );
32 - add_filter( 'admin_body_class', array($this, 'jltwp_adminify_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, 'jltwp_adminify_load_textdomain'), 0 );
37 - add_action( 'init', array($this, 'jltwp_adminify_include_files'), 1 );
38 - add_action( 'init', array($this, 'jltwp_is_plugin_row_meta'), 1 );
39 - $is_finished = get_option( 'jltwp_adminify_setup_wizard_ran' );
40 - if ( $is_finished !== '1' ) {
41 - if ( apply_filters( 'jltwp_adminify_show_setup_wizard', true ) ) {
42 - new \WPAdminify\Inc\Classes\Wizard\Setup_Wizard();
43 - set_transient( '_adminify_activation_redirect', 1, 30 );
44 - }
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 );
45 38 }
46 - jltwp_adminify()->add_filter( 'pricing_url', [$this, 'jltwp_adminify_pricing_url'] );
39 +
47 40 }
48 -
49 - function jltwp_adminify_pricing_url( $pricing_url ) {
50 - $pricing_url = 'https://wpadminify.com/pricing';
51 - return $pricing_url;
52 - }
53 -
54 - public function jltwp_is_plugin_row_meta() {
41 +
42 + public function jltwp_is_plugin_row_meta()
43 + {
55 44 add_filter(
56 45 'plugin_row_meta',
57 - array($this, 'jltwp_adminify_plugin_row_meta'),
46 + array( $this, 'jltwp_adminify_plugin_row_meta' ),
58 47 10,
59 48 2
60 49 );
61 50 add_filter(
62 51 'network_admin_plugin_row_meta',
63 - array($this, 'jltwp_adminify_plugin_row_meta'),
52 + array( $this, 'jltwp_adminify_plugin_row_meta' ),
64 53 10,
65 54 2
66 55 );
67 56 }
68 -
57 +
69 58 /**
70 59 * Add Body Class
71 60 */
72 - public function jltwp_adminify_body_class( $classes ) {
61 + public function jltwp_adminify_body_class( $classes )
62 + {
73 63 $classes .= ' wp-adminify ';
74 64 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
75 - if ( !empty( $adminify_ui ) ) {
65 + if ( !empty($adminify_ui) ) {
76 66 $classes .= ' adminify-ui';
77 67 }
78 68 if ( is_rtl() ) {
79 69 $classes .= ' adminify-rtl ';
@@ -79,9 +69,9 @@
79 69 $classes .= ' adminify-rtl ';
80 70 }
81 71 return $classes;
82 72 }
83 -
73 +
84 74 /**
85 75 * Plugin action links
86 76 *
87 77 * @param array $links
@@ -87,40 +77,37 @@
87 77 * @param array $links
88 78 *
89 79 * @return array
90 80 */
91 - public function plugin_action_links( $links ) {
92 - $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( '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 - return apply_filters( 'adminify_plugin_row_links', $links );
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;
95 86 }
96 -
97 - public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file ) {
87 +
88 + public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file )
89 + {
90 +
98 91 if ( WP_ADMINIFY_BASE === $plugin_file ) {
99 92 $row_meta = array(
100 93 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/kb' ), __( 'Docs', 'adminify' ) ),
101 94 '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>',
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>',
103 96 );
104 97 $plugin_meta = array_merge( $plugin_meta, $row_meta );
105 98 }
99 +
106 100 return $plugin_meta;
107 101 }
108 -
109 - public function jltwp_adminify_plugins_loaded() {
102 +
103 + public function jltwp_adminify_plugins_loaded()
104 + {
110 105 self::jltwp_adminify_activation_hook();
111 106 }
112 -
113 - /**
114 - * Addons Loaded Method
115 - *
116 - * @return void
117 - */
118 - public function maybe_loaded_addons() {
119 - do_action( 'jltwp_adminify_plugin_loaded', WP_Adminify::get_instance() );
120 - }
121 -
122 - public function maybe_run_upgrades() {
107 +
108 + public function maybe_run_upgrades()
109 + {
123 110 if ( !is_admin() && !current_user_can( 'manage_options' ) ) {
124 111 return;
125 112 }
126 113 $upgrade = new Upgrade();
@@ -127,10 +114,11 @@
127 114 if ( $upgrade->if_updates_available() ) {
128 115 $upgrade->run_updates();
129 116 }
130 117 }
131 -
132 - public function jltwp_adminify_include_files() {
118 +
119 + public function jltwp_adminify_include_files()
120 + {
133 121 new Assets();
134 122 new Admin();
135 123 new Featured();
136 124 new Feedback();
@@ -135,80 +123,68 @@
135 123 new Featured();
136 124 new Feedback();
137 125 new Notifications();
138 126 new Pro_Upgrade();
139 - new Addons_Plugins();
140 - // Initialize Google Fonts Local early to catch option updates
141 - GoogleFontsLocal::get_instance();
127 + new Recommended_Plugins();
142 128 }
143 -
144 - public function jltwp_adminify_init() {
145 - // Backup for OLD Database
146 - $current_version = get_option( 'wp_adminify_version' );
147 - $is_backup = $old_data = get_option( '_wpadminify_backup' );
148 - if ( version_compare( $current_version, WP_ADMINIFY_VER, '<' ) && empty( $is_backup ) ) {
149 - $old_data = get_option( '_wpadminify' );
150 - update_option( '_wpadminify_backup', $old_data );
151 - }
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']);
152 135 }
153 -
154 - /**
155 - * Loads the text domain for localization.
156 - *
157 - * This function sets up the text domain for the WP Adminify plugin,
158 - * allowing it to load translation files for the specified locale.
159 - * It first attempts to load a custom translation file from the WordPress
160 - * languages directory and then loads the default translation file from
161 - * the plugin's languages directory.
162 - *
163 - * @return void
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
164 148 */
165 - public function jltwp_adminify_load_textdomain() {
166 - $locale = apply_filters( 'plugin_locale', get_locale(), 'adminify' );
167 - load_textdomain( 'adminify', WP_LANG_DIR . '/adminify/adminify-' . $locale . '.mo' );
168 - load_plugin_textdomain( 'adminify', false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
149 + public function jltwp_adminify_redirect_hook()
150 + {
151 + wp_redirect( 'admin.php?page=wp-adminify-settings' );
152 + exit;
169 153 }
170 -
154 +
171 155 // Activation Hook
172 - public static function jltwp_adminify_activation_hook() {
156 + public static function jltwp_adminify_activation_hook()
157 + {
173 158 $current_adminify_version = get_option( 'wp_adminify_version', null );
174 159 if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
175 160 update_option( 'jltwp_adminify_activation_time', strtotime( 'now' ) );
176 161 }
177 - if ( "dismissed" === get_option( '_wpadminify_plugin_update_info_notice', true ) ) {
178 - update_option( '_wpadminify_plugin_update_info_notice', '' );
179 - }
180 162 if ( is_null( $current_adminify_version ) ) {
181 163 update_option( 'wp_adminify_version', self::VERSION );
182 164 }
183 - //database upgrade logic here
184 - $old_data = get_option( '_wpadminify' );
185 - update_option( '_wpadminify_backup', $old_data );
186 - // Create term_order collumn in terms table, to support post type order
187 - global $wpdb;
188 - $check_term_order_column = $wpdb->query( "SHOW COLUMNS FROM {$wpdb->terms} LIKE 'term_order'" );
189 - if ( $check_term_order_column == 0 ) {
190 - $wpdb->query( "ALTER TABLE {$wpdb->terms} ADD term_order INT( 4 ) NULL DEFAULT '0'" );
191 - }
192 165 }
193 -
166 +
194 167 // Deactivation Hook
195 - public static function jltwp_adminify_deactivation_hook() {
168 + public static function jltwp_adminify_deactivation_hook()
169 + {
196 170 delete_option( 'jltwp_adminify_activation_time' );
197 171 delete_option( 'jltwp_adminify_customizer_flush_url' );
198 172 }
199 -
173 +
200 174 /**
201 175 * Returns the singleton instance of the class.
202 176 */
203 - public static function get_instance() {
177 + public static function get_instance()
178 + {
179 +
204 180 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
205 181 self::$instance = new WP_Adminify();
206 182 self::$instance->jltwp_adminify_init();
207 183 }
184 +
208 185 return self::$instance;
209 186 }
210 -
187 +
211 188 }
212 -
213 189 WP_Adminify::get_instance();
214 -}
190 +}