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

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

154 lines 5.3 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 {
20 public $url ;
21 public $options = array() ;
22 public function __construct()
23 {
24
25 if ( is_multisite() && is_network_admin() ) {
26 return;
27 // only display to network admin if multisite is enbaled
28 }
29
30 $this->url = WP_ADMINIFY_URL . 'Inc/Modules/CustomHeaderFooter';
31 $this->options = ( new CustomHeaderFooterSettings() )->get();
32 $this->options = ( !empty($this->options['custom_scripts']) ? $this->options['custom_scripts'] : '' );
33 if ( is_admin() ) {
34 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
35 }
36 add_action( 'wp_head', [ $this, 'adminify_header_scripts' ], 9999 );
37 add_action( 'wp_footer', [ $this, 'adminify_footer_scripts' ], 9999 );
38 add_action( 'the_content', [ $this, 'adminify_content_scripts' ] );
39 }
40
41 // Add Header Scripts
42 public function adminify_header_scripts()
43 {
44 $this->adminify_custom_css_js_script( 'header' );
45 }
46
47 // Add Footer Scripts
48 public function adminify_footer_scripts()
49 {
50 $this->adminify_custom_css_js_script( 'footer' );
51 }
52
53 // Add Footer Scripts
54 public function adminify_content_scripts( $content )
55 {
56 return $this->adminify_custom_css_js_script( false, $content );
57 }
58
59 /**
60 * Render Snippet
61 *
62 * @param [since] 1.0.0
63 *
64 * @return void
65 */
66 public function render_snippet( $value )
67 {
68 // $device_display = wp_is_mobile() ? 'desktop' : 'mobile';
69
70 if ( $value['script_type'] == 'css' ) {
71
72 if ( !empty($value['custom_css']) ) {
73 echo wp_kses_post( "\n<!-- Start of WP Adminify Custom CSS - Snippet#{$value['title']} -->\n" ) ;
74 echo "<style>\n" ;
75 echo wp_kses_post( "\n{$value['custom_css']}\n" ) ;
76 echo "\n</style>" ;
77 echo "\n<!-- /End of WP Adminify Custom CSS -->\n" ;
78 }
79
80 } elseif ( $value['script_type'] === 'js' ) {
81
82 if ( !empty($value['custom_js']) ) {
83 echo wp_kses_post( "\n<!-- Start of WP Adminify Custom JS - Snippet#{$value['title']} -->\n" ) ;
84 echo "<script>\n" ;
85 echo wp_kses_post( "\n{$value['custom_js']}\n" ) ;
86 echo "\n</script>" ;
87 echo "\n<!-- /End of WP Adminify Custom JS -->\n" ;
88 }
89
90 }
91
92 }
93
94 /**
95 * Add Snippet
96 *
97 * @return void
98 */
99 public function adminify_custom_css_js_script( $location = '', $content = '' )
100 {
101 $options = $this->options;
102 $before_content = '';
103 $after_content = '';
104 if ( !empty($options) ) {
105 foreach ( $options as $key => $value ) {
106 $output = '';
107 if ( $value['location'] === $location ) {
108 switch ( $value['display_on'] ) {
109 case 'full_site':
110 $output = $this->render_snippet( $value );
111 break;
112 case 's_posts':
113 break;
114 case 's_pages':
115 break;
116 case 's_categories':
117 break;
118 case 's_custom_posts':
119 break;
120 case 's_tags':
121 break;
122 }
123 }
124 }
125 }
126 return $before_content . $content . $after_content;
127 }
128
129 /**
130 * Scripts/Styles
131 */
132 public function enqueue_scripts()
133 {
134 global $pagenow ;
135 // Load Scripts/Styles only WP Adminify Custom CSS/JS Page
136 if ( 'admin.php' === $pagenow && 'adminify-custom-css-js' === $_GET['page'] ) {
137 $this->header_footer_admin_script();
138 }
139 }
140
141 // WP Adminify Custom CSS/JS Page Style
142 public function header_footer_admin_script()
143 {
144 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;}
145
146 /* If needed for white top-bar */
147 .adminify-custom-css-js .adminify-header-inner {
148 background-color: #fafafa !important;
149 border-bottom: 1px solid #f5f5f5;
150 }
151 </style>' ;
152 }
153
154 }