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

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