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

Version Description

(07-08-2020) = * Oxygen builder support added * Multi-site support added * Dynamic front-end notice added

=

Download this release

Release Info

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

Code changes from version 6.1.0 to 6.2.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: 6.1.0
8
  Requires PHP: 7.0.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -92,6 +92,8 @@ For more control over creating a virtual tour, learn about the [Premium version]
92
  * Radius tag for VR border radius
93
  * Control plugin scripts and styles to load them on specific pages only.
94
  * Plugin Rollback support
 
 
95
  * Support from support forum
96
 
97
 
@@ -422,5 +424,10 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
422
  = 6.1.0 (31-7-2020) =
423
  * Style issue fixed for on click content
424
 
 
 
 
 
 
425
  == Upgrade Notice ==
426
  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: 6.2.0
8
  Requires PHP: 7.0.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
92
  * Radius tag for VR border radius
93
  * Control plugin scripts and styles to load them on specific pages only.
94
  * Plugin Rollback support
95
+ * Oxygen builder support
96
+ * Multi-site support
97
  * Support from support forum
98
 
99
 
424
  = 6.1.0 (31-7-2020) =
425
  * Style issue fixed for on click content
426
 
427
+ = 6.2.0 (07-08-2020) =
428
+ * Oxygen builder support added
429
+ * Multi-site support added
430
+ * Dynamic front-end notice added
431
+
432
  == Upgrade Notice ==
433
  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
@@ -1403,6 +1403,8 @@ class Wpvr_Ajax {
1403
  $author = sanitize_text_field($_POST['author']);
1404
  $fontawesome = sanitize_text_field($_POST['fontawesome']);
1405
  $high_res_image = sanitize_text_field($_POST['high_res_image']);
 
 
1406
  $wpvr_script_control = sanitize_text_field($_POST['wpvr_script_control']);
1407
  $wpvr_script_list = sanitize_text_field($_POST['wpvr_script_list']);
1408
 
@@ -1414,6 +1416,8 @@ class Wpvr_Ajax {
1414
  update_option('wpvr_author_active', $author);
1415
  update_option('wpvr_fontawesome_disable', $fontawesome);
1416
  update_option('high_res_image', $high_res_image);
 
 
1417
  update_option('wpvr_script_control', $wpvr_script_control);
1418
  update_option('wpvr_script_list', $wpvr_script_list);
1419
 
1403
  $author = sanitize_text_field($_POST['author']);
1404
  $fontawesome = sanitize_text_field($_POST['fontawesome']);
1405
  $high_res_image = sanitize_text_field($_POST['high_res_image']);
1406
+ $wpvr_frontend_notice = sanitize_text_field($_POST['wpvr_frontend_notice']);
1407
+ $wpvr_frontend_notice_area = sanitize_text_field($_POST['wpvr_frontend_notice_area']);
1408
  $wpvr_script_control = sanitize_text_field($_POST['wpvr_script_control']);
1409
  $wpvr_script_list = sanitize_text_field($_POST['wpvr_script_list']);
1410
 
1416
  update_option('wpvr_author_active', $author);
1417
  update_option('wpvr_fontawesome_disable', $fontawesome);
1418
  update_option('high_res_image', $high_res_image);
1419
+ update_option('wpvr_frontend_notice', $wpvr_frontend_notice);
1420
+ update_option('wpvr_frontend_notice_area', $wpvr_frontend_notice_area);
1421
  update_option('wpvr_script_control', $wpvr_script_control);
1422
  update_option('wpvr_script_list', $wpvr_script_list);
1423
 
admin/css/wpvr-admin.css CHANGED
@@ -2874,6 +2874,9 @@ button.delete-hotspot{
2874
  .rex-onboarding .wpvr-settings .wpvr_role-container ul li.enqueue-script h6 {
2875
  padding-right: 0;
2876
  }
 
 
 
2877
  .rex-onboarding .wpvr-settings .wpvr_role-container ul li.enqueue-script textarea {
2878
  border: 1px solid #ddd;
2879
  margin: 10px 0 0 0;
@@ -2952,6 +2955,7 @@ button.delete-hotspot{
2952
  }
2953
 
2954
 
 
2955
  /*-----------wpvr-tooltip style------- */
2956
  .wpvr-tooltip {
2957
  margin-left: 25px;
2874
  .rex-onboarding .wpvr-settings .wpvr_role-container ul li.enqueue-script h6 {
2875
  padding-right: 0;
2876
  }
2877
+ .rex-onboarding .wpvr-settings .wpvr_role-container ul li.front-notice h6 {
2878
+ width: calc(100% - 91px);
2879
+ }
2880
  .rex-onboarding .wpvr-settings .wpvr_role-container ul li.enqueue-script textarea {
2881
  border: 1px solid #ddd;
2882
  margin: 10px 0 0 0;
2955
  }
2956
 
2957
 
2958
+
2959
  /*-----------wpvr-tooltip style------- */
2960
  .wpvr-tooltip {
2961
  margin-left: 25px;
admin/js/wpvr-admin.js CHANGED
@@ -1004,6 +1004,8 @@
1004
  var editor = $('#wpvr_editor_active').is(':checked');
1005
  var author = $('#wpvr_author_active').is(':checked');
1006
  var fontawesome = $('#wpvr_fontawesome_disable').is(':checked');
 
 
1007
  var wpvr_script_control = $('#wpvr_script_control').is(':checked');
1008
  var wpvr_script_list = $('#wpvr_script_list').val();
1009
  var high_res_image = $('#high_res_image').is(':checked');
@@ -1016,6 +1018,8 @@
1016
  author: author,
1017
  fontawesome: fontawesome,
1018
  high_res_image: high_res_image,
 
 
1019
  wpvr_script_control: wpvr_script_control,
1020
  wpvr_script_list: wpvr_script_list,
1021
  },
@@ -1150,9 +1154,9 @@
1150
  }
1151
  }
1152
  }
1153
-
1154
 
1155
-
 
1156
 
1157
  });
1158
  })(jQuery);
1004
  var editor = $('#wpvr_editor_active').is(':checked');
1005
  var author = $('#wpvr_author_active').is(':checked');
1006
  var fontawesome = $('#wpvr_fontawesome_disable').is(':checked');
1007
+ var wpvr_frontend_notice = $('#wpvr_frontend_notice').is(':checked');
1008
+ var wpvr_frontend_notice_area = $('#wpvr_frontend_notice_area').val();
1009
  var wpvr_script_control = $('#wpvr_script_control').is(':checked');
1010
  var wpvr_script_list = $('#wpvr_script_list').val();
1011
  var high_res_image = $('#high_res_image').is(':checked');
1018
  author: author,
1019
  fontawesome: fontawesome,
1020
  high_res_image: high_res_image,
1021
+ wpvr_frontend_notice: wpvr_frontend_notice,
1022
+ wpvr_frontend_notice_area: wpvr_frontend_notice_area,
1023
  wpvr_script_control: wpvr_script_control,
1024
  wpvr_script_list: wpvr_script_list,
1025
  },
1154
  }
1155
  }
1156
  }
 
1157
 
1158
+
1159
+
1160
 
1161
  });
1162
  })(jQuery);
admin/partials/wpvr_documentation.php CHANGED
@@ -184,7 +184,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
184
  <a class="wpvr-btn" href="https://rextheme.com/wpvr/?wpvr-dashboard=1" target="_blank"><?php _e('Upgrade to Pro ','wpvr'); ?></a>
185
  <?php } ?>
186
  </div>
187
- </div>
188
  </div>
189
 
190
  </div>
@@ -490,7 +490,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
490
  <?php
491
  }
492
  ?>
493
-
494
  <div id="tab5" class="block-wrapper">
495
  <div class="rex-upgrade wpvr-settings <?php echo is_plugin_active( 'wpvr-pro/wpvr-pro.php' ) ? 'pro-active' : ''; ?>">
496
  <h4><?php _e('General Setup Options','wpvr'); ?></h4>
@@ -658,6 +658,45 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
658
  <textarea id="wpvr_script_list" class="materialize-textarea" placeholder="https://example.com/tour1/,https://example.com/tour2/"><?php echo $wpvr_script_list; ?></textarea>
659
  </li>
660
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
661
  <li>
662
  <form class="wpvr-version">
663
  <h6><?php _e('Select a Version to Rollback','wpvr'); ?></h6>
184
  <a class="wpvr-btn" href="https://rextheme.com/wpvr/?wpvr-dashboard=1" target="_blank"><?php _e('Upgrade to Pro ','wpvr'); ?></a>
185
  <?php } ?>
186
  </div>
187
+ </div>
188
  </div>
189
 
190
  </div>
490
  <?php
491
  }
492
  ?>
493
+
494
  <div id="tab5" class="block-wrapper">
495
  <div class="rex-upgrade wpvr-settings <?php echo is_plugin_active( 'wpvr-pro/wpvr-pro.php' ) ? 'pro-active' : ''; ?>">
496
  <h4><?php _e('General Setup Options','wpvr'); ?></h4>
658
  <textarea id="wpvr_script_list" class="materialize-textarea" placeholder="https://example.com/tour1/,https://example.com/tour2/"><?php echo $wpvr_script_list; ?></textarea>
659
  </li>
660
 
661
+ <!-- WPVR front-end notice -->
662
+ <li class="enqueue-script front-notice">
663
+ <?php
664
+ $wpvr_frontend_notice = false;
665
+ $wpvr_frontend_notice_area = '';
666
+ $wpvr_frontend_notice = get_option('wpvr_frontend_notice');
667
+ $wpvr_frontend_notice_area = get_option('wpvr_frontend_notice_area');
668
+ if( ! $wpvr_frontend_notice_area ){
669
+ $wpvr_frontend_notice_area = __( "Flip the phone to landscape mode for a better experience of the tour.", "wpvr" );
670
+ }
671
+ ?>
672
+ <h6><?php echo __( "Front-End Notice for Mobile Visitors:", "wpvr" ); ?></h6>
673
+
674
+ <span class="wpvr-switcher">
675
+ <?php
676
+ if ($wpvr_frontend_notice == "true") {
677
+ ?>
678
+ <input id="wpvr_frontend_notice" type="checkbox" checked>
679
+ <?php
680
+ }
681
+ else {
682
+ ?>
683
+ <input id="wpvr_frontend_notice" type="checkbox">
684
+ <?php
685
+ }
686
+ ?>
687
+ <label for="wpvr_frontend_notice"></label>
688
+ </span>
689
+
690
+ <span class="wpvr-tooltip">
691
+ <span class="icon">
692
+ <img src="<?php echo WPVR_PLUGIN_DIR_URL . 'admin/icon/question-icon.png'?>" alt="check">
693
+ </span>
694
+ <p><?php echo __( "The notice will appear on the front end of the virtual tour if viewed from a mobile device.", 'wpvr' ); ?></p>
695
+ </span>
696
+ <textarea id="wpvr_frontend_notice_area" class="materialize-textarea" placeholder="Add your notice here"><?php echo $wpvr_frontend_notice_area; ?></textarea>
697
+ </li>
698
+ <!-- WPVR front-end notice -->
699
+
700
  <li>
701
  <form class="wpvr-version">
702
  <h6><?php _e('Select a Version to Rollback','wpvr'); ?></h6>
oxygen/WPVR_CUSTOM_OXY_ELEMENT.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ abstract class WPVR_CUSTOM_OXY_ELEMENT extends OxyEl
4
+ {
5
+ /*
6
+ * used by OxyEl class to show the element button in a specific section/subsection
7
+ * @returns {string}
8
+ */
9
+ public function button_place()
10
+ {
11
+ /*
12
+ * Our plugin class that holds variables we need to use across our plugin files
13
+ * we will get this from our plugin main file
14
+ */
15
+ global $wpvr_oxy_integration;
16
+
17
+ /*
18
+ * if child element didn't specify a button place,
19
+ * lets add button to "other" tab (more on this later)
20
+ */
21
+ return $wpvr_oxy_integration->tab_slug . "::" . $wpvr_oxy_integration->subsection_other;
22
+ }
23
+ }
oxygen/WPVR_OXY_INTEGRATION.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WPVR_OXY_INTEGRATION
4
+ {
5
+ /* we will need this later to show subsections */
6
+ public $section_slug = "wpvr";
7
+
8
+ /* we will need this later to attach an element to a specific subsection */
9
+ public $tab_slug = "wpvr" ;
10
+
11
+ /* slugs for different subsection (will be used later inside our elements) */
12
+ public $subsection_dynamic = "dynamic";
13
+ public $subsection_other = "other";
14
+
15
+ public function __construct()
16
+ {
17
+ /* show a section in +Add */
18
+ add_action('oxygen_add_plus_sections', [$this, 'add_plus_sections']);
19
+
20
+ /* global_settings_tab */
21
+ add_action('oxygen_vsb_global_styles_tabs', [$this, 'global_settings_tab']);
22
+
23
+ /* +Add subsections content */
24
+ /* oxygen_add_plus_{$id}_section_content */
25
+ add_action("oxygen_add_plus_" . $this->section_slug . "_section_content", [$this, 'add_plus_subsections_content']);
26
+
27
+ }
28
+
29
+ public function add_plus_sections()
30
+ {
31
+ /* show a section in +Add dropdown menu and name it "My Custom Elements" */
32
+ CT_Toolbar::oxygen_add_plus_accordion_section($this->section_slug, __("Build with WP VR"));
33
+ }
34
+
35
+ public function global_settings_tab()
36
+ {
37
+ global $oxygen_toolbar;
38
+ $oxygen_toolbar->settings_tab(__("WP VR"), $this->tab_slug, "panelsection-icons/styles.svg");
39
+ }
40
+
41
+ public function add_plus_subsections_content()
42
+ {
43
+ do_action("oxygen_add_plus_" . $this->tab_slug . "_other");
44
+ }
45
+ }
oxygen/elements/Wpvr_Tour_Element.php ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Wpvr_Tour_Element extends WPVR_CUSTOM_OXY_ELEMENT
4
+ {
5
+
6
+ public function name()
7
+ {
8
+ return 'WP VR Tour';
9
+ }
10
+
11
+ public function controls()
12
+ {
13
+ /*
14
+ * Adds a control to the element or a section (depends on the caller)
15
+ */
16
+
17
+ $posts = get_posts([
18
+ 'post_type' => 'wpvr_item',
19
+ 'post_status' => 'publish',
20
+ 'orderby' => 'date',
21
+ 'order' => 'DESC',
22
+ 'numberposts' => -1,
23
+ ]);
24
+
25
+ $array = array();
26
+ $array[0] = "None";
27
+ foreach ($posts as $post) {
28
+ $id = $post->ID;
29
+ $title = $post->post_title.' : '.$id;
30
+ if (!$post->post_title) {
31
+ $title = "No title : ".$id;
32
+ }
33
+ $array[$id] = $title;
34
+ }
35
+
36
+ $this->addOptionControl([
37
+ "type" => "dropdown",
38
+ "name" => "Tour ID",
39
+ "slug" => "tour_id",
40
+ "value" => $array
41
+ ]);
42
+
43
+ $this->addOptionControl([
44
+ "type" => "textfield",
45
+ "name" => "Height",
46
+ "slug" => "tour_height",
47
+ "value" => ""
48
+ ]);
49
+
50
+ $this->addOptionControl([
51
+ "type" => "textfield",
52
+ "name" => "Width",
53
+ "slug" => "tour_width",
54
+ "value" => ""
55
+ ]);
56
+
57
+ $this->addOptionControl([
58
+ "type" => "textfield",
59
+ "name" => "Radius",
60
+ "slug" => "tour_radius",
61
+ "value" => ""
62
+ ]);
63
+
64
+ }
65
+
66
+ /*
67
+ * @param {array} $options values you set in the controls
68
+ * @param {array} $defaults default values for all controls
69
+ * @param {array} $content shortcode that holds all nested elements (more on this later)
70
+ */
71
+ public function render($options, $defaults, $content)
72
+ {
73
+
74
+ $id = 0;
75
+ $width = "600px";
76
+ $height = "400px";
77
+ $radius = "0px";
78
+ $id = $options['tour_id'];
79
+ $width = $options['tour_width'];
80
+ $height = $options['tour_height'];
81
+ $radius = $options['tour_radius'];
82
+ if (empty($width)) {
83
+ $width = "600px";
84
+ }
85
+ if (empty($height)) {
86
+ $height = "400px";
87
+ }
88
+ if (empty($radius)) {
89
+ $radius = "0px";
90
+ }
91
+
92
+ if ($id) {
93
+ $shortcode = do_shortcode( shortcode_unautop( '[wpvr id="'.$id.'" width="'.$width.'" height="'.$height.'" radius="'.$radius.'"]' ) );
94
+ echo $shortcode;
95
+ }
96
+ }
97
+ }
98
+
99
+ new Wpvr_Tour_Element();
oxygen/oxy-manager.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* main class for this plugin */
4
+ include_once 'WPVR_OXY_INTEGRATION.php';
5
+
6
+ global $wpvr_oxy_integration;
7
+ $wpvr_oxy_integration = new WPVR_OXY_INTEGRATION();
8
+
9
+ /* Our Base Oxygen Element to extend upon */
10
+ include_once 'WPVR_CUSTOM_OXY_ELEMENT.php';
11
+
12
+ /* Include all of our Oxygen Elements dynamically */
13
+ $elements_filenames = glob(plugin_dir_path(__FILE__)."elements/*.php");
14
+ foreach ($elements_filenames as $filename) {
15
+ include_once $filename;
16
+ }
public/class-wpvr-public.php CHANGED
@@ -133,7 +133,11 @@ class Wpvr_Public {
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');
@@ -152,7 +156,12 @@ class Wpvr_Public {
152
  wp_enqueue_script('videojs-js', plugin_dir_url( __FILE__ ) . 'js/video.js', array(), true);
153
  wp_enqueue_script('panelliumvid-js', plugin_dir_url( __FILE__ ) . 'lib/pannellum/src/js/videojs-pannellum-plugin.js', array(), true);
154
  wp_enqueue_script( 'owl-js', plugin_dir_url( __FILE__ ) . 'js/owl.carousel.js', array( 'jquery' ), false );
155
- wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/wpvr-public.js', array( 'jquery' ), $this->version, false );
 
 
 
 
 
156
  }
157
  }
158
  }
@@ -164,6 +173,10 @@ class Wpvr_Public {
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
  }
@@ -927,7 +940,7 @@ class Wpvr_Public {
927
  }
928
  }
929
 
930
-
931
  $html .= '<div class="wpvr-hotspot-tweak-contents-wrapper" style="display: none">';
932
  $html .= '<i class="fa fa-times cross"></i>';
933
  $html .= '<div class="wpvr-hotspot-tweak-contents-flex">';
133
  * between the defined hooks and the functions defined in this
134
  * class.
135
  */
136
+ $notice = '';
137
+ $wpvr_frontend_notice = get_option('wpvr_frontend_notice');
138
+ if ($wpvr_frontend_notice) {
139
+ $notice = get_option('wpvr_frontend_notice_area');
140
+ }
141
  global $wp;
142
  $wpvr_script_control = get_option('wpvr_script_control');
143
  $wpvr_script_list = get_option('wpvr_script_list');
156
  wp_enqueue_script('videojs-js', plugin_dir_url( __FILE__ ) . 'js/video.js', array(), true);
157
  wp_enqueue_script('panelliumvid-js', plugin_dir_url( __FILE__ ) . 'lib/pannellum/src/js/videojs-pannellum-plugin.js', array(), true);
158
  wp_enqueue_script( 'owl-js', plugin_dir_url( __FILE__ ) . 'js/owl.carousel.js', array( 'jquery' ), false );
159
+ wp_enqueue_script('jquery_cookie', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js', array('jquery'), true);
160
+ wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/wpvr-public.js', array('jquery', 'jquery_cookie' ), $this->version, false );
161
+ wp_localize_script('wpvr', 'wpvr_public', array(
162
+ 'notice_active' => $wpvr_frontend_notice ,
163
+ 'notice' => $notice ,
164
+ ));
165
  }
166
  }
167
  }
173
  wp_enqueue_script( 'owl-js', plugin_dir_url( __FILE__ ) . 'js/owl.carousel.js', array( 'jquery' ), false );
174
  wp_enqueue_script('jquery_cookie', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js', array('jquery'), true);
175
  wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/wpvr-public.js', array( 'jquery', 'jquery_cookie' ), $this->version, true );
176
+ wp_localize_script('wpvr', 'wpvr_public', array(
177
+ 'notice_active' => $wpvr_frontend_notice ,
178
+ 'notice' => $notice ,
179
+ ));
180
  }
181
 
182
  }
940
  }
941
  }
942
 
943
+
944
  $html .= '<div class="wpvr-hotspot-tweak-contents-wrapper" style="display: none">';
945
  $html .= '<i class="fa fa-times cross"></i>';
946
  $html .= '<div class="wpvr-hotspot-tweak-contents-flex">';
public/css/wpvr-public.css CHANGED
@@ -15,6 +15,7 @@
15
  justify-content: center;
16
  padding: 10px;
17
  display: none;
 
18
  }
19
  .wpvr-mobile-notice p {
20
  color: #fff;
@@ -464,6 +465,9 @@ div.custom-ifram {
464
  background: #4775f6;
465
  }
466
 
 
 
 
467
 
468
  /* ---------woocomerce product hotspot style--------- */
469
  .wpvr-product-container {
15
  justify-content: center;
16
  padding: 10px;
17
  display: none;
18
+ z-index: 9;
19
  }
20
  .wpvr-mobile-notice p {
21
  color: #fff;
465
  background: #4775f6;
466
  }
467
 
468
+ .oxy-wp-vr-tour {
469
+ width: 100%;
470
+ }
471
 
472
  /* ---------woocomerce product hotspot style--------- */
473
  .wpvr-product-container {
public/js/wpvr-public.js CHANGED
@@ -58,7 +58,7 @@ jQuery(document).ready(function($){
58
 
59
  $(this).parent(".custom-ifram-wrapper").fadeOut();
60
  $(this).parents(".pano-wrap").removeClass("show-modal");
61
-
62
  $('iframe').attr('src', $('iframe').attr('src'));
63
  if($('#wpvr-video').length != 0) {
64
  $('#wpvr-video').get(0).pause();
@@ -68,19 +68,20 @@ jQuery(document).ready(function($){
68
  });
69
 
70
  jQuery(document).ready(function($){
 
 
 
71
  if (!$.cookie("wpvr_mobile_notice")) {
72
  if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
73
  if ($(".pano-wrap")[0]){
74
- $('body').append("<div class='wpvr-mobile-notice'><p>Turn your phone sideways (portrait orientation) for better VR experience.</p> <span class='notice-close'><i class='fa fa-times'></i></span></div>");
75
  }
76
  }
77
  }
 
78
 
79
- $('.wpvr-mobile-notice .notice-close').on('click', function(){
80
- $('.wpvr-mobile-notice').fadeOut();
81
- $.cookie('wpvr_mobile_notice', 'true');
82
- });
83
-
84
-
85
-
86
  });
58
 
59
  $(this).parent(".custom-ifram-wrapper").fadeOut();
60
  $(this).parents(".pano-wrap").removeClass("show-modal");
61
+
62
  $('iframe').attr('src', $('iframe').attr('src'));
63
  if($('#wpvr-video').length != 0) {
64
  $('#wpvr-video').get(0).pause();
68
  });
69
 
70
  jQuery(document).ready(function($){
71
+ var notice_active = wpvr_public.notice_active;
72
+ var notice = wpvr_public.notice;
73
+ if (notice_active) {
74
  if (!$.cookie("wpvr_mobile_notice")) {
75
  if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
76
  if ($(".pano-wrap")[0]){
77
+ $('body').append("<div class='wpvr-mobile-notice'><p>"+notice+"</p> <span class='notice-close'><i class='fa fa-times'></i></span></div>");
78
  }
79
  }
80
  }
81
+ }
82
 
83
+ $('.wpvr-mobile-notice .notice-close').on('click', function(){
84
+ $('.wpvr-mobile-notice').fadeOut();
85
+ $.cookie('wpvr_mobile_notice', 'true');
86
+ });
 
 
 
87
  });
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: 6.1.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
@@ -1376,7 +1376,13 @@ function wpvr_add_role_cap() {
1376
  }
1377
  add_action( 'admin_notices', 'sample_admin_notice__success' );
1378
 
1379
-
 
 
 
 
 
 
1380
 
1381
  /**
1382
  * Redirect to the edit.php on post save or publish.
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: 6.2.0
20
  * Author: Rextheme
21
  * Author URI: http://rextheme.com/
22
  * License: GPL-2.0+
1376
  }
1377
  add_action( 'admin_notices', 'sample_admin_notice__success' );
1378
 
1379
+ //===Oxygen widget===//
1380
+ add_action('plugins_loaded', function () {
1381
+ if (!class_exists('OxyEl')) {
1382
+ return;
1383
+ }
1384
+ require_once __DIR__ . '/oxygen/oxy-manager.php';
1385
+ });
1386
 
1387
  /**
1388
  * Redirect to the edit.php on post save or publish.