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

Version Description

(27-7-2020) = * Export/import SSL error fixed * JS error fixed

=

Download this release

Release Info

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

Code changes from version 5.8.0 to 5.9.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.4.2
7
- Stable tag: 5.8.0
8
  Requires PHP: 7.0.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -411,5 +411,9 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
411
  * License input type changed to password
412
  * On click content container responsive issue fixed
413
 
 
 
 
 
414
  == Upgrade Notice ==
415
  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.4.2
7
+ Stable tag: 5.9.0
8
  Requires PHP: 7.0.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
411
  * License input type changed to password
412
  * On click content container responsive issue fixed
413
 
414
+ = 5.9.0 (27-7-2020) =
415
+ * Export/import SSL error fixed
416
+ * JS error fixed
417
+
418
  == Upgrade Notice ==
419
  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-admin.php CHANGED
@@ -1011,17 +1011,6 @@ class Wpvr_Admin {
1011
  $html .= '</div>';
1012
  $html .= '</div>';
1013
 
1014
- $html .= '<div class="single-shortcode gutenberg">';
1015
- $html .= '<span class="shortcode-title">'.__('For Gutenberg:', 'wpvr').'</span>';
1016
-
1017
- $html .= '<div class="field-wapper">';
1018
- $html .= '<span>'.__('Select tour with this ID on WP VR block setting ','wpvr').'</span>';
1019
-
1020
- $html .= '<div class="shortcode-field">';
1021
- $html .= '<p class="copycode">'.$id.'</p>';
1022
- $html .= '</div>';
1023
- $html .= '</div>';
1024
- $html .= '</div>';
1025
  $html .= '</div>';
1026
  $html .= '</div>';
1027
  //=end shortcode area=
@@ -2460,18 +2449,6 @@ class Wpvr_Admin {
2460
 
2461
  $html .= '</div>';
2462
  $html .= '</div>';
2463
-
2464
- $html .= '<div class="single-shortcode gutenberg">';
2465
- $html .= '<span class="shortcode-title">'.__('For Gutenberg:', 'wpvr').'</span>';
2466
-
2467
- $html .= '<div class="field-wapper">';
2468
- $html .= '<span>'.__('Select tour with this ID on WP VR block setting ','wpvr').'</span>';
2469
-
2470
- $html .= '<div class="shortcode-field">';
2471
- $html .= '<p class="copycode">'.$id.'</p>';
2472
- $html .= '</div>';
2473
- $html .= '</div>';
2474
- $html .= '</div>';
2475
  $html .= '</div>';
2476
 
2477
  $html .= '<script>';
1011
  $html .= '</div>';
1012
  $html .= '</div>';
1013
 
 
 
 
 
 
 
 
 
 
 
 
1014
  $html .= '</div>';
1015
  $html .= '</div>';
1016
  //=end shortcode area=
2449
 
2450
  $html .= '</div>';
2451
  $html .= '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
2452
  $html .= '</div>';
2453
 
2454
  $html .= '<script>';
admin/class-wpvr-ajax.php CHANGED
@@ -1281,100 +1281,100 @@ class Wpvr_Ajax {
1281
  die();
1282
  }
1283
 
1284
- function wpvr_file_import() {
1285
- set_time_limit(20000000000000000);
1286
- wpvr_delete_temp_file();
1287
- if ($_POST['fileurl']) {
1288
- WP_Filesystem();
1289
- $file_save_url = wp_upload_dir();
1290
- $fileurl = $_POST['fileurl'];
1291
- $attachment_id = $_POST['data_id'];
1292
- $zip_file_path = get_attached_file( $attachment_id );
1293
- $unzipfile = unzip_file($zip_file_path,$file_save_url['basedir'].'/wpvr/temp/');
1294
-
1295
- if ( is_wp_error( $unzipfile ) ) {
1296
  wpvr_delete_temp_file();
1297
- wp_send_json_error('Failed to unzip file');
1298
- }
1299
- $result = glob($file_save_url["basedir"].'/wpvr/temp/*.json');
1300
- if (!$result) {
1301
- wpvr_delete_temp_file();
1302
- wp_send_json_error('Tour json file not found');
1303
- }
1304
- $tour_json = $result[0];
1305
- $arrContextOptions=array(
1306
- "ssl"=>array(
1307
- "verify_peer"=>false,
1308
- "verify_peer_name"=>false,
1309
- ),
1310
- );
1311
- $getfile = file_get_contents($tour_json, false, stream_context_create($arrContextOptions));
1312
- $file_content = json_decode($getfile, true);
1313
-
1314
- $new_title = $file_content['title'];
1315
- $new_data = $file_content['data'];
1316
- $new_post_id = wp_insert_post( array(
1317
- 'post_title' => $new_title,
1318
- 'post_type' => 'wpvr_item',
1319
- 'post_status' => 'publish',
1320
- ) );
1321
- if ($new_post_id) {
1322
- if ($new_data['panoid']) {
1323
- $new_data['panoid'] = 'pano'.$new_post_id;
1324
- }
1325
- if ($new_data['preview']) {
1326
- $preview_url = $file_save_url['baseurl'].'/wpvr/temp/scene_preview.jpg';
1327
- $media_get = wpvr_handle_media_import($preview_url, $new_post_id);
1328
- if ($media_get['status'] == 'error') {
1329
- wp_delete_post($new_post_id, true);
1330
- wpvr_delete_temp_file();
1331
- wp_send_json_error($media_get['message']);
1332
- }
1333
- elseif ($media_get['status'] == 'success') {
1334
- $new_data['preview'] = $media_get['message'];
1335
- }
1336
- else {
1337
- wp_delete_post($new_post_id, true);
1338
- wpvr_delete_temp_file();
1339
- wp_send_json_error('Media transfer process failed');
1340
- }
1341
- }
1342
- if ($new_data['panodata']) {
1343
-
1344
- if ($new_data['panodata']["scene-list"]) {
1345
-
1346
- foreach ($new_data['panodata']["scene-list"] as $key => $panoscenes) {
1347
- if ($panoscenes["scene-attachment-url"]) {
1348
- $scene_id = $panoscenes['scene-id'];
1349
- $url = $file_save_url['baseurl'].'/wpvr/temp/'.$scene_id.'.jpg';
1350
- $media_get = wpvr_handle_media_import($url, $new_post_id);
1351
- if ($media_get['status'] == 'error') {
1352
- wp_delete_post($new_post_id, true);
1353
- wpvr_delete_temp_file();
1354
- wp_send_json_error($media_get['message']);
1355
  }
1356
- elseif ($media_get['status'] == 'success') {
1357
- $new_data['panodata']["scene-list"][$key]['scene-attachment-url'] = $media_get['message'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1358
  }
1359
- else {
1360
- wp_delete_post($new_post_id, true);
1361
- wpvr_delete_temp_file();
1362
- wp_send_json_error('Media transfer process failed');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1363
  }
1364
- }
1365
  }
1366
- }
1367
- update_post_meta( $new_post_id, 'panodata', $new_data );
1368
- wpvr_delete_temp_file();
1369
  }
1370
- }
1371
- }
1372
- else {
1373
- wpvr_delete_temp_file();
1374
- wp_send_json_error('No file found to import');
1375
  }
1376
- die();
1377
- }
1378
 
1379
  /**
1380
  * Video Preview show ajax function
1281
  die();
1282
  }
1283
 
1284
+ function wpvr_file_import() {
1285
+ set_time_limit(20000000000000000);
 
 
 
 
 
 
 
 
 
 
1286
  wpvr_delete_temp_file();
1287
+ if ($_POST['fileurl']) {
1288
+ WP_Filesystem();
1289
+ $file_save_url = wp_upload_dir();
1290
+ $fileurl = $_POST['fileurl'];
1291
+ $attachment_id = $_POST['data_id'];
1292
+ $zip_file_path = get_attached_file( $attachment_id );
1293
+ $unzipfile = unzip_file($zip_file_path,$file_save_url['basedir'].'/wpvr/temp/');
1294
+
1295
+ if ( is_wp_error( $unzipfile ) ) {
1296
+ wpvr_delete_temp_file();
1297
+ wp_send_json_error('Failed to unzip file');
1298
+ }
1299
+ $result = glob($file_save_url["basedir"].'/wpvr/temp/*.json');
1300
+ if (!$result) {
1301
+ wpvr_delete_temp_file();
1302
+ wp_send_json_error('Tour json file not found');
1303
+ }
1304
+ $tour_json = $result[0];
1305
+ $arrContextOptions=array(
1306
+ "ssl"=>array(
1307
+ "verify_peer"=>false,
1308
+ "verify_peer_name"=>false,
1309
+ ),
1310
+ );
1311
+ $getfile = file_get_contents($tour_json, false, stream_context_create($arrContextOptions));
1312
+ $file_content = json_decode($getfile, true);
1313
+
1314
+ $new_title = $file_content['title'];
1315
+ $new_data = $file_content['data'];
1316
+ $new_post_id = wp_insert_post( array(
1317
+ 'post_title' => $new_title,
1318
+ 'post_type' => 'wpvr_item',
1319
+ 'post_status' => 'publish',
1320
+ ) );
1321
+ if ($new_post_id) {
1322
+ if ($new_data['panoid']) {
1323
+ $new_data['panoid'] = 'pano'.$new_post_id;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1324
  }
1325
+ if ($new_data['preview']) {
1326
+ $preview_url = $file_save_url['baseurl'].'/wpvr/temp/scene_preview.jpg';
1327
+ $media_get = wpvr_handle_media_import($preview_url, $new_post_id);
1328
+ if ($media_get['status'] == 'error') {
1329
+ wp_delete_post($new_post_id, true);
1330
+ wpvr_delete_temp_file();
1331
+ wp_send_json_error($media_get['message']);
1332
+ }
1333
+ elseif ($media_get['status'] == 'success') {
1334
+ $new_data['preview'] = $media_get['message'];
1335
+ }
1336
+ else {
1337
+ wp_delete_post($new_post_id, true);
1338
+ wpvr_delete_temp_file();
1339
+ wp_send_json_error('Media transfer process failed');
1340
+ }
1341
  }
1342
+ if ($new_data['panodata']) {
1343
+
1344
+ if ($new_data['panodata']["scene-list"]) {
1345
+
1346
+ foreach ($new_data['panodata']["scene-list"] as $key => $panoscenes) {
1347
+ if ($panoscenes["scene-attachment-url"]) {
1348
+ $scene_id = $panoscenes['scene-id'];
1349
+ $url = $file_save_url['baseurl'].'/wpvr/temp/'.$scene_id.'.jpg';
1350
+ $media_get = wpvr_handle_media_import($url, $new_post_id);
1351
+ if ($media_get['status'] == 'error') {
1352
+ wp_delete_post($new_post_id, true);
1353
+ wpvr_delete_temp_file();
1354
+ wp_send_json_error($media_get['message']);
1355
+ }
1356
+ elseif ($media_get['status'] == 'success') {
1357
+ $new_data['panodata']["scene-list"][$key]['scene-attachment-url'] = $media_get['message'];
1358
+ }
1359
+ else {
1360
+ wp_delete_post($new_post_id, true);
1361
+ wpvr_delete_temp_file();
1362
+ wp_send_json_error('Media transfer process failed');
1363
+ }
1364
+ }
1365
+ }
1366
+ }
1367
+ update_post_meta( $new_post_id, 'panodata', $new_data );
1368
+ wpvr_delete_temp_file();
1369
  }
 
1370
  }
 
 
 
1371
  }
1372
+ else {
1373
+ wpvr_delete_temp_file();
1374
+ wp_send_json_error('No file found to import');
1375
+ }
1376
+ die();
1377
  }
 
 
1378
 
1379
  /**
1380
  * Video Preview show ajax function
admin/css/wpvr-admin.css CHANGED
@@ -3,7 +3,9 @@
3
  * included in this file.
4
  */
5
 
6
-
 
 
7
  .wpvr_gt_settings_ruler {
8
  content: "";
9
  display: block;
@@ -1187,7 +1189,7 @@ div.custom-tooltip:hover span:after {
1187
  background: #fff;
1188
  border-radius: 5px;
1189
  margin-top: 20px;
1190
- width: 50%;
1191
  }
1192
  .wpvr-use-shortcode .area-title {
1193
  width: 100%;
@@ -1200,17 +1202,28 @@ div.custom-tooltip:hover span:after {
1200
  }
1201
  .wpvr-use-shortcode .shortcode-wrapper {
1202
  padding: 0 20px 20px 20px;
 
 
1203
  }
1204
  .wpvr-use-shortcode .single-shortcode {
1205
  width: 100%;
 
1206
  background: #f6f6f8;
1207
  padding: 12px 15px 15px 15px;
1208
  border-radius: 5px;
1209
  margin-top: 20px;
1210
  }
1211
 
1212
- .wpvr-use-shortcode .single-shortcode.gutenberg {
1213
- display: none;
 
 
 
 
 
 
 
 
1214
  }
1215
  .wpvr-use-shortcode .shortcode-title {
1216
  font-size: 16px;
@@ -1231,13 +1244,14 @@ div.custom-tooltip:hover span:after {
1231
  padding: 8px 10px;
1232
  border-radius: 5px;
1233
  margin-top: 10px;
1234
- width: 200px;
1235
 
1236
  }
1237
  .wpvr-use-shortcode .single-shortcode .shortcode-field p {
1238
  margin: 0;
1239
  font-size: 16px;
1240
  font-weight: 500;
 
1241
  }
1242
  .wpvr-use-shortcode .single-shortcode .shortcode-field .wpvr-copy-shortcode {
1243
  background: #201cfe;
@@ -2203,7 +2217,7 @@ button.delete-hotspot{
2203
  .preview-btn-area #panolenspreview {
2204
  float: none;
2205
  }
2206
-
2207
 
2208
  }
2209
 
3
  * included in this file.
4
  */
5
 
6
+ /* button.ff-btn.ff-btn-submit.ff-btn-md {
7
+ display: none;
8
+ } */
9
  .wpvr_gt_settings_ruler {
10
  content: "";
11
  display: block;
1189
  background: #fff;
1190
  border-radius: 5px;
1191
  margin-top: 20px;
1192
+ width: 100%;
1193
  }
1194
  .wpvr-use-shortcode .area-title {
1195
  width: 100%;
1202
  }
1203
  .wpvr-use-shortcode .shortcode-wrapper {
1204
  padding: 0 20px 20px 20px;
1205
+ display: flex;
1206
+ flex-flow: row wrap;
1207
  }
1208
  .wpvr-use-shortcode .single-shortcode {
1209
  width: 100%;
1210
+ flex: 1;
1211
  background: #f6f6f8;
1212
  padding: 12px 15px 15px 15px;
1213
  border-radius: 5px;
1214
  margin-top: 20px;
1215
  }
1216
 
1217
+ .wpvr-use-shortcode .shortcode-wrapper.col2 .single-shortcode {
1218
+ width: calc(50% - 10px);
1219
+ flex: 1;
1220
+ margin-right: 10px;
1221
+ }
1222
+
1223
+ .wpvr-use-shortcode .shortcode-wrapper.col2 .single-shortcode.gutenberg {
1224
+ display: block;
1225
+ margin-right: 0;
1226
+ margin-left: 10px;
1227
  }
1228
  .wpvr-use-shortcode .shortcode-title {
1229
  font-size: 16px;
1244
  padding: 8px 10px;
1245
  border-radius: 5px;
1246
  margin-top: 10px;
1247
+ min-width: 183px;
1248
 
1249
  }
1250
  .wpvr-use-shortcode .single-shortcode .shortcode-field p {
1251
  margin: 0;
1252
  font-size: 16px;
1253
  font-weight: 500;
1254
+ word-break: break-all;
1255
  }
1256
  .wpvr-use-shortcode .single-shortcode .shortcode-field .wpvr-copy-shortcode {
1257
  background: #201cfe;
2217
  .preview-btn-area #panolenspreview {
2218
  float: none;
2219
  }
2220
+
2221
 
2222
  }
2223
 
admin/js/wpvr-admin.js CHANGED
@@ -1149,7 +1149,10 @@
1149
  }
1150
  }
1151
  }
1152
- }
 
 
 
1153
 
1154
  });
1155
  })(jQuery);
1149
  }
1150
  }
1151
  }
1152
+ }
1153
+
1154
+
1155
+
1156
 
1157
  });
1158
  })(jQuery);
admin/partials/wpvr-meta-box-builder-display.php CHANGED
@@ -523,6 +523,7 @@ var scenes = response[1];
523
  jQuery("#custom-ifram").html(argst);
524
  jQuery("#custom-ifram").fadeToggle();
525
  jQuery(".iframe-wrapper").toggleClass("show-modal");
 
526
  }
527
 
528
  function wpvrtooltip(hotSpotDiv, args) {
523
  jQuery("#custom-ifram").html(argst);
524
  jQuery("#custom-ifram").fadeToggle();
525
  jQuery(".iframe-wrapper").toggleClass("show-modal");
526
+ jQuery('button.ff-btn.ff-btn-submit.ff-btn-md').prop('disabled', true);
527
  }
528
 
529
  function wpvrtooltip(hotSpotDiv, args) {
public/class-wpvr-public.php CHANGED
@@ -133,7 +133,7 @@ class Wpvr_Public {
133
  * between the defined hooks and the functions defined in this
134
  * class.
135
  */
136
- wp_enqueue_script('jquery_cookie', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js', array(), true);
137
  global $wp;
138
  $wpvr_script_control = get_option('wpvr_script_control');
139
  $wpvr_script_list = get_option('wpvr_script_list');
@@ -162,8 +162,10 @@ class Wpvr_Public {
162
  wp_enqueue_script('videojs-js', plugin_dir_url( __FILE__ ) . 'js/video.js', array(), true);
163
  wp_enqueue_script('panelliumvid-js', plugin_dir_url( __FILE__ ) . 'lib/pannellum/src/js/videojs-pannellum-plugin.js', array(), true);
164
  wp_enqueue_script( 'owl-js', plugin_dir_url( __FILE__ ) . 'js/owl.carousel.js', array( 'jquery' ), false );
165
- wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/wpvr-public.js', array( 'jquery' ), $this->version, false );
 
166
  }
 
167
  }
168
 
169
  /**
@@ -529,6 +531,7 @@ class Wpvr_Public {
529
 
530
  $hotspots = array();
531
 
 
532
  foreach ($hotspot_datas as $hotspot_data) {
533
 
534
  $status = get_option( 'wpvr_edd_license_status' );
@@ -559,8 +562,6 @@ class Wpvr_Public {
559
 
560
  if (!$hotspot_content) $hotspot_content = $hotspot_data["hotspot-content"];
561
 
562
-
563
-
564
  $hotspot_info = array(
565
  "text"=>$hotspot_data["hotspot-title"],
566
  "pitch"=>$hotspot_data["hotspot-pitch"],
@@ -575,6 +576,9 @@ class Wpvr_Public {
575
  "targetYaw"=>(float)$hotspot_scene_yaw,
576
  'hotspot_type' => $hotspot_data['hotspot-type']
577
  );
 
 
 
578
  if ($hotspot_data["hotspot-customclass"] == 'none' || $hotspot_data["hotspot-customclass"] == '') {
579
  unset($hotspot_info["cssClass"]);
580
  }
@@ -584,6 +588,8 @@ class Wpvr_Public {
584
  }
585
  array_push($hotspots, $hotspot_info);
586
  }
 
 
587
  $scene_info = array();
588
  $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, "authorURL"=>$scene_author_url, "vaov"=>$scene_vaov, "haov"=>$scene_haov, "vOffset"=>$scene_vertical_offset, "hotSpots"=>$hotspots);
589
 
@@ -774,28 +780,12 @@ class Wpvr_Public {
774
 
775
  }
776
  }
777
- // elseif ($width == 'embed') {
778
- // if (apply_filters('is_wpvr_premium', false)) {
779
- // if (wpvr_isMobileDevice()) {
780
- // if ($radius) {
781
- // $html .= '<div id="pano'.$id.'" class="pano-wrap" style="text-align:center; border-radius:'.$radius.'; direction:ltr;">';
782
- // }
783
- // else {
784
- // $html .= '<div id="pano'.$id.'" class="pano-wrap" style="text-align:center;">';
785
- // }
786
- //
787
- // }
788
- // else {
789
- // if ($radius) {
790
- // $html .= '<div id="pano'.$id.'" class="pano-wrap vrembed" style=" text-align:center; height: '.$height.'; border-radius:'.$radius.'; direction:ltr;" >';
791
- // }
792
- // else {
793
- // $html .= '<div id="pano'.$id.'" class="pano-wrap vrembed" style=" text-align:center; height: '.$height.'; direction:ltr;" >';
794
- // }
795
- //
796
- // }
797
- // }
798
- // }
799
  else {
800
  if ($radius) {
801
  $html .= '<div id="pano'.$id.'" class="pano-wrap" style=" text-align:center; max-width:100%; width: '.$width.'; height: '.$height.'; margin: 0 auto; border-radius:'.$radius.'; direction:ltr;">';
133
  * between the defined hooks and the functions defined in this
134
  * class.
135
  */
136
+
137
  global $wp;
138
  $wpvr_script_control = get_option('wpvr_script_control');
139
  $wpvr_script_list = get_option('wpvr_script_list');
162
  wp_enqueue_script('videojs-js', plugin_dir_url( __FILE__ ) . 'js/video.js', array(), true);
163
  wp_enqueue_script('panelliumvid-js', plugin_dir_url( __FILE__ ) . 'lib/pannellum/src/js/videojs-pannellum-plugin.js', array(), true);
164
  wp_enqueue_script( 'owl-js', plugin_dir_url( __FILE__ ) . 'js/owl.carousel.js', array( 'jquery' ), false );
165
+ wp_enqueue_script('jquery_cookie', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js', array('jquery'), true);
166
+ wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/wpvr-public.js', array( 'jquery', 'jquery_cookie' ), $this->version, true );
167
  }
168
+
169
  }
170
 
171
  /**
531
 
532
  $hotspots = array();
533
 
534
+
535
  foreach ($hotspot_datas as $hotspot_data) {
536
 
537
  $status = get_option( 'wpvr_edd_license_status' );
562
 
563
  if (!$hotspot_content) $hotspot_content = $hotspot_data["hotspot-content"];
564
 
 
 
565
  $hotspot_info = array(
566
  "text"=>$hotspot_data["hotspot-title"],
567
  "pitch"=>$hotspot_data["hotspot-pitch"],
576
  "targetYaw"=>(float)$hotspot_scene_yaw,
577
  'hotspot_type' => $hotspot_data['hotspot-type']
578
  );
579
+
580
+ $hotspot_info['URL'] = ($hotspot_data['hotspot-type'] === 'fluent_form' || $hotspot_data['hotspot-type'] === 'wc_product') ? '' : $hotspot_info['URL'];
581
+
582
  if ($hotspot_data["hotspot-customclass"] == 'none' || $hotspot_data["hotspot-customclass"] == '') {
583
  unset($hotspot_info["cssClass"]);
584
  }
588
  }
589
  array_push($hotspots, $hotspot_info);
590
  }
591
+
592
+
593
  $scene_info = array();
594
  $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, "authorURL"=>$scene_author_url, "vaov"=>$scene_vaov, "haov"=>$scene_haov, "vOffset"=>$scene_vertical_offset, "hotSpots"=>$hotspots);
595
 
780
 
781
  }
782
  }
783
+
784
+ elseif ($width == 'embed') {
785
+ if (apply_filters('is_wpvr_embed_addon_premium', false)) {
786
+ $html .= '<div id="pano'.$id.'" class="pano-wrap vrembed" style=" text-align:center; direction:ltr;" >';
787
+ }
788
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
789
  else {
790
  if ($radius) {
791
  $html .= '<div id="pano'.$id.'" class="pano-wrap" style=" text-align:center; max-width:100%; width: '.$width.'; height: '.$height.'; margin: 0 auto; border-radius:'.$radius.'; direction:ltr;">';
public/css/wpvr-public.css CHANGED
@@ -257,9 +257,10 @@ div.pnlm-hotspot-base.far:before{
257
  max-width: 100vw !important;
258
  }
259
 
 
260
  .vrembed {
261
  width: 100%!important;
262
- height: 100vh!important;
263
  position: fixed;
264
  left: 0;
265
  top: 0;
@@ -295,6 +296,7 @@ div.custom-tooltip span {
295
  border-radius: 3px;
296
  background-color: #fff;
297
  color: #000;
 
298
  text-align: center;
299
  padding: 5px 10px;
300
  cursor: default;
@@ -302,6 +304,7 @@ div.custom-tooltip span {
302
  bottom: 40px!important;
303
  transform: translateX(-50%);
304
  min-width: 300px;
 
305
  }
306
  div.custom-tooltip span p {
307
  max-height: 250px;
@@ -368,21 +371,23 @@ div.custom-ifram {
368
 
369
  .pano-wrap .cross {
370
  background: #fff;
371
- width: 24px;
372
- height: 24px;
373
  color: red;
374
- line-height: 26px;
375
  position: absolute;
376
- top: 6px;
377
- right: 6px;
378
  text-align: center;
379
  z-index: 99;
380
- font-size: 13px;
381
  border-radius: 100%;
 
382
  cursor: pointer;
383
  opacity: 0;
384
  visibility: hidden;
385
  transition: all 0.4s ease;
 
386
  }
387
  .pano-wrap.show-modal .cross {
388
  opacity: 1;
@@ -459,7 +464,7 @@ div.custom-ifram {
459
  }
460
  .wpvr-product-container .wpvr-pr-left-block .woocommerce-product-gallery__image img {
461
  margin: 0;
462
- max-width: 500px;
463
  width: 100%;
464
  height: auto;
465
  }
@@ -497,10 +502,14 @@ div.custom-ifram {
497
  text-decoration: line-through;
498
  opacity: 0.5;
499
  }
500
- .wpvr-product-container .wpvr-pr-right-block .add_to_cart_inline .add_to_cart_button {
501
  display: block;
502
- width: 200px;
 
503
  font-size: 16px;
 
 
 
504
  }
505
 
506
 
@@ -511,7 +520,7 @@ div.custom-ifram {
511
  height: 500px!important;
512
  }
513
  .pnlm-container.vrembed {
514
- height: 100vh!important;
515
  }
516
  .custom-ifram iframe {
517
  height: 300px;
@@ -567,10 +576,6 @@ div.custom-ifram {
567
  .wpvr-mobile-notice p {
568
  width: calc(100% - 46px);
569
  }
570
- .pano-wrap .cross {
571
- top: 2px;
572
- right: 1px;
573
- }
574
 
575
  .scene-gallery ul {
576
  width: 100px !important;
@@ -586,7 +591,7 @@ div.custom-ifram {
586
  height: 300px!important;
587
  }
588
  .pnlm-container.vrembed {
589
- height: 100vh!important;
590
  }
591
  div.custom-tooltip span img {
592
  height: 150px;
@@ -604,6 +609,20 @@ div.custom-ifram {
604
  width: 280px;
605
  }
606
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
607
  /* ----woocommerce product---- */
608
  .wpvr-product-container {
609
  display: block;
257
  max-width: 100vw !important;
258
  }
259
 
260
+
261
  .vrembed {
262
  width: 100%!important;
263
+ height: 100%!important;
264
  position: fixed;
265
  left: 0;
266
  top: 0;
296
  border-radius: 3px;
297
  background-color: #fff;
298
  color: #000;
299
+ font-size: 16px;
300
  text-align: center;
301
  padding: 5px 10px;
302
  cursor: default;
304
  bottom: 40px!important;
305
  transform: translateX(-50%);
306
  min-width: 300px;
307
+ font-weight: 400;
308
  }
309
  div.custom-tooltip span p {
310
  max-height: 250px;
371
 
372
  .pano-wrap .cross {
373
  background: #fff;
374
+ width: 15px;
375
+ height: 15px;
376
  color: red;
377
+ line-height: 15px;
378
  position: absolute;
379
+ top: 2px;
380
+ right: 2px;
381
  text-align: center;
382
  z-index: 99;
383
+ font-size: 10px;
384
  border-radius: 100%;
385
+ padding-left: 1px;
386
  cursor: pointer;
387
  opacity: 0;
388
  visibility: hidden;
389
  transition: all 0.4s ease;
390
+ box-sizing: border-box;
391
  }
392
  .pano-wrap.show-modal .cross {
393
  opacity: 1;
464
  }
465
  .wpvr-product-container .wpvr-pr-left-block .woocommerce-product-gallery__image img {
466
  margin: 0;
467
+ max-width: 95%;
468
  width: 100%;
469
  height: auto;
470
  }
502
  text-decoration: line-through;
503
  opacity: 0.5;
504
  }
505
+ .wpvr-product-container .wpvr-pr-right-block .add_to_cart_inline .wpvr-cart-wrap {
506
  display: block;
507
+ }
508
+ .wpvr-product-container .wpvr-pr-right-block .add_to_cart_inline a.button {
509
  font-size: 16px;
510
+ display: inline-block;
511
+ padding-left: 20px;
512
+ padding-right: 20px;
513
  }
514
 
515
 
520
  height: 500px!important;
521
  }
522
  .pnlm-container.vrembed {
523
+ height: 100%!important;
524
  }
525
  .custom-ifram iframe {
526
  height: 300px;
576
  .wpvr-mobile-notice p {
577
  width: calc(100% - 46px);
578
  }
 
 
 
 
579
 
580
  .scene-gallery ul {
581
  width: 100px !important;
591
  height: 300px!important;
592
  }
593
  .pnlm-container.vrembed {
594
+ height: 100%!important;
595
  }
596
  div.custom-tooltip span img {
597
  height: 150px;
609
  width: 280px;
610
  }
611
 
612
+ div.pnlm-hotspot-base.fas,
613
+ div.pnlm-hotspot-base.fab,
614
+ div.pnlm-hotspot-base.fa,
615
+ div.pnlm-hotspot-base.far {
616
+ width: 24px!important;
617
+ height: 24px!important;
618
+ }
619
+ div.pnlm-hotspot-base:before,
620
+ div.pnlm-hotspot-base:before,
621
+ div.pnlm-hotspot-base:before {
622
+ font-size: 11px!important;
623
+ }
624
+
625
+
626
  /* ----woocommerce product---- */
627
  .wpvr-product-container {
628
  display: block;
public/js/wpvr-public.js CHANGED
@@ -58,7 +58,10 @@ jQuery(document).ready(function($){
58
  $(this).siblings(".custom-ifram").fadeOut();
59
  $(this).parent(".pano-wrap").removeClass("show-modal");
60
  $('iframe').attr('src', $('iframe').attr('src'));
61
- $('#wpvr-video').get(0).pause();
 
 
 
62
  });
63
  });
64
 
@@ -73,6 +76,9 @@ jQuery(document).ready(function($){
73
 
74
  $('.wpvr-mobile-notice .notice-close').on('click', function(){
75
  $('.wpvr-mobile-notice').fadeOut();
76
- $.cookie('wpvr_mobile_notice', 'true');
77
  });
78
- });
 
 
 
58
  $(this).siblings(".custom-ifram").fadeOut();
59
  $(this).parent(".pano-wrap").removeClass("show-modal");
60
  $('iframe').attr('src', $('iframe').attr('src'));
61
+ if($('#wpvr-video').length != 0) {
62
+ $('#wpvr-video').get(0).pause();
63
+ }
64
+
65
  });
66
  });
67
 
76
 
77
  $('.wpvr-mobile-notice .notice-close').on('click', function(){
78
  $('.wpvr-mobile-notice').fadeOut();
79
+ $.cookie('wpvr_mobile_notice', 'true');
80
  });
81
+
82
+
83
+
84
+ });
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: 5.8.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
@@ -37,6 +37,7 @@ require plugin_dir_path( __FILE__ ) . 'elementor/elementor.php';
37
  define( 'WPVR', '1.0.0' );
38
  define('WPVR_FILE', __FILE__ );
39
  define( "WPVR_PLUGIN_DIR_URL", plugin_dir_url( __FILE__ ) );
 
40
  define('WPVR_BASE', plugin_basename( WPVR_FILE ) );
41
 
42
  /**
@@ -543,6 +544,9 @@ function wpvr_block_render( $attributes ) {
543
  "targetPitch"=>(float)$hotspot_scene_pitch,
544
  "targetYaw"=>(float)$hotspot_scene_yaw,
545
  'hotspot_type' => $hotspot_data['hotspot-type']);
 
 
 
546
  if ($hotspot_data["hotspot-customclass"] == 'none' || $hotspot_data["hotspot-customclass"] == '') {
547
  unset($hotspot_info["cssClass"]);
548
  }
@@ -735,14 +739,6 @@ function wpvr_block_render( $attributes ) {
735
  $html .= '<div id="pano'.$id.'" class="pano-wrap vrfullwidth" style=" text-align:center; height: '.$height.'px; border-radius:'.$radius.'; direction:ltr;" >';
736
  }
737
  }
738
- // elseif ($width == 'embed') {
739
- // if (wpvr_isMobileDevice()) {
740
- // $html .= '<div id="pano'.$id.'" class="pano-wrap" style="text-align:center; border-radius:'.$radius.'; direction:ltr;" >';
741
- // }
742
- // else {
743
- // $html .= '<div id="pano'.$id.'" class="pano-wrap vrembed" style=" text-align:center; height: '.$height.'px; border-radius:'.$radius.'; direction:ltr;" >';
744
- // }
745
- // }
746
  else {
747
  $html .= '<div id="pano'.$id.'" class="pano-wrap" style=" text-align:center; max-width:100%; width: '.$width.'px; height: '.$height.'px; margin: 0 auto; border-radius:'.$radius.'; direction:ltr;">';
748
  }
@@ -1371,11 +1367,10 @@ add_action( 'admin_notices', 'sample_admin_notice__success' );
1371
 
1372
 
1373
 
1374
-
1375
  /**
1376
  * Redirect to the edit.php on post save or publish.
1377
  */
1378
- //function wpse_124132_redirect_post_location( $location, $post_id ) {
1379
  // if( isset( $_POST['post_type'] ) ) {
1380
  //
1381
  // error_log(print_r($_POST,1));
@@ -1385,4 +1380,4 @@ add_action( 'admin_notices', 'sample_admin_notice__success' );
1385
  // }
1386
  // return $location;
1387
  //}
1388
- //add_filter( 'redirect_post_location', 'wpse_124132_redirect_post_location', 10, 2 );
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: 5.9.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
37
  define( 'WPVR', '1.0.0' );
38
  define('WPVR_FILE', __FILE__ );
39
  define( "WPVR_PLUGIN_DIR_URL", plugin_dir_url( __FILE__ ) );
40
+ define( "WPVR_PLUGIN_PUBLIC_DIR_URL", plugin_dir_url( __FILE__ ) .'public/' );
41
  define('WPVR_BASE', plugin_basename( WPVR_FILE ) );
42
 
43
  /**
544
  "targetPitch"=>(float)$hotspot_scene_pitch,
545
  "targetYaw"=>(float)$hotspot_scene_yaw,
546
  'hotspot_type' => $hotspot_data['hotspot-type']);
547
+
548
+ $hotspot_info['URL'] = ($hotspot_data['hotspot-type'] === 'fluent_form' || $hotspot_data['hotspot-type'] === 'wc_product') ? '' : $hotspot_info['URL'];
549
+
550
  if ($hotspot_data["hotspot-customclass"] == 'none' || $hotspot_data["hotspot-customclass"] == '') {
551
  unset($hotspot_info["cssClass"]);
552
  }
739
  $html .= '<div id="pano'.$id.'" class="pano-wrap vrfullwidth" style=" text-align:center; height: '.$height.'px; border-radius:'.$radius.'; direction:ltr;" >';
740
  }
741
  }
 
 
 
 
 
 
 
 
742
  else {
743
  $html .= '<div id="pano'.$id.'" class="pano-wrap" style=" text-align:center; max-width:100%; width: '.$width.'px; height: '.$height.'px; margin: 0 auto; border-radius:'.$radius.'; direction:ltr;">';
744
  }
1367
 
1368
 
1369
 
 
1370
  /**
1371
  * Redirect to the edit.php on post save or publish.
1372
  */
1373
+ //function wpvr_active_tab_query_params( $location, $post_id ) {
1374
  // if( isset( $_POST['post_type'] ) ) {
1375
  //
1376
  // error_log(print_r($_POST,1));
1380
  // }
1381
  // return $location;
1382
  //}
1383
+ //add_filter( 'redirect_post_location', 'wpvr_active_tab_query_params', 10, 2 );