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

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