PluginProbe
Darkify – Dark Mode & Night Mode for Website & Admin (Dark Theme Included) / 1.4.6
Darkify – Dark Mode & Night Mode for Website & Admin (Dark Theme Included) v1.4.6
2.1.3 2.1.2 2.1.1 2.1.0 2.0.4 2.0.3 2.0.2 2.0.1 2.0.0 1.5.5 1.5.4 1.5.3 1.5.2 1.5.1 1.5.0 trunk 1.0.1 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 All 57 releases
← All changes | src/Admin/Admin.php +26 -182 1.5.21.4.6 View file →
@@ -11,15 +11,14 @@
11 11 * @author ThemeAtelier<themeatelierbd@gmail.com>
12 12 */
13 13
14 14 namespace ThemeAtelier\Darkify\Admin;
15 -use ThemeAtelier\Darkify\Admin\TADiscountPage\TADiscountPage;
15 +
16 16 use ThemeAtelier\Darkify\Admin\ReviewNotice\ReviewNotice;
17 17 use ThemeAtelier\Darkify\Admin\Views\DarkifyOptions;
18 -use ThemeAtelier\Darkify\Includes\DarkifyExternalSupport;
19 -use ThemeAtelier\Darkify\Includes\DarkifyUtils;
18 +use ThemeAtelier\Darkify\Helpers\DarkifyExternalSupport;
19 +use ThemeAtelier\Darkify\Helpers\DarkifyUtils;
20 20 use ThemeAtelier\Darkify\Admin\DBUpdates;
21 -use ThemeAtelier\Darkify\Admin\ReviewNotice\ThemeAtelier_Offer_Banner;
22 21
23 22 /**
24 23 * The admin class
25 24 */
@@ -77,35 +76,19 @@
77 76
78 77 $enable_admin_panel_dark_mode = isset($options['enable_admin_panel_dark_mode']) ? $options['enable_admin_panel_dark_mode'] : false;
79 78 $this->plugin_name = $plugin_slug;
80 79 $this->min = (apply_filters('darkify_dev_mode', false) || WP_DEBUG) ? '' : '.min';
81 -
80 + add_filter('plugin_action_links_' . DARKIFY_BASENAME, array($this, 'add_plugin_action_links'), 10, 2);
82 81 if ($enable_admin_panel_dark_mode) {
83 82 add_action('admin_bar_menu', array($this, 'darkify_admin_bar_switch'), 9999);
84 83 add_action('admin_print_scripts', array($this, 'darkify_admin_header_script'), 1);
85 84 add_action('admin_footer', array($this, 'darkify_admin_footer_script'));
86 85 }
87 -
88 - add_action( 'admin_menu', array( $this, 'admin_menu' ), 10 );
86 + add_action('admin_menu', array($this, 'add_plugin_page'));
87 + new ReviewNotice();
88 + new DBUpdates();
89 89 add_action('after_setup_theme', array($this, 'init_components'));
90 90 add_filter('autoptimize_filter_js_exclude', array($this, 'darkify_exclude_js_from_cache_plugins'));
91 - add_action('admin_init', [$this, 'load_classic_editor_scripts']);
92 - new ReviewNotice();
93 - new DBUpdates();
94 - if ( ! defined( 'THEMEATELIER_OFFER_BANNER_LOADED' ) ) {
95 - define( 'THEMEATELIER_OFFER_BANNER_LOADED', true );
96 - ThemeAtelier_Offer_Banner::instance();
97 - }
98 -
99 - $active_plugins = get_option('active_plugins');
100 - foreach ($active_plugins as $active_plugin) {
101 - $_temp = strpos($active_plugin, 'darkify.php');
102 - if (false != $_temp) {
103 - add_filter('plugin_action_links_' . DARKIFY_BASENAME, array($this, 'add_plugin_action_links'), 10, 2);
104 - add_filter( 'plugin_row_meta', array( $this, 'after_darkify_row_meta' ), 10, 4 );
105 - }
106 - }
107 - add_filter( 'admin_footer_text', array( $this, 'darkify_admin_footer' ), 1, 2 );
108 91 }
109 92
110 93 public function init_components() {
111 94 DarkifyOptions::options('darkify');
@@ -146,126 +129,20 @@
146 129 wp_enqueue_script('darkify-help-page', DARKIFY_DIR_URL . 'src/Admin/HelpPage/assets/js/help-page' . $this->min . '.js', array('darkify-plugins'), DARKIFY_VERSION, true);
147 130 }
148 131 }
149 132
150 - /*
151 - Dequeue Darkify scripts and styles on specific admin pages (e.g., MainWP pages)
152 - */
153 -
154 - public function admin_dequeue_for_specefic_pages()
155 - {
156 - $page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : '';
157 - $dequeue_pages = array(
158 - 'mainwp_tab',
159 - 'managesites',
160 - 'ManageClients',
161 - 'CostSummary',
162 - 'InsightsOverview',
163 - 'Extensions',
164 - 'RESTAPI',
165 - 'mainwp-setup',
166 - 'ThemesManage',
167 - 'PluginsManage',
168 - 'InsightsManage',
169 - 'ManageGroups',
170 - 'UpdatesManage',
171 - 'PluginsInstall',
172 - 'PluginsAutoUpdate',
173 - 'PluginsIgnore',
174 - 'PluginsAbandoned',
175 - 'PluginsIgnoredAbandoned',
176 - 'ThemesInstall',
177 - 'ThemesAutoUpdate',
178 - 'ThemesIgnore',
179 - 'ThemesAbandoned',
180 - 'ThemesIgnoredAbandoned',
181 - 'UserBulkManage',
182 - 'UserBulkAdd',
183 - 'BulkImportUsers',
184 - 'UpdateAdminPasswords',
185 - 'PostBulkManage',
186 - 'Extensions-Mainwp-Backups',
187 - 'Extensions-Mainwp-Security',
188 - 'Extensions-Mainwp-Analytics',
189 - 'Mainwp-Monitoring',
190 - 'Extensions-Mainwp-Agency',
191 - 'Extensions-Mainwp-Administrative',
192 - 'Extensions-Mainwp-Development',
193 - 'Extensions-Mainwp-Performance',
194 - 'ClientAddNew',
195 - 'ClientImport',
196 - 'ManageCostTracker',
197 - 'CostTrackerAdd',
198 - 'AddApiKeys',
199 - );
200 -
201 -
202 - if ( in_array( $page, $dequeue_pages, true ) ) {
203 - wp_deregister_style( 'darkify-admin-switch' );
204 - wp_dequeue_script( 'darkify-admin-client-main' );
205 - }
206 -
207 - }
208 -
209 - /**
210 - * Review Text.
211 - *
212 - * @param string $text text.
213 - *
214 - * @return string
215 - */
216 - public function darkify_admin_footer( $text ) {
217 -
218 - $screen = get_current_screen();
219 -
220 - if ( 'toplevel_page_darkify' === $screen->id ) {
221 - $text = sprintf(
222 - /* translators: 1: start strong tag, 2: close strong tag. 3: start link 4: close link */
223 - __( '<i>Enjoying %1$sDarkify?%2$s Please rate us %3$sWordPress.org%4$s. Your positive feedback will help us grow more. Thank you! 😊</i>', 'darkify' ),
224 - '<strong>',
225 - '</strong>',
226 - '<span class="greet-footer-text-star">★★★★★</span> <a href="https://wordpress.org/support/plugin/darkify/reviews/#new-post" target="_blank">',
227 - '</a>'
228 - );
229 - }
230 -
231 - return $text;
232 - }
233 -
234 133 // Plugin settings in plugin list
235 134 public function add_plugin_action_links(array $links)
236 135 {
237 136 $new_links = array(
238 137 sprintf('<a href="' . esc_url(admin_url('admin.php?page=darkify')) . '">' . esc_html__('Settings', 'darkify') . '</a>'),
239 - sprintf('<a target="_blank" href="https://wordpress.org/support/plugin/darkify/">' . esc_html__('Support', 'darkify') . '</a>'),
240 - // sprintf('<a style="font-weight: bold;color:#171717" target="_blank" href="https://darkifywp.com/pricing/?ref=1">' . esc_html__('Go Pro', 'darkify') . '</a>'),
138 + sprintf('<a target="_blank" href="https://themeatelier.net/contact">' . esc_html__('Support', 'darkify') . '</a>'),
139 + sprintf('<a style="font-weight: bold;color:#171717" target="_blank" href="https://darkifywp.com/pricing/?ref=1">' . esc_html__('Go Pro', 'darkify') . '</a>'),
241 140 );
242 -
243 - $links[] = sprintf( '<a style="font-weight: bold;color:#35b747" target="_blank" href="https://darkifywp.com/pricing/?utm_source=darkify_plugin&utm_medium=action_link&utm_campaign=regular">%s</a>', esc_html__( 'Go Pro!', 'darkify' ));
244 -
245 141 return array_merge($new_links, $links);
246 142 }
247 143
248 - /**
249 - * Add plugin row meta link.
250 - *
251 - * @since 2.0
252 - *
253 - * @param array $plugin_meta .
254 - * @param string $file .
255 - *
256 - * @return array
257 - */
258 - public function after_darkify_row_meta( $plugin_meta, $file ) {
259 144
260 - if ( DARKIFY_BASENAME === $file ) {
261 - $plugin_meta[] = '<a href="'.DARKIFY_DEMO_URL.'" target="_blank">' . __( 'Live Demo', 'darkify' ) . '</a>';
262 - }
263 -
264 - return $plugin_meta;
265 - }
266 -
267 -
268 145 public function darkify_admin_bar_switch($wp_admin_bar)
269 146 {
270 147 $args = array(
271 148 'parent' => 'top-secondary',
@@ -287,13 +164,18 @@
287 164 {
288 165 include_once DarkifyUtils::darkify_locate_template('footer_script.php');
289 166 }
290 167
291 - public function admin_menu()
168 + public function add_plugin_page()
292 169 {
293 - // global $menu, $admin_page_hooks;
294 - $capability = apply_filters( 'darkify_ui_permission', 'manage_options' );
295 - $menu_icon = 'data:image/svg+xml;base64,' . base64_encode('<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
170 + // This page will be under "Settings"
171 + add_menu_page(
172 + esc_html__('Darkify', 'darkify'),
173 + esc_html__('Darkify', 'darkify'),
174 + 'manage_options',
175 + 'darkify',
176 + [$this, 'darkify_settings'],
177 + 'data:image/svg+xml;base64,' . base64_encode('<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
296 178 <path d="M23.5 1.5C23.5 0.671573 22.8284 0 22 0C21.1716 0 20.5 0.671573 20.5 1.5V4.5C20.5 5.32843 21.1716 6 22 6C22.8284 6 23.5 5.32843 23.5 4.5V1.5Z" fill="white" />
297 179 <path d="M34 22C34 28.6274 28.6274 34 22 34C15.3726 34 10 28.6274 10 22C10 15.3726 15.3726 10 22 10C28.6274 10 34 15.3726 34 22Z" fill="white" />
298 180 <path d="M22 38C22.8284 38 23.5 38.6716 23.5 39.5V42.5C23.5 43.3284 22.8284 44 22 44C21.1716 44 20.5 43.3284 20.5 42.5V39.5C20.5 38.6716 21.1716 38 22 38Z" fill="white" />
299 181 <path d="M10.6863 10.6863C10.1005 11.2721 9.15074 11.2721 8.56495 10.6863L6.44363 8.56498C5.85784 7.97919 5.85784 7.02945 6.44363 6.44366C7.02942 5.85787 7.97916 5.85787 8.56495 6.44366L10.6863 8.56498C11.2721 9.15077 11.2721 10.1005 10.6863 10.6863Z" fill="white" />
@@ -301,62 +183,24 @@
301 183 <path d="M10.6863 33.3137C11.2721 33.8995 11.2721 34.8492 10.6863 35.435L8.56495 37.5563C7.97916 38.1421 7.02942 38.1421 6.44363 37.5563C5.85784 36.9706 5.85784 36.0208 6.44363 35.435L8.56495 33.3137C9.15074 32.7279 10.1005 32.7279 10.6863 33.3137Z" fill="white" />
302 184 <path d="M37.5563 8.56496C38.1421 7.97918 38.1421 7.02943 37.5563 6.44364C36.9705 5.85786 36.0208 5.85786 35.435 6.44364L33.3137 8.56496C32.7279 9.15075 32.7279 10.1005 33.3137 10.6863C33.8995 11.2721 34.8492 11.2721 35.435 10.6863L37.5563 8.56496Z" fill="white" />
303 185 <path d="M6 22C6 22.8284 5.32843 23.5 4.5 23.5H1.5C0.671573 23.5 0 22.8284 0 22C0 21.1716 0.671573 20.5 1.5 20.5H4.5C5.32843 20.5 6 21.1716 6 22Z" fill="white" />
304 186 <path d="M42.5 23.5C43.3284 23.5 44 22.8284 44 22C44 21.1716 43.3284 20.5 42.5 20.5H39.5C38.6716 20.5 38 21.1716 38 22C38 22.8284 38.6716 23.5 39.5 23.5H42.5Z" fill="white" />
305 - </svg>');
306 - // This page will be under "Settings"
307 - add_menu_page(
308 - esc_html__('Darkify', 'darkify'),
309 - esc_html__('Darkify', 'darkify'),
310 - $capability,
311 - 'darkify',
312 - [$this, 'darkify_settings'],
313 - $menu_icon,
314 - 60
187 + </svg>'),
188 + 9
315 189 );
190 + do_action('darkify_before_upgrade_pro_menu');
316 191 add_submenu_page(
317 192 'darkify',
318 193 __(
319 - 'Upgrade To Pro! 👑',
194 + '👑 Upgrade to Pro!',
320 195 'darkify'
321 196 ),
322 - sprintf('<span style="color: #35b747;font-weight:600;" class="darkify-get-pro-text">%s</span>', __('Upgrade To Pro! 👑', 'darkify')),
197 + sprintf('<span style="color: #35b747;font-weight: bold;" class="darkify-get-pro-text">%s</span>', __('👑 Upgrade to Pro!', 'darkify')),
323 198 'manage_options',
324 - 'https://darkifywp.com/pricing/?utm_source=darkify_plugin&utm_medium=submenu_page&utm_campaign=regular'
199 + 'https://darkifywp.com/pricing/?ref=1'
325 200 );
326 -
201 + do_action('darkify_after_upgrade_pro_menu');
327 202 }
328 203
329 - public function darkify_settings() {}
330 -
331 - /**
332 - * Load classic editor scripts.
333 - *
334 - * @since 5.0.0
335 - */
336 - public function load_classic_editor_scripts()
337 - {
338 - $options = get_option('darkify');
339 - $classic_editor_dark_mode = isset($options['classic_editor_dark_mode']) ? $options['classic_editor_dark_mode'] : '';
340 - if (! current_user_can('edit_posts') && ! current_user_can('edit_pages')) {
341 - return;
342 - }
343 - if (get_user_option('rich_editing') !== 'true') {
344 - return;
345 - }
204 + public function darkify_settings() {}
346 205
347 - // Bail if admin_classic_editor is not enabled.
348 - if (! wp_validate_boolean($classic_editor_dark_mode)) {
349 - return;
350 - }
351 -
352 - add_filter('mce_external_plugins', function ($plugins) {
353 - $plugins['darkify_button'] = plugins_url('src/assets/js/admin-classic-editor.js', DARKIFY_FILE);
354 - return $plugins;
355 - });
356 -
357 - add_filter('mce_buttons', function ($buttons) {
358 - $buttons[] = 'darkify_button';
359 - return $buttons;
360 - });
361 - }
362 206 }