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

171 lines 6.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\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 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, 'jltwp_adminify_plugins_loaded'), 999 );
28 add_filter( 'plugin_action_links_' . WP_ADMINIFY_BASE, array($this, 'plugin_action_links') );
29 add_filter( 'network_admin_plugin_action_links_' . WP_ADMINIFY_BASE, array($this, 'plugin_action_links') );
30 add_filter( 'admin_body_class', array($this, 'jltwp_adminify_body_class'), 99 );
31 $this->jltwp_is_plugin_row_meta();
32 $this->jltwp_adminify_include_files();
33 if ( apply_filters( 'jltwp_adminify_show_setup_wizard', true ) ) {
34 new \WPAdminify\Inc\Classes\Setup_Wizard();
35 set_transient( '_adminify_activation_redirect', 1, 30 );
36 }
37 }
38
39 public function jltwp_is_plugin_row_meta() {
40 add_filter(
41 'plugin_row_meta',
42 array($this, 'jltwp_adminify_plugin_row_meta'),
43 10,
44 2
45 );
46 add_filter(
47 'network_admin_plugin_row_meta',
48 array($this, 'jltwp_adminify_plugin_row_meta'),
49 10,
50 2
51 );
52 }
53
54 /**
55 * Add Body Class
56 */
57 public function jltwp_adminify_body_class( $classes ) {
58 $classes .= ' wp-adminify ';
59 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
60 if ( !empty( $adminify_ui ) ) {
61 $classes .= ' adminify-ui';
62 }
63 if ( is_rtl() ) {
64 $classes .= ' adminify-rtl ';
65 }
66 return $classes;
67 }
68
69 /**
70 * Plugin action links
71 *
72 * @param array $links
73 *
74 * @return array
75 */
76 public function plugin_action_links( $links ) {
77 $links[] = sprintf( '<a class="adminify-plugin-settings" href="%1$s">%2$s</a>', admin_url( 'admin.php?page=wp-adminify-settings' ), __( 'Settings', 'adminify' ) );
78 $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' ) );
79 return $links;
80 }
81
82 public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file ) {
83 if ( WP_ADMINIFY_BASE === $plugin_file ) {
84 $row_meta = array(
85 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/kb' ), __( 'Docs', 'adminify' ) ),
86 'changelogs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/changelogs/' ), __( 'Changelogs', 'adminify' ) ),
87 '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>',
88 );
89 $plugin_meta = array_merge( $plugin_meta, $row_meta );
90 }
91 return $plugin_meta;
92 }
93
94 public function jltwp_adminify_plugins_loaded() {
95 self::jltwp_adminify_activation_hook();
96 }
97
98 public function maybe_run_upgrades() {
99 if ( !is_admin() && !current_user_can( 'manage_options' ) ) {
100 return;
101 }
102 $upgrade = new Upgrade();
103 if ( $upgrade->if_updates_available() ) {
104 $upgrade->run_updates();
105 }
106 }
107
108 public function jltwp_adminify_include_files() {
109 new Assets();
110 new Admin();
111 new Featured();
112 new Feedback();
113 new Notifications();
114 new Pro_Upgrade();
115 new Recommended_Plugins();
116 }
117
118 public function jltwp_adminify_init() {
119 $this->jltwp_adminify_load_textdomain();
120 // Redirect Hook
121 // add_action('admin_init', [$this, 'jltwp_adminify_redirect_hook']);
122 }
123
124 // Text Domains
125 public function jltwp_adminify_load_textdomain() {
126 $domain = 'adminify';
127 $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
128 load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
129 load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
130 }
131
132 /*
133 * Activation Plugin redirect hook
134 */
135 public function jltwp_adminify_redirect_hook() {
136 wp_redirect( 'admin.php?page=wp-adminify-settings' );
137 exit;
138 }
139
140 // Activation Hook
141 public static function jltwp_adminify_activation_hook() {
142 $current_adminify_version = get_option( 'wp_adminify_version', null );
143 if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
144 update_option( 'jltwp_adminify_activation_time', strtotime( 'now' ) );
145 }
146 if ( is_null( $current_adminify_version ) ) {
147 update_option( 'wp_adminify_version', self::VERSION );
148 }
149 }
150
151 // Deactivation Hook
152 public static function jltwp_adminify_deactivation_hook() {
153 delete_option( 'jltwp_adminify_activation_time' );
154 delete_option( 'jltwp_adminify_customizer_flush_url' );
155 }
156
157 /**
158 * Returns the singleton instance of the class.
159 */
160 public static function get_instance() {
161 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
162 self::$instance = new WP_Adminify();
163 self::$instance->jltwp_adminify_init();
164 }
165 return self::$instance;
166 }
167
168 }
169
170 WP_Adminify::get_instance();
171 }