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

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