PluginProbe
WP Coder – Insert & Manage Code Snippets / 3.0.4
WP Coder – Insert & Manage Code Snippets v3.0.4
4.5.1 1.1 2.3.1 2.3.2 2.4.1 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1 3.1.1 3.2 3.2.1 3.3 3.4 3.5 3.5.1 All 39 releases
wp-coder / classes / Publisher / EnqueueStyle.php

EnqueueStyle.php in WP Coder – Insert & Manage Code Snippets 3.0.4, at classes/Publisher/EnqueueStyle.php

94 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPCoder\Publisher;
4
5 defined( 'ABSPATH' ) || exit;
6
7 use WPCoder\Dashboard\FolderManager;
8 use WPCoder\Optimization\CSSMinifier;
9 use WPCoder\WOW_Plugin;
10
11 class EnqueueStyle {
12
13 public static function init( $result ) {
14 $param = maybe_unserialize( $result->param );
15
16 self::include_styles( $result );
17
18 if ( ! empty( $result->css_code ) && empty( $param['inline_css'] ) ) {
19 self::include_style( $result->id, $param, $result );
20 }
21
22 }
23
24 public static function inline($result ): void {
25 if ( is_admin() ) {
26 return;
27 }
28
29 if(empty($result->css_code)) {
30 return;
31 }
32
33 $param = maybe_unserialize( $result->param );
34
35 if(empty( $param['inline_css'])) {
36 return;
37 }
38
39 $css = $result->css_code;
40
41 if ( ! empty( $param['minified_css'] ) ) {
42 $css = CSSMinifier::minify( $css );
43 }
44
45 $slug = WOW_Plugin::SLUG . '-style-' . $result->id . '-inline';
46 echo '<style id="' . esc_attr( $slug ) . '">' . wp_kses_post( $css ) . '</style>';
47 }
48
49 private static function include_style( $id, $param, $result ) {
50 $url = FolderManager::get_style_url( $result );
51 $time = ! empty( $param['time'] ) ? $param['time'] : time();
52
53 wp_enqueue_style( WOW_Plugin::SLUG . '-style-' . $id, $url, null, WOW_Plugin::VERSION . '_' . $time );
54 }
55
56 private static function include_styles( $result ) {
57 $styles = self::get_styles( $result );
58 if ( empty( $styles ) ) {
59 return;
60 }
61
62 foreach ( $styles as $style ) {
63 if ( empty( $style['att'] ) ) {
64 wp_enqueue_style( $style['slug'], $style['url'], null, $style['ver'] );
65 }
66 }
67 }
68
69 private static function get_styles( $result ): array {
70 $styles = [];
71
72 $param = maybe_unserialize( $result->param );
73
74 $count = ! empty( $param['include'] ) ? count( $param['include'] ) : 0;
75 $time = ! empty( $param['time'] ) ? $param['time'] : time();
76
77 if ( $count < 1 ) {
78 return $styles;
79 }
80
81 for ( $i = 0; $i < $count; $i ++ ) {
82 if ( $param['include'][ $i ] === 'css' && ! empty( $param['include_file'][ $i ] ) ) {
83 $styles[] = [
84 'url' => $param['include_file'][ $i ],
85 'slug' => WOW_Plugin::SLUG . '-' . $result->id . '-css-' . $i,
86 'ver' => WOW_Plugin::VERSION . '_' . $time,
87 ];
88 }
89 }
90
91 return $styles;
92 }
93
94 }