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

187 lines 6.8 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 // No, Direct access Sir !!!
10 if ( !defined( 'ABSPATH' ) ) {
11 exit;
12 }
13
14 if ( !class_exists( 'WP_Adminify' ) ) {
15 class WP_Adminify
16 {
17 const VERSION = WP_ADMINIFY_VER ;
18 private static $instance = null ;
19 public function __construct()
20 {
21 add_action( 'plugins_loaded', [ $this, 'maybe_run_upgrades' ], -100 );
22 // This should run earlier
23 add_action( 'plugins_loaded', [ $this, 'jltwp_adminify_plugins_loaded' ], 999 );
24 add_filter( 'plugin_action_links_' . WP_ADMINIFY_BASE, [ $this, 'plugin_action_links' ] );
25 add_filter( 'network_admin_plugin_action_links_' . WP_ADMINIFY_BASE, [ $this, 'plugin_action_links' ] );
26 add_filter( 'admin_body_class', [ $this, 'jltwp_adminify_body_class' ] );
27 $this->jltwp_is_plugin_row_meta();
28 $this->jltwp_adminify_include_files();
29 jltwp_adminify()->add_filter( 'freemius_pricing_js_path', [ $this, 'jltwp_new_freemius_pricing_js' ] );
30
31 if ( apply_filters( 'jltwp_adminify_show_setup_wizard', true ) ) {
32 new \WPAdminify\Inc\Classes\Setup_Wizard();
33 set_transient( '_adminify_activation_redirect', 1, 30 );
34 }
35
36 }
37
38 public function jltwp_is_plugin_row_meta()
39 {
40 add_filter(
41 'plugin_row_meta',
42 [ $this, 'jltwp_adminify_plugin_row_meta' ],
43 10,
44 2
45 );
46 add_filter(
47 'network_admin_plugin_row_meta',
48 [ $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 {
59 $classes .= ' wp-adminify ';
60 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
61 if ( !empty($adminify_ui) ) {
62 $classes .= ' adminify-ui';
63 }
64 if ( is_rtl() ) {
65 $classes .= ' adminify-rtl ';
66 }
67 return $classes;
68 }
69
70 /**
71 * Plugin action links
72 *
73 * @param array $links
74 *
75 * @return array
76 */
77 public function plugin_action_links( $links )
78 {
79 $links[] = sprintf( '<a class="adminify-plugin-settings" href="%1$s">%2$s</a>', admin_url( 'admin.php?page=wp-adminify-settings' ), __( 'Settings', 'adminify' ) );
80 $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' ) );
81 return $links;
82 }
83
84 public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file )
85 {
86
87 if ( WP_ADMINIFY_BASE === $plugin_file ) {
88 $row_meta = [
89 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/kb' ), __( 'Docs', 'adminify' ) ),
90 'changelogs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/changelogs/' ), __( 'Changelogs', 'adminify' ) ),
91 '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>',
92 ];
93 $plugin_meta = array_merge( $plugin_meta, $row_meta );
94 }
95
96 return $plugin_meta;
97 }
98
99 public function jltwp_adminify_plugins_loaded()
100 {
101 self::jltwp_adminify_activation_hook();
102 }
103
104 public function maybe_run_upgrades()
105 {
106 if ( !is_admin() && !current_user_can( 'manage_options' ) ) {
107 return;
108 }
109 $upgrade = new Upgrade();
110 if ( $upgrade->if_updates_available() ) {
111 $upgrade->run_updates();
112 }
113 }
114
115 public function jltwp_adminify_include_files()
116 {
117 new Assets();
118 new Admin();
119 }
120
121 public function jltwp_adminify_init()
122 {
123 $this->jltwp_adminify_load_textdomain();
124 // Redirect Hook
125 // add_action('admin_init', [$this, 'jltwp_adminify_redirect_hook']);
126 }
127
128 // Text Domains
129 public function jltwp_adminify_load_textdomain()
130 {
131 $domain = 'adminify';
132 $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
133 load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
134 load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
135 }
136
137 /*
138 * Activation Plugin redirect hook
139 */
140 public function jltwp_adminify_redirect_hook()
141 {
142 wp_redirect( 'admin.php?page=wp-adminify-settings' );
143 exit;
144 }
145
146 // Activation Hook
147 public static function jltwp_adminify_activation_hook()
148 {
149 $current_adminify_version = get_option( 'wp_adminify_version', null );
150 if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
151 update_option( 'jltwp_adminify_activation_time', strtotime( 'now' ) );
152 }
153 if ( is_null( $current_adminify_version ) ) {
154 update_option( 'wp_adminify_version', self::VERSION );
155 }
156 }
157
158 // Deactivation Hook
159 public static function jltwp_adminify_deactivation_hook()
160 {
161 delete_option( 'jltwp_adminify_activation_time' );
162 delete_option( 'jltwp_adminify_customizer_flush_url' );
163 }
164
165 public function jltwp_new_freemius_pricing_js( $default_pricing_js_path )
166 {
167 return WP_ADMINIFY_PATH . '/lib/freemius-pricing/freemius-pricing.js';
168 }
169
170 /**
171 * Returns the singleton instance of the class.
172 */
173 public static function get_instance()
174 {
175
176 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
177 self::$instance = new WP_Adminify();
178 self::$instance->jltwp_adminify_init();
179 }
180
181 return self::$instance;
182 }
183
184 }
185 WP_Adminify::get_instance();
186 }
187