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

197 lines 8.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\Libs\Featured;
6 use WPAdminify\Inc\Admin\Admin;
7 use WPAdminify\Inc\Classes\Assets;
8 use WPAdminify\Inc\Classes\Upgrade;
9 use WPAdminify\Inc\Classes\Feedback;
10 use WPAdminify\Inc\Admin\AdminSettings;
11 use WPAdminify\Inc\Classes\Pro_Upgrade;
12 use WPAdminify\Inc\Classes\Addons_Plugins;
13 use WPAdminify\Inc\Classes\Notifications\Notifications;
14 // No, Direct access Sir !!!
15 if ( !defined( 'ABSPATH' ) ) {
16 exit;
17 }
18 if ( !class_exists( 'WP_Adminify' ) ) {
19 class WP_Adminify {
20 const VERSION = WP_ADMINIFY_VER;
21
22 private static $instance = null;
23
24 public function __construct() {
25 add_action( 'plugins_loaded', array($this, 'maybe_run_upgrades'), -100 );
26 // This should run earlier
27 add_action( 'plugins_loaded', array($this, 'maybe_loaded_addons'), -200 );
28 // add_action('plugins_loaded', array($this, 'jltwp_adminify_plugins_loaded'), 999);
29 add_filter( 'plugin_action_links_' . WP_ADMINIFY_BASE, array($this, 'plugin_action_links') );
30 add_filter( 'network_admin_plugin_action_links_' . WP_ADMINIFY_BASE, array($this, 'plugin_action_links') );
31 add_filter( 'admin_body_class', array($this, 'jltwp_adminify_body_class'), 99 );
32 add_action( 'plugins_loaded', array($this, 'jltwp_is_plugin_row_meta') );
33 add_action( 'plugins_loaded', array($this, 'jltwp_adminify_include_files') );
34 $is_finished = get_option( 'jltwp_adminify_setup_wizard_ran' );
35 if ( !empty( $is_finished ) || $is_finished != '1' ) {
36 if ( apply_filters( 'jltwp_adminify_show_setup_wizard', true ) ) {
37 new \WPAdminify\Inc\Classes\Wizard\Setup_Wizard();
38 set_transient( '_adminify_activation_redirect', 1, 30 );
39 }
40 }
41 jltwp_adminify()->add_filter( 'pricing_url', [$this, 'jltwp_adminify_pricing_url'] );
42 }
43
44 function jltwp_adminify_pricing_url( $pricing_url ) {
45 $pricing_url = 'https://jeweltheme.com';
46 return $pricing_url;
47 }
48
49 public function jltwp_is_plugin_row_meta() {
50 add_filter(
51 'plugin_row_meta',
52 array($this, 'jltwp_adminify_plugin_row_meta'),
53 10,
54 2
55 );
56 add_filter(
57 'network_admin_plugin_row_meta',
58 array($this, 'jltwp_adminify_plugin_row_meta'),
59 10,
60 2
61 );
62 }
63
64 /**
65 * Add Body Class
66 */
67 public function jltwp_adminify_body_class( $classes ) {
68 $classes .= ' wp-adminify ';
69 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
70 if ( !empty( $adminify_ui ) ) {
71 $classes .= ' adminify-ui';
72 }
73 if ( is_rtl() ) {
74 $classes .= ' adminify-rtl ';
75 }
76 return $classes;
77 }
78
79 /**
80 * Plugin action links
81 *
82 * @param array $links
83 *
84 * @return array
85 */
86 public function plugin_action_links( $links ) {
87 $links['settings'] = sprintf( '<a class="adminify-plugin-settings" href="%1$s">%2$s</a>', admin_url( 'admin.php?page=wp-adminify-settings' ), __( 'Settings', 'adminify' ) );
88 $links['pricing'] = sprintf( '<a href="%1$s" class="adminify-upgrade-pro" target="_blank" style="color: orangered;font-weight: bold;">%2$s</a>', 'https://wpadminify.com/pricing', __( 'Upgrade Now', 'adminify' ) );
89 return $links;
90 }
91
92 public function jltwp_adminify_plugin_row_meta( $plugin_meta, $plugin_file ) {
93 if ( WP_ADMINIFY_BASE === $plugin_file ) {
94 $row_meta = array(
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 return $plugin_meta;
102 }
103
104 public function jltwp_adminify_plugins_loaded() {
105 self::jltwp_adminify_activation_hook();
106 }
107
108 /**
109 * Addons Loaded Method
110 *
111 * @return void
112 */
113 public function maybe_loaded_addons() {
114 do_action( 'jltwp_adminify_plugin_loaded', WP_Adminify::get_instance() );
115 }
116
117 public function maybe_run_upgrades() {
118 if ( !is_admin() && !current_user_can( 'manage_options' ) ) {
119 return;
120 }
121 $upgrade = new Upgrade();
122 if ( $upgrade->if_updates_available() ) {
123 $upgrade->run_updates();
124 }
125 }
126
127 public function jltwp_adminify_include_files() {
128 new Assets();
129 new Admin();
130 new Featured();
131 new Feedback();
132 new Notifications();
133 new Pro_Upgrade();
134 new Addons_Plugins();
135 }
136
137 public function jltwp_adminify_init() {
138 // Backup for OLD Database
139 $current_version = get_option( 'wp_adminify_version' );
140 $is_backup = $old_data = get_option( '_wpadminify_backup' );
141 if ( version_compare( $current_version, WP_ADMINIFY_VER, '<' ) && empty( $is_backup ) ) {
142 $old_data = get_option( '_wpadminify' );
143 update_option( '_wpadminify_backup', $old_data );
144 }
145 // Load Text Domain
146 $this->jltwp_adminify_load_textdomain();
147 }
148
149 // Text Domains
150 public function jltwp_adminify_load_textdomain() {
151 $domain = 'adminify';
152 $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
153 load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
154 load_plugin_textdomain( $domain, false, dirname( WP_ADMINIFY_BASE ) . '/languages/' );
155 }
156
157 // Activation Hook
158 public static function jltwp_adminify_activation_hook() {
159 $current_adminify_version = get_option( 'wp_adminify_version', null );
160 if ( get_option( 'jltwp_adminify_activation_time' ) === false ) {
161 update_option( 'jltwp_adminify_activation_time', strtotime( 'now' ) );
162 }
163 if ( is_null( $current_adminify_version ) ) {
164 update_option( 'wp_adminify_version', self::VERSION );
165 }
166 //database upgrade logic here
167 $old_data = get_option( '_wpadminify' );
168 update_option( '_wpadminify_backup', $old_data );
169 // Create term_order collumn in terms table, to support post type order
170 global $wpdb;
171 $check_term_order_column = $wpdb->query( "SHOW COLUMNS FROM {$wpdb->terms} LIKE 'term_order'" );
172 if ( $check_term_order_column == 0 ) {
173 $wpdb->query( "ALTER TABLE {$wpdb->terms} ADD term_order INT( 4 ) NULL DEFAULT '0'" );
174 }
175 }
176
177 // Deactivation Hook
178 public static function jltwp_adminify_deactivation_hook() {
179 delete_option( 'jltwp_adminify_activation_time' );
180 delete_option( 'jltwp_adminify_customizer_flush_url' );
181 }
182
183 /**
184 * Returns the singleton instance of the class.
185 */
186 public static function get_instance() {
187 if ( !isset( self::$instance ) && !self::$instance instanceof WP_Adminify ) {
188 self::$instance = new WP_Adminify();
189 self::$instance->jltwp_adminify_init();
190 }
191 return self::$instance;
192 }
193
194 }
195
196 WP_Adminify::get_instance();
197 }