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

160 lines 5.7 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
29 public function jltwp_is_plugin_row_meta()
30 {
31 add_filter(
32 'plugin_row_meta',
33 [ $this, 'jltwp_adminify_plugin_row_meta' ],
34 10,
35 2
36 );
37 add_filter(
38 'network_admin_plugin_row_meta',
39 [ $this, 'jltwp_adminify_plugin_row_meta' ],
40 10,
41 2
42 );
43 }
44
45 /**
46 * Add Body Class
47 */
48 public function jltwp_adminify_body_class( $classes )
49 {
50 $classes .= ' wp-adminify ';
51 if ( is_rtl() ) {
52 $classes .= ' adminify-rtl ';
53 }
54 return $classes;
55 }
56
57 /**
58 * Plugin action links
59 *
60 * @param array $links
61 *
62 * @return array
63 */
64 public function plugin_action_links( $links )
65 {
66 $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 ) );
67 $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 ) );
68 return $links;
69 }
70
71 public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file )
72 {
73
74 if ( WP_ADMINIFY_BASE === $plugin_file ) {
75 $row_meta = [
76 'docs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/kb' ), __( 'Docs', WP_ADMINIFY_TD ) ),
77 'changelogs' => sprintf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url_raw( 'https://wpadminify.com/changelogs/' ), __( 'Changelogs', WP_ADMINIFY_TD ) ),
78 '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>',
79 ];
80 $plugin_meta = array_merge( $plugin_meta, $row_meta );
81 }
82
83 return $plugin_meta;
84 }
85
86 public function jltwp_adminify_plugins_loaded()
87 {
88 self::jltwp_adminify_activation_hook();
89 }
90
91 public function jltwp_adminify_include_files()
92 {
93 new Assets();
94 new Admin();
95 }
96
97 public function jltwp_adminify_init()
98 {
99 $this->jltwp_adminify_load_textdomain();
100 //Redirect Hook
101 // add_action('admin_init', [$this, 'jltwp_adminify_redirect_hook']);
102 }
103
104 // Text Domains
105 public function jltwp_adminify_load_textdomain()
106 {
107 $domain = 'wp-adminify';
108 $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
109 load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
110 load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
111 }
112
113 /*
114 * Activation Plugin redirect hook
115 */
116 public function jltwp_adminify_redirect_hook()
117 {
118 wp_redirect( 'admin.php?page=wp-adminify-settings' );
119 exit;
120 }
121
122 // Activation Hook
123 public static function jltwp_adminify_activation_hook()
124 {
125 if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
126 update_option( 'jltwp_adminify_activation_time', strtotime( "now" ) );
127 }
128 update_option( 'wp_adminify_version', self::VERSION );
129 }
130
131 // Deactivation Hook
132 public static function jltwp_adminify_deactivation_hook()
133 {
134 delete_option( 'jltwp_adminify_activation_time' );
135 delete_option( 'jltwp_adminify_customizer_flush_url' );
136 }
137
138 public function jltwp_new_freemius_pricing_js( $default_pricing_js_path )
139 {
140 return WP_ADMINIFY_PATH . '/lib/freemius-pricing/freemius-pricing.js';
141 }
142
143 /**
144 * Returns the singleton instance of the class.
145 */
146 public static function get_instance()
147 {
148
149 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
150 self::$instance = new WP_Adminify();
151 self::$instance->jltwp_adminify_init();
152 }
153
154 return self::$instance;
155 }
156
157 }
158 WP_Adminify::get_instance();
159 }
160