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

183 lines 7.2 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 $this->jltwp_adminify_load_textdomain();
139 }
140
141 // Text Domains
142 public function jltwp_adminify_load_textdomain() {
143 $domain = 'adminify';
144 $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
145 load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
146 load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
147 }
148
149 // Activation Hook
150 public static function jltwp_adminify_activation_hook() {
151 $current_adminify_version = get_option( 'wp_adminify_version', null );
152 if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
153 update_option( 'jltwp_adminify_activation_time', strtotime( 'now' ) );
154 }
155 if ( is_null( $current_adminify_version ) ) {
156 update_option( 'wp_adminify_version', self::VERSION );
157 }
158 //database upgrade logic here
159 $old_data = get_option( '_wpadminify' );
160 update_option( '_wpadminify_backup', $old_data );
161 }
162
163 // Deactivation Hook
164 public static function jltwp_adminify_deactivation_hook() {
165 delete_option( 'jltwp_adminify_activation_time' );
166 delete_option( 'jltwp_adminify_customizer_flush_url' );
167 }
168
169 /**
170 * Returns the singleton instance of the class.
171 */
172 public static function get_instance() {
173 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
174 self::$instance = new WP_Adminify();
175 self::$instance->jltwp_adminify_init();
176 }
177 return self::$instance;
178 }
179
180 }
181
182 WP_Adminify::get_instance();
183 }