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

Version Description

  • Duplicate tour.
  • Blink animation automated.
  • Language issue fixed.

=

Download this release

Release Info

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

Code changes from version 2.5.0 to 2.6.0

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://rextheme.com/wp-vr-360-panorama-and-virtual-tour-creator-fo
4
  Tags: virtual tour, real estate tour, panorama, panorama viewer, virtual tour, 360 panorama, interactive tour
5
  Requires at least: 4.0
6
  Tested up to: 5.2
7
- Stable tag: 2.5.0
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -18,6 +18,8 @@ With WPVR, set up a virtual tour for site visitors where they can navigate a 360
18
 
19
  > Gyroscope support on Premium version.
20
 
 
 
21
  > Complete Gutenberg block support. Check how to use **[WPVR Block](https://rextheme.com/docs/wp-vr/gutenberg-block/)**.
22
 
23
  > Elementor Widget Support. Check how to use **[Elementor WPVR Widget](https://rextheme.com/docs/wp-vr/elementor-widget/)**.
@@ -87,6 +89,7 @@ For Elementor page builder, you will find a widget called “WPVR” under the g
87
  * Scene title and author tag support
88
  * Hotspot based scene face
89
  * Gyroscope support
 
90
  * Personalized support on both support forum and our support e-mail.
91
 
92
  **Upcoming Features**
@@ -184,5 +187,10 @@ To solve this issue, go to your WordPress Dashboard > Settings > General. Here m
184
  * Appsero error fix.
185
  * Gutenberg block column layout fix.
186
 
 
 
 
 
 
187
  == Upgrade Notice ==
188
  Please do update the WP VR to the latest version. Each update makes it sure your plugin is supporting all tour features.  
4
  Tags: virtual tour, real estate tour, panorama, panorama viewer, virtual tour, 360 panorama, interactive tour
5
  Requires at least: 4.0
6
  Tested up to: 5.2
7
+ Stable tag: 2.6.0
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
18
 
19
  > Gyroscope support on Premium version.
20
 
21
+ > Duplicate tour on Premium version.
22
+
23
  > Complete Gutenberg block support. Check how to use **[WPVR Block](https://rextheme.com/docs/wp-vr/gutenberg-block/)**.
24
 
25
  > Elementor Widget Support. Check how to use **[Elementor WPVR Widget](https://rextheme.com/docs/wp-vr/elementor-widget/)**.
89
  * Scene title and author tag support
90
  * Hotspot based scene face
91
  * Gyroscope support
92
+ * Duplicate tour support
93
  * Personalized support on both support forum and our support e-mail.
94
 
95
  **Upcoming Features**
187
  * Appsero error fix.
188
  * Gutenberg block column layout fix.
189
 
190
+ = 2.6.0 =
191
+ * Duplicate tour.
192
+ * Blink animation automated.
193
+ * Language issue fixed.
194
+
195
  == Upgrade Notice ==
196
  Please do update the WP VR to the latest version. Each update makes it sure your plugin is supporting all tour features.  
admin/class-wpvr-ajax.php CHANGED
@@ -235,7 +235,7 @@ class Wpvr_Ajax {
235
  }
236
 
237
  $default_data = array();
238
- $default_data = array(__( "firstScene" )=>$default_scene,__( "sceneFadeDuration" )=>$scene_fade_duration);
239
  $scene_data = array();
240
 
241
  foreach ($panodata["scene-list"] as $panoscenes) {
@@ -299,16 +299,16 @@ class Wpvr_Ajax {
299
 
300
  if (!empty($hotspot_data["hotspot-title"])) {
301
  $hotspot_info = array(
302
- __( "text" )=>$hotspot_data["hotspot-title"],
303
- __( "pitch" )=>$hotspot_data["hotspot-pitch"],
304
- __( "yaw" )=>$hotspot_data["hotspot-yaw"],
305
- __( "type" )=>$hotspot_data["hotspot-type"],
306
- __( "URL" )=>$hotspot_data["hotspot-url"],
307
- __( "clickHandlerArgs" )=>$hotspot_data["hotspot-content"],
308
- __( "createTooltipArgs" )=>$hotspot_data["hotspot-hover"],
309
- __( "sceneId" )=>$hotspot_data["hotspot-scene"],
310
- __( "targetPitch" )=>(float)$hotspot_data["hotspot-scene-pitch"],
311
- __( "targetYaw" )=>(float)$hotspot_data["hotspot-scene-yaw"]);
312
  array_push($hotspots, $hotspot_info);
313
  if (empty($hotspot_data["hotspot-scene"])) {
314
  unset($hotspot_info['targetPitch']);
@@ -318,7 +318,7 @@ class Wpvr_Ajax {
318
  }
319
 
320
  $scene_info = array();
321
- $scene_info = array(__( "type" )=>$panoscenes["scene-type"],__( "panorama" )=>$panoscenes["scene-attachment-url"],__( "pitch" )=>$default_scene_pitch,__( "maxPitch" )=>$scene_max_pitch,__( "minPitch" )=>$scene_min_pitch,__( "maxYaw" )=>$scene_max_yaw,__( "minYaw" )=>$scene_min_yaw,__( "yaw" )=>$default_scene_yaw,__( "hfov" )=>$default_zoom,__( "maxHfov" )=>$max_zoom,__( "minHfov" )=>$min_zoom,__( "title" )=>$scene_ititle,__( "author" )=>$scene_author,__( "hotSpots" )=>$hotspots);
322
 
323
  if ($panoscenes["ptyscene"] == "off") {
324
  unset($scene_info['pitch']);
@@ -365,7 +365,7 @@ class Wpvr_Ajax {
365
 
366
  $scene_array = array();
367
  $scene_array = array(
368
- __($panoscenes["scene-id"])=>$scene_info
369
  );
370
  $scene_data[$panoscenes["scene-id"]] = $scene_info;
371
  }
@@ -373,9 +373,9 @@ class Wpvr_Ajax {
373
  }
374
 
375
  $pano_id_array = array();
376
- $pano_id_array = array(__( "panoid" )=>$panoid);
377
  $pano_response = array();
378
- $pano_response = array(__( "autoLoad" )=>$autoload,__( "showControls" )=>$control,__( "compass" )=>$compass,__( "preview" )=>$preview,__( "autoRotate" )=>$autorotation,__( "autoRotateInactivityDelay" )=>$autorotationinactivedelay,__( "autoRotateStopDelay" )=>$autorotationstopdelay,__( "default" )=>$default_data,__( "scenes" )=>$scene_data);
379
 
380
  if ($rotation == 'off') {
381
  unset($pano_response['autoRotate']);
235
  }
236
 
237
  $default_data = array();
238
+ $default_data = array("firstScene"=>$default_scene,"sceneFadeDuration"=>$scene_fade_duration);
239
  $scene_data = array();
240
 
241
  foreach ($panodata["scene-list"] as $panoscenes) {
299
 
300
  if (!empty($hotspot_data["hotspot-title"])) {
301
  $hotspot_info = array(
302
+ "text"=>$hotspot_data["hotspot-title"],
303
+ "pitch"=>$hotspot_data["hotspot-pitch"],
304
+ "yaw"=>$hotspot_data["hotspot-yaw"],
305
+ "type"=>$hotspot_data["hotspot-type"],
306
+ "URL"=>$hotspot_data["hotspot-url"],
307
+ "clickHandlerArgs"=>$hotspot_data["hotspot-content"],
308
+ "createTooltipArgs"=>$hotspot_data["hotspot-hover"],
309
+ "sceneId"=>$hotspot_data["hotspot-scene"],
310
+ "targetPitch"=>(float)$hotspot_data["hotspot-scene-pitch"],
311
+ "targetYaw"=>(float)$hotspot_data["hotspot-scene-yaw"]);
312
  array_push($hotspots, $hotspot_info);
313
  if (empty($hotspot_data["hotspot-scene"])) {
314
  unset($hotspot_info['targetPitch']);
318
  }
319
 
320
  $scene_info = array();
321
+ $scene_info = array("type"=>$panoscenes["scene-type"],"panorama"=>$panoscenes["scene-attachment-url"],"pitch"=>$default_scene_pitch,"maxPitch"=>$scene_max_pitch,"minPitch"=>$scene_min_pitch,"maxYaw"=>$scene_max_yaw,"minYaw"=>$scene_min_yaw,"yaw"=>$default_scene_yaw,"hfov"=>$default_zoom,"maxHfov"=>$max_zoom,"minHfov"=>$min_zoom,"title"=>$scene_ititle,"author"=>$scene_author,"hotSpots"=>$hotspots);
322
 
323
  if ($panoscenes["ptyscene"] == "off") {
324
  unset($scene_info['pitch']);
365
 
366
  $scene_array = array();
367
  $scene_array = array(
368
+ $panoscenes["scene-id"]=>$scene_info
369
  );
370
  $scene_data[$panoscenes["scene-id"]] = $scene_info;
371
  }
373
  }
374
 
375
  $pano_id_array = array();
376
+ $pano_id_array = array("panoid"=>$panoid);
377
  $pano_response = array();
378
+ $pano_response = array("autoLoad"=>$autoload,"showControls"=>$control,"compass"=>$compass,"preview"=>$preview,"autoRotate"=>$autorotation,"autoRotateInactivityDelay"=>$autorotationinactivedelay,"autoRotateStopDelay"=>$autorotationstopdelay,"default"=>$default_data,"scenes"=>$scene_data);
379
 
380
  if ($rotation == 'off') {
381
  unset($pano_response['autoRotate']);
admin/lib/pannellum/src/js/pannellum.js CHANGED
@@ -112,7 +112,7 @@ defaultConfig.strings = {
112
  // Labels
113
  loadButtonLabel: 'Click to<br>Load<br>Panorama',
114
  loadingLabel: 'Loading...',
115
- bylineLabel: 'by %s', // One substitution: author
116
 
117
  // Errors
118
  noPanoramaError: 'No panorama image was specified.',
112
  // Labels
113
  loadButtonLabel: 'Click to<br>Load<br>Panorama',
114
  loadingLabel: 'Loading...',
115
+ bylineLabel: '%s', // One substitution: author
116
 
117
  // Errors
118
  noPanoramaError: 'No panorama image was specified.',
admin/partials/wpvr-meta-box-builder-display.php CHANGED
@@ -111,7 +111,7 @@ if (isset($postdata['panodata'])) {
111
 
112
 
113
  $default_data = array();
114
- $default_data = array(__( "firstScene" )=>$default_scene,__( "sceneFadeDuration" )=>$scene_fade_duration);
115
  $scene_data = array();
116
 
117
  if (!empty($panodata)) {
@@ -215,16 +215,16 @@ if (isset($postdata['panodata'])) {
215
  }
216
 
217
  $hotspot_info = array(
218
- __( "text" )=>$hotspot_data["hotspot-title"],
219
- __( "pitch" )=>$hotspot_data["hotspot-pitch"],
220
- __( "yaw" )=>$hotspot_data["hotspot-yaw"],
221
- __( "type" )=>$hotspot_data["hotspot-type"],
222
- __( "URL" )=>$hotspot_data["hotspot-url"],
223
- __( "clickHandlerArgs" )=>$hotspot_data["hotspot-content"],
224
- __( "createTooltipArgs" )=>$hotspot_data["hotspot-hover"],
225
- __( "sceneId" )=>$hotspot_data["hotspot-scene"],
226
- __( "targetPitch" )=>(float)$hotspot_scene_pitch,
227
- __( "targetYaw" )=>(float)$hotspot_scene_yaw);
228
  array_push($hotspots, $hotspot_info);
229
  if (empty($hotspot_data["hotspot-scene"])) {
230
  unset($hotspot_info['targetPitch']);
@@ -233,7 +233,7 @@ if (isset($postdata['panodata'])) {
233
  }
234
 
235
  $scene_info = array();
236
- $scene_info = array(__( "type" )=>$panoscenes["scene-type"],__( "panorama" )=>$panoscenes["scene-attachment-url"],__( "pitch" )=>$default_scene_pitch,__( "maxPitch" )=>$scene_max_pitch,__( "minPitch" )=>$scene_min_pitch,__( "maxYaw" )=>$scene_max_yaw,__( "minYaw" )=>$scene_min_yaw,__( "yaw" )=>$default_scene_yaw,__( "hfov" )=>$default_zoom,__( "maxHfov" )=>$max_zoom,__( "minHfov" )=>$min_zoom,__( "title" )=>$scene_ititle,__( "author" )=>$scene_author,__( "hotSpots" )=>$hotspots);
237
 
238
  if (isset($panoscenes["ptyscene"])) {
239
  if ($panoscenes["ptyscene"] == "off") {
@@ -288,7 +288,7 @@ if (isset($postdata['panodata'])) {
288
 
289
  $scene_array = array();
290
  $scene_array = array(
291
- __($panoscenes["scene-id"])=>$scene_info
292
  );
293
  $scene_data[$panoscenes["scene-id"]] = $scene_info;
294
  }
@@ -296,9 +296,9 @@ if (isset($postdata['panodata'])) {
296
 
297
 
298
  $pano_id_array = array();
299
- $pano_id_array = array(__( "panoid" )=>$panoid);
300
  $pano_response = array();
301
- $pano_response = array(__( "autoLoad" )=>$autoload,__( "showControls" )=>$control,__( 'compass' )=>$compass,__( "preview" )=>$preview,__( "autoRotate" )=>$autorotation,__( "autoRotateInactivityDelay" )=>$autorotationinactivedelay,__( "autoRotateStopDelay" )=>$autorotationstopdelay,__( "default" )=>$default_data,__( "scenes" )=>$scene_data);
302
 
303
  if (empty($autorotation)) {
304
  unset($pano_response['autoRotate']);
111
 
112
 
113
  $default_data = array();
114
+ $default_data = array("firstScene"=>$default_scene,"sceneFadeDuration"=>$scene_fade_duration);
115
  $scene_data = array();
116
 
117
  if (!empty($panodata)) {
215
  }
216
 
217
  $hotspot_info = array(
218
+ "text"=>$hotspot_data["hotspot-title"],
219
+ "pitch"=>$hotspot_data["hotspot-pitch"],
220
+ "yaw"=>$hotspot_data["hotspot-yaw"],
221
+ "type"=>$hotspot_data["hotspot-type"],
222
+ "URL"=>$hotspot_data["hotspot-url"],
223
+ "clickHandlerArgs"=>$hotspot_data["hotspot-content"],
224
+ "createTooltipArgs"=>$hotspot_data["hotspot-hover"],
225
+ "sceneId"=>$hotspot_data["hotspot-scene"],
226
+ "targetPitch"=>(float)$hotspot_scene_pitch,
227
+ "targetYaw"=>(float)$hotspot_scene_yaw);
228
  array_push($hotspots, $hotspot_info);
229
  if (empty($hotspot_data["hotspot-scene"])) {
230
  unset($hotspot_info['targetPitch']);
233
  }
234
 
235
  $scene_info = array();
236
+ $scene_info = array("type"=>$panoscenes["scene-type"],"panorama"=>$panoscenes["scene-attachment-url"],"pitch"=>$default_scene_pitch,"maxPitch"=>$scene_max_pitch,"minPitch"=>$scene_min_pitch,"maxYaw"=>$scene_max_yaw,"minYaw"=>$scene_min_yaw,"yaw"=>$default_scene_yaw,"hfov"=>$default_zoom,"maxHfov"=>$max_zoom,"minHfov"=>$min_zoom,"title"=>$scene_ititle,"author"=>$scene_author,"hotSpots"=>$hotspots);
237
 
238
  if (isset($panoscenes["ptyscene"])) {
239
  if ($panoscenes["ptyscene"] == "off") {
288
 
289
  $scene_array = array();
290
  $scene_array = array(
291
+ $panoscenes["scene-id"]=>$scene_info
292
  );
293
  $scene_data[$panoscenes["scene-id"]] = $scene_info;
294
  }
296
 
297
 
298
  $pano_id_array = array();
299
+ $pano_id_array = array("panoid"=>$panoid);
300
  $pano_response = array();
301
+ $pano_response = array("autoLoad"=>$autoload,"showControls"=>$control,'compass'=>$compass,"preview"=>$preview,"autoRotate"=>$autorotation,"autoRotateInactivityDelay"=>$autorotationinactivedelay,"autoRotateStopDelay"=>$autorotationstopdelay,"default"=>$default_data,"scenes"=>$scene_data);
302
 
303
  if (empty($autorotation)) {
304
  unset($pano_response['autoRotate']);
admin/partials/wpvr_documentation.php CHANGED
@@ -151,6 +151,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
151
  <div class="item"><?php _e('Scene title and author tag support','wpvr'); ?></div>
152
  <div class="item"><?php _e('Hotspot based scene face support','wpvr'); ?></div>
153
  <div class="item"><?php _e('Gyroscope support','wpvr'); ?></div>
 
154
  <div class="item"><?php _e('Personalized support on both support forum and our support e-mail.','wpvr'); ?></div>
155
  </div>
156
  <a href="https://rextheme.com/wpvr/" target="_blank" class="waves-effect waves-light btn wpvr-btn"><?php _e('Get Premium Version','wpvr'); ?></a>
151
  <div class="item"><?php _e('Scene title and author tag support','wpvr'); ?></div>
152
  <div class="item"><?php _e('Hotspot based scene face support','wpvr'); ?></div>
153
  <div class="item"><?php _e('Gyroscope support','wpvr'); ?></div>
154
+ <div class="item"><?php _e('Duplicate tour support','wpvr'); ?></div>
155
  <div class="item"><?php _e('Personalized support on both support forum and our support e-mail.','wpvr'); ?></div>
156
  </div>
157
  <a href="https://rextheme.com/wpvr/" target="_blank" class="waves-effect waves-light btn wpvr-btn"><?php _e('Get Premium Version','wpvr'); ?></a>
public/class-wpvr-public.php CHANGED
@@ -247,9 +247,9 @@ class Wpvr_Public {
247
  $panodata = $postdata['panodata'];
248
  }
249
  $hotspoticoncolor = '#00b4ff';
250
-
251
  $default_data = array();
252
- $default_data = array(__( "firstScene" )=>$default_scene,__( "sceneFadeDuration" )=>$scene_fade_duration);
253
  $scene_data = array();
254
 
255
  if (!empty($panodata["scene-list"])) {
@@ -347,6 +347,9 @@ class Wpvr_Public {
347
  $hotspot_data["hotspot-customclass"] = $hotspot_data["hotspot-customclass-pro"];
348
  $hotspoticoncolor = $hotspot_data["hotspot-customclass-color-icon-value"];
349
  }
 
 
 
350
  }
351
  $hotspot_scene_pitch = '';
352
  if (isset($hotspot_data["hotspot-scene-pitch"])) {
@@ -358,17 +361,17 @@ class Wpvr_Public {
358
  }
359
 
360
  $hotspot_info = array(
361
- __( "text" )=>$hotspot_data["hotspot-title"],
362
- __( "pitch" )=>$hotspot_data["hotspot-pitch"],
363
- __( "yaw" )=>$hotspot_data["hotspot-yaw"],
364
- __( "type" )=>$hotspot_data["hotspot-type"],
365
- __( "cssClass" )=>$hotspot_data["hotspot-customclass"],
366
- __( "URL" )=>$hotspot_data["hotspot-url"],
367
- __( "clickHandlerArgs" )=>$hotspot_data["hotspot-content"],
368
- __( "createTooltipArgs" )=>$hotspot_data["hotspot-hover"],
369
- __( "sceneId" )=>$hotspot_data["hotspot-scene"],
370
- __( "targetPitch" )=>(float)$hotspot_scene_pitch,
371
- __( "targetYaw" )=>(float)$hotspot_scene_yaw);
372
  if ($hotspot_data["hotspot-customclass"] == 'none' || $hotspot_data["hotspot-customclass"] == '') {
373
  unset($hotspot_info["cssClass"]);
374
  }
@@ -380,7 +383,7 @@ class Wpvr_Public {
380
  }
381
 
382
  $scene_info = array();
383
- $scene_info = array(__( "type" )=>$panoscenes["scene-type"],__( "panorama" )=>$panoscenes["scene-attachment-url"],__( "pitch" )=>$default_scene_pitch,__( "maxPitch" )=>$scene_max_pitch,__( "minPitch" )=>$scene_min_pitch,__( "maxYaw" )=>$scene_max_yaw,__( "minYaw" )=>$scene_min_yaw,__( "yaw" )=>$default_scene_yaw,__( "hfov" )=>$default_zoom,__( "maxHfov" )=>$max_zoom,__( "minHfov" )=>$min_zoom,__( "title" )=>$scene_ititle,__( "author" )=>$scene_author,__( "hotSpots" )=>$hotspots);
384
 
385
  if (isset($panoscenes["ptyscene"])) {
386
  if ($panoscenes["ptyscene"] == "off") {
@@ -434,16 +437,16 @@ class Wpvr_Public {
434
 
435
  $scene_array = array();
436
  $scene_array = array(
437
- __($panoscenes["scene-id"])=>$scene_info
438
  );
439
  $scene_data[$panoscenes["scene-id"]] = $scene_info;
440
  }
441
  }
442
 
443
  $pano_id_array = array();
444
- $pano_id_array = array(__( "panoid" )=>$panoid);
445
  $pano_response = array();
446
- $pano_response = array(__( "autoLoad" )=>$autoload,__( "showControls" )=>$control,__( "orientationSupport" )=>'false',__( "compass" )=>$compass,__( "preview" )=>$preview,__( "autoRotate" )=>$autorotation,__( "autoRotateInactivityDelay" )=>$autorotationinactivedelay,__( "autoRotateStopDelay" )=>$autorotationstopdelay,__( "default" )=>$default_data,__( "scenes" )=>$scene_data);
447
 
448
  if (empty($autorotation)) {
449
  unset($pano_response['autoRotate']);
@@ -490,7 +493,8 @@ class Wpvr_Public {
490
  height: 30px;
491
  animation: icon-pulse'.$panoid.' 1.5s infinite cubic-bezier(.25, 0, 0, 1);
492
  }';
493
- $html .= '@-webkit-keyframes icon-pulse'.$panoid.' {
 
494
  0% {
495
  box-shadow: 0 0 0 0px rgba('.$pulse_color[0].', 1);
496
  }
@@ -506,6 +510,8 @@ class Wpvr_Public {
506
  box-shadow: 0 0 0 10px rgba('.$pulse_color[0].', 0);
507
  }
508
  }';
 
 
509
  $status = get_option( 'wpvr_edd_license_status' );
510
  if( $status !== false && $status == 'valid' ) {
511
  if (!$gyro) {
247
  $panodata = $postdata['panodata'];
248
  }
249
  $hotspoticoncolor = '#00b4ff';
250
+ $hotspotblink = 'on';
251
  $default_data = array();
252
+ $default_data = array("firstScene"=>$default_scene,"sceneFadeDuration"=>$scene_fade_duration);
253
  $scene_data = array();
254
 
255
  if (!empty($panodata["scene-list"])) {
347
  $hotspot_data["hotspot-customclass"] = $hotspot_data["hotspot-customclass-pro"];
348
  $hotspoticoncolor = $hotspot_data["hotspot-customclass-color-icon-value"];
349
  }
350
+ if (isset($hotspot_data['hotspot-blink'])) {
351
+ $hotspotblink = $hotspot_data['hotspot-blink'];
352
+ }
353
  }
354
  $hotspot_scene_pitch = '';
355
  if (isset($hotspot_data["hotspot-scene-pitch"])) {
361
  }
362
 
363
  $hotspot_info = array(
364
+ "text"=>$hotspot_data["hotspot-title"],
365
+ "pitch"=>$hotspot_data["hotspot-pitch"],
366
+ "yaw"=>$hotspot_data["hotspot-yaw"],
367
+ "type"=>$hotspot_data["hotspot-type"],
368
+ "cssClass"=>$hotspot_data["hotspot-customclass"],
369
+ "URL"=>$hotspot_data["hotspot-url"],
370
+ "clickHandlerArgs"=>$hotspot_data["hotspot-content"],
371
+ "createTooltipArgs"=>$hotspot_data["hotspot-hover"],
372
+ "sceneId"=>$hotspot_data["hotspot-scene"],
373
+ "targetPitch"=>(float)$hotspot_scene_pitch,
374
+ "targetYaw"=>(float)$hotspot_scene_yaw);
375
  if ($hotspot_data["hotspot-customclass"] == 'none' || $hotspot_data["hotspot-customclass"] == '') {
376
  unset($hotspot_info["cssClass"]);
377
  }
383
  }
384
 
385
  $scene_info = array();
386
+ $scene_info = array("type"=>$panoscenes["scene-type"],"panorama"=>$panoscenes["scene-attachment-url"],"pitch"=>$default_scene_pitch,"maxPitch"=>$scene_max_pitch,"minPitch"=>$scene_min_pitch,"maxYaw"=>$scene_max_yaw,"minYaw"=>$scene_min_yaw,"yaw"=>$default_scene_yaw,"hfov"=>$default_zoom,"maxHfov"=>$max_zoom,"minHfov"=>$min_zoom,"title"=>$scene_ititle,"author"=>$scene_author,"hotSpots"=>$hotspots);
387
 
388
  if (isset($panoscenes["ptyscene"])) {
389
  if ($panoscenes["ptyscene"] == "off") {
437
 
438
  $scene_array = array();
439
  $scene_array = array(
440
+ $panoscenes["scene-id"]=>$scene_info
441
  );
442
  $scene_data[$panoscenes["scene-id"]] = $scene_info;
443
  }
444
  }
445
 
446
  $pano_id_array = array();
447
+ $pano_id_array = array("panoid"=>$panoid);
448
  $pano_response = array();
449
+ $pano_response = array("autoLoad"=>$autoload,"showControls"=>$control,"orientationSupport"=>'false',"compass"=>$compass,"preview"=>$preview,"autoRotate"=>$autorotation,"autoRotateInactivityDelay"=>$autorotationinactivedelay,"autoRotateStopDelay"=>$autorotationstopdelay,"default"=>$default_data,"scenes"=>$scene_data);
450
 
451
  if (empty($autorotation)) {
452
  unset($pano_response['autoRotate']);
493
  height: 30px;
494
  animation: icon-pulse'.$panoid.' 1.5s infinite cubic-bezier(.25, 0, 0, 1);
495
  }';
496
+ if ($hotspotblink == 'on') {
497
+ $html .= '@-webkit-keyframes icon-pulse'.$panoid.' {
498
  0% {
499
  box-shadow: 0 0 0 0px rgba('.$pulse_color[0].', 1);
500
  }
510
  box-shadow: 0 0 0 10px rgba('.$pulse_color[0].', 0);
511
  }
512
  }';
513
+ }
514
+
515
  $status = get_option( 'wpvr_edd_license_status' );
516
  if( $status !== false && $status == 'valid' ) {
517
  if (!$gyro) {
public/css/wpvr-public.css CHANGED
@@ -12,10 +12,6 @@ div.pnlm-hotspot-base.far:before{
12
  transform: translate(-50%, -50%);
13
  }
14
 
15
- /*.pnlm-orientation-button {
16
- display: none;
17
- }*/
18
-
19
  .pnlm-container iframe {
20
  max-width: inherit;
21
  margin-bottom: 0;
12
  transform: translate(-50%, -50%);
13
  }
14
 
 
 
 
 
15
  .pnlm-container iframe {
16
  max-width: inherit;
17
  margin-bottom: 0;
public/lib/pannellum/src/js/pannellum.js CHANGED
@@ -112,7 +112,7 @@ defaultConfig.strings = {
112
  // Labels
113
  loadButtonLabel: 'Click to<br>Load<br>Panorama',
114
  loadingLabel: 'Loading...',
115
- bylineLabel: 'by %s', // One substitution: author
116
 
117
  // Errors
118
  noPanoramaError: 'No panorama image was specified.',
112
  // Labels
113
  loadButtonLabel: 'Click to<br>Load<br>Panorama',
114
  loadingLabel: 'Loading...',
115
+ bylineLabel: '%s', // One substitution: author
116
 
117
  // Errors
118
  noPanoramaError: 'No panorama image was specified.',
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: 2.5.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
@@ -280,9 +280,9 @@ function wpvr_block_render( $attributes ) {
280
  $panodata = $postdata['panodata'];
281
  }
282
  $hotspoticoncolor = '#00b4ff';
283
-
284
  $default_data = array();
285
- $default_data = array(__( 'firstScene' )=>$default_scene,__( 'sceneFadeDuration' )=>$scene_fade_duration);
286
  $scene_data = array();
287
 
288
  if (!empty($panodata['scene-list'])) {
@@ -381,6 +381,9 @@ function wpvr_block_render( $attributes ) {
381
  $hotspot_data["hotspot-customclass"] = $hotspot_data["hotspot-customclass-pro"];
382
  $hotspoticoncolor = $hotspot_data["hotspot-customclass-color-icon-value"];
383
  }
 
 
 
384
  }
385
  $hotspot_scene_pitch = '';
386
  if (isset($hotspot_data["hotspot-scene-pitch"])) {
@@ -391,17 +394,17 @@ function wpvr_block_render( $attributes ) {
391
  $hotspot_scene_yaw = $hotspot_data["hotspot-scene-yaw"];
392
  }
393
  $hotspot_info = array(
394
- __( 'text' )=>$hotspot_data['hotspot-title'],
395
- __( 'pitch' )=>$hotspot_data['hotspot-pitch'],
396
- __( 'yaw' )=>$hotspot_data['hotspot-yaw'],
397
- __( 'type' )=>$hotspot_data['hotspot-type'],
398
- __( 'cssClass' )=>$hotspot_data['hotspot-customclass'],
399
- __( 'URL' )=>$hotspot_data['hotspot-url'],
400
- __( 'clickHandlerArgs' )=>$hotspot_data['hotspot-content'],
401
- __( 'createTooltipArgs' )=>$hotspot_data['hotspot-hover'],
402
- __( "sceneId" )=>$hotspot_data["hotspot-scene"],
403
- __( "targetPitch" )=>(float)$hotspot_scene_pitch,
404
- __( "targetYaw" )=>(float)$hotspot_scene_yaw);
405
  if ($hotspot_data["hotspot-customclass"] == 'none' || $hotspot_data["hotspot-customclass"] == '') {
406
  unset($hotspot_info["cssClass"]);
407
  }
@@ -413,7 +416,7 @@ function wpvr_block_render( $attributes ) {
413
  }
414
 
415
  $scene_info = array();
416
- $scene_info = array(__( 'type' )=>$panoscenes['scene-type'],__( 'panorama' )=>$panoscenes['scene-attachment-url'],__( "pitch" )=>$default_scene_pitch,__( "maxPitch" )=>$scene_max_pitch,__( "minPitch" )=>$scene_min_pitch,__( "maxYaw" )=>$scene_max_yaw,__( "minYaw" )=>$scene_min_yaw,__( "yaw" )=>$default_scene_yaw,__( "hfov" )=>$default_zoom,__( "maxHfov" )=>$max_zoom,__( "minHfov" )=>$min_zoom,__( "title" )=>$scene_ititle,__( "author" )=>$scene_author,__( 'hotSpots' )=>$hotspots);
417
 
418
  if (isset($panoscenes["ptyscene"])) {
419
  if ($panoscenes["ptyscene"] == "off") {
@@ -466,16 +469,16 @@ function wpvr_block_render( $attributes ) {
466
 
467
  $scene_array = array();
468
  $scene_array = array(
469
- __($panoscenes['scene-id'])=>$scene_info
470
  );
471
  $scene_data[$panoscenes['scene-id']] = $scene_info;
472
  }
473
  }
474
 
475
  $pano_id_array = array();
476
- $pano_id_array = array(__( 'panoid' )=>$panoid);
477
  $pano_response = array();
478
- $pano_response = array(__( 'autoLoad' )=>$autoload,__( 'showControls' )=>$control,__( 'compass' )=>$compass,__( "preview" )=>$preview,__( "autoRotate" )=>$autorotation,__( "autoRotateInactivityDelay" )=>$autorotationinactivedelay,__( "autoRotateStopDelay" )=>$autorotationstopdelay,__( 'default' )=>$default_data,__( 'scenes' )=>$scene_data);
479
  if (empty($autorotation)) {
480
  unset($pano_response['autoRotate']);
481
  unset($pano_response['autoRotateInactivityDelay']);
@@ -526,22 +529,25 @@ function wpvr_block_render( $attributes ) {
526
  height: 30px;
527
  animation: icon-pulse'.$panoid.' 1.5s infinite cubic-bezier(.25, 0, 0, 1);
528
  }';
529
- $html .= '@-webkit-keyframes icon-pulse'.$panoid.' {
530
- 0% {
531
- box-shadow: 0 0 0 0px rgba('.$pulse_color[0].', 1);
532
- }
533
- 100% {
534
- box-shadow: 0 0 0 10px rgba('.$pulse_color[0].', 0);
535
- }
 
 
 
 
 
 
 
 
 
 
536
  }
537
- @keyframes icon-pulse'.$panoid.' {
538
- 0% {
539
- box-shadow: 0 0 0 0px rgba('.$pulse_color[0].', 1);
540
- }
541
- 100% {
542
- box-shadow: 0 0 0 10px rgba('.$pulse_color[0].', 0);
543
- }
544
- }';
545
  $status = get_option( 'wpvr_edd_license_status' );
546
  if( $status !== false && $status == 'valid' ) {
547
  if (!$gyro) {
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: 2.6.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
280
  $panodata = $postdata['panodata'];
281
  }
282
  $hotspoticoncolor = '#00b4ff';
283
+ $hotspotblink = 'on';
284
  $default_data = array();
285
+ $default_data = array('firstScene'=>$default_scene, 'sceneFadeDuration'=>$scene_fade_duration);
286
  $scene_data = array();
287
 
288
  if (!empty($panodata['scene-list'])) {
381
  $hotspot_data["hotspot-customclass"] = $hotspot_data["hotspot-customclass-pro"];
382
  $hotspoticoncolor = $hotspot_data["hotspot-customclass-color-icon-value"];
383
  }
384
+ if (isset($hotspot_data['hotspot-blink'])) {
385
+ $hotspotblink = $hotspot_data['hotspot-blink'];
386
+ }
387
  }
388
  $hotspot_scene_pitch = '';
389
  if (isset($hotspot_data["hotspot-scene-pitch"])) {
394
  $hotspot_scene_yaw = $hotspot_data["hotspot-scene-yaw"];
395
  }
396
  $hotspot_info = array(
397
+ 'text'=>$hotspot_data['hotspot-title'],
398
+ 'pitch'=>$hotspot_data['hotspot-pitch'],
399
+ 'yaw'=>$hotspot_data['hotspot-yaw'],
400
+ 'type'=>$hotspot_data['hotspot-type'],
401
+ 'cssClass'=>$hotspot_data['hotspot-customclass'],
402
+ 'URL'=>$hotspot_data['hotspot-url'],
403
+ 'clickHandlerArgs'=>$hotspot_data['hotspot-content'],
404
+ 'createTooltipArgs'=>$hotspot_data['hotspot-hover'],
405
+ "sceneId"=>$hotspot_data["hotspot-scene"],
406
+ "targetPitch"=>(float)$hotspot_scene_pitch,
407
+ "targetYaw"=>(float)$hotspot_scene_yaw);
408
  if ($hotspot_data["hotspot-customclass"] == 'none' || $hotspot_data["hotspot-customclass"] == '') {
409
  unset($hotspot_info["cssClass"]);
410
  }
416
  }
417
 
418
  $scene_info = array();
419
+ $scene_info = array('type'=>$panoscenes['scene-type'],'panorama'=>$panoscenes['scene-attachment-url'],"pitch"=>$default_scene_pitch,"maxPitch"=>$scene_max_pitch,"minPitch"=>$scene_min_pitch,"maxYaw"=>$scene_max_yaw,"minYaw"=>$scene_min_yaw,"yaw"=>$default_scene_yaw,"hfov"=>$default_zoom,"maxHfov"=>$max_zoom,"minHfov"=>$min_zoom,"title"=>$scene_ititle,"author"=>$scene_author,'hotSpots'=>$hotspots);
420
 
421
  if (isset($panoscenes["ptyscene"])) {
422
  if ($panoscenes["ptyscene"] == "off") {
469
 
470
  $scene_array = array();
471
  $scene_array = array(
472
+ $panoscenes['scene-id']=>$scene_info
473
  );
474
  $scene_data[$panoscenes['scene-id']] = $scene_info;
475
  }
476
  }
477
 
478
  $pano_id_array = array();
479
+ $pano_id_array = array('panoid'=>$panoid);
480
  $pano_response = array();
481
+ $pano_response = array('autoLoad'=>$autoload,'showControls'=>$control,'compass'=>$compass,"preview"=>$preview,"autoRotate"=>$autorotation,"autoRotateInactivityDelay"=>$autorotationinactivedelay,"autoRotateStopDelay"=>$autorotationstopdelay,'default'=>$default_data,'scenes'=>$scene_data);
482
  if (empty($autorotation)) {
483
  unset($pano_response['autoRotate']);
484
  unset($pano_response['autoRotateInactivityDelay']);
529
  height: 30px;
530
  animation: icon-pulse'.$panoid.' 1.5s infinite cubic-bezier(.25, 0, 0, 1);
531
  }';
532
+ if ($hotspotblink == 'on') {
533
+ $html .= '@-webkit-keyframes icon-pulse'.$panoid.' {
534
+ 0% {
535
+ box-shadow: 0 0 0 0px rgba('.$pulse_color[0].', 1);
536
+ }
537
+ 100% {
538
+ box-shadow: 0 0 0 10px rgba('.$pulse_color[0].', 0);
539
+ }
540
+ }
541
+ @keyframes icon-pulse'.$panoid.' {
542
+ 0% {
543
+ box-shadow: 0 0 0 0px rgba('.$pulse_color[0].', 1);
544
+ }
545
+ 100% {
546
+ box-shadow: 0 0 0 10px rgba('.$pulse_color[0].', 0);
547
+ }
548
+ }';
549
  }
550
+
 
 
 
 
 
 
 
551
  $status = get_option( 'wpvr_edd_license_status' );
552
  if( $status !== false && $status == 'valid' ) {
553
  if (!$gyro) {