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

Version Description

  • Tour selector updated on vr block

=

Download this release

Release Info

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

Code changes from version 2.8.0 to 2.9.0

Files changed (2) hide show
  1. README.txt +4 -1
  2. wpvr.php +43 -43
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.8.0
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -198,5 +198,8 @@ To solve this issue, go to your WordPress Dashboard > Settings > General. Here m
198
  = 2.8.0 =
199
  * Dynamic error reporting added.
200
 
 
 
 
201
  == Upgrade Notice ==
202
  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.9.0
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
198
  = 2.8.0 =
199
  * Dynamic error reporting added.
200
 
201
+ = 2.9.0 =
202
+ * Tour selector updated on vr block
203
+
204
  == Upgrade Notice ==
205
  Please do update the WP VR to the latest version. Each update makes it sure your plugin is supporting all tour features.  
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.8.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
@@ -102,7 +102,7 @@ function wpvr_activation_redirect( $plugin )
102
  }
103
 
104
  add_action( 'activated_plugin', 'wpvr_activation_redirect' );
105
-
106
 
107
  /**
108
  * Initialize the plugin tracker
@@ -110,16 +110,16 @@ add_action( 'activated_plugin', 'wpvr_activation_redirect' );
110
  * @return void
111
  */
112
  function appsero_init_tracker_wpvr() {
113
-
114
  if ( ! class_exists( 'AppSero\WPVRInsights' ) ) {
115
  require_once __DIR__ . '/wpvrinsights.php';
116
  }
117
  $insights = new AppSero\WPVRInsights( 'cab9761e-b067-4824-9c71-042df5d58598', 'WP VR', __FILE__);
118
  $insights->optin();
119
  $insights->init_plugin();
120
-
121
  }
122
-
123
  add_action( 'init', 'appsero_init_tracker_wpvr' );
124
 
125
  function wpvr_block() {
@@ -157,7 +157,7 @@ function wpvr_block() {
157
  ),
158
  'editor_script' => 'wpvr-block',
159
  'render_callback' => 'wpvr_block_render',
160
- ) );
161
  }
162
  }
163
  add_action( 'init', 'wpvr_block' );
@@ -177,7 +177,7 @@ function wpvr_block_render( $attributes ) {
177
  if (isset($attributes['height'])) {
178
  $height = $attributes['height'];
179
  }
180
-
181
 
182
  $postdata = get_post_meta( $id, 'panodata', true );
183
  $panoid = 'pano'.$id;
@@ -224,13 +224,13 @@ function wpvr_block_render( $attributes ) {
224
  $html .= '</div>';
225
  }
226
  return $html;
227
- }
228
 
229
  $control = false;
230
  if (isset($postdata['showControls'])) {
231
  $control = $postdata['showControls'];
232
  }
233
-
234
  $gyro = false;
235
  if (isset($postdata['gyro'])) {
236
  $gyro = $postdata['gyro'];
@@ -240,13 +240,13 @@ function wpvr_block_render( $attributes ) {
240
  if (isset($postdata['compass'])) {
241
  $compass = $postdata['compass'];
242
  }
243
-
244
  $autoload = false;
245
 
246
  if (isset($postdata['autoLoad'])) {
247
  $autoload = $postdata['autoLoad'];
248
  }
249
-
250
  $default_scene = '';
251
  if (isset($postdata['defaultscene'])) {
252
  $default_scene = $postdata['defaultscene'];
@@ -269,12 +269,12 @@ function wpvr_block_render( $attributes ) {
269
  if (isset($postdata["autoRotateStopDelay"])) {
270
  $autorotationstopdelay = $postdata["autoRotateStopDelay"];
271
  }
272
-
273
  $scene_fade_duration = '';
274
  if (isset($postdata['scenefadeduration'])) {
275
  $scene_fade_duration = $postdata['scenefadeduration'];
276
  }
277
-
278
  $panodata = '';
279
  if (isset($postdata['panodata'])) {
280
  $panodata = $postdata['panodata'];
@@ -293,17 +293,17 @@ function wpvr_block_render( $attributes ) {
293
  if (isset($panoscenes["scene-ititle"])) {
294
  $scene_ititle = sanitize_text_field($panoscenes["scene-ititle"]);
295
  }
296
-
297
  $scene_author = '';
298
  if (isset($panoscenes["scene-author"])) {
299
  $scene_author = sanitize_text_field($panoscenes["scene-author"]);
300
- }
301
 
302
  $default_scene_pitch = '';
303
  if (isset($panoscenes["scene-pitch"])) {
304
  $default_scene_pitch = $panoscenes["scene-pitch"];
305
  }
306
-
307
  $default_scene_yaw = '';
308
  if (isset($panoscenes["scene-yaw"])) {
309
  $default_scene_yaw = $panoscenes["scene-yaw"];
@@ -313,30 +313,30 @@ function wpvr_block_render( $attributes ) {
313
  if (isset($panoscenes["scene-maxpitch"])) {
314
  $scene_max_pitch = (float)$panoscenes["scene-maxpitch"];
315
  }
316
-
317
 
318
  $scene_min_pitch = '';
319
  if (isset($panoscenes["scene-minpitch"])) {
320
  $scene_min_pitch = (float)$panoscenes["scene-minpitch"];
321
  }
322
-
323
 
324
  $scene_max_yaw = '';
325
  if (isset($panoscenes["scene-maxyaw"])) {
326
  $scene_max_yaw = (float)$panoscenes["scene-maxyaw"];
327
  }
328
-
329
 
330
  $scene_min_yaw = '';
331
  if (isset($panoscenes["scene-minyaw"])) {
332
  $scene_min_yaw = (float)$panoscenes["scene-minyaw"];
333
  }
334
-
335
  $default_zoom = 100;
336
  if (isset($panoscenes["scene-zoom"])) {
337
  $default_zoom = $panoscenes["scene-zoom"];
338
  }
339
-
340
  if (!empty($default_zoom)) {
341
  $default_zoom = (int)$default_zoom;
342
  }
@@ -348,7 +348,7 @@ function wpvr_block_render( $attributes ) {
348
  if (isset($panoscenes["scene-maxzoom"])) {
349
  $max_zoom = $panoscenes["scene-maxzoom"];
350
  }
351
-
352
  if (!empty($max_zoom)) {
353
  $max_zoom = (int)$max_zoom;
354
  }
@@ -360,26 +360,26 @@ function wpvr_block_render( $attributes ) {
360
  if (isset($panoscenes["scene-minzoom"])) {
361
  $min_zoom = $panoscenes["scene-minzoom"];
362
  }
363
-
364
  if (!empty($min_zoom)) {
365
  $min_zoom = (int)$min_zoom;
366
  }
367
  else {
368
  $min_zoom = 50;
369
- }
370
 
371
  $hotspot_datas = array();
372
  if (isset($panoscenes['hotspot-list'])) {
373
  $hotspot_datas = $panoscenes['hotspot-list'];
374
  }
375
-
376
  $hotspots = array();
377
  foreach ($hotspot_datas as $hotspot_data) {
378
  $status = get_option( 'wpvr_edd_license_status' );
379
  if( $status !== false && $status == 'valid' ) {
380
  if (isset($hotspot_data["hotspot-customclass-pro"]) && $hotspot_data["hotspot-customclass-pro"] != 'none') {
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'];
@@ -466,13 +466,13 @@ function wpvr_block_render( $attributes ) {
466
  unset($scene_info['minHfov']);
467
  }
468
  }
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();
@@ -490,7 +490,7 @@ function wpvr_block_render( $attributes ) {
490
  if (empty($autorotationstopdelay)) {
491
  unset($pano_response['autoRotateStopDelay']);
492
  }
493
-
494
  $response = array();
495
  $response = array($pano_id_array,$pano_response);
496
  if (!empty($response)) {
@@ -502,7 +502,7 @@ function wpvr_block_render( $attributes ) {
502
  if (empty($height)) {
503
  $height = '400';
504
  }
505
-
506
  $foreground_color = '#fff';
507
  $pulse_color = wpvr_hex2rgb($hotspoticoncolor);
508
  $rgb = wpvr_HTMLToRGB($hotspoticoncolor);
@@ -521,10 +521,10 @@ function wpvr_block_render( $attributes ) {
521
  $html .= '#'.$panoid.' div.pnlm-hotspot-base.fas,
522
  #'.$panoid.' div.pnlm-hotspot-base.fab,
523
  #'.$panoid.' div.pnlm-hotspot-base.far {
524
- display: block !important;
525
  background-color: '.$hotspoticoncolor.';
526
  color: '.$foreground_color.';
527
- border-radius: 100%;
528
  width: 30px;
529
  height: 30px;
530
  animation: icon-pulse'.$panoid.' 1.5s infinite cubic-bezier(.25, 0, 0, 1);
@@ -545,7 +545,7 @@ function wpvr_block_render( $attributes ) {
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' );
@@ -553,15 +553,15 @@ function wpvr_block_render( $attributes ) {
553
  if (!$gyro) {
554
  $html .= '#'.$panoid.' div.pnlm-orientation-button {
555
  display: none;
556
- }';
557
- }
558
  }
559
  else {
560
  $html .= '#'.$panoid.' div.pnlm-orientation-button {
561
  display: none;
562
  }';
563
  }
564
-
565
  $html .= '</style>';
566
 
567
  $html .= '<div id="pano'.$id.'" class="pano-wrap" style=" text-align:center; width: '.$width.'px; height: '.$height.'px; margin: 0 auto;">';
@@ -581,13 +581,13 @@ function wpvr_block_render( $attributes ) {
581
  $html .= 'for(var i = 0; i < scenehotspot.length; i++) {';
582
  $html .= 'if(scenehotspot[i]["clickHandlerArgs"] != "") {';
583
  $html .= 'scenehotspot[i]["clickHandlerFunc"] = wpvrhotspot;';
584
- $html .= '}';
585
  $html .= 'if(scenehotspot[i]["createTooltipArgs"] != "") {';
586
  $html .= 'scenehotspot[i]["createTooltipFunc"] = wpvrtooltip;';
587
- $html .= '}';
588
- $html .= '}';
589
  $html .= '}';
590
- $html .= '}';
591
  $html .= 'pannellum.viewer(response[0]["panoid"], scenes);';
592
  $html .= '</script>';
593
  //script end
@@ -676,7 +676,7 @@ function wpvr_RGBToHSL($RGB) {
676
  if($b == $maxC)
677
  $h = 4.0 + ($r - $g) / ($maxC - $minC);
678
 
679
- $h = $h / 6.0;
680
  }
681
 
682
  $h = (int)round(255.0 * $h);
@@ -698,7 +698,7 @@ function wpvr_rest_data_set() {
698
  'post_type' => 'wpvr_item',
699
  'posts_per_page' => -1,
700
  ));
701
-
702
  $wpvr_list = array();
703
  $list_none = array('value'=>'0','label'=>'None');
704
  array_push($wpvr_list,$list_none);
@@ -706,9 +706,9 @@ function wpvr_rest_data_set() {
706
  $query->the_post();
707
  $title = get_the_title();
708
  $post_id = get_the_ID();
 
709
  $list_ob = array('value'=>$post_id,'label'=>$title);
710
  array_push($wpvr_list,$list_ob);
711
  }
712
  return $wpvr_list;
713
  }
714
-
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.9.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
102
  }
103
 
104
  add_action( 'activated_plugin', 'wpvr_activation_redirect' );
105
+
106
 
107
  /**
108
  * Initialize the plugin tracker
110
  * @return void
111
  */
112
  function appsero_init_tracker_wpvr() {
113
+
114
  if ( ! class_exists( 'AppSero\WPVRInsights' ) ) {
115
  require_once __DIR__ . '/wpvrinsights.php';
116
  }
117
  $insights = new AppSero\WPVRInsights( 'cab9761e-b067-4824-9c71-042df5d58598', 'WP VR', __FILE__);
118
  $insights->optin();
119
  $insights->init_plugin();
120
+
121
  }
122
+
123
  add_action( 'init', 'appsero_init_tracker_wpvr' );
124
 
125
  function wpvr_block() {
157
  ),
158
  'editor_script' => 'wpvr-block',
159
  'render_callback' => 'wpvr_block_render',
160
+ ) );
161
  }
162
  }
163
  add_action( 'init', 'wpvr_block' );
177
  if (isset($attributes['height'])) {
178
  $height = $attributes['height'];
179
  }
180
+
181
 
182
  $postdata = get_post_meta( $id, 'panodata', true );
183
  $panoid = 'pano'.$id;
224
  $html .= '</div>';
225
  }
226
  return $html;
227
+ }
228
 
229
  $control = false;
230
  if (isset($postdata['showControls'])) {
231
  $control = $postdata['showControls'];
232
  }
233
+
234
  $gyro = false;
235
  if (isset($postdata['gyro'])) {
236
  $gyro = $postdata['gyro'];
240
  if (isset($postdata['compass'])) {
241
  $compass = $postdata['compass'];
242
  }
243
+
244
  $autoload = false;
245
 
246
  if (isset($postdata['autoLoad'])) {
247
  $autoload = $postdata['autoLoad'];
248
  }
249
+
250
  $default_scene = '';
251
  if (isset($postdata['defaultscene'])) {
252
  $default_scene = $postdata['defaultscene'];
269
  if (isset($postdata["autoRotateStopDelay"])) {
270
  $autorotationstopdelay = $postdata["autoRotateStopDelay"];
271
  }
272
+
273
  $scene_fade_duration = '';
274
  if (isset($postdata['scenefadeduration'])) {
275
  $scene_fade_duration = $postdata['scenefadeduration'];
276
  }
277
+
278
  $panodata = '';
279
  if (isset($postdata['panodata'])) {
280
  $panodata = $postdata['panodata'];
293
  if (isset($panoscenes["scene-ititle"])) {
294
  $scene_ititle = sanitize_text_field($panoscenes["scene-ititle"]);
295
  }
296
+
297
  $scene_author = '';
298
  if (isset($panoscenes["scene-author"])) {
299
  $scene_author = sanitize_text_field($panoscenes["scene-author"]);
300
+ }
301
 
302
  $default_scene_pitch = '';
303
  if (isset($panoscenes["scene-pitch"])) {
304
  $default_scene_pitch = $panoscenes["scene-pitch"];
305
  }
306
+
307
  $default_scene_yaw = '';
308
  if (isset($panoscenes["scene-yaw"])) {
309
  $default_scene_yaw = $panoscenes["scene-yaw"];
313
  if (isset($panoscenes["scene-maxpitch"])) {
314
  $scene_max_pitch = (float)$panoscenes["scene-maxpitch"];
315
  }
316
+
317
 
318
  $scene_min_pitch = '';
319
  if (isset($panoscenes["scene-minpitch"])) {
320
  $scene_min_pitch = (float)$panoscenes["scene-minpitch"];
321
  }
322
+
323
 
324
  $scene_max_yaw = '';
325
  if (isset($panoscenes["scene-maxyaw"])) {
326
  $scene_max_yaw = (float)$panoscenes["scene-maxyaw"];
327
  }
328
+
329
 
330
  $scene_min_yaw = '';
331
  if (isset($panoscenes["scene-minyaw"])) {
332
  $scene_min_yaw = (float)$panoscenes["scene-minyaw"];
333
  }
334
+
335
  $default_zoom = 100;
336
  if (isset($panoscenes["scene-zoom"])) {
337
  $default_zoom = $panoscenes["scene-zoom"];
338
  }
339
+
340
  if (!empty($default_zoom)) {
341
  $default_zoom = (int)$default_zoom;
342
  }
348
  if (isset($panoscenes["scene-maxzoom"])) {
349
  $max_zoom = $panoscenes["scene-maxzoom"];
350
  }
351
+
352
  if (!empty($max_zoom)) {
353
  $max_zoom = (int)$max_zoom;
354
  }
360
  if (isset($panoscenes["scene-minzoom"])) {
361
  $min_zoom = $panoscenes["scene-minzoom"];
362
  }
363
+
364
  if (!empty($min_zoom)) {
365
  $min_zoom = (int)$min_zoom;
366
  }
367
  else {
368
  $min_zoom = 50;
369
+ }
370
 
371
  $hotspot_datas = array();
372
  if (isset($panoscenes['hotspot-list'])) {
373
  $hotspot_datas = $panoscenes['hotspot-list'];
374
  }
375
+
376
  $hotspots = array();
377
  foreach ($hotspot_datas as $hotspot_data) {
378
  $status = get_option( 'wpvr_edd_license_status' );
379
  if( $status !== false && $status == 'valid' ) {
380
  if (isset($hotspot_data["hotspot-customclass-pro"]) && $hotspot_data["hotspot-customclass-pro"] != 'none') {
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'];
466
  unset($scene_info['minHfov']);
467
  }
468
  }
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();
490
  if (empty($autorotationstopdelay)) {
491
  unset($pano_response['autoRotateStopDelay']);
492
  }
493
+
494
  $response = array();
495
  $response = array($pano_id_array,$pano_response);
496
  if (!empty($response)) {
502
  if (empty($height)) {
503
  $height = '400';
504
  }
505
+
506
  $foreground_color = '#fff';
507
  $pulse_color = wpvr_hex2rgb($hotspoticoncolor);
508
  $rgb = wpvr_HTMLToRGB($hotspoticoncolor);
521
  $html .= '#'.$panoid.' div.pnlm-hotspot-base.fas,
522
  #'.$panoid.' div.pnlm-hotspot-base.fab,
523
  #'.$panoid.' div.pnlm-hotspot-base.far {
524
+ display: block !important;
525
  background-color: '.$hotspoticoncolor.';
526
  color: '.$foreground_color.';
527
+ border-radius: 100%;
528
  width: 30px;
529
  height: 30px;
530
  animation: icon-pulse'.$panoid.' 1.5s infinite cubic-bezier(.25, 0, 0, 1);
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' );
553
  if (!$gyro) {
554
  $html .= '#'.$panoid.' div.pnlm-orientation-button {
555
  display: none;
556
+ }';
557
+ }
558
  }
559
  else {
560
  $html .= '#'.$panoid.' div.pnlm-orientation-button {
561
  display: none;
562
  }';
563
  }
564
+
565
  $html .= '</style>';
566
 
567
  $html .= '<div id="pano'.$id.'" class="pano-wrap" style=" text-align:center; width: '.$width.'px; height: '.$height.'px; margin: 0 auto;">';
581
  $html .= 'for(var i = 0; i < scenehotspot.length; i++) {';
582
  $html .= 'if(scenehotspot[i]["clickHandlerArgs"] != "") {';
583
  $html .= 'scenehotspot[i]["clickHandlerFunc"] = wpvrhotspot;';
584
+ $html .= '}';
585
  $html .= 'if(scenehotspot[i]["createTooltipArgs"] != "") {';
586
  $html .= 'scenehotspot[i]["createTooltipFunc"] = wpvrtooltip;';
587
+ $html .= '}';
588
+ $html .= '}';
589
  $html .= '}';
590
+ $html .= '}';
591
  $html .= 'pannellum.viewer(response[0]["panoid"], scenes);';
592
  $html .= '</script>';
593
  //script end
676
  if($b == $maxC)
677
  $h = 4.0 + ($r - $g) / ($maxC - $minC);
678
 
679
+ $h = $h / 6.0;
680
  }
681
 
682
  $h = (int)round(255.0 * $h);
698
  'post_type' => 'wpvr_item',
699
  'posts_per_page' => -1,
700
  ));
701
+
702
  $wpvr_list = array();
703
  $list_none = array('value'=>'0','label'=>'None');
704
  array_push($wpvr_list,$list_none);
706
  $query->the_post();
707
  $title = get_the_title();
708
  $post_id = get_the_ID();
709
+ $title = $title.' : '.$post_id;
710
  $list_ob = array('value'=>$post_id,'label'=>$title);
711
  array_push($wpvr_list,$list_ob);
712
  }
713
  return $wpvr_list;
714
  }