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

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

190 lines 7.6 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\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;
14 // No, Direct access Sir !!!
15 if ( !defined( 'ABSPATH' ) ) {
16 exit;
17 }
18 if ( !class_exists( 'WP_Adminify' ) ) {
19 class WP_Adminify {
20 const VERSION = WP_ADMINIFY_VER;
21
22 private static $instance = null;
23
24 public function __construct() {
25 add_action( 'plugins_loaded', array($this, 'maybe_run_upgrades'), -100 );
26 // This should run earlier
27 add_action( 'plugins_loaded', array($this, 'maybe_loaded_addons'), -200 );
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 );
39 }
40 }
41 jltwp_adminify()->add_filter( 'pricing_url', [$this, 'jltwp_adminify_pricing_url'] );
42 }
43
44 function jltwp_adminify_pricing_url( $pricing_url ) {
45 $pricing_url = 'https://jeweltheme.com';
46 return $pricing_url;
47 }
48
49 public function jltwp_is_plugin_row_meta() {
50 add_filter(
51 'plugin_row_meta',
52 array($this, 'jltwp_adminify_plugin_row_meta'),
53 10,
54 2
55 );
56 add_filter(
57 'network_admin_plugin_row_meta',
58 array($this, 'jltwp_adminify_plugin_row_meta'),
59 10,
60 2
61 );
62 }
63
64 /**
65 * Add Body Class
66 */
67 public function jltwp_adminify_body_class( $classes ) {
68 $classes .= ' wp-adminify ';
69 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
70 if ( !empty( $adminify_ui ) ) {
71 $classes .= ' adminify-ui';
72 }
73 if ( is_rtl() ) {
74 $classes .= ' adminify-rtl ';
75 }
76 return $classes;
77 }
78
79 /**
80 * Plugin action links
81 *
82 * @param array $links
83 *
84 * @return array
85 */
86 public function plugin_action_links( $links ) {
87 $links['settings'] = sprintf( '<a class="adminify-plugin-settings" href="%1$s">%2$s</a>', admin_url( 'admin.php?page=wp-adminify-settings' ), __( 'Settings', 'adminify' ) );
88 $links['pricing'] = 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' ) );
89 return $links;
90 }
91
92 public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file ) {
93 if ( WP_ADMINIFY_BASE === $plugin_file ) {
94 $row_meta = array(
95 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/kb' ), __( 'Docs', 'adminify' ) ),
96 'changelogs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/changelogs/' ), __( 'Changelogs', 'adminify' ) ),
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>',
98 );
99 $plugin_meta = array_merge( $plugin_meta, $row_meta );
100 }
101 return $plugin_meta;
102 }
103
104 public function jltwp_adminify_plugins_loaded() {
105 self::jltwp_adminify_activation_hook();
106 }
107
108 /**
109 * Addons Loaded Method
110 *
111 * @return void
112 */
113 public function maybe_loaded_addons() {
114 do_action( 'jltwp_adminify_plugin_loaded', WP_Adminify::get_instance() );
115 }
116
117 public function maybe_run_upgrades() {
118 if ( !is_admin() && !current_user_can( 'manage_options' ) ) {
119 return;
120 }
121 $upgrade = new Upgrade();
122 if ( $upgrade->if_updates_available() ) {
123 $upgrade->run_updates();
124 }
125 }
126
127 public function jltwp_adminify_include_files() {
128 new Assets();
129 new Admin();
130 new Featured();
131 new Feedback();
132 new Notifications();
133 new Pro_Upgrade();
134 new Addons_Plugins();
135 }
136
137 public function jltwp_adminify_init() {
138 // Backup for OLD Database
139 $current_version = get_option( 'wp_adminify_version' );
140 if ( version_compare( $current_version, WP_ADMINIFY_VER, '<' ) ) {
141 $old_data = get_option( '_wpadminify' );
142 update_option( '_wpadminify_backup', $old_data );
143 }
144 // Load Text Domain
145 $this->jltwp_adminify_load_textdomain();
146 }
147
148 // Text Domains
149 public function jltwp_adminify_load_textdomain() {
150 $domain = 'adminify';
151 $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
152 load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
153 load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
154 }
155
156 // Activation Hook
157 public static function jltwp_adminify_activation_hook() {
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 //database upgrade logic here
166 $old_data = get_option( '_wpadminify' );
167 update_option( '_wpadminify_backup', $old_data );
168 }
169
170 // Deactivation Hook
171 public static function jltwp_adminify_deactivation_hook() {
172 delete_option( 'jltwp_adminify_activation_time' );
173 delete_option( 'jltwp_adminify_customizer_flush_url' );
174 }
175
176 /**
177 * Returns the singleton instance of the class.
178 */
179 public static function get_instance() {
180 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
181 self::$instance = new WP_Adminify();
182 self::$instance->jltwp_adminify_init();
183 }
184 return self::$instance;
185 }
186
187 }
188
189 WP_Adminify::get_instance();
190 }