PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.16
VikBooking Hotel Booking Engine & PMS v1.8.16
1.8.16 1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 All 37 releases
← All changes | libraries/system/assets.php +37 -16 1.6.4 → 1.8.16 View file →
@@ -54,9 +54,9 @@
54 54 VikBooking::loadFontAwesome(true);
55 55
56 56 $document->addStyleSheet(VIKBOOKING_ADMIN_ASSETS_URI . 'vikbooking.css', $internalFilesOptions, array('id' => 'vbo-style'));
57 57 $document->addStyleSheet(VIKBOOKING_ADMIN_ASSETS_URI . 'fonts/vboicomoon.css', $internalFilesOptions, array('id' => 'vbo-icomoon-style'));
58 - $document->addStyleSheet(VIKBOOKING_ADMIN_ASSETS_URI . 'vikbooking_backendcustom.css', $internalFilesOptions, array('id' => 'vbo-custom-style'));
58 + $document->addStyleSheet(VIKBOOKING_ADMIN_ASSETS_URI . 'vikbooking_backendcustom.css', array('version' => filemtime(JPath::clean(VBO_ADMIN_PATH . '/resources/vikbooking_backendcustom.css'))), array('id' => 'vbo-custom-style'));
59 59
60 60 VikBooking::getVboApplication()->normalizeBackendStyles();
61 61
62 62 $document->addStyleSheet(VIKBOOKING_ADMIN_ASSETS_URI . 'css/system.css', $internalFilesOptions, array('id' => 'vbo-sys-style'));
@@ -72,15 +72,8 @@
72 72 */
73 73 $document->addScript(VIKBOOKING_ADMIN_ASSETS_URI . 'vbocore.js', $internalFilesOptions, array('id' => 'vbo-core-script'));
74 74
75 75 /**
76 - * Always prepare AJAX requests to pass a CSRF token.
77 - *
78 - * @since 1.6.0
79 - */
80 - JHtml::fetch('vbohtml.scripts.ajaxcsrf');
81 -
82 - /**
83 76 * Include the Toast JS class.
84 77 *
85 78 * @since 1.5.0
86 79 */
@@ -115,8 +108,15 @@
115 108 *
116 109 * @since 1.5.0
117 110 */
118 111 VikBooking::loadAppearancePreferenceAssets();
112 +
113 + /**
114 + * Load the Web App Manifest JSON file.
115 + *
116 + * @since 1.6.5
117 + */
118 + VBOWebappManifest::load();
119 119 }
120 120 else
121 121 {
122 122 if (VikBooking::loadBootstrap())
@@ -137,8 +137,15 @@
137 137 VikBooking::loadAppearancePreferenceAssets();
138 138
139 139 $document->addStyleSheet(VIKBOOKING_SITE_ASSETS_URI.'vikbooking_custom.css', $internalFilesOptions, array('id' => 'vbo-custom-style'));
140 140 }
141 +
142 + /**
143 + * Always prepare AJAX requests to pass a CSRF token.
144 + *
145 + * @since 1.6.0
146 + */
147 + JHtml::fetch('vbohtml.scripts.ajaxcsrf');
141 148 }
142 149
143 150 /**
144 151 * This method should be called only within the wp-admin section when
@@ -174,19 +181,26 @@
174 181 * @since 1.6.0
175 182 */
176 183 JHtml::fetch('vbohtml.scripts.ajaxcsrf');
177 184
178 - // build AJAX uri endpoints
185 + // build AJAX uri endpoints and CMS
179 186 $widget_ajax_uri = VikBooking::ajaxUrl('index.php?option=com_vikbooking&task=exec_admin_widget');
180 187 $assets_ajax_uri = VikBooking::ajaxUrl('index.php?option=com_vikbooking&task=widgets_get_assets');
181 188 $multitask_ajax_uri = VikBooking::ajaxUrl('index.php?option=com_vikbooking&task=exec_multitask_widgets');
182 189 $watchdata_ajax_uri = VikBooking::ajaxUrl('index.php?option=com_vikbooking&task=widgets_watch_data');
183 190 $current_page_uri = htmlspecialchars((string) JUri::getInstance(), ENT_QUOTES);
191 + $root_uri = htmlspecialchars(JUri::root(), ENT_QUOTES);
192 + $current_cms = VBOPlatformDetection::isWordPress() ? 'wordpress' : 'joomla';
184 193
185 194 // check if the notification audio file exists within VCM
186 195 $notif_audio_path = implode(DIRECTORY_SEPARATOR, [VCM_ADMIN_PATH, 'assets', 'css', 'audio', 'new_notification.mp3']);
187 196 $notif_audio_url = is_file($notif_audio_path) ? (VCM_ADMIN_URI . implode('/', ['assets', 'css', 'audio', 'new_notification.mp3'])) : null;
188 197
198 + // service worker and push data
199 + $service_worker_path = VBOWebappServiceworker::getUri();
200 + $service_worker_scope = VBOWebappServiceworker::getScope();
201 + $push_config = json_encode(VBOWebappPush::getConfig());
202 +
189 203 // add the necessary script declaration
190 204 $document->addScriptDeclaration(
191 205 <<<JS
192 206 (function($) {
@@ -196,16 +210,23 @@
196 210
197 211 VBOToast.create(VBOToast.POSITION_TOP_RIGHT);
198 212
199 213 VBOCore.setOptions({
200 - widget_ajax_uri: "$widget_ajax_uri",
201 - assets_ajax_uri: "$assets_ajax_uri",
202 - multitask_ajax_uri: "$multitask_ajax_uri",
203 - watchdata_ajax_uri: "$watchdata_ajax_uri",
204 - current_page: "wp-admin",
205 - current_page_uri: "$current_page_uri",
206 - notif_audio_url: "$notif_audio_url",
214 + cms: "$current_cms",
215 + widget_ajax_uri: "$widget_ajax_uri",
216 + assets_ajax_uri: "$assets_ajax_uri",
217 + multitask_ajax_uri: "$multitask_ajax_uri",
218 + watchdata_ajax_uri: "$watchdata_ajax_uri",
219 + current_page: "wp-admin",
220 + current_page_uri: "$current_page_uri",
221 + root_uri: "$root_uri",
222 + notif_audio_url: "$notif_audio_url",
223 + service_worker_path: "{$service_worker_path}",
224 + service_worker_scope: "{$service_worker_scope}",
225 + push: $push_config,
207 226 });
227 +
228 + VBOCore.listenServiceWorkerMessages();
208 229
209 230 });
210 231 })(jQuery);
211 232 JS