WP VR – 360 Panorama and virtual tour creator for WordPress - Version 7.3.0

Version Description

(18-06-2021) = * Tweak: WP VR logo & Text Aligned on Dashboard. * Tweak: Scene Image Missing Notice redesigned & updated. * Tweak: Scene ID Missing Notice redesigned & updated. * Tweak: Invalid Scene ID Notice redesigned & updated. * Tweak: Duplicate Scene ID Notice redesigned & updated. * Tweak: Default Scene Change Notice redesigned & updated. * Tweak: Scene Deletion Notice redesigned & updated. * Tweak: Scene Limit Reached Notice redesigned & updated. * Tweak: Invalid Hotspot ID Notice redesigned & updated. * Tweak: Duplicate Hotspot ID Notice redesigned & updated. * Tweak: On-click Content + URL Dual Input Notice redesigned & updated. * Tweak: Custom Icon + Custom Icon Class Dual Input Notice redesigned & updated. * Tweak: Target Scene Missing Notice redesigned & updated. * Tweak: Hotspot Limit Reached Notice redesigned & updated. * Tweak: Hotspot Deletion Notice redesigned & updated. * Fix: Autoplay bug for 360-degree videos.

Download this release

Release Info

Developer rextheme
Plugin Icon 128x128 WP VR – 360 Panorama and virtual tour creator for WordPress
Version 7.3.0
Comparing to
See all releases

Code changes from version 7.2.9 to 7.3.0

README.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: https://rextheme.com/wp-vr-360-panorama-and-virtual-tour-creator-fo
5
  Requires at least: 5.0
6
  Tested up to: 5.7
7
  Requires PHP: 7.0.0
8
- Stable tag: 7.2.9
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -287,24 +287,43 @@ If you use any Optimization or Caching plugins, then you need to exclude WP VR f
287
  Simply add “/plugins/wpvr” to the exclusion field (or use the location where you store plugins).
288
 
289
  == Screenshots ==
290
- 1. Gutenberg Block
291
- 2. Block ID selection
292
- 3. General settings window
293
- 4. Scene setting
294
- 5. Hotspot setting
295
- 6. Hotspot setting
296
- 7. Preview window
297
- 8. Preview window
298
- 9. Elementor setup
299
- 10. Front view
300
- 11. Front view with customized hotspot icon
301
- 12. Front view with gallery
 
302
 
303
  == Changelog ==
304
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
305
  = 7.2.9 (25-05-2021) =
306
- New: Warning message added for Street View tab.
307
- Tweak: Rollback versions updated.
308
 
309
  = 7.2.8 (06-05-2021) =
310
  * Fix: PHP Warnings on Backend & Frontend
5
  Requires at least: 5.0
6
  Tested up to: 5.7
7
  Requires PHP: 7.0.0
8
+ Stable tag: 7.3.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
287
  Simply add “/plugins/wpvr” to the exclusion field (or use the location where you store plugins).
288
 
289
  == Screenshots ==
290
+ 1. Upload 360 Degree Image
291
+ 2. Preview 360 Degree Image
292
+ 3. Basic Settings of Virtual Tour
293
+ 4. Preview Image on Virtual Tour
294
+ 5. Preview Image Virtual Tour
295
+ 6. Advanced Controls of Virtual Tour
296
+ 7. Control Buttons of Virtual Tour
297
+ 8. 360 Image Basic Settings
298
+ 9. 360 Image Advanced Settings
299
+ 10. Set Information on Hotspots
300
+ 11. Connect 360 Degree Images on Hotspots
301
+ 12. 360 Video Tour
302
+
303
 
304
  == Changelog ==
305
 
306
+ = 7.3.0 (18-06-2021) =
307
+ * Tweak: WP VR logo & Text Aligned on Dashboard.
308
+ * Tweak: Scene Image Missing Notice redesigned & updated.
309
+ * Tweak: Scene ID Missing Notice redesigned & updated.
310
+ * Tweak: Invalid Scene ID Notice redesigned & updated.
311
+ * Tweak: Duplicate Scene ID Notice redesigned & updated.
312
+ * Tweak: Default Scene Change Notice redesigned & updated.
313
+ * Tweak: Scene Deletion Notice redesigned & updated.
314
+ * Tweak: Scene Limit Reached Notice redesigned & updated.
315
+ * Tweak: Invalid Hotspot ID Notice redesigned & updated.
316
+ * Tweak: Duplicate Hotspot ID Notice redesigned & updated.
317
+ * Tweak: On-click Content + URL Dual Input Notice redesigned & updated.
318
+ * Tweak: Custom Icon + Custom Icon Class Dual Input Notice redesigned & updated.
319
+ * Tweak: Target Scene Missing Notice redesigned & updated.
320
+ * Tweak: Hotspot Limit Reached Notice redesigned & updated.
321
+ * Tweak: Hotspot Deletion Notice redesigned & updated.
322
+ * Fix: Autoplay bug for 360-degree videos.
323
+
324
  = 7.2.9 (25-05-2021) =
325
+ * New: Warning message added for Street View tab.
326
+ * Tweak: Rollback versions updated.
327
 
328
  = 7.2.8 (06-05-2021) =
329
  * Fix: PHP Warnings on Backend & Frontend
admin/class-wpvr-admin.php CHANGED
@@ -438,10 +438,41 @@ class Wpvr_Admin
438
  $html .= '<input type="hidden" value="'.$scene_active_tab.'" name="wpvr_active_scenes" id="wpvr_active_scenes"/>';
439
  $html .= '<input type="hidden" value="'.$hotspot_active_tab.'" name="wpvr_active_hotspot" id="wpvr_active_hotspot"/>';
440
 
 
441
  $html .= '<div class="pano-alert scene-alert">';
442
- $html .= '<span class="destroy"><i class="fa fa-times"></i></span>';
443
- $html .= '<p></p>';
444
- $html .= '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
445
 
446
  $html .='<div class="rex-pano-tabs">';
447
  $html .='<nav class="rex-pano-tab-nav rex-pano-nav-menu main-nav" id="wpvr-main-nav">';
@@ -2348,7 +2379,41 @@ class Wpvr_Admin
2348
  $html .= '</div>';
2349
  $html .='</div>';
2350
  //---end scenes tab----
2351
- $html .= '<div id="error_occured"></div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2352
 
2353
  //----start video tab content---------
2354
  $html .='<div class="rex-pano-tab video" id="video">';
438
  $html .= '<input type="hidden" value="'.$scene_active_tab.'" name="wpvr_active_scenes" id="wpvr_active_scenes"/>';
439
  $html .= '<input type="hidden" value="'.$hotspot_active_tab.'" name="wpvr_active_hotspot" id="wpvr_active_hotspot"/>';
440
 
441
+ //--------start pano alert------
442
  $html .= '<div class="pano-alert scene-alert">';
443
+ $html .= '<div class="pano-error-wrapper">';
444
+ $html .= '<div class="pano-error-body">';
445
+ $html .= '<span class="cross pano-error-close-btn">
446
+ <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
447
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M18.7778 18.7786C14.4819 23.074 7.51728 23.0738 3.22169 18.778C-1.0739 14.4823 -1.0739 7.51769 3.22169 3.22196C7.51728 -1.07378 14.4819 -1.07402 18.7778 3.22143C20.8409 5.28436 22 8.08242 22 11C22 13.9176 20.8409 16.7156 18.7778 18.7786ZM14.9278 8.21857L12.1071 11L14.9278 13.7814C15.0865 13.93 15.1765 14.1376 15.1765 14.355C15.1765 14.5724 15.0865 14.78 14.9278 14.9286C14.7795 15.0756 14.5788 15.1576 14.3699 15.1564C14.1638 15.1556 13.9663 15.0737 13.8199 14.9286L10.9992 12.1079L8.21778 14.9286C8.07143 15.0737 7.8739 15.1556 7.66778 15.1564C7.45893 15.1576 7.2582 15.0756 7.10992 14.9286C6.80528 14.6221 6.80528 14.1272 7.10992 13.8207L9.89135 11L7.10992 8.21857C6.84295 7.90683 6.8609 7.44213 7.15112 7.15191C7.44134 6.8617 7.90604 6.84375 8.21778 7.11071L10.9992 9.89214L13.7806 7.11071C13.9785 6.9058 14.2707 6.82202 14.5471 6.89095C14.8236 6.95988 15.0422 7.17104 15.1207 7.44488C15.1992 7.71872 15.1257 8.01365 14.9278 8.21857ZM4.34363 4.34471C8.02058 0.663508 13.9845 0.656605 17.6699 4.32929C19.4452 6.09842 20.4431 8.50157 20.4431 11.0079C20.4431 13.5141 19.4452 15.9173 17.6699 17.6864C13.9845 21.3591 8.02058 21.3522 4.34363 17.671C0.666691 13.9898 0.666691 8.02591 4.34363 4.34471Z" fill="#A8A7BE"/>
448
+ </svg>
449
+ </span>';
450
+
451
+ $html .= '<span class="icon pano-warning">
452
+ <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
453
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M0 15C0 23.2843 6.71573 30 15 30C23.2843 30 30 23.2843 30 15C30 6.71573 23.2843 0 15 0C6.71573 0 0 6.71573 0 15ZM2 15C2 7.8203 7.8203 2 15 2C22.1797 2 28 7.8203 28 15C28 22.1797 22.1797 28 15 28C7.8203 28 2 22.1797 2 15Z" fill="#004EFA"/>
454
+ <circle cx="8.5" cy="11.5" r="1.5" fill="#004EFA"/>
455
+ <circle cx="21.5" cy="11.5" r="1.5" fill="#004EFA"/>
456
+ <path d="M20.9993 21.9932C20.7336 21.995 20.4781 21.8728 20.2894 21.6537C17.6429 18.5603 13.3571 18.5603 10.7106 21.6537C10.5228 21.8753 10.2673 22 10.0007 22C9.73407 22 9.4785 21.8753 9.29076 21.6537C8.90308 21.1971 8.90308 20.4596 9.29076 20.0029C12.7241 15.999 18.2759 15.999 21.7092 20.0029C22.0969 20.4596 22.0969 21.1971 21.7092 21.6537C21.5205 21.8728 21.2651 21.995 20.9993 21.9932V21.9932Z" fill="#004EFA"/>
457
+ </svg>
458
+ </span>';
459
+
460
+ $html .= '<div class="pano-error-message"></div>';
461
+
462
+ $html .= '</div>';
463
+ //---end error body---
464
+
465
+ //---error footer---
466
+ $html .= '<div class="pano-error-footer">';
467
+ $html .= '<ul>';
468
+ $html .= '<li class="pano-error-close">';
469
+ $html .= '<a href="https://rextheme.com/wpvr/" target="_blank" >Upgrade to Pro</a>';
470
+ $html .= '</li>';
471
+ $html .= '</ul>';
472
+ $html .= '</div>';
473
+ $html .= '</div>';
474
+ $html .= '</div>';
475
+ //--------end pano alert------
476
 
477
  $html .='<div class="rex-pano-tabs">';
478
  $html .='<nav class="rex-pano-tab-nav rex-pano-nav-menu main-nav" id="wpvr-main-nav">';
2379
  $html .= '</div>';
2380
  $html .='</div>';
2381
  //---end scenes tab----
2382
+
2383
+ //-----start pano eror alert------
2384
+ $html .= '<div id="error_occured">';
2385
+ $html .= '<div class="pano-error-wrapper">';
2386
+ $html .= '<div class="pano-error-body">';
2387
+ $html .= '<span class="cross pano-error-close-btn">
2388
+ <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2389
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M18.7778 18.7786C14.4819 23.074 7.51728 23.0738 3.22169 18.778C-1.0739 14.4823 -1.0739 7.51769 3.22169 3.22196C7.51728 -1.07378 14.4819 -1.07402 18.7778 3.22143C20.8409 5.28436 22 8.08242 22 11C22 13.9176 20.8409 16.7156 18.7778 18.7786ZM14.9278 8.21857L12.1071 11L14.9278 13.7814C15.0865 13.93 15.1765 14.1376 15.1765 14.355C15.1765 14.5724 15.0865 14.78 14.9278 14.9286C14.7795 15.0756 14.5788 15.1576 14.3699 15.1564C14.1638 15.1556 13.9663 15.0737 13.8199 14.9286L10.9992 12.1079L8.21778 14.9286C8.07143 15.0737 7.8739 15.1556 7.66778 15.1564C7.45893 15.1576 7.2582 15.0756 7.10992 14.9286C6.80528 14.6221 6.80528 14.1272 7.10992 13.8207L9.89135 11L7.10992 8.21857C6.84295 7.90683 6.8609 7.44213 7.15112 7.15191C7.44134 6.8617 7.90604 6.84375 8.21778 7.11071L10.9992 9.89214L13.7806 7.11071C13.9785 6.9058 14.2707 6.82202 14.5471 6.89095C14.8236 6.95988 15.0422 7.17104 15.1207 7.44488C15.1992 7.71872 15.1257 8.01365 14.9278 8.21857ZM4.34363 4.34471C8.02058 0.663508 13.9845 0.656605 17.6699 4.32929C19.4452 6.09842 20.4431 8.50157 20.4431 11.0079C20.4431 13.5141 19.4452 15.9173 17.6699 17.6864C13.9845 21.3591 8.02058 21.3522 4.34363 17.671C0.666691 13.9898 0.666691 8.02591 4.34363 4.34471Z" fill="#A8A7BE"/>
2390
+ </svg>
2391
+ </span>';
2392
+
2393
+ $html .= '<span class="icon pano-warning">
2394
+ <svg width="36" height="30" viewBox="0 0 36 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2395
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M21.4802 1.86951L35.4553 24.3914C36.1816 25.5621 36.1816 26.9598 35.4553 28.1305C34.7289 29.3011 33.4278 30 31.9751 30H4.025C2.5722 30 1.2712 29.3011 0.5448 28.1305C-0.1816 26.9598 -0.1816 25.5621 0.5448 24.3914L14.5198 1.86951C15.2462 0.698907 16.5473 0 18 0C19.4527 0 20.7538 0.698841 21.4802 1.86951ZM31.9751 28.0358C32.6647 28.0358 33.2822 27.7041 33.6271 27.1484C33.9719 26.5927 33.9719 25.9291 33.6271 25.3734L19.6521 2.8515C19.3072 2.2958 18.6896 1.96404 18 1.96404C17.3104 1.96404 16.6928 2.2958 16.3479 2.8515L2.37293 25.3734C2.02812 25.9291 2.02812 26.5927 2.37293 27.1484C2.71774 27.7041 3.33537 28.0358 4.025 28.0358H31.9751Z" fill="#FAAC14"/>
2396
+ <path d="M18 22C17.4486 22 17 22.4486 17 23C17 23.5514 17.4486 24 18 24C18.5514 24 19 23.5514 19 23C19 22.4486 18.5514 22 18 22Z" fill="#FAAC14"/>
2397
+ <rect x="17" y="11" width="2" height="9" fill="#FAAC14"/>
2398
+ </svg>
2399
+ </span>';
2400
+
2401
+ $html .= '<div class="pano-error-message"></div>';
2402
+
2403
+ $html .= '</div>';
2404
+ //---end error body---
2405
+
2406
+ //---error footer---
2407
+ $html .= '<div class="pano-error-footer">';
2408
+ $html .= '<ul>';
2409
+ $html .= '<li class="pano-error-close">';
2410
+ $html .= '<button type="button" class="pano-error-close-btn">Ok</button>';
2411
+ $html .= '</li>';
2412
+ $html .= '</ul>';
2413
+ $html .= '</div>';
2414
+ $html .= '</div>';
2415
+ $html .= '</div>';
2416
+ //-----end pano eror alert------
2417
 
2418
  //----start video tab content---------
2419
  $html .='<div class="rex-pano-tab video" id="video">';
admin/class-wpvr-ajax.php CHANGED
@@ -136,14 +136,16 @@ class Wpvr_Ajax {
136
  foreach ($panodata["scene-list"] as $scenes_val) {
137
 
138
  $scene_id_validate = $scenes_val["scene-id"];
 
 
139
  if (!empty($scene_id_validate)) {
140
  $scene_id_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$scene_id_validate);
141
  if ($scene_id_validated != $scene_id_validate) {
142
- wp_send_json_error('<p><span>Warning:</span> The scene id can only contain letters and numbers where scene id: '.$scene_id_validate.'</p>');
143
  die();
144
  }
145
  if (empty($scenes_val["scene-attachment-url"])) {
146
- wp_send_json_error('<p><span>Warning:</span> A scene image is required for every scene where scene id: '.$scene_id_validate.'</p>');
147
  die();
148
  }
149
 
@@ -206,16 +208,17 @@ class Wpvr_Ajax {
206
  die();
207
  }
208
  }
209
-
210
  if ($scenes_val["hotspot-list"] != "") {
211
  foreach ($scenes_val["hotspot-list"] as $hotspot_val) {
212
 
213
  $hotspot_title_validate = $hotspot_val["hotspot-title"];
214
 
 
215
  if (!empty($hotspot_title_validate)) {
216
  $hotspot_title_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$hotspot_title_validate);
217
  if ($hotspot_title_validated != $hotspot_title_validate) {
218
- wp_send_json_error('<p><span>Warning:</span> Hotspot title can only contain letters and numbers where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
219
  die();
220
  }
221
 
@@ -241,7 +244,7 @@ class Wpvr_Ajax {
241
  $status = get_option( 'wpvr_edd_license_status' );
242
  if( $status !== false && $status == 'valid' ) {
243
  if ($hotspot_val["hotspot-customclass-pro"] != 'none' && !empty($hotspot_val["hotspot-customclass"])) {
244
- wp_send_json_error('<p><span>Warning:</span> Don\'t add Custom icon class and custom icon both where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
245
  die();
246
  }
247
  }
@@ -265,14 +268,14 @@ class Wpvr_Ajax {
265
  die();
266
  }
267
  if (!empty($hotspot_url_validate) && !empty($hotspot_content_validate)) {
268
- wp_send_json_error('<p><span>Warning:</span> Don\'t add Url and On click content both on same hotspot where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
269
  die();
270
  }
271
  }
272
 
273
  if ($hotspot_type_validate == "scene") {
274
  if (empty($hotspot_scene_validate)) {
275
- wp_send_json_error('<p><span>Warning:</span> Target scene id is required for scene type hotspot where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
276
  die();
277
  }
278
  if (!empty($hotspot_url_validate) || !empty($hotspot_content_validate)) {
@@ -289,7 +292,7 @@ class Wpvr_Ajax {
289
  //===Error Control and Validation===//
290
  foreach ($panodata["scene-list"] as $panoscenes) {
291
  if (empty($panoscenes['scene-id']) && !empty($panoscenes['scene-attachment-url'])) {
292
- wp_send_json_error('<p><span>Warning:</span> You have added a scene image but empty scene id. Please add scene id and update </p>');
293
  die();
294
  }
295
  }
@@ -321,7 +324,7 @@ class Wpvr_Ajax {
321
  $allsceneids_count = array_count_values($allsceneids);
322
  foreach ($allsceneids_count as $key => $value) {
323
  if ($value > 1) {
324
- wp_send_json_error('<p><span>Warning:</span> You can not use same scene id on multiple scene </p>');
325
  die();
326
  }
327
  }
@@ -330,6 +333,7 @@ class Wpvr_Ajax {
330
  if (!empty($panoscenes['scene-id'])) {
331
  $allhotspot = array();
332
  foreach ($panoscenes["hotspot-list"] as $hotspot_val) {
 
333
  if (!empty($hotspot_val["hotspot-title"])) {
334
  array_push($allhotspot, $hotspot_val["hotspot-title"]);
335
  }
@@ -337,7 +341,7 @@ class Wpvr_Ajax {
337
  $allhotspotcount = array_count_values($allhotspot);
338
  foreach ($allhotspotcount as $key => $value) {
339
  if ($value > 1) {
340
- wp_send_json_error('<p><span>Warning:</span> You can not use same hotspot id on multiple hotspot for same scene </p>');
341
  die();
342
  }
343
  }
@@ -717,6 +721,7 @@ class Wpvr_Ajax {
717
  $loop = sanitize_text_field($_POST['loop']);
718
  $vidloop = sanitize_text_field($_POST['loop']);
719
  $vidtype = '';
 
720
  if (strpos($videourl, 'youtube') > 0) {
721
  $vidtype = 'youtube';
722
  $explodeid = '';
@@ -796,8 +801,9 @@ class Wpvr_Ajax {
796
  else {
797
  $vidtype = 'selfhost';
798
  $vidautoplay = '';
799
- $vidautoplay = sanitize_text_field($_POST['vidautoplay']);
800
-
 
801
  if ($autoplay == 'on') {
802
  $autoplay = 'autoplay muted';
803
  }
@@ -1006,12 +1012,12 @@ class Wpvr_Ajax {
1006
  if (!empty($scene_id_validate)) {
1007
  $scene_id_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$scene_id_validate);
1008
  if ($scene_id_validated != $scene_id_validate) {
1009
- wp_send_json_error('<p><span>Warning:</span> The scene id can only contain letters and numbers where scene id: '.$scene_id_validate.'</p>');
1010
  die();
1011
  }
1012
 
1013
  if (empty($scenes_val["scene-attachment-url"])) {
1014
- wp_send_json_error('<p><span>Warning:</span> A scene image is required for every scene where scene id: '.$scene_id_validate.'</p>');
1015
  die();
1016
  }
1017
 
@@ -1083,7 +1089,7 @@ class Wpvr_Ajax {
1083
  if (!empty($hotspot_title_validate)) {
1084
  $hotspot_title_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$hotspot_title_validate);
1085
  if ($hotspot_title_validated != $hotspot_title_validate) {
1086
- wp_send_json_error('<p><span>Warning:</span> Hotspot title can only contain letters and numbers where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
1087
  die();
1088
  }
1089
  $hotspot_pitch_validate = $hotspot_val["hotspot-pitch"];
@@ -1116,7 +1122,7 @@ class Wpvr_Ajax {
1116
  $status = get_option( 'wpvr_edd_license_status' );
1117
  if( $status !== false && $status == 'valid' ) {
1118
  if ($hotspot_val["hotspot-customclass-pro"] != 'none' && !empty($hotspot_val["hotspot-customclass"])) {
1119
- wp_send_json_error('<p><span>Warning:</span> Don\'t add Custom icon class and custom icon both where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
1120
  die();
1121
  }
1122
  }
@@ -1140,7 +1146,7 @@ class Wpvr_Ajax {
1140
  die();
1141
  }
1142
  if (!empty($hotspot_url_validate) && !empty($hotspot_content_validate)) {
1143
- wp_send_json_error('<p><span>Warning:</span> Don\'t add Url and On click content both on same hotspot where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
1144
  die();
1145
  }
1146
  }
@@ -1160,7 +1166,7 @@ class Wpvr_Ajax {
1160
 
1161
  if ($hotspot_type_validate == "scene") {
1162
  if (empty($hotspot_scene_validate)) {
1163
- wp_send_json_error('<p><span>Warning:</span> Target scene id is required for scene type hotspot where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
1164
  die();
1165
  }
1166
  if (!empty($hotspot_url_validate) || !empty($hotspot_content_validate)) {
@@ -1178,7 +1184,7 @@ class Wpvr_Ajax {
1178
 
1179
  foreach ($panodata["scene-list"] as $panoscenes) {
1180
  if (empty($panoscenes['scene-id']) && !empty($panoscenes['scene-attachment-url'])) {
1181
- wp_send_json_error('<p><span>Warning:</span> You have added a scene image but empty scene id. Please add scene id and update </p>');
1182
  die();
1183
  }
1184
  }
@@ -1210,7 +1216,7 @@ class Wpvr_Ajax {
1210
  $allsceneids_count = array_count_values($allsceneids);
1211
  foreach ($allsceneids_count as $key => $value) {
1212
  if ($value > 1) {
1213
- wp_send_json_error('<p><span>Warning:</span> You can not use same scene id on multiple scene </p>');
1214
  die();
1215
  }
1216
  }
@@ -1226,7 +1232,7 @@ class Wpvr_Ajax {
1226
  $allhotspotcount = array_count_values($allhotspot);
1227
  foreach ($allhotspotcount as $key => $value) {
1228
  if ($value > 1) {
1229
- wp_send_json_error('<p><span>Warning:</span> You can not use same hotspot id on multiple hotspot for same scene </p>');
1230
  die();
1231
  }
1232
  }
136
  foreach ($panodata["scene-list"] as $scenes_val) {
137
 
138
  $scene_id_validate = $scenes_val["scene-id"];
139
+
140
+
141
  if (!empty($scene_id_validate)) {
142
  $scene_id_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$scene_id_validate);
143
  if ($scene_id_validated != $scene_id_validate) {
144
+ wp_send_json_error('<span class="pano-error-title">Invalid Scene ID</span> <p>Scene ID can\'t contain spaces and special characters. <br/>Please assign a unique Scene ID with letters and numbers where Scene ID is : '.$scene_id_validate.'</p>');
145
  die();
146
  }
147
  if (empty($scenes_val["scene-attachment-url"])) {
148
+ wp_send_json_error('<span class="pano-error-title">Missing Scene Image</span><p> Please upload a 360 Degree image where Scene ID is: '.$scene_id_validate.'</p>');
149
  die();
150
  }
151
 
208
  die();
209
  }
210
  }
211
+
212
  if ($scenes_val["hotspot-list"] != "") {
213
  foreach ($scenes_val["hotspot-list"] as $hotspot_val) {
214
 
215
  $hotspot_title_validate = $hotspot_val["hotspot-title"];
216
 
217
+
218
  if (!empty($hotspot_title_validate)) {
219
  $hotspot_title_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$hotspot_title_validate);
220
  if ($hotspot_title_validated != $hotspot_title_validate) {
221
+ wp_send_json_error('<span class="pano-error-title">Invalid Hotspot ID</span> <p>Hotspot ID can\'t contain spaces and special characters. <br/>Please assign a unique Hotspot ID with letters and numbers where Scene id: '.$scene_id_validate.' Hotspot ID is: '.$hotspot_title_validate.'</p>');
222
  die();
223
  }
224
 
244
  $status = get_option( 'wpvr_edd_license_status' );
245
  if( $status !== false && $status == 'valid' ) {
246
  if ($hotspot_val["hotspot-customclass-pro"] != 'none' && !empty($hotspot_val["hotspot-customclass"])) {
247
+ wp_send_json_error('<span class="pano-error-title">Warning!</span> <p>You can not use both Custom Icon and Custom Icon Class for a hotspot where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
248
  die();
249
  }
250
  }
268
  die();
269
  }
270
  if (!empty($hotspot_url_validate) && !empty($hotspot_content_validate)) {
271
+ wp_send_json_error('<span class="pano-error-title">Warning!</span> <p>You can not set both On Click Content and URL on a hotspot where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
272
  die();
273
  }
274
  }
275
 
276
  if ($hotspot_type_validate == "scene") {
277
  if (empty($hotspot_scene_validate)) {
278
+ wp_send_json_error('<span class="pano-error-title">Target Scene Missing</span> <p>Assign a Target Scene to the Scene-type Hotspot where Scene ID: '.$scene_id_validate.' and Hotspot ID : '.$hotspot_title_validate.'</p>');
279
  die();
280
  }
281
  if (!empty($hotspot_url_validate) || !empty($hotspot_content_validate)) {
292
  //===Error Control and Validation===//
293
  foreach ($panodata["scene-list"] as $panoscenes) {
294
  if (empty($panoscenes['scene-id']) && !empty($panoscenes['scene-attachment-url'])) {
295
+ wp_send_json_error('<span class="pano-error-title">Missing Scene ID</span> <p>Please assign a unique Scene ID to your uploaded scene.</p>');
296
  die();
297
  }
298
  }
324
  $allsceneids_count = array_count_values($allsceneids);
325
  foreach ($allsceneids_count as $key => $value) {
326
  if ($value > 1) {
327
+ wp_send_json_error('<span class="pano-error-title">Duplicate Scene ID</span> <p>You\'ve assigned a duplicate Scene ID. <br/>Please assign unique Scene IDs to each scene. </p>');
328
  die();
329
  }
330
  }
333
  if (!empty($panoscenes['scene-id'])) {
334
  $allhotspot = array();
335
  foreach ($panoscenes["hotspot-list"] as $hotspot_val) {
336
+
337
  if (!empty($hotspot_val["hotspot-title"])) {
338
  array_push($allhotspot, $hotspot_val["hotspot-title"]);
339
  }
341
  $allhotspotcount = array_count_values($allhotspot);
342
  foreach ($allhotspotcount as $key => $value) {
343
  if ($value > 1) {
344
+ wp_send_json_error('<span class="pano-error-title">Duplicate Hotspot ID</span> <p>You\'ve assigned a duplicate Hotspot ID. <br/>Please assign unique Hotspot IDs to each Hotspot.</p>');
345
  die();
346
  }
347
  }
721
  $loop = sanitize_text_field($_POST['loop']);
722
  $vidloop = sanitize_text_field($_POST['loop']);
723
  $vidtype = '';
724
+
725
  if (strpos($videourl, 'youtube') > 0) {
726
  $vidtype = 'youtube';
727
  $explodeid = '';
801
  else {
802
  $vidtype = 'selfhost';
803
  $vidautoplay = '';
804
+ // $vidautoplay = sanitize_text_field($_POST['vidautoplay']);
805
+ $vidautoplay = sanitize_text_field($_POST['autoplay']);
806
+
807
  if ($autoplay == 'on') {
808
  $autoplay = 'autoplay muted';
809
  }
1012
  if (!empty($scene_id_validate)) {
1013
  $scene_id_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$scene_id_validate);
1014
  if ($scene_id_validated != $scene_id_validate) {
1015
+ wp_send_json_error('<span class="pano-error-title">Invalid Scene ID</span> <p>Scene ID can\'t contain spaces and special characters. <br/>Please assign a unique Scene ID with letters and numbers where Scene ID is : '.$scene_id_validate.'</p>');
1016
  die();
1017
  }
1018
 
1019
  if (empty($scenes_val["scene-attachment-url"])) {
1020
+ wp_send_json_error('<span class="pano-error-title">Missing Scene Image</span><p> Please upload a 360 Degree image where Scene ID is: '.$scene_id_validate.'</p>');
1021
  die();
1022
  }
1023
 
1089
  if (!empty($hotspot_title_validate)) {
1090
  $hotspot_title_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$hotspot_title_validate);
1091
  if ($hotspot_title_validated != $hotspot_title_validate) {
1092
+ wp_send_json_error('<span class="pano-error-title">Invalid Hotspot ID</span> <p>Hotspot ID can\'t contain spaces and special characters.<br/> Please assign a unique Hotspot ID with letters and numbers where Scene id: '.$scene_id_validate.' Hotspot ID is: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
1093
  die();
1094
  }
1095
  $hotspot_pitch_validate = $hotspot_val["hotspot-pitch"];
1122
  $status = get_option( 'wpvr_edd_license_status' );
1123
  if( $status !== false && $status == 'valid' ) {
1124
  if ($hotspot_val["hotspot-customclass-pro"] != 'none' && !empty($hotspot_val["hotspot-customclass"])) {
1125
+ wp_send_json_error('<span class="pano-error-title">Warning!</span> <p>You can not use both Custom Icon and Custom Icon Class for a hotspot where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
1126
  die();
1127
  }
1128
  }
1146
  die();
1147
  }
1148
  if (!empty($hotspot_url_validate) && !empty($hotspot_content_validate)) {
1149
+ wp_send_json_error('<span class="pano-error-title">Warning!</span> <p>You can not set both On Click Content and URL on a hotspot where scene id: '.$scene_id_validate.' and hotspot id : '.$hotspot_title_validate.'</p>');
1150
  die();
1151
  }
1152
  }
1166
 
1167
  if ($hotspot_type_validate == "scene") {
1168
  if (empty($hotspot_scene_validate)) {
1169
+ wp_send_json_error('<span class="pano-error-title">Target Scene Missing</span> <p>Assign a Target Scene to the Scene-type Hotspot where Scene ID: '.$scene_id_validate.' and Hotspot ID : '.$hotspot_title_validate.'</p>');
1170
  die();
1171
  }
1172
  if (!empty($hotspot_url_validate) || !empty($hotspot_content_validate)) {
1184
 
1185
  foreach ($panodata["scene-list"] as $panoscenes) {
1186
  if (empty($panoscenes['scene-id']) && !empty($panoscenes['scene-attachment-url'])) {
1187
+ wp_send_json_error('<span class="pano-error-title">Missing Scene ID</span> <p>Please assign a unique Scene ID to your uploaded scene.</p>');
1188
  die();
1189
  }
1190
  }
1216
  $allsceneids_count = array_count_values($allsceneids);
1217
  foreach ($allsceneids_count as $key => $value) {
1218
  if ($value > 1) {
1219
+ wp_send_json_error('<span class="pano-error-title">Duplicate Scene ID</span> <p>You\'ve assigned a duplicate Scene ID. <br/>Please assign unique Scene IDs to each scene. </p>');
1220
  die();
1221
  }
1222
  }
1232
  $allhotspotcount = array_count_values($allhotspot);
1233
  foreach ($allhotspotcount as $key => $value) {
1234
  if ($value > 1) {
1235
+ wp_send_json_error('<span class="pano-error-title">Duplicate Hotspot ID</span> <p>You\'ve assigned a duplicate Hotspot ID. <br/>Please assign unique Hotspot IDs to each Hotspot.</p>');
1236
  die();
1237
  }
1238
  }
admin/css/wpvr-admin.css CHANGED
@@ -34,6 +34,9 @@
34
  padding-right: 20px;
35
  }
36
 
 
 
 
37
 
38
  /* Absolute Center Spinner */
39
 
@@ -377,7 +380,7 @@ div.custom-tooltip:hover span:after {
377
  visibility: visible;
378
  }
379
 
380
- .post-type-wpvr_item:after {
381
  content: "";
382
  background: rgba(0, 0, 0, 0.54);
383
  top: 0;
@@ -385,12 +388,14 @@ div.custom-tooltip:hover span:after {
385
  width: 100%;
386
  height: 100%;
387
  position: fixed;
 
388
  opacity: 0;
389
  visibility: hidden;
390
  transition: all 0.4s ease;
391
  }
392
 
393
- .post-type-wpvr_item.error-overlay:after {
 
394
  opacity: 1;
395
  visibility: visible;
396
  }
@@ -774,37 +779,10 @@ div.custom-tooltip:hover span:after {
774
  -o-transform: translate(-50%, -50%);
775
  transform: translate(-50%, -50%);
776
  z-index: 9;
777
- padding: 30px 20px;
778
- background-color: #f7e0e2;
779
- border: 1px solid #f5c6cb;
780
- width: 500px;
781
- }
782
-
783
- .pano-alert p {
784
- color: #d85964;
785
- font-size: 14px;
786
- margin: 0;
787
- font-weight: 500;
788
- text-align: center;
789
- border-radius: 3px;
790
  }
791
 
792
- .pano-alert span {
793
- position: absolute;
794
- right: -12px;
795
- top: -15px;
796
- color: #d85964;
797
- height: 23px;
798
- line-height: normal;
799
- text-align: center;
800
- font-size: 13px;
801
- padding: 2px 6px;
802
- cursor: pointer;
803
- border: 1px solid #f5c6cb;
804
- width: 23px;
805
- border-radius: 100%;
806
- background: #f7e0e2;
807
- }
808
 
809
 
810
  /*--------------tab content style----------------*/
@@ -2084,7 +2062,17 @@ button.delete-scene:focus {
2084
  }
2085
 
2086
  button.delete-hotspot {
2087
- right: 5px;
 
 
 
 
 
 
 
 
 
 
2088
  }
2089
 
2090
 
@@ -2197,10 +2185,8 @@ button.delete-hotspot {
2197
  position: absolute;
2198
  top: 50%;
2199
  right: 50%;
2200
- background: #eee;
2201
- padding: 50px 50px;
2202
- min-width: 450px;
2203
- border-radius: 5px;
2204
  -webkit-transform: translate(50%, -50%);
2205
  -moz-transform: translate(50%, -50%);
2206
  -ms-transform: translate(50%, -50%);
@@ -2209,18 +2195,108 @@ button.delete-hotspot {
2209
  z-index: 2;
2210
  }
2211
 
2212
- #error_occured p {
2213
- background: #fffbfb;
2214
- padding: 10px 25px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2215
  margin: 0;
2216
- border: 1px solid #ffd9de;
2217
- color: #f93333;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2218
  border-radius: 5px;
2219
- font-size: 14px;
 
 
 
 
 
 
 
2220
  }
2221
 
2222
- #error_occured p span {
 
2223
  font-weight: 500;
 
 
 
 
 
 
 
 
 
 
2224
  }
2225
 
2226
  .hotspot-setup.rex-pano-sub-tabs {
34
  padding-right: 20px;
35
  }
36
 
37
+ #adminmenu .toplevel_page_wpvr .wp-menu-image img {
38
+ padding: 7px 0 0px 0;
39
+ }
40
 
41
  /* Absolute Center Spinner */
42
 
380
  visibility: visible;
381
  }
382
 
383
+ .post-type-wpvr_item:before {
384
  content: "";
385
  background: rgba(0, 0, 0, 0.54);
386
  top: 0;
388
  width: 100%;
389
  height: 100%;
390
  position: fixed;
391
+ z-index: 2;
392
  opacity: 0;
393
  visibility: hidden;
394
  transition: all 0.4s ease;
395
  }
396
 
397
+ .post-type-wpvr_item.error-overlay2:before,
398
+ .post-type-wpvr_item.error-overlay:before {
399
  opacity: 1;
400
  visibility: visible;
401
  }
779
  -o-transform: translate(-50%, -50%);
780
  transform: translate(-50%, -50%);
781
  z-index: 9;
782
+ max-width: 605px;
783
+ width: 100%;
 
 
 
 
 
 
 
 
 
 
 
784
  }
785
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
786
 
787
 
788
  /*--------------tab content style----------------*/
2062
  }
2063
 
2064
  button.delete-hotspot {
2065
+ right: 12px;
2066
+ top: 40px;
2067
+ }
2068
+ button.delete-scene {
2069
+ top: 40px;
2070
+ right: 52px;
2071
+ }
2072
+
2073
+
2074
+ .active_scene_id p {
2075
+ margin: 0;
2076
  }
2077
 
2078
 
2185
  position: absolute;
2186
  top: 50%;
2187
  right: 50%;
2188
+ max-width: 605px;
2189
+ width: 100%;
 
 
2190
  -webkit-transform: translate(50%, -50%);
2191
  -moz-transform: translate(50%, -50%);
2192
  -ms-transform: translate(50%, -50%);
2195
  z-index: 2;
2196
  }
2197
 
2198
+ .pano-error-wrapper {
2199
+ width: 100%;
2200
+ background: #FFFFFF;
2201
+ border-radius: 5px;
2202
+ border-left: 5px solid #FAAC14;
2203
+ }
2204
+
2205
+ .wpvr-delete-alert-wrapper .pano-error-wrapper {
2206
+ max-width: 605px;
2207
+ }
2208
+
2209
+ .pano-default-warning .pano-error-wrapper {
2210
+ border-left-color: #004EFA;
2211
+ }
2212
+
2213
+ .pano-error-color .pano-error-wrapper {
2214
+ border-left-color: #F13637;
2215
+ }
2216
+ .pano-error-color .pano-error-wrapper .icon rect,
2217
+ .pano-error-color .pano-error-wrapper .icon path {
2218
+ fill: #F13637;
2219
+ }
2220
+ .pano-error-wrapper .pano-error-body {
2221
+ position: relative;
2222
+ padding: 40px;
2223
+ text-align: center;
2224
+ }
2225
+ .pano-error-wrapper .pano-error-body .cross {
2226
+ display: block;
2227
+ position: absolute;
2228
+ right: 15px;
2229
+ top: 15px;
2230
+ cursor: pointer;
2231
+ }
2232
+
2233
+ .pano-error-wrapper .pano-error-body .icon.pano-warning {
2234
+ display: block;
2235
+ margin-bottom: 15px;
2236
+ }
2237
+
2238
+ .pano-error-wrapper .pano-error-body .pano-error-message .pano-error-title {
2239
+ padding: 0;
2240
+ font-weight: 700;
2241
+ color: #39393F;
2242
+ font-size: 18px;
2243
+ max-width: 370px;
2244
+ margin: 0 auto 3px;
2245
+ display: block;
2246
+ }
2247
+
2248
+ .pano-error-wrapper .pano-error-body .pano-error-message p {
2249
+ padding: 0;
2250
+ color: #868693;
2251
+ font-size: 18px;
2252
  margin: 0;
2253
+ }
2254
+
2255
+ .pano-error-wrapper .pano-error-footer {
2256
+ background: #F6F6F8;
2257
+ border-radius: 0px 0px 5px 5px;
2258
+ border-top: 1px solid #E6E6EF;
2259
+ padding: 14px 14px 15px;
2260
+ }
2261
+ .pano-error-wrapper .pano-error-footer ul {
2262
+ display: flex;
2263
+ flex-flow: row wrap;
2264
+ align-items: center;
2265
+ justify-content: center;
2266
+ margin: 0;
2267
+ padding: 0;
2268
+ }
2269
+ .pano-error-wrapper .pano-error-footer ul li {
2270
+ margin: 0 10px;
2271
+ padding: 0;
2272
+ }
2273
+ .pano-error-wrapper .pano-error-footer ul li a,
2274
+ .pano-error-wrapper .pano-error-footer ul li button {
2275
+ background: #004EFA;
2276
  border-radius: 5px;
2277
+ font-size: 16px;
2278
+ color: #fff;
2279
+ font-weight: 700;
2280
+ text-transform: uppercase;
2281
+ border: none;
2282
+ padding: 12px 25px;
2283
+ cursor: pointer;
2284
+ display: inline-block;
2285
  }
2286
 
2287
+ .wpvr-delete-alert-wrapper .pano-error-wrapper .pano-error-footer ul li a,
2288
+ .wpvr-delete-alert-wrapper .pano-error-wrapper .pano-error-footer ul li button {
2289
  font-weight: 500;
2290
+ text-transform: capitalize;
2291
+ }
2292
+ .wpvr-delete-alert-wrapper .pano-error-wrapper .pano-error-footer ul li button.yes {
2293
+ background-color: #dedede;
2294
+ color: #333;
2295
+ }
2296
+
2297
+ .pano-error-wrapper .pano-error-footer ul li a {
2298
+ text-decoration: none;
2299
+ text-transform: none;
2300
  }
2301
 
2302
  .hotspot-setup.rex-pano-sub-tabs {
admin/js/wpvr-admin.js CHANGED
@@ -185,7 +185,7 @@
185
  }
186
  } else {
187
  $('#error_occured').show();
188
- $('#error_occured').html(response.data);
189
  $('#error_occuredpub').show();
190
  $('#error_occuredpub').html(response.data);
191
  $('body').addClass('error-overlay');
@@ -299,7 +299,7 @@
299
  $('.wpvr-loading').hide();
300
  if (response.success == false) {
301
  $('#error_occured').show();
302
- $('#error_occured').html(response.data);
303
  $('#error_occuredpub').show();
304
  $('#error_occuredpub').html(response.data);
305
 
@@ -318,7 +318,7 @@
318
  });
319
 
320
  jQuery(document).ready(function($) {
321
- $("body").on("click", function(e) {
322
  $("#error_occured").hide();
323
  $('body').removeClass('error-overlay');
324
  });
@@ -487,8 +487,9 @@
487
  $(this).addClass('active');
488
  setTimeout(changeicon, 1000);
489
  } else {
490
- $('.pano-alert > p').html('You can only add 5 scenes in free version');
491
- $('.pano-alert').show();
 
492
  $(this).remove();
493
  }
494
  } else {
@@ -523,29 +524,64 @@
523
  var str1 = 'scene';
524
  var str2 = 'hotspot';
525
  if (elementcontains.indexOf(str1) != -1 && elementcontains.indexOf(str2) == -1) {
526
- if (confirm('Are you sure you want to delete?')) {
527
- jQuery(this).slideUp(deleteElement);
528
- if (current == fchild) {
529
- $(this).next().addClass("active");
530
- $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").next().addClass("active");
531
- $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").next().children("span").trigger("click");
532
- } else {
533
- $(this).prev().addClass("active");
534
- $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").prev().addClass("active");
535
- $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").prev().children("span").trigger("click");
536
- }
537
- $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").remove();
538
- setTimeout(deleteinfodata, 1000);
 
 
 
 
 
539
 
 
 
 
 
 
 
 
 
 
 
540
 
541
- //tab active setup
542
- if (parseInt(_hide_id) - 1 > 0) {
543
- $('#wpvr_active_scenes').val(parseInt(_hide_id) - 1);
544
- } else {
545
- $('#wpvr_active_scenes').val(1);
546
- }
547
- $('#wpvr_active_hotspot').val(1);
548
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
549
 
550
  }
551
  },
@@ -581,8 +617,9 @@
581
 
582
  setTimeout(changeicon, 1000);
583
  } else {
584
- $('.pano-alert > p').html('You can only add 5 hotspots in free version');
585
- $('.pano-alert').show();
 
586
  $(this).remove();
587
  }
588
  } else {
@@ -615,18 +652,25 @@
615
  var hpstr1 = 'scene';
616
  var hpstr2 = 'hotspot';
617
  if (hpelementcontains.indexOf(hpstr1) != -1 && hpelementcontains.indexOf(hpstr2) != -1) {
618
- if (confirm('Are you sure you want to delete?')) {
619
- jQuery(this).slideUp(deleteElement);
 
 
 
 
 
 
 
620
  if (hotspot_current == hotspot_fchild) {
621
- $(this).next().addClass("active");
622
- $(this).parent().parent('.hotspot-setup').find('.hotspot-nav li span[data-href="' + hotspot_hide_id + '"]').parent("li").next().addClass("active");
623
 
624
  } else {
625
- $(this).prev().addClass("active");
626
- $(this).parent().parent('.hotspot-setup').find('.hotspot-nav li span[data-href="' + hotspot_hide_id + '"]').parent("li").prev().addClass("active");
627
  }
628
 
629
- $(this).parent().parent('.hotspot-setup').find('.hotspot-nav li:not(:last-child) span[data-href="' + hotspot_hide_id + '"]').parent("li").remove();
630
 
631
  //tab active setup
632
  if (parseInt(_hide_id) - 1 > 0) {
@@ -634,7 +678,37 @@
634
  } else {
635
  $('#wpvr_active_hotspot').val(1);
636
  }
637
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
638
  }
639
  },
640
 
@@ -958,7 +1032,7 @@
958
  var scenceID = $('#'+id+' .sceneid' ).val();
959
  var span = '<span>('+scenceID+')</span>'
960
  $('.active_scene_id p').append(span);
961
- $('.active_scene_id').css({"background-color":"#E0E1F7","width":"100%","height": "48px","padding":"1px","text-align":"center"});
962
  $('.active_scene_id p').css({"color":"black","font-size":"15px"});
963
  $('.active_scene_id p span').css({"color":"#004efa","font-size":"15px"});
964
 
@@ -970,10 +1044,12 @@
970
 
971
  //----------alert dismiss--------//
972
  $(document).on("click", "body", function() {
973
- $('.pano-alert').hide();
 
974
  });
975
- $(document).on("click", ".pano-alert > .destroy", function() {
976
- $('.pano-alert').hide();
 
977
  });
978
  $(document).on("click", ".pano-alert, .rex-pano-sub-tabs .rex-pano-tab-nav li.add", function(e) {
979
  e.stopPropagation();
@@ -999,8 +1075,41 @@
999
  $(".dscen").not(this).each(function() {
1000
  var oth_scene = $(this).val();
1001
  if (dscene == 'on' && oth_scene == 'on') {
1002
- alert('Default scene updated.');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1003
  $(this).val('off');
 
 
1004
  }
1005
  });
1006
  });
185
  }
186
  } else {
187
  $('#error_occured').show();
188
+ $('#error_occured .pano-error-message').html(response.data);
189
  $('#error_occuredpub').show();
190
  $('#error_occuredpub').html(response.data);
191
  $('body').addClass('error-overlay');
299
  $('.wpvr-loading').hide();
300
  if (response.success == false) {
301
  $('#error_occured').show();
302
+ $('#error_occured .pano-error-message').html(response.data);
303
  $('#error_occuredpub').show();
304
  $('#error_occuredpub').html(response.data);
305
 
318
  });
319
 
320
  jQuery(document).ready(function($) {
321
+ $("body, .pano-error-close-btn").on("click", function(e) {
322
  $("#error_occured").hide();
323
  $('body').removeClass('error-overlay');
324
  });
487
  $(this).addClass('active');
488
  setTimeout(changeicon, 1000);
489
  } else {
490
+ $('.pano-alert .pano-error-message').html('<span class="pano-error-title">Limit Reached</span><p> You can add up to 5 scenes on each tour in the Free version. Upgrade to Pro to create tours with unlimited scenes.</p>');
491
+ $('body').addClass('error-overlay2');
492
+ $('.pano-alert').addClass('pano-default-warning').show();
493
  $(this).remove();
494
  }
495
  } else {
524
  var str1 = 'scene';
525
  var str2 = 'hotspot';
526
  if (elementcontains.indexOf(str1) != -1 && elementcontains.indexOf(str2) == -1) {
527
+
528
+ var _this = $(this);
529
+ $('.wpvr-delete-alert-wrapper').addClass('pano-error-color').css('display', 'flex');
530
+ $('#confirm_text').html(' Are you sure you want to delete this Scene?');
531
+ $('.wpvr-delete-confirm-btn .yes').click(function(e){
532
+ e.preventDefault();
533
+ jQuery(_this).slideUp(deleteElement);
534
+ if (current == fchild) {
535
+ $(_this).next().addClass("active");
536
+ $(_this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").next().addClass("active");
537
+ $(_this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").next().children("span").trigger("click");
538
+ } else {
539
+ $(_this).prev().addClass("active");
540
+ $(_this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").prev().addClass("active");
541
+ $(_this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").prev().children("span").trigger("click");
542
+ }
543
+ $(_this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").remove();
544
+ setTimeout(deleteinfodata, 1000);
545
 
546
+ //tab active setup
547
+ if (parseInt(_hide_id) - 1 > 0) {
548
+ $('#wpvr_active_scenes').val(parseInt(_hide_id) - 1);
549
+ } else {
550
+ $('#wpvr_active_scenes').val(1);
551
+ }
552
+ $('#wpvr_active_hotspot').val(1);
553
+ $('.wpvr-delete-alert-wrapper').removeClass('pano-error-color').css('display', 'none');
554
+ $('.wpvr-delete-alert-wrapper').hide();
555
+ });
556
 
557
+ $(document).on("click", ".wpvr-delete-confirm-btn .cancel, .wpvr-delete-alert-wrapper .cross", function(e) {
558
+ e.preventDefault();
559
+ $('.wpvr-delete-alert-wrapper').removeClass('pano-error-color').css('display', 'none');
560
+ $('.wpvr-delete-alert-wrapper').hide();
561
+ });
562
+ // if (confirm('Are you sure you want to delete?')) {
563
+ // jQuery(this).slideUp(deleteElement);
564
+ // if (current == fchild) {
565
+ // $(this).next().addClass("active");
566
+ // $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").next().addClass("active");
567
+ // $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").next().children("span").trigger("click");
568
+ // } else {
569
+ // $(this).prev().addClass("active");
570
+ // $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").prev().addClass("active");
571
+ // $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").prev().children("span").trigger("click");
572
+ // }
573
+ // $(this).parent().parent('.scene-setup').find('.scene-nav li span[data-href="' + hide_id + '"]').parent("li").remove();
574
+ // setTimeout(deleteinfodata, 1000);
575
+
576
+
577
+ // //tab active setup
578
+ // if (parseInt(_hide_id) - 1 > 0) {
579
+ // $('#wpvr_active_scenes').val(parseInt(_hide_id) - 1);
580
+ // } else {
581
+ // $('#wpvr_active_scenes').val(1);
582
+ // }
583
+ // $('#wpvr_active_hotspot').val(1);
584
+ // }
585
 
586
  }
587
  },
617
 
618
  setTimeout(changeicon, 1000);
619
  } else {
620
+ $('.pano-alert .pano-error-message').html('<span class="pano-error-title">Limit Reached</span><p> You can add up to 5 hotspots on each scene in the Free version. <br> Upgrade to Pro to add an unlimited number of hotspots.</p>');
621
+ $('body').addClass('error-overlay2');
622
+ $('.pano-alert').addClass('pano-default-warning').show();
623
  $(this).remove();
624
  }
625
  } else {
652
  var hpstr1 = 'scene';
653
  var hpstr2 = 'hotspot';
654
  if (hpelementcontains.indexOf(hpstr1) != -1 && hpelementcontains.indexOf(hpstr2) != -1) {
655
+
656
+ var _this = $(this);
657
+
658
+ $('#confirm_text').html(' Are you sure you want to delete this Hotspot?');
659
+ $('.wpvr-delete-alert-wrapper').addClass('pano-error-color').css('display', 'flex');
660
+
661
+ $('.wpvr-delete-confirm-btn .yes').click(function(e){
662
+ e.preventDefault();
663
+ jQuery(_this).slideUp(deleteElement);
664
  if (hotspot_current == hotspot_fchild) {
665
+ $(_this).next().addClass("active");
666
+ $(_this).parent().parent('.hotspot-setup').find('.hotspot-nav li span[data-href="' + hotspot_hide_id + '"]').parent("li").next().addClass("active");
667
 
668
  } else {
669
+ $(_this).prev().addClass("active");
670
+ $(_this).parent().parent('.hotspot-setup').find('.hotspot-nav li span[data-href="' + hotspot_hide_id + '"]').parent("li").prev().addClass("active");
671
  }
672
 
673
+ $(_this).parent().parent('.hotspot-setup').find('.hotspot-nav li:not(:last-child) span[data-href="' + hotspot_hide_id + '"]').parent("li").remove();
674
 
675
  //tab active setup
676
  if (parseInt(_hide_id) - 1 > 0) {
678
  } else {
679
  $('#wpvr_active_hotspot').val(1);
680
  }
681
+ $('.wpvr-delete-alert-wrapper').removeClass('pano-error-color').css('display', 'none');
682
+ $('.wpvr-delete-alert-wrapper').hide();
683
+ });
684
+
685
+ $(document).on("click", ".wpvr-delete-confirm-btn .cancel, .wpvr-delete-alert-wrapper .cross", function(e) {
686
+ e.preventDefault();
687
+ $('.wpvr-delete-alert-wrapper').removeClass('pano-error-color').css('display', 'none');
688
+ $('.wpvr-delete-alert-wrapper').hide();
689
+ });
690
+
691
+ // if (confirm('Are you sure you want to deletee?')) {
692
+
693
+ // jQuery(this).slideUp(deleteElement);
694
+ // if (hotspot_current == hotspot_fchild) {
695
+ // $(this).next().addClass("active");
696
+ // $(this).parent().parent('.hotspot-setup').find('.hotspot-nav li span[data-href="' + hotspot_hide_id + '"]').parent("li").next().addClass("active");
697
+
698
+ // } else {
699
+ // $(this).prev().addClass("active");
700
+ // $(this).parent().parent('.hotspot-setup').find('.hotspot-nav li span[data-href="' + hotspot_hide_id + '"]').parent("li").prev().addClass("active");
701
+ // }
702
+
703
+ // $(this).parent().parent('.hotspot-setup').find('.hotspot-nav li:not(:last-child) span[data-href="' + hotspot_hide_id + '"]').parent("li").remove();
704
+ // console.log($(this));
705
+ // //tab active setup
706
+ // if (parseInt(_hide_id) - 1 > 0) {
707
+ // $('#wpvr_active_hotspot').val(parseInt(_hide_id) - 1);
708
+ // } else {
709
+ // $('#wpvr_active_hotspot').val(1);
710
+ // }
711
+ // }
712
  }
713
  },
714
 
1032
  var scenceID = $('#'+id+' .sceneid' ).val();
1033
  var span = '<span>('+scenceID+')</span>'
1034
  $('.active_scene_id p').append(span);
1035
+ $('.active_scene_id').css({"background-color":"#E0E1F7","width":"100%","padding":"1px","text-align":"center", "padding":"10px 15px"});
1036
  $('.active_scene_id p').css({"color":"black","font-size":"15px"});
1037
  $('.active_scene_id p span').css({"color":"#004efa","font-size":"15px"});
1038
 
1044
 
1045
  //----------alert dismiss--------//
1046
  $(document).on("click", "body", function() {
1047
+ $('body').removeClass('error-overlay2');
1048
+ $('.pano-alert').removeClass('pano-default-warning').hide();
1049
  });
1050
+ $(document).on("click", ".pano-alert .pano-error-close-btn", function() {
1051
+ $('body').removeClass('error-overlay2');
1052
+ $('.pano-alert').removeClass('pano-default-warning').hide();
1053
  });
1054
  $(document).on("click", ".pano-alert, .rex-pano-sub-tabs .rex-pano-tab-nav li.add", function(e) {
1055
  e.stopPropagation();
1075
  $(".dscen").not(this).each(function() {
1076
  var oth_scene = $(this).val();
1077
  if (dscene == 'on' && oth_scene == 'on') {
1078
+ $('#error_occured').show();
1079
+ $('#error_occured .pano-error-message').html('<span class="pano-error-title">Default scene has been updated</span>');
1080
+ $('body').addClass('error-overlay');
1081
+ $('html, body').animate({
1082
+ scrollTop: $("#error_occured").offset().top
1083
+ }, 500);
1084
+ // $('#confirm_text').html('Default scene updated');
1085
+ // $('.wpvr-delete-alert-wrapper').addClass('pano-error-color').css('display', 'flex');
1086
+ // $('.wpvr-delete-alert-wrapper .cancel').css('display', 'none');
1087
+ // $('.wpvr-delete-confirm-btn .yes').css('background', '#004EFA');
1088
+ // $('.wpvr-delete-confirm-btn .yes').css('color', '#fff');
1089
+ // $('.wpvr-delete-confirm-btn .yes').html('Ok');
1090
+ // var _this = $(this);
1091
+
1092
+ // $('.wpvr-delete-confirm-btn .yes').click(function(e){
1093
+
1094
+ // $('.wpvr-delete-alert-wrapper').removeClass('pano-error-color').css('display', 'none');
1095
+ // $('.wpvr-delete-alert-wrapper .cancel').css('display', 'flex');
1096
+ // $('.wpvr-delete-alert-wrapper').hide();
1097
+ // $('.wpvr-delete-confirm-btn .yes').css('background', '#eee');
1098
+ // $('.wpvr-delete-confirm-btn .yes').css('color', '#333');
1099
+ // $('.wpvr-delete-confirm-btn .yes').html('Yes');
1100
+ // });
1101
+ // $(document).on("click", ".wpvr-delete-alert-wrapper .cross", function(e) {
1102
+ // e.preventDefault();
1103
+ // $('.wpvr-delete-alert-wrapper').removeClass('pano-error-color').css('display', 'none');
1104
+ // $('.wpvr-delete-alert-wrapper .cancel').css('display', 'flex');
1105
+ // $('.wpvr-delete-alert-wrapper').hide();
1106
+ // $('.wpvr-delete-confirm-btn .yes').css('background', '#eee');
1107
+ // $('.wpvr-delete-confirm-btn .yes').css('color', '#333');
1108
+ // $('.wpvr-delete-confirm-btn .yes').html('Yes');
1109
+ // });
1110
  $(this).val('off');
1111
+ // alert('Default scene updated.');
1112
+ // $(this).val('off');
1113
  }
1114
  });
1115
  });
admin/partials/wpvr_confirmation_alert.php CHANGED
@@ -1,5 +1,5 @@
1
  <div class="wpvr-delete-alert-wrapper">
2
- <div class="wpvr-delete-confirmation">
3
  <span class="icon">
4
  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="54" height="54" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffa500" fill="none" stroke-linecap="round" stroke-linejoin="round">
5
  <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
@@ -7,14 +7,48 @@
7
  <path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" />
8
  </svg>
9
  </span>
10
- <h3 id="confirm_text"><?php echo __('Turning On The Video Option Will Erase Your Virtual Tour Data. Are You Sure?', 'wpvr'); ?></h3>
11
  <ul class="wpvr-delete-confirm-btn">
12
  <li><button class="btn-default cancel"><?php echo __('Cancel', 'wpvr'); ?></button></li>
13
  <li>
14
  <button type="button" class="btn-default yes">
15
- <?php echo __('Yes', 'wpvr'); ?>
16
  </button>
17
  </li>
18
  </ul>
19
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  </div>
1
  <div class="wpvr-delete-alert-wrapper">
2
+ <!-- <div class="wpvr-delete-confirmation">
3
  <span class="icon">
4
  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="54" height="54" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffa500" fill="none" stroke-linecap="round" stroke-linejoin="round">
5
  <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
7
  <path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" />
8
  </svg>
9
  </span>
10
+ <h3 id="confirm_text"><?php //echo __('Turning On The Video Option Will Erase Your Virtual Tour Data. Are You Sure?', 'wpvr'); ?></h3>
11
  <ul class="wpvr-delete-confirm-btn">
12
  <li><button class="btn-default cancel"><?php echo __('Cancel', 'wpvr'); ?></button></li>
13
  <li>
14
  <button type="button" class="btn-default yes">
15
+ <?php //echo __('Yes', 'wpvr'); ?>
16
  </button>
17
  </li>
18
  </ul>
19
+ </div> -->
20
+
21
+ <div class="pano-error-wrapper">
22
+ <div class="pano-error-body">
23
+ <span class="cross pano-error-close-btn">
24
+ <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
25
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M18.7778 18.7786C14.4819 23.074 7.51728 23.0738 3.22169 18.778C-1.0739 14.4823 -1.0739 7.51769 3.22169 3.22196C7.51728 -1.07378 14.4819 -1.07402 18.7778 3.22143C20.8409 5.28436 22 8.08242 22 11C22 13.9176 20.8409 16.7156 18.7778 18.7786ZM14.9278 8.21857L12.1071 11L14.9278 13.7814C15.0865 13.93 15.1765 14.1376 15.1765 14.355C15.1765 14.5724 15.0865 14.78 14.9278 14.9286C14.7795 15.0756 14.5788 15.1576 14.3699 15.1564C14.1638 15.1556 13.9663 15.0737 13.8199 14.9286L10.9992 12.1079L8.21778 14.9286C8.07143 15.0737 7.8739 15.1556 7.66778 15.1564C7.45893 15.1576 7.2582 15.0756 7.10992 14.9286C6.80528 14.6221 6.80528 14.1272 7.10992 13.8207L9.89135 11L7.10992 8.21857C6.84295 7.90683 6.8609 7.44213 7.15112 7.15191C7.44134 6.8617 7.90604 6.84375 8.21778 7.11071L10.9992 9.89214L13.7806 7.11071C13.9785 6.9058 14.2707 6.82202 14.5471 6.89095C14.8236 6.95988 15.0422 7.17104 15.1207 7.44488C15.1992 7.71872 15.1257 8.01365 14.9278 8.21857ZM4.34363 4.34471C8.02058 0.663508 13.9845 0.656605 17.6699 4.32929C19.4452 6.09842 20.4431 8.50157 20.4431 11.0079C20.4431 13.5141 19.4452 15.9173 17.6699 17.6864C13.9845 21.3591 8.02058 21.3522 4.34363 17.671C0.666691 13.9898 0.666691 8.02591 4.34363 4.34471Z" fill="#A8A7BE"/>
26
+ </svg>
27
+ </span>
28
+
29
+ <span class="icon pano-warning">
30
+ <svg width="36" height="30" viewBox="0 0 36 30" fill="none" xmlns="http://www.w3.org/2000/svg">
31
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M21.4802 1.86951L35.4553 24.3914C36.1816 25.5621 36.1816 26.9598 35.4553 28.1305C34.7289 29.3011 33.4278 30 31.9751 30H4.025C2.5722 30 1.2712 29.3011 0.5448 28.1305C-0.1816 26.9598 -0.1816 25.5621 0.5448 24.3914L14.5198 1.86951C15.2462 0.698907 16.5473 0 18 0C19.4527 0 20.7538 0.698841 21.4802 1.86951ZM31.9751 28.0358C32.6647 28.0358 33.2822 27.7041 33.6271 27.1484C33.9719 26.5927 33.9719 25.9291 33.6271 25.3734L19.6521 2.8515C19.3072 2.2958 18.6896 1.96404 18 1.96404C17.3104 1.96404 16.6928 2.2958 16.3479 2.8515L2.37293 25.3734C2.02812 25.9291 2.02812 26.5927 2.37293 27.1484C2.71774 27.7041 3.33537 28.0358 4.025 28.0358H31.9751Z" fill="#FAAC14"/>
32
+ <path d="M18 22C17.4486 22 17 22.4486 17 23C17 23.5514 17.4486 24 18 24C18.5514 24 19 23.5514 19 23C19 22.4486 18.5514 22 18 22Z" fill="#FAAC14"/>
33
+ <rect x="17" y="11" width="2" height="9" fill="#FAAC14"/>
34
+ </svg>
35
+ </span>
36
+
37
+ <div class="pano-error-message">
38
+ <h3 id="confirm_text"><?php echo __('Turning On The Video Option Will Erase Your Virtual Tour Data. Are You Sure?', 'wpvr'); ?></h3>
39
+ </div>
40
+
41
+ </div>
42
+
43
+ <div class="pano-error-footer">
44
+ <ul class="wpvr-delete-confirm-btn">
45
+ <li><button class="cancel"><?php echo __('No', 'wpvr'); ?></button></li>
46
+ <li class="pano-error-close">
47
+ <button type="button" class="yes">
48
+ <?php echo __('Yes', 'wpvr'); ?>
49
+ </button>
50
+ </li>
51
+ </ul>
52
+ </div>
53
+ </div>
54
  </div>
admin/partials/wpvr_documentation.php CHANGED
@@ -728,11 +728,11 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
728
  <form class="wpvr-version">
729
  <h6><?php _e('Select a Version to Rollback','wpvr'); ?></h6>
730
  <select name="wpvr_version">
 
731
  <option value="7.2.8">7.2.8</option>
732
  <option value="7.2.7">7.2.7</option>
733
  <option value="7.2.6">7.2.6</option>
734
  <option value="7.2.5">7.2.5</option>
735
- <option value="7.2.4">7.2.4</option>
736
  </select>
737
  <input class="wpvr-btn" type="submit" value="Rollback">
738
  </form>
728
  <form class="wpvr-version">
729
  <h6><?php _e('Select a Version to Rollback','wpvr'); ?></h6>
730
  <select name="wpvr_version">
731
+ <option value="7.2.9">7.2.9</option>
732
  <option value="7.2.8">7.2.8</option>
733
  <option value="7.2.7">7.2.7</option>
734
  <option value="7.2.6">7.2.6</option>
735
  <option value="7.2.5">7.2.5</option>
 
736
  </select>
737
  <input class="wpvr-btn" type="submit" value="Rollback">
738
  </form>
elementor/elements/Wpvr-widget.php CHANGED
@@ -134,11 +134,9 @@ class Wpvr_Widget extends Widget_Base {
134
  [
135
  'label' => __( 'ID:', 'wpvr' ),
136
  'type' => \Elementor\Controls_Manager::SELECT,
137
- 'default' => 'solid',
138
  'options' => $wpvr_post
139
  ]
140
  );
141
-
142
  $this->add_control(
143
  'vr_width',
144
  [
134
  [
135
  'label' => __( 'ID:', 'wpvr' ),
136
  'type' => \Elementor\Controls_Manager::SELECT,
 
137
  'options' => $wpvr_post
138
  ]
139
  );
 
140
  $this->add_control(
141
  'vr_width',
142
  [
public/class-wpvr-public.php CHANGED
@@ -864,6 +864,20 @@ class Wpvr_Public
864
  }
865
  //===company logo ends===//
866
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
867
  //===Custom Control===//
868
  if (isset($custom_control)) {
869
  if ($custom_control['panZoomInSwitch'] == "on" || $custom_control['panZoomOutSwitch'] == "on" || $custom_control['gyroscopeSwitch'] == "on" || $custom_control['backToHomeSwitch'] == "on") {
864
  }
865
  //===company logo ends===//
866
 
867
+ //===Background Tour===//
868
+ // $html .= '
869
+ //
870
+ // <div class="wpvr-topnav">
871
+ // <a class="active" href="#home">Home</a>
872
+ // <a href="#news">News</a>
873
+ // <a href="#contact">Contact</a>
874
+ // <a href="#about">About</a>
875
+ // </div>
876
+ //
877
+ // ';
878
+ // $html .= '<div class="wpvr-home-text">Welcome to WordPress</div>';
879
+ //===Background Tour End===//
880
+
881
  //===Custom Control===//
882
  if (isset($custom_control)) {
883
  if ($custom_control['panZoomInSwitch'] == "on" || $custom_control['panZoomOutSwitch'] == "on" || $custom_control['gyroscopeSwitch'] == "on" || $custom_control['backToHomeSwitch'] == "on") {
public/css/wpvr-public.css CHANGED
@@ -3,6 +3,26 @@
3
  * included in this file.
4
  */
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  .wpvr-mobile-notice {
7
  position: fixed;
8
  bottom: 0;
@@ -263,9 +283,9 @@ div.pnlm-hotspot-base.far:before{
263
  }
264
 
265
  /* .vrCustomWidth {
266
-
267
  position: relative;
268
- margin-left: -49vw !important;
269
  left: 50% !important;
270
  max-width: 100vw !important;
271
  } */
3
  * included in this file.
4
  */
5
 
6
+ .wpvr-home-text {
7
+ position: absolute;
8
+ bottom: 340px;
9
+ color: #fff;
10
+ font-size: 60px;
11
+ z-index: 2;
12
+ text-align: center;
13
+ width: 100%;
14
+ padding-bottom: 3px;
15
+ }
16
+
17
+ .wpvr-topnav {
18
+ position: absolute;
19
+ bottom: 0;
20
+ z-index: 2;
21
+ text-align: center;
22
+ width: 100%;
23
+ padding-bottom: 3px;
24
+ }
25
+
26
  .wpvr-mobile-notice {
27
  position: fixed;
28
  bottom: 0;
283
  }
284
 
285
  /* .vrCustomWidth {
286
+
287
  position: relative;
288
+ margin-left: -49vw !important;
289
  left: 50% !important;
290
  max-width: 100vw !important;
291
  } */
wpvr.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: WP VR
17
  * Plugin URI: https://rextheme.com/wpvr/
18
  * Description: WP VR - 360 Panorama and virtual tour creator for WordPress is a customized panaroma & virtual builder tool for WordPress Website.
19
- * Version: 7.2.9
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
@@ -28,13 +28,14 @@
28
  if (!defined('WPINC')) {
29
  die;
30
  }
 
31
  require plugin_dir_path(__FILE__) . 'elementor/elementor.php';
32
  /**
33
  * Currently plugin version.
34
  * Start at version 1.0.0 and use SemVer - https://semver.org
35
  * Rename this for your plugin and update it as you release new versions.
36
  */
37
- define('WPVR', '7.2.9');
38
  define('WPVR_FILE', __FILE__);
39
  define("WPVR_PLUGIN_DIR_URL", plugin_dir_url(__FILE__));
40
  define("WPVR_PLUGIN_DIR_PATH", plugin_dir_path(__FILE__));
16
  * Plugin Name: WP VR
17
  * Plugin URI: https://rextheme.com/wpvr/
18
  * Description: WP VR - 360 Panorama and virtual tour creator for WordPress is a customized panaroma & virtual builder tool for WordPress Website.
19
+ * Version: 7.3.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
28
  if (!defined('WPINC')) {
29
  die;
30
  }
31
+
32
  require plugin_dir_path(__FILE__) . 'elementor/elementor.php';
33
  /**
34
  * Currently plugin version.
35
  * Start at version 1.0.0 and use SemVer - https://semver.org
36
  * Rename this for your plugin and update it as you release new versions.
37
  */
38
+ define('WPVR', '7.3.0');
39
  define('WPVR_FILE', __FILE__);
40
  define("WPVR_PLUGIN_DIR_URL", plugin_dir_url(__FILE__));
41
  define("WPVR_PLUGIN_DIR_PATH", plugin_dir_path(__FILE__));