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

Version Description

  • Post memory limit fix.

=

Download this release

Release Info

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

Code changes from version 2.6.0 to 2.7.0

Files changed (4) hide show
  1. README.txt +4 -1
  2. admin/class-wpvr-ajax.php +44 -1
  3. admin/js/wpvr-admin.js +8 -3
  4. wpvr.php +1 -1
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.6.0
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -192,5 +192,8 @@ To solve this issue, go to your WordPress Dashboard > Settings > General. Here m
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.  
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.7.0
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
192
  * Blink animation automated.
193
  * Language issue fixed.
194
 
195
+ = 2.7.0 =
196
+ * Post memory limit fix.
197
+
198
  == Upgrade Notice ==
199
  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
@@ -66,6 +66,25 @@ class Wpvr_Ajax {
66
  $scene_fade_duration = sanitize_text_field($_POST['scenefadeduration']);
67
 
68
  $panodata = $_POST['panodata'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
 
70
  //===Error Control and Validation===//
71
 
@@ -80,6 +99,7 @@ class Wpvr_Ajax {
80
  die();
81
  }
82
  if (empty($scenes_val["scene-attachment-url"])) {
 
83
  wp_send_json_error('<p><span>Warning:</span> A scene image is required for every scene.</p>');
84
  die();
85
  }
@@ -146,6 +166,7 @@ class Wpvr_Ajax {
146
 
147
  if ($scenes_val["hotspot-list"] != "") {
148
  foreach ($scenes_val["hotspot-list"] as $hotspot_val) {
 
149
  $hotspot_title_validate = $hotspot_val["hotspot-title"];
150
 
151
  if (!empty($hotspot_title_validate)) {
@@ -225,6 +246,7 @@ class Wpvr_Ajax {
225
  //===Error Control and Validation===//
226
 
227
  foreach ($panodata["scene-list"] as $panoscenes) {
 
228
  if ($panoscenes['dscene'] == 'on') {
229
  $default_scene = $panoscenes['scene-id'];
230
  }
@@ -239,7 +261,7 @@ class Wpvr_Ajax {
239
  $scene_data = array();
240
 
241
  foreach ($panodata["scene-list"] as $panoscenes) {
242
-
243
  if (!empty($panoscenes['scene-id'])) {
244
 
245
  $scene_ititle = '';
@@ -606,11 +628,31 @@ class Wpvr_Ajax {
606
  $scene_fade_duration = $_POST['scenefadeduration'];
607
 
608
  $panodata = $_POST['panodata'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
609
 
610
  //===Error Control and Validation===//
611
 
612
  if ($panodata["scene-list"] != "") {
613
  foreach ($panodata["scene-list"] as $scenes_val) {
 
614
  $scene_id_validate = $scenes_val["scene-id"];
615
  if (!empty($scene_id_validate)) {
616
  $scene_id_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$scene_id_validate);
@@ -686,6 +728,7 @@ class Wpvr_Ajax {
686
 
687
  if ($scenes_val["hotspot-list"] != "") {
688
  foreach ($scenes_val["hotspot-list"] as $hotspot_val) {
 
689
  $hotspot_title_validate = $hotspot_val["hotspot-title"];
690
 
691
  if (!empty($hotspot_title_validate)) {
66
  $scene_fade_duration = sanitize_text_field($_POST['scenefadeduration']);
67
 
68
  $panodata = $_POST['panodata'];
69
+ $panolist = stripslashes($panodata);
70
+ $panodata = (array)json_decode($panolist);
71
+ $panolist = array();
72
+ if(is_array($panodata["scene-list"])) {
73
+ foreach ($panodata["scene-list"] as $scenes_data) {
74
+ $temp_array = array();
75
+ $temp_array = (array)$scenes_data;
76
+ if ($temp_array['hotspot-list']) {
77
+ $_hotspot_array = array();
78
+ foreach ($temp_array['hotspot-list'] as $temp_hotspot) {
79
+ $temp_hotspot = (array)$temp_hotspot;
80
+ $_hotspot_array[] = $temp_hotspot;
81
+ }
82
+ }
83
+ $temp_array['hotspot-list'] = $_hotspot_array;
84
+ $panolist['scene-list'][] = $temp_array;
85
+ }
86
+ }
87
+ $panodata = $panolist;
88
 
89
  //===Error Control and Validation===//
90
 
99
  die();
100
  }
101
  if (empty($scenes_val["scene-attachment-url"])) {
102
+ // var_dump($scenes_val["scene-attachment-url"]);
103
  wp_send_json_error('<p><span>Warning:</span> A scene image is required for every scene.</p>');
104
  die();
105
  }
166
 
167
  if ($scenes_val["hotspot-list"] != "") {
168
  foreach ($scenes_val["hotspot-list"] as $hotspot_val) {
169
+
170
  $hotspot_title_validate = $hotspot_val["hotspot-title"];
171
 
172
  if (!empty($hotspot_title_validate)) {
246
  //===Error Control and Validation===//
247
 
248
  foreach ($panodata["scene-list"] as $panoscenes) {
249
+
250
  if ($panoscenes['dscene'] == 'on') {
251
  $default_scene = $panoscenes['scene-id'];
252
  }
261
  $scene_data = array();
262
 
263
  foreach ($panodata["scene-list"] as $panoscenes) {
264
+
265
  if (!empty($panoscenes['scene-id'])) {
266
 
267
  $scene_ititle = '';
628
  $scene_fade_duration = $_POST['scenefadeduration'];
629
 
630
  $panodata = $_POST['panodata'];
631
+ $panolist = stripslashes($panodata);
632
+ $panodata = (array)json_decode($panolist);
633
+ $panolist = array();
634
+ if(is_array($panodata["scene-list"])) {
635
+ foreach ($panodata["scene-list"] as $scenes_data) {
636
+ $temp_array = array();
637
+ $temp_array = (array)$scenes_data;
638
+ if ($temp_array['hotspot-list']) {
639
+ $_hotspot_array = array();
640
+ foreach ($temp_array['hotspot-list'] as $temp_hotspot) {
641
+ $temp_hotspot = (array)$temp_hotspot;
642
+ $_hotspot_array[] = $temp_hotspot;
643
+ }
644
+ }
645
+ $temp_array['hotspot-list'] = $_hotspot_array;
646
+ $panolist['scene-list'][] = $temp_array;
647
+ }
648
+ }
649
+ $panodata = $panolist;
650
 
651
  //===Error Control and Validation===//
652
 
653
  if ($panodata["scene-list"] != "") {
654
  foreach ($panodata["scene-list"] as $scenes_val) {
655
+
656
  $scene_id_validate = $scenes_val["scene-id"];
657
  if (!empty($scene_id_validate)) {
658
  $scene_id_validated = preg_replace('/[^0-9a-zA-Z_]/',"",$scene_id_validate);
728
 
729
  if ($scenes_val["hotspot-list"] != "") {
730
  foreach ($scenes_val["hotspot-list"] as $hotspot_val) {
731
+
732
  $hotspot_title_validate = $hotspot_val["hotspot-title"];
733
 
734
  if (!empty($hotspot_title_validate)) {
admin/js/wpvr-admin.js CHANGED
@@ -51,6 +51,7 @@
51
  var autorotationstopdelay = $("input[name='auto-rotation-stop-delay']").val();
52
 
53
  var panodata = $('.scene-setup').repeaterVal();
 
54
  jQuery.ajax({
55
  type: "POST",
56
  url: ajaxurl,
@@ -60,7 +61,7 @@
60
  compass: compass,
61
  control: control,
62
  autoload: autoload,
63
- panodata: panodata,
64
  defaultscene: defaultscene,
65
  rotation: rotation,
66
  autorotation: autorotation,
@@ -170,8 +171,10 @@
170
 
171
  if ($('.scene-setup')[0]) {
172
  var panodata = $('.scene-setup').repeaterVal();
 
173
  } else {
174
  var panodata = '';
 
175
  }
176
  jQuery.ajax({
177
 
@@ -185,7 +188,7 @@
185
  control: control,
186
  compass: compass,
187
  autoload: autoload,
188
- panodata: panodata,
189
  defaultscene: defaultscene,
190
  preview: preview,
191
  rotation: rotation,
@@ -252,8 +255,10 @@
252
 
253
  if ($('.scene-setup')[0]) {
254
  var panodata = $('.scene-setup').repeaterVal();
 
255
  } else {
256
  var panodata = '';
 
257
  }
258
  jQuery.ajax({
259
 
@@ -267,7 +272,7 @@
267
  control: control,
268
  compass: compass,
269
  autoload: autoload,
270
- panodata: panodata,
271
  defaultscene: defaultscene,
272
  preview: preview,
273
  rotation: rotation,
51
  var autorotationstopdelay = $("input[name='auto-rotation-stop-delay']").val();
52
 
53
  var panodata = $('.scene-setup').repeaterVal();
54
+ var panolist = JSON.stringify(panodata);
55
  jQuery.ajax({
56
  type: "POST",
57
  url: ajaxurl,
61
  compass: compass,
62
  control: control,
63
  autoload: autoload,
64
+ panodata: panolist,
65
  defaultscene: defaultscene,
66
  rotation: rotation,
67
  autorotation: autorotation,
171
 
172
  if ($('.scene-setup')[0]) {
173
  var panodata = $('.scene-setup').repeaterVal();
174
+ var panolist = JSON.stringify(panodata);
175
  } else {
176
  var panodata = '';
177
+ var panolist = '';
178
  }
179
  jQuery.ajax({
180
 
188
  control: control,
189
  compass: compass,
190
  autoload: autoload,
191
+ panodata: panolist,
192
  defaultscene: defaultscene,
193
  preview: preview,
194
  rotation: rotation,
255
 
256
  if ($('.scene-setup')[0]) {
257
  var panodata = $('.scene-setup').repeaterVal();
258
+ var panolist = JSON.stringify(panodata);
259
  } else {
260
  var panodata = '';
261
+ var panolist = '';
262
  }
263
  jQuery.ajax({
264
 
272
  control: control,
273
  compass: compass,
274
  autoload: autoload,
275
+ panodata: panolist,
276
  defaultscene: defaultscene,
277
  preview: preview,
278
  rotation: rotation,
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.6.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
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.7.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+