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

169 lines 6.1 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 if ( is_rtl() ) {
58 $classes .= ' adminify-rtl ';
59 }
60 return $classes;
61 }
62
63 /**
64 * Plugin action links
65 *
66 * @param array $links
67 *
68 * @return array
69 */
70 public function plugin_action_links( $links )
71 {
72 $links[] = sprintf( '<a class="adminify-plugin-settings" href="%1$s">%2$s</a>', admin_url( 'admin.php?page=wp-adminify-settings' ), __( 'Settings', WP_ADMINIFY_TD ) );
73 $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', WP_ADMINIFY_TD ) );
74 return $links;
75 }
76
77 public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file )
78 {
79
80 if ( WP_ADMINIFY_BASE === $plugin_file ) {
81 $row_meta = [
82 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/kb' ), __( 'Docs', WP_ADMINIFY_TD ) ),
83 'changelogs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/changelogs/' ), __( 'Changelogs', WP_ADMINIFY_TD ) ),
84 'tutorials' => '<a href="https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8" aria-label="' . esc_attr( __( 'View WP Adminify Video Tutorials', WP_ADMINIFY_TD ) ) . '" target="_blank">' . __( 'Video Tutorials', WP_ADMINIFY_TD ) . '</a>',
85 ];
86 $plugin_meta = array_merge( $plugin_meta, $row_meta );
87 }
88
89 return $plugin_meta;
90 }
91
92 public function jltwp_adminify_plugins_loaded()
93 {
94 self::jltwp_adminify_activation_hook();
95 }
96
97 public function jltwp_adminify_include_files()
98 {
99 new Assets();
100 new Admin();
101 }
102
103 public function jltwp_adminify_init()
104 {
105 $this->jltwp_adminify_load_textdomain();
106 //Redirect Hook
107 // add_action('admin_init', [$this, 'jltwp_adminify_redirect_hook']);
108 }
109
110 // Text Domains
111 public function jltwp_adminify_load_textdomain()
112 {
113 $domain = 'wp-adminify';
114 $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
115 load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
116 load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
117 }
118
119 /*
120 * Activation Plugin redirect hook
121 */
122 public function jltwp_adminify_redirect_hook()
123 {
124 wp_redirect( 'admin.php?page=wp-adminify-settings' );
125 exit;
126 }
127
128 // Activation Hook
129 public static function jltwp_adminify_activation_hook()
130 {
131 $current_adminify_version = get_option( 'wp_adminify_version', null );
132 if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
133 update_option( 'jltwp_adminify_activation_time', strtotime( "now" ) );
134 }
135 if ( is_null( $current_adminify_version ) ) {
136 update_option( 'wp_adminify_version', self::VERSION );
137 }
138 }
139
140 // Deactivation Hook
141 public static function jltwp_adminify_deactivation_hook()
142 {
143 delete_option( 'jltwp_adminify_activation_time' );
144 delete_option( 'jltwp_adminify_customizer_flush_url' );
145 }
146
147 public function jltwp_new_freemius_pricing_js( $default_pricing_js_path )
148 {
149 return WP_ADMINIFY_PATH . '/lib/freemius-pricing/freemius-pricing.js';
150 }
151
152 /**
153 * Returns the singleton instance of the class.
154 */
155 public static function get_instance()
156 {
157
158 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
159 self::$instance = new WP_Adminify();
160 self::$instance->jltwp_adminify_init();
161 }
162
163 return self::$instance;
164 }
165
166 }
167 WP_Adminify::get_instance();
168 }
169