PluginProbe ʕ •ᴥ•ʔ
Rich Showcase for Google Reviews / 6.4
Rich Showcase for Google Reviews v6.4
6.9.8 6.9.7 6.9.6 trunk 1.4 1.42 1.43 1.44 1.45 1.46 1.47 1.48 1.49 1.5 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.7 1.6.8 1.6.9 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3 2.4 2.4.1 2.4.2 2.5 2.5.1 2.6 2.6.1 2.6.2 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.6.1 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.8.1 4.8.2 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.7.1 5.8 5.9 5.9.1 5.9.2 5.9.3 5.9.7 6.0 6.1 6.2 6.3 6.4 6.4.1 6.5 6.6 6.6.1 6.6.2 6.7 6.8 6.8.1 6.8.2 6.9 6.9.1 6.9.2 6.9.3 6.9.4 6.9.4.1 6.9.4.2 6.9.4.3 6.9.4.4 6.9.5
widget-google-reviews / includes / class-assets.php
widget-google-reviews / includes Last commit date
admin 10 months ago core 10 months ago class-activator.php 10 months ago class-assets.php 11 months ago class-builder-page.php 1 year ago class-deactivator.php 3 years ago class-debug-info.php 2 years ago class-feed-ajax.php 1 year ago class-feed-block.php 1 year ago class-feed-deserializer.php 11 months ago class-feed-old.php 4 years ago class-feed-page.php 11 months ago class-feed-serializer.php 2 years ago class-feed-shortcode.php 2 years ago class-feed-widget.php 4 years ago class-plugin-overview-ajax.php 1 year ago class-plugin-overview.php 11 months ago class-plugin-settings.php 10 months ago class-plugin-support.php 1 year ago class-plugin.php 11 months ago class-post-types.php 3 years ago class-reviews-cron.php 1 year ago class-settings-save.php 1 year ago class-view.php 10 months ago index.php 4 years ago page-setting-advance.php 1 year ago page-setting-fig.php 1 year ago page-setting-support.php 4 years ago
class-assets.php
198 lines
1 <?php
2
3 namespace WP_Rplg_Google_Reviews\Includes;
4
5 class Assets {
6
7 private $url;
8 private $version;
9 private $debug;
10
11 private static $css_assets = array(
12 'grw-admin-main-css' => 'css/admin-main',
13 'grw-public-clean-css' => 'css/public-clean',
14 'grw-public-main-css' => 'css/public-main',
15
16 'rpi-common-css' => 'https://cdn.reviewsplugin.com/assets/css/common.css',
17 'rpi-lightbox-css' => 'https://cdn.reviewsplugin.com/assets/css/lightbox.css'
18 );
19
20 private static $js_assets = array(
21 'grw-admin-main-js' => 'js/admin-main',
22 'grw-admin-builder-js' => 'js/admin-builder',
23 'grw-admin-apexcharts-js' => 'js/admin-apexcharts',
24 'grw-public-main-js' => 'js/public-main',
25
26 'rpi-time-js' => 'https://cdn.reviewsplugin.com/assets/js/time.js',
27 'rpi-utils-js' => 'https://cdn.reviewsplugin.com/assets/js/utils.js',
28 'rpi-column-js' => 'https://cdn.reviewsplugin.com/assets/js/column.js',
29 'rpi-common-js' => 'https://cdn.reviewsplugin.com/assets/js/common.js',
30 'rpi-media-js' => 'https://cdn.reviewsplugin.com/assets/js/media.js',
31 'rpi-slider-js' => 'https://cdn.reviewsplugin.com/assets/js/slider.js'
32 );
33
34 public function __construct($url, $version, $debug) {
35 $this->url = $url;
36 $this->version = $version;
37 $this->debug = $debug;
38 }
39
40 public function register() {
41 if (is_admin()) {
42 add_action('admin_enqueue_scripts', array($this, 'register_styles'));
43 add_action('admin_enqueue_scripts', array($this, 'register_scripts'));
44 add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_styles'));
45 add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts'));
46 } else {
47 add_action('wp_enqueue_scripts', array($this, 'register_styles'));
48 add_action('wp_enqueue_scripts', array($this, 'register_scripts'));
49 $grw_demand_assets = get_option('grw_demand_assets');
50 if (!$grw_demand_assets || $grw_demand_assets != 'true') {
51 add_action('wp_enqueue_scripts', array($this, 'enqueue_public_styles'));
52 add_action('wp_enqueue_scripts', array($this, 'enqueue_public_scripts'));
53 }
54 add_filter('script_loader_tag', array($this, 'script_async'), 10, 2);
55
56 $async_css = get_option('grw_async_css');
57 if ($async_css === 'true') {
58 add_filter('style_loader_tag', array($this, 'style_async'), 10, 2);
59 }
60 }
61 add_filter('get_rocket_option_remove_unused_css_safelist', array($this, 'rucss_safelist'));
62 }
63
64 function script_async($tag, $handle) {
65 $js_assets = array(
66 'grw-admin-main-js' => 'js/admin-main',
67 'grw-admin-builder-js' => 'js/admin-builder',
68 'grw-public-main-js' => 'js/public-main',
69 );
70 if (isset($handle) && array_key_exists($handle, $js_assets)) {
71 return str_replace(' src', ' defer="defer" src', $tag);
72 }
73 return $tag;
74 }
75
76 function style_async($tag, $handle) {
77 $css_assets = array(
78 'grw-admin-main-css' => 'css/admin-main',
79 'grw-public-clean-css' => 'css/public-clean',
80 'grw-public-main-css' => 'css/public-main',
81 );
82 if (isset($handle) && array_key_exists($handle, $css_assets)) {
83 return str_replace(" rel='stylesheet'", " rel='preload' as='style' onload='this.onload=null;this.rel=\"stylesheet\";window.dispatchEvent(new Event(\"resize\"))'", $tag);
84 }
85 return $tag;
86 }
87
88 function rucss_safelist($safelist) {
89 $css_main = $this->get_css_asset('grw-public-main-css');
90 if (array_search($css_main, $safelist) !== false) {
91 return $safelist;
92 }
93 $safelist[] = $css_main;
94 return $safelist;
95 }
96
97 public function register_styles() {
98 $styles = array('grw-admin-main-css', 'grw-public-main-css', 'rpi-common-css', 'rpi-lightbox-css');
99 if ($this->debug) {
100 array_push($styles, 'grw-public-clean-css');
101 }
102 $this->register_styles_loop($styles);
103 }
104
105 public function register_scripts() {
106 $scripts = array('grw-admin-main-js', 'grw-public-main-js', 'grw-admin-apexcharts-js');
107 if ($this->debug) {
108 array_push($scripts, 'grw-admin-builder-js');
109 array_push($scripts, 'rpi-time-js');
110 array_push($scripts, 'rpi-utils-js');
111 array_push($scripts, 'rpi-column-js');
112 array_push($scripts, 'rpi-common-js');
113 array_push($scripts, 'rpi-media-js');
114 array_push($scripts, 'rpi-slider-js');
115 }
116 $this->register_scripts_loop($scripts);
117 }
118
119 public function enqueue_admin_styles() {
120 wp_enqueue_style('wp-jquery-ui-dialog');
121 wp_enqueue_style('grw-admin-main-css');
122 wp_style_add_data('grw-admin-main-css', 'rtl', 'replace');
123 $this->enqueue_public_styles();
124 }
125
126 public function enqueue_admin_scripts() {
127 wp_enqueue_script('jquery');
128 wp_enqueue_script('jquery-ui-core');
129 wp_enqueue_script('jquery-ui-draggable');
130 wp_enqueue_script('jquery-ui-sortable');
131 wp_enqueue_script('jquery-ui-dialog');
132
133 $vars = array(
134 'lang' => get_locale(),
135 'builderUrl' => admin_url('admin.php?page=grw-builder')
136 );
137
138 if ($this->debug) {
139 wp_localize_script('grw-admin-builder-js', 'GRW_VARS', $vars);
140 wp_enqueue_script('grw-admin-builder-js');
141 } else {
142 wp_localize_script('grw-admin-main-js', 'GRW_VARS', $vars);
143 }
144 wp_enqueue_script('grw-admin-main-js');
145
146 $this->enqueue_public_scripts();
147 }
148
149 public function enqueue_public_styles() {
150 if ($this->debug) {
151 wp_enqueue_style('grw-public-clean-css');
152 wp_style_add_data('grw-public-clean-css', 'rtl', 'replace');
153 wp_enqueue_style('rpi-common-css');
154 wp_enqueue_style('rpi-lightbox-css');
155 }
156 wp_enqueue_style('grw-public-main-css');
157 wp_style_add_data('grw-public-main-css', 'rtl', 'replace');
158 }
159
160 public function enqueue_public_scripts() {
161 if ($this->debug) {
162 wp_enqueue_script('rpi-time-js');
163 wp_enqueue_script('rpi-utils-js');
164 wp_enqueue_script('rpi-column-js');
165 wp_enqueue_script('rpi-common-js');
166 wp_enqueue_script('rpi-media-js');
167 wp_enqueue_script('rpi-slider-js');
168 }
169 wp_enqueue_script('grw-public-main-js');
170 }
171
172 private function register_styles_loop($styles) {
173 foreach ($styles as $style) {
174 wp_register_style($style, $this->get_css_asset($style), array(), $this->version);
175 }
176 }
177
178 private function register_scripts_loop($scripts) {
179 foreach ($scripts as $script) {
180 wp_register_script($script, $this->get_js_asset($script), array(), $this->version);
181 }
182 }
183
184 public function get_css_asset($asset) {
185 $css = self::$css_assets[$asset];
186 return strpos($css, 'https:') === 0 ? $css : $this->url . ($this->debug ? 'src/' : '') . $css . '.css';
187 }
188
189 public function get_js_asset($asset) {
190 $js = self::$js_assets[$asset];
191 return strpos($js, 'https:') === 0 ? $js : $this->url . ($this->debug ? 'src/' : '') . $js . '.js';
192 }
193
194 public function version() {
195 return $this->version;
196 }
197
198 }