PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 2.0.7
Adminify – White Label, Admin Menu Editor, Login Customizer v2.0.7
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 / Inc / Classes / OutputCSS_Body.php

OutputCSS_Body.php in Adminify – White Label, Admin Menu Editor, Login Customizer 2.0.7, at Inc/Classes/OutputCSS_Body.php

128 lines 15.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPAdminify\Inc\Classes;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Admin\AdminSettings;
7 use WPAdminify\Inc\Admin\AdminSettingsModel;
8
9 // no direct access allowed
10 if (!defined('ABSPATH')) exit;
11 class OutputCSS_Body extends AdminSettingsModel
12 {
13 public $url;
14 public function __construct()
15 {
16 $this->options = (array) AdminSettings::get_instance()->get();
17 add_action('admin_enqueue_scripts', [$this, 'jltwp_adminify_output_body_styles'], 9999);
18
19 // Customize Colors Preset
20 // add_action('wp_head', [$this, 'jltwp_adminify_output_body_preset_vars']);
21 add_action('admin_enqueue_scripts', [$this, 'jltwp_adminify_output_body_preset_vars']);
22 }
23
24
25 public function jltwp_adminify_output_body_preset_vars()
26 {
27 if (array_key_exists('adminify_theme', $this->options) && !empty($this->options['adminify_theme'])) {
28 $theme = $this->options['adminify_theme'];
29 } else {
30 $theme = 'preset1'; // get the default value dynamically
31 }
32
33 $preset = (array) Utils::get_theme_presets($theme);
34
35 if (empty($preset)) {
36 $preset = $this->options['adminify_theme_custom_colors'];
37 }
38 $preset_style = '';
39
40 foreach ($preset as $prop => $val) $preset_style .= sprintf('%s:%s;', $prop, $val);
41
42 if (empty($preset_style)) return;
43
44 printf('<style>body.wp-adminify{%s}</style>', $preset_style);
45
46 wp_enqueue_script('adminify-theme-presetter', WP_ADMINIFY_ASSETS . 'admin/js/wp-adminify-theme-presetter.js', ['jquery'], null, true);
47
48 wp_localize_script('adminify-theme-presetter', 'adminify_preset_themes', Utils::get_theme_presets());
49 }
50
51
52 public function jltwp_adminify_output_body_styles()
53 {
54 $jltwp_adminify_output_body_css = '';
55 $admin_bg_type = !empty($this->options['admin_general_bg']) ? $this->options['admin_general_bg'] : 'color';
56
57 // Background Types
58 $admin_bg_color = !empty($this->options['admin_general_bg_color']) ? $this->options['admin_general_bg_color'] : '';
59
60 // Background Types
61 if ($admin_bg_type) {
62 $jltwp_adminify_output_body_css .= 'html, body.wp-adminify{';
63
64 // Background Type: Color
65 if ($admin_bg_type == 'color') {
66 if (!empty($admin_bg_color)) {
67 $jltwp_adminify_output_body_css .= 'background-color: ' . esc_attr($admin_bg_color) . ';';
68 }
69 }
70
71 $jltwp_adminify_output_body_css .= '}';
72 }
73
74 // Admin Button Color
75 $admin_button_bg_color = !empty($this->options['admin_general_button_color']['bg_color']) ? $this->options['admin_general_button_color']['bg_color'] : '#0347FF';
76 $admin_button_hover_bg_color = !empty($this->options['admin_general_button_color']['hover_bg_color']) ? $this->options['admin_general_button_color']['hover_bg_color'] : '#fff';
77 $admin_button_text_color = !empty($this->options['admin_general_button_color']['text_color']) ? $this->options['admin_general_button_color']['text_color'] : '#fff';
78 $admin_button_hover_text_color = !empty($this->options['admin_general_button_color']['hover_text_color']) ? $this->options['admin_general_button_color']['hover_text_color'] : '#0347FF';
79 $admin_button_border_color = !empty($this->options['admin_general_button_color']['border_color']) ? $this->options['admin_general_button_color']['border_color'] : '#0347FF';
80 $admin_button_hover_border_color = !empty($this->options['admin_general_button_color']['hover_border_color']) ? $this->options['admin_general_button_color']['hover_border_color'] : '#0347FF';
81
82
83 if ($admin_button_bg_color || $admin_button_text_color || $admin_button_border_color) {
84 $jltwp_adminify_output_body_css .= '.wp-adminify .is-primary:not(.wp-editor-wrap button, .wp-editor-wrap button), .wp-adminify .is-secondary:not(.wp-editor-wrap button, .wp-editor-wrap button), .wp-adminify .button-primary:not(.wp-editor-wrap button, .wp-editor-wrap button), .wp-adminify .button-secondary:not(.wp-editor-wrap button, .wp-editor-wrap button), .wp-adminify #wpbody-content .page-title-action, .wp-adminify #wpbody-content input[type=submit]:not(.actions .button), .wp-adminify .adminify-options.wp-adminify-settings .adminify-reset-section, .wp-adminify .wp-adminify-dashboard-widgets .adminify-field button:not(.wp-editor-wrap button), .wp-adminify .adminify-section[data-section-id] .adminify-fieldset button:not(.wp-switch-editor, .wp-editor-wrap button, .adminify-content button), .wp-adminify .adminify-data-wrapper .adminify-cloneable-content button:not(.wp-editor-wrap button), .wp-adminify #wpbody-content .wp-picker-input-wrap .button.wp-picker-default, .wp-adminify.wp-adminify_page_adminify-sidebar-generator .sidebar-title a, .wp-adminify.wp-adminify_page_adminify-sidebar-generator .wp-adminify--popup-container_inner form .button.button-primary, .wp-adminify #wpadminify-admin-columns .columns.is-desktop button, .wp-adminify.appearance_page_custom-background #custom-background .form-table #choose-from-library-link, .wp-adminify.appearance_page_custom-background #custom-background .wp-picker-container .wp-picker-input-wrap .button, .wp-adminify.nav-menus-php #nav-menus-frame .menu-edit .button, .wp-adminify.nav-menus-php .appearance_page_custom-background .wp-upload-form button, .wp-adminify #widgets-left .widgets-chooser .widgets-chooser-sidebars button, .wp-adminify #wpbody-content .postbox-container #post_tag input.button, .wp-adminify #post-body-content .postarea button:not(.wp-switch-editor, .ed_button, .mce-widget button), .wp-adminify .-interface-skeleton__header .edit-post-header .edit-post-header__settings .editor-post-switch-to-draft, .wp-adminify #posts-filter .wp-list-table.widefat .inline-edit-row.inline-edit-save button, .wp-adminify #wpbody-content .metabox-holder .inside button:not(.button-link, .wp-editor-wrap button, .wp-editor-wrap button, .rwmb-meta-box .rwmb-field .rwmb-input .wp-picker-container .button.wp-color-result,.rwmb-field .rwmb-input .wp-picker-container .wp-picker-input-wrap .wp-picker-clear), .wp-adminify #wpbody-content .metabox-holder .inside .button:not(.wp-editor-wrap button, .rwmb-meta-box .rwmb-field .rwmb-input .wp-picker-container .button.wp-color-result), .wp-adminify #wpbody-content .metabox-holder .inside input[type=submit], .wp-adminify #wpbody-content .metabox-holder .postbox-header + .inside button:not(.button-link, .wp-editor-wrap button, .wp-editor-wrap button, .rwmb-meta-box .rwmb-field .rwmb-input .wp-picker-container .button.wp-color-result,.rwmb-field .rwmb-input .wp-picker-container .wp-picker-input-wrap .wp-picker-clear), .wp-adminify #wpbody-content .metabox-holder .postbox-header + .inside .button:not(.wp-editor-wrap button,.rwmb-meta-box .rwmb-field .rwmb-input .wp-picker-container .button.wp-color-result,.rwmb-field .rwmb-input .wp-picker-container .wp-picker-input-wrap .wp-picker-clear), .wp-adminify #wpbody-content .metabox-holder .postbox-header + .inside input[type=submit], .wp-adminify #major-publishing-actions input[type=submit], .wp-adminify .media-modal .media-frame-toolbar .media-toolbar button, .wp-adminify #post-body-content .image-editor button:not(.imgedit-help-toggle), .wp-adminify #post-body-content .image-editor input[type=button], .wp-adminify .wp-adminify-page-speed-wrapper .wp-adminify-analyze-button, .wp-adminify #wpbody-content #documentation #docs-lookup, .wp-adminify .wp-list-table.widefat.comments .inline-edit-row .comment-reply .reply-submit-buttons button, .wp-adminify.themes-php #wpbody-content .theme-browser .theme .theme-actions .button, .wp-adminify.themes-php #wpbody-content .theme-overlay .theme-actions .button, .wp-adminify.theme-install-php #wpbody-content .theme-browser .theme .theme-actions .button, .wp-adminify.theme-install-php #wpbody-content .theme-install-overlay .wp-full-overlay-header .button, .wp-adminify.theme-install-php #wpbody-content .filter-drawer .buttons .button, .wp-adminify .health-check-body .site-health-view-passed, .wp-adminify .health-check-body .site-health-copy-buttons button, .wp-adminify .privacy-settings-accordion-actions button, .wp-adminify #wpbody-content #createuser .wp-generate-pw, .wp-adminify #wpbody-content #createuser .wp-hide-pw, .wp-adminify #wpbody-content #your-profile .wp-generate-pw, .wp-adminify #wpbody-content #your-profile .wp-hide-pw, .wp-adminify .adminify-copy-btn, .wp-adminify .blocks-widgets-container .block-editor-inserter button:not(.is-pressed, .components-panel__body-toggle), .wp-adminify .popup--delete-history .button.button-primary, .wp-adminify--folder-widget .folder--header a, .wp-adminify.plugin-install-php #wpbody-content .plugin-card .plugin-card-top .action-links .plugin-action-buttons .button{';
85
86 if (isset($admin_button_bg_color)) {
87 $jltwp_adminify_output_body_css .= 'background-color: ' . esc_attr($admin_button_bg_color) . ' !important;';
88 }
89 if (isset($admin_button_text_color)) {
90 $jltwp_adminify_output_body_css .= 'color: ' . esc_attr($admin_button_text_color) . ' !important;';
91 }
92 if (isset($admin_button_border_color)) {
93 $jltwp_adminify_output_body_css .= 'border: 1px solid ' . esc_attr($admin_button_border_color) . ' !important;';
94 }
95
96 $jltwp_adminify_output_body_css .= '}';
97 }
98
99 // Button Hover
100 if ($admin_button_hover_bg_color || $admin_button_hover_text_color || $admin_button_hover_border_color) {
101 $jltwp_adminify_output_body_css .= '.wp-adminify .is-primary:not(.wp-editor-wrap button, .wp-editor-wrap button):hover, .wp-adminify .is-secondary:not(.wp-editor-wrap button, .wp-editor-wrap button):hover, .wp-adminify .button-primary:not(.wp-editor-wrap button, .wp-editor-wrap button):hover, .wp-adminify .button-secondary:not(.wp-editor-wrap button, .wp-editor-wrap button):hover, .wp-adminify #wpbody-content .page-title-action:hover, .wp-adminify #wpbody-content input[type=submit]:not(.actions .button):hover, .wp-adminify .adminify-options.wp-adminify-settings .adminify-reset-section:hover, .wp-adminify .wp-adminify-dashboard-widgets .adminify-field button:not(.wp-editor-wrap button):hover, .wp-adminify .adminify-section[data-section-id] .adminify-fieldset button:not(.wp-switch-editor, .wp-editor-wrap button, .adminify-content button):hover, .wp-adminify .adminify-data-wrapper .adminify-cloneable-content button:not(.wp-editor-wrap button):hover, .wp-adminify #wpbody-content .wp-picker-input-wrap .button.wp-picker-default:hover, .wp-adminify.wp-adminify_page_adminify-sidebar-generator .sidebar-title a:hover, .wp-adminify.wp-adminify_page_adminify-sidebar-generator .wp-adminify--popup-container_inner form .button.button-primary:hover, .wp-adminify #wpadminify-admin-columns .columns.is-desktop button:hover, .wp-adminify.appearance_page_custom-background #custom-background .form-table #choose-from-library-link:hover, .wp-adminify.appearance_page_custom-background #custom-background .wp-picker-container .wp-picker-input-wrap .button:hover, .wp-adminify.nav-menus-php #nav-menus-frame .menu-edit .button:hover, .wp-adminify.nav-menus-php .appearance_page_custom-background .wp-upload-form button:hover, .wp-adminify #widgets-left .widgets-chooser .widgets-chooser-sidebars button:hover, .wp-adminify #wpbody-content .postbox-container #post_tag input.button:hover, .wp-adminify #post-body-content .postarea button:not(.wp-switch-editor, .ed_button, .mce-widget button):hover, .wp-adminify .-interface-skeleton__header .edit-post-header .edit-post-header__settings .editor-post-switch-to-draft:hover, .wp-adminify #posts-filter .wp-list-table.widefat .inline-edit-row.inline-edit-save button:hover, .wp-adminify #wpbody-content .metabox-holder .inside button:not(.button-link, .wp-editor-wrap button, .wp-editor-wrap button):hover, .wp-adminify #wpbody-content .metabox-holder .inside .button:not(.wp-editor-wrap button):hover, .wp-adminify #wpbody-content .metabox-holder .inside input[type=submit]:hover, .wp-adminify #wpbody-content .metabox-holder .postbox-header + .inside button:not(.button-link, .wp-editor-wrap button, .wp-editor-wrap button):hover, .wp-adminify #wpbody-content .metabox-holder .postbox-header + .inside .button:not(.wp-editor-wrap button):hover, .wp-adminify #wpbody-content .metabox-holder .postbox-header + .inside input[type=submit]:hover, .wp-adminify #major-publishing-actions input[type=submit]:hover, .wp-adminify .media-modal .media-frame-toolbar .media-toolbar button:hover, .wp-adminify #post-body-content .image-editor button:not(.imgedit-help-toggle):hover, .wp-adminify #post-body-content .image-editor input[type=button]:hover, .wp-adminify .wp-adminify-page-speed-wrapper .wp-adminify-analyze-button:hover, .wp-adminify #wpbody-content #documentation #docs-lookup:hover, .wp-adminify .wp-list-table.widefat.comments .inline-edit-row .comment-reply .reply-submit-buttons button:hover, .wp-adminify.themes-php #wpbody-content .theme-browser .theme .theme-actions .button:hover, .wp-adminify.themes-php #wpbody-content .theme-overlay .theme-actions .button:hover, .wp-adminify.theme-install-php #wpbody-content .theme-browser .theme .theme-actions .button:hover, .wp-adminify.theme-install-php #wpbody-content .theme-install-overlay .wp-full-overlay-header .button:hover, .wp-adminify.theme-install-php #wpbody-content .filter-drawer .buttons .button:hover, .wp-adminify .health-check-body .site-health-view-passed:hover, .wp-adminify .health-check-body .site-health-copy-buttons button:hover, .wp-adminify .privacy-settings-accordion-actions button:hover, .wp-adminify #wpbody-content #createuser .wp-generate-pw:hover, .wp-adminify #wpbody-content #createuser .wp-hide-pw:hover, .wp-adminify #wpbody-content #your-profile .wp-generate-pw:hover, .wp-adminify #wpbody-content #your-profile .wp-hide-pw:hover, .wp-adminify .adminify-copy-btn:hover, .wp-adminify .blocks-widgets-container .block-editor-inserter button:not(.is-pressed, .components-panel__body-toggle):hover, .wp-adminify .popup--delete-history .button.button-primary:hover, .wp-adminify--folder-widget .folder--header a:hover, .wp-adminify.plugin-install-php #wpbody-content .plugin-card .plugin-card-top .action-links .plugin-action-buttons .button:hover{';
102
103 if (isset($admin_button_hover_bg_color)) {
104 $jltwp_adminify_output_body_css .= 'background-color: ' . esc_attr($admin_button_hover_bg_color) . ' !important;';
105 }
106 if (isset($admin_button_hover_text_color)) {
107 $jltwp_adminify_output_body_css .= 'color: ' . esc_attr($admin_button_hover_text_color) . ' !important;';
108 }
109 if (isset($admin_button_hover_border_color)) {
110 $jltwp_adminify_output_body_css .= 'border: 1px solid ' . esc_attr($admin_button_hover_border_color) . ' !important;';
111 }
112
113 $jltwp_adminify_output_body_css .= '}';
114 }
115
116 // Combine the values from above and minifiy them.
117 $jltwp_adminify_output_body_css = preg_replace('#/\*.*?\*/#s', '', $jltwp_adminify_output_body_css);
118 $jltwp_adminify_output_body_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $jltwp_adminify_output_body_css);
119 $jltwp_adminify_output_body_css = preg_replace('/\s\s+(.*)/', '$1', $jltwp_adminify_output_body_css);
120
121 if (!empty($this->options['admin_ui'])) {
122 wp_add_inline_style('wp-adminify-admin', wp_strip_all_tags($jltwp_adminify_output_body_css));
123 } else {
124 wp_add_inline_style('wp-adminify-default-ui', wp_strip_all_tags($jltwp_adminify_output_body_css));
125 }
126 }
127 }
128