PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.5
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.5
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 / Modules / CustomHeaderFooter / CustomHeaderFooter.php

CustomHeaderFooter.php in Adminify – White Label, Admin Menu Editor, Login Customizer 3.2.4.5, at Inc/Modules/CustomHeaderFooter/CustomHeaderFooter.php

140 lines 5.2 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\Modules\CustomHeaderFooter;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Modules\CustomHeaderFooter\CustomHeaderFooterModel;
7 // no direct access allowed
8 if ( !defined( 'ABSPATH' ) ) {
9 exit;
10 }
11 /**
12 * WPAdminify
13 *
14 * @package Custom CSS/JS
15 *
16 * @author Jewel Theme <support@jeweltheme.com>
17 */
18 class CustomHeaderFooter extends CustomHeaderFooterModel {
19 public $url;
20
21 public $options = [];
22
23 public function __construct() {
24 if ( is_multisite() && is_network_admin() ) {
25 return;
26 // only display to network admin if multisite is enbaled
27 }
28 $this->url = WP_ADMINIFY_URL . 'Inc/Modules/CustomHeaderFooter';
29 $this->options = ( new CustomHeaderFooterSettings() )->get();
30 $this->options = ( !empty( $this->options['custom_scripts'] ) ? $this->options['custom_scripts'] : '' );
31 if ( is_admin() ) {
32 add_action( 'admin_enqueue_scripts', [$this, 'enqueue_scripts'] );
33 }
34 add_action( 'wp_head', [$this, 'adminify_header_scripts'], 9999 );
35 add_action( 'wp_footer', [$this, 'adminify_footer_scripts'], 9999 );
36 add_action( 'the_content', [$this, 'adminify_content_scripts'] );
37 }
38
39 // Add Header Scripts
40 public function adminify_header_scripts() {
41 $this->adminify_custom_css_js_script( 'header' );
42 }
43
44 // Add Footer Scripts
45 public function adminify_footer_scripts() {
46 $this->adminify_custom_css_js_script( 'footer' );
47 }
48
49 // Add Footer Scripts
50 public function adminify_content_scripts( $content ) {
51 return $this->adminify_custom_css_js_script( false, $content );
52 }
53
54 /**
55 * Render Snippet
56 *
57 * @param [since] 1.0.0
58 *
59 * @return void
60 */
61 public function render_snippet( $value ) {
62 // $device_display = wp_is_mobile() ? 'desktop' : 'mobile';
63 if ( $value['script_type'] == 'css' ) {
64 if ( !empty( $value['custom_css'] ) ) {
65 echo wp_kses_post( "\n<!-- Start of WP Adminify Custom CSS - Snippet#{$value['title']} -->\n" );
66 echo "<style>\n";
67 echo wp_kses_post( "\n{$value['custom_css']}\n" );
68 echo "\n</style>";
69 echo "\n<!-- /End of WP Adminify Custom CSS -->\n";
70 }
71 } elseif ( $value['script_type'] === 'js' ) {
72 if ( !empty( $value['custom_js'] ) ) {
73 echo wp_kses_post( "\n<!-- Start of WP Adminify Custom JS - Snippet#{$value['title']} -->\n" );
74 echo "<script>\n";
75 echo wp_kses_post( "\n{$value['custom_js']}\n" );
76 echo "\n</script>";
77 echo "\n<!-- /End of WP Adminify Custom JS -->\n";
78 }
79 }
80 }
81
82 /**
83 * Add Snippet
84 *
85 * @return void
86 */
87 public function adminify_custom_css_js_script( $location = '', $content = '' ) {
88 $options = $this->options;
89 $before_content = '';
90 $after_content = '';
91 if ( !empty( $options ) ) {
92 foreach ( $options as $key => $value ) {
93 $output = '';
94 if ( $value['location'] === $location ) {
95 switch ( $value['display_on'] ) {
96 case 'full_site':
97 $output = $this->render_snippet( $value );
98 break;
99 case 's_posts':
100 break;
101 case 's_pages':
102 break;
103 case 's_categories':
104 break;
105 case 's_custom_posts':
106 break;
107 case 's_tags':
108 break;
109 }
110 }
111 }
112 }
113 return $before_content . $content . $after_content;
114 }
115
116 /**
117 * Scripts/Styles
118 */
119 public function enqueue_scripts() {
120 global $pagenow;
121 // Load Scripts/Styles only WP Adminify Custom CSS/JS Page
122 if ( 'admin.php' === $pagenow && 'adminify-custom-css-js' === $_GET['page'] ) {
123 $this->header_footer_admin_script();
124 }
125 }
126
127 // WP Adminify Custom CSS/JS Page Style
128 public function header_footer_admin_script() {
129 echo '<style>.wp-adminify-custom-css-js .adminify-container{ max-width:60%; margin:0 auto;} .wp-adminify-custom-css-js .adminify-header-inner{padding:0;}.wp-adminify-custom-css-js .adminify-field-subheading{font-size:20px; padding-left:0;}.adminify-custom-css-js .adminify-nav,.adminify-custom-css-js .adminify-search,.adminify-custom-css-js .adminify-footer,.adminify-custom-css-js .adminify-reset-all,.adminify-custom-css-js .adminify-expand-all,.adminify-custom-css-js .adminify-header-left,.adminify-custom-css-js .adminify-reset-section,.adminify-custom-css-js .adminify-nav-background{display: none !important;}.adminify-custom-css-js .adminify-nav-normal + .adminify-content{margin-left: 0;}
130
131 /* If needed for white top-bar */
132 .adminify-custom-css-js .adminify-header-inner {
133 background-color: #fafafa !important;
134 border-bottom: 1px solid #f5f5f5;
135 }
136 </style>';
137 }
138
139 }
140