Version Description
(27-07-2021) = * Update: Checked compatibility with WordPress 5.8. * Fix: PHP Error Notice. * Tweak: Dual Action Warning for Auto-Rotation redesigned & updated. * Tweak: Invalid Pitch Value Warning redesigned & updated. * Tweak: Invalid Yaw Value Warning redesigned & updated. * Tweak: Invalid Default Zoom Value Warnings redesigned & updated. * Tweak: Invalid Max-zoom Value Warning redesigned & updated. * Tweak: Max-zoom Value Exceeded Warning redesigned & updated. * Tweak: Invalid Min-zoom Value Warning redesigned & updated. * Tweak: Low Min-zoom Value Warning redesigned & updated.
Download this release
Release Info
Developer | rextheme |
Plugin | WP VR – 360 Panorama and virtual tour creator for WordPress |
Version | 7.3.1 |
Comparing to | |
See all releases |
Code changes from version 7.3.0 to 7.3.1
- README.txt +163 -137
- admin/class-wpvr-admin.php +5 -0
- admin/class-wpvr-ajax.php +64 -38
- admin/css/wpvr-admin.css +11 -0
- admin/js/owl.carousel.js +1 -0
- admin/js/wpvr-admin.js +10 -28
- admin/js/wpvr-global.js +0 -1
- public/class-wpvr-public.php +18 -12
- public/css/owl.carousel.css +2 -2
- wpvr.php +6 -5
README.txt
CHANGED
@@ -1,201 +1,212 @@
|
|
1 |
-
=== WP VR - 360 Panorama and Virtual Tour
|
2 |
Contributors: rextheme, coderexco
|
3 |
Tags: virtual tour, real estate tour, panorama, panorama viewer, virtual tour, 360 panorama, interactive tour, 360, streetview, virtual reality, 360 video, virtual, vr, interactive, 360-degree, equirectangular, google streetview, panoramas
|
4 |
Donate link: https://rextheme.com/wp-vr-360-panorama-and-virtual-tour-creator-for-wordpress/
|
5 |
Requires at least: 5.0
|
6 |
-
Tested up to: 5.
|
7 |
Requires PHP: 7.0.0
|
8 |
-
Stable tag: 7.3.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
12 |
Let site visitors take a virtual tour and get them excited!! Let them experience a glimpse of a live tour of your place.
|
13 |
|
14 |
== Description ==
|
15 |
-
Create amazing virtual tours on your own easily using WP VR. Let visitors take a tour of your place remotely, and
|
16 |
|
17 |
-
With
|
18 |
|
19 |
-
Simply
|
20 |
|
21 |
-
>WPVR is
|
22 |
|
23 |
-
|
24 |
|
25 |
== Why Use WPVR? ==
|
26 |
WPVR gives you all the features needed to create a quality virtual tour without any hassle.
|
27 |
|
28 |
https://www.youtube.com/watch?v=SWsv-bplne8
|
29 |
|
30 |
-
**Simple
|
31 |
|
32 |
-
|
33 |
|
34 |
-
>In fact, you can create a simple virtual tour in less than 5
|
35 |
|
36 |
-
On top of that, you can customize the tour
|
37 |
|
38 |
-
You
|
39 |
|
40 |
-
The best part is, you will get a tour preview at the back-end so that you can see what you are creating on the go.
|
41 |
|
42 |
-
|
43 |
|
44 |
-
|
45 |
|
46 |
-
|
47 |
|
48 |
-
|
49 |
|
50 |
-
|
51 |
|
52 |
-
> You can connect up to 5 scenes, and add 5 hotspots per scene on a virtual tour. To
|
53 |
|
54 |
**Interactive Hotspots To Create More Attraction**
|
55 |
|
56 |
-
|
57 |
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
-
|
61 |
|
62 |
-
|
63 |
|
64 |
-
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
Once you create a tour, it’s really easy to embed it on your website.
|
69 |
|
70 |
-
|
71 |
|
72 |
-
|
73 |
|
74 |
-
|
75 |
|
76 |
-
|
77 |
|
78 |
-
|
79 |
|
80 |
-
|
81 |
|
82 |
-
|
83 |
-
|
84 |
-
***Oxygen Element Support***
|
85 |
|
86 |
-
|
87 |
|
88 |
-
|
89 |
|
90 |
-
|
91 |
|
92 |
-
**
|
93 |
|
94 |
-
|
95 |
|
96 |
-
|
97 |
|
98 |
-
|
99 |
|
100 |
**Control Editors and Authors from Accessing Tours**
|
101 |
|
102 |
Control the Editors and Authors of your site from accessing the virtual tours on your site.
|
103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
==Who Should Use WP VR?==
|
105 |
|
106 |
-
- Real Estate Industry
|
107 |
-
- Educational Institutes (Schools and colleges)
|
108 |
-
- Hotels and Resorts
|
109 |
-
- Restaurants
|
110 |
-
- Travel/Tourism
|
111 |
-
- Museums
|
112 |
-
- Art Galleries
|
113 |
-
- Showrooms
|
|
|
|
|
|
|
114 |
- Bars/Pubs.
|
115 |
|
116 |
And many more.
|
117 |
|
118 |
To have more control over creating a virtual tour, learn about the [Premium version](https://rextheme.com/wpvr/).
|
119 |
|
120 |
-
==FEATURES==
|
121 |
-
|
122 |
-
*
|
123 |
-
* 360 Degree Video Support (Self-hosted, Youtube and Vimeo Videos)
|
124 |
-
*
|
125 |
-
*
|
126 |
-
*
|
127 |
-
* Oxygen Builder Support
|
128 |
-
* Live Preview of Tour On The Back-end
|
129 |
-
* Tour Preview Image
|
130 |
-
* Tour Autoload Feature
|
131 |
-
* Scene Fade Animation
|
132 |
-
* Auto Rotation with Speed Control
|
133 |
-
* Auto Rotation Direction, Pause and Stop control
|
134 |
-
* Basic Control Buttons (Zoom In, Zoom Out, and Fullscreen)
|
135 |
-
* Mouse Drag
|
136 |
-
* Zoom In and Out with Mouse Scroll on Virtual Tour
|
137 |
-
* Zoom In and Out with ‘+’ and ‘-’ keyboard buttons
|
138 |
-
* Add Multiple Scenes and Hotspots
|
139 |
-
* Scene Type Hotspot to Connect Scenes
|
140 |
-
* Info Type Hotspots to Give Information
|
141 |
-
* On Hover and On-Click Content Option for Hotspots
|
142 |
-
* Embed Texts, Videos, Images, GIFs, and Website Links on Hotspots
|
143 |
-
* Hotspot Customization with Custom CSS
|
144 |
-
* Full-width Tour Tag
|
145 |
-
* Radius Tag for
|
146 |
-
* Multi-Site Support
|
147 |
-
* WP User Role Support (Editors and Authors)
|
148 |
-
* Disable FontAwesome Option
|
149 |
-
* Disable WordPress Default Large Image Handler
|
150 |
-
* Control Plugin Assets To Load on Specific Pages/posts Only
|
151 |
-
* Enable notice for Mobile Visitors
|
152 |
-
* Mobile Media Resize Option
|
153 |
-
* Plugin Rollback
|
154 |
-
* Support From the Support Forum
|
155 |
|
156 |
==PREMIUM FEATURES==
|
157 |
|
158 |
-
* All Free Features
|
159 |
-
* Unlimited Scenes and Hotspots (
|
160 |
-
* 360 Video Autoplay and Loop
|
161 |
-
* Google Street View Embed Support
|
162 |
-
* Gyroscope Support
|
163 |
-
* Auto Enable Gyroscope
|
164 |
-
* Custom & Responsive Scene Gallery
|
165 |
-
* Scene Titles on Each Scene
|
166 |
-
* Scene Description (Author) & URL on Each Scene
|
167 |
-
* Scene Titles & Thumbnails on Scene Gallery
|
168 |
-
* Tour Background Music Support
|
169 |
-
* Background Music Autoplay, Loop, & Pause Control
|
170 |
-
* Set Your Company Logo on The Virtual Tour
|
171 |
-
* Set Company Description on The Logo
|
172 |
-
* Home Button to Go to The Default Scene
|
173 |
-
* On-Screen Compass for Tours
|
174 |
-
* Disable or Enable Keyboard Movement Control
|
175 |
-
* Disable or Enable Keyboard Zoom Control
|
176 |
-
*
|
177 |
-
* Disable or Enable Mouse
|
178 |
-
*
|
179 |
-
*
|
180 |
-
*
|
181 |
-
*
|
182 |
-
*
|
183 |
-
*
|
184 |
-
* Customize
|
185 |
-
*
|
186 |
-
*
|
187 |
-
* Default Scene Face
|
188 |
-
*
|
189 |
-
*
|
190 |
-
*
|
191 |
-
*
|
192 |
-
* Limit
|
193 |
-
*
|
194 |
-
*
|
195 |
-
*
|
196 |
-
*
|
197 |
-
*
|
198 |
-
*
|
|
|
199 |
|
200 |
[Upgrade to Pro](https://rextheme.com/docs/wp-vr/how-to-upgrade-to-pro/)
|
201 |
|
@@ -203,16 +214,16 @@ To have more control over creating a virtual tour, learn about the [Premium vers
|
|
203 |
|
204 |
**Upcoming Features**
|
205 |
|
206 |
-
|
207 |
-
-
|
208 |
-
-
|
209 |
-
-
|
210 |
-
|
211 |
|
212 |
## Privacy Policy
|
213 |
WP VR uses [Appsero](https://appsero.com) SDK to collect some telemetry data upon user's confirmation. This helps us to troubleshoot problems faster & make product improvements.
|
214 |
|
215 |
-
Appsero SDK **does not gather any data by default.** The SDK only starts gathering basic telemetry data **when a user allows it via the admin notice**. We collect the data to ensure great user experience for all our users.
|
216 |
|
217 |
Integrating Appsero SDK **DOES NOT IMMEDIATELY** start gathering data, **without confirmation from users in any case.**
|
218 |
|
@@ -230,7 +241,7 @@ Allow your prospects to have a realistic tour of your facility before they decid
|
|
230 |
|
231 |
=2. How to Install and Activate WP VR?=
|
232 |
|
233 |
-
Once you have downloaded the file,
|
234 |
|
235 |
Once activated, on the left side under your dashboard, you will find the option WP VR at the bottom.
|
236 |
|
@@ -242,7 +253,9 @@ However, you can also capture panorama images with your smartphone and use them
|
|
242 |
|
243 |
=5. Can I Customize The Hotspot Icons?=
|
244 |
|
245 |
-
Yes. You can create a custom class on your theme, stating whatever style you want.
|
|
|
|
|
246 |
|
247 |
=6. Can I Create A 360 Degree Video Tour With WP VR?=
|
248 |
|
@@ -254,7 +267,7 @@ You can either upload the video to create a tour or set a link to a Youtube/Vime
|
|
254 |
|
255 |
Under common blocks, you will find a block called WP VR. Select the block and on the dynamic toolbar on the right, you will get the options to add ID, Height, and Width.
|
256 |
|
257 |
-
Collect the ID from the virtual tour you created. Assign height and width as you desire.
|
258 |
|
259 |
=8. The Tour Is Not Loading On The Webpage.=
|
260 |
|
@@ -303,6 +316,19 @@ Simply add “/plugins/wpvr” to the exclusion field (or use the location where
|
|
303 |
|
304 |
== Changelog ==
|
305 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
= 7.3.0 (18-06-2021) =
|
307 |
* Tweak: WP VR logo & Text Aligned on Dashboard.
|
308 |
* Tweak: Scene Image Missing Notice redesigned & updated.
|
1 |
+
=== WP VR - 360 Panorama and Virtual Tour Builder For WordPress ===
|
2 |
Contributors: rextheme, coderexco
|
3 |
Tags: virtual tour, real estate tour, panorama, panorama viewer, virtual tour, 360 panorama, interactive tour, 360, streetview, virtual reality, 360 video, virtual, vr, interactive, 360-degree, equirectangular, google streetview, panoramas
|
4 |
Donate link: https://rextheme.com/wp-vr-360-panorama-and-virtual-tour-creator-for-wordpress/
|
5 |
Requires at least: 5.0
|
6 |
+
Tested up to: 5.8
|
7 |
Requires PHP: 7.0.0
|
8 |
+
Stable tag: 7.3.1
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
12 |
Let site visitors take a virtual tour and get them excited!! Let them experience a glimpse of a live tour of your place.
|
13 |
|
14 |
== Description ==
|
15 |
+
Create amazing virtual tours on your own easily using WP VR. Let visitors take a tour of your place remotely, and keep them engaged.
|
16 |
|
17 |
+
With WPVR, you can create a virtual tour, where your visitors can navigate through your place in a 360 panoramic view and get an overall idea on how it looks in reality.
|
18 |
|
19 |
+
Simply upload a 360 panoramic image, and the plugin will transform it into a realistic virtual tour.
|
20 |
|
21 |
+
>WPVR is compatible with Shortcodes, Elementor, Gutenberg, Visual Composer, & Oxygen builder.
|
22 |
|
23 |
+
[Demo Virtual Tour (Pro)](https://rextheme.com/wpvr/#demo-tour) | [Documentation](https://rextheme.com/docs/wp-vr/) | [Premium Version](https://rextheme.com/wpvr/)
|
24 |
|
25 |
== Why Use WPVR? ==
|
26 |
WPVR gives you all the features needed to create a quality virtual tour without any hassle.
|
27 |
|
28 |
https://www.youtube.com/watch?v=SWsv-bplne8
|
29 |
|
30 |
+
**Simple & Easy To Use Virtual Tour Builder**
|
31 |
|
32 |
+
WPVR has a simple interface, designed to create virtual tours real quickly, without any expertise.
|
33 |
|
34 |
+
>In fact, you can create a simple virtual tour in less than 5 minutes!!
|
35 |
|
36 |
+
On top of that, you can customize the tour further using auto-rotation effect, scene fade animation when transmitting between scenes, Gyroscope support on mobile devices, and many more, to make the tour more attractive.
|
37 |
|
38 |
+
You may also use interactive hotspots to display information and keep your viewers engaged.
|
39 |
|
40 |
+
The best part of this plugin is, you will get a live tour preview at the back-end so that you can see what you are creating on the go.
|
41 |
|
42 |
+
Even if you're new to this, you will still be able to create virtual tours on your own, thanks to the actionable video tutorials and step-by-step instructions in our documentation.
|
43 |
|
44 |
+
>Read detailed [documentation](https://rextheme.com/docs/wp-vr/) and [video tutorials](https://www.youtube.com/playlist?list=PLelDqLncNWcUndi1NkXJh2BH62OYmIayt) for assistance.
|
45 |
|
46 |
+
**Create An Interactive Realistic Tour With Multiple Panoramic Images**
|
47 |
|
48 |
+
You can add multiple 360-degree images in a virtual tour to create scenes, and connect them through scene type hotspots.
|
49 |
|
50 |
+
Viewers can click on the hotspots to move back and forth between the scenes.
|
51 |
|
52 |
+
> You can connect up to 5 scenes, and add 5 hotspots per scene on a virtual tour. To create tours with unlimited scenes and hotspots, [click here](https://rextheme.com/wpvr)
|
53 |
|
54 |
**Interactive Hotspots To Create More Attraction**
|
55 |
|
56 |
+
You can use engaging hotspots to view on-click or on-hover contents that include:
|
57 |
|
58 |
+
*Texts
|
59 |
+
*Images
|
60 |
+
*GIFs
|
61 |
+
*URLs
|
62 |
+
*Videos
|
63 |
+
*Buttons
|
64 |
|
65 |
+
Also, you will get over 900+ custom icons for hotspots which you can further customize with color and ripple animation. A great way to grab your viewer's attention.
|
66 |
|
67 |
+
>Contact our reliable [support team](https://rextheme.com/support/) to help you out anytime.
|
68 |
|
69 |
+
**A Simple Tool For 360 Experience**
|
70 |
|
71 |
+
Whether you run a travel blog, or sell properties as a realtor, a virtual tour will make your site more interactive. Even just viewing a simple scene with one 360 degree image will add extra value.
|
|
|
|
|
72 |
|
73 |
+
And WPVR is currently the most reliable plugin to help you out with this. You may choose to use it as a simple 360 photo viewer, or create a high quality virtual tour with all the features without any complications.
|
74 |
|
75 |
+
**A Functional 360 Video Viewer**
|
76 |
|
77 |
+
With WPVR, you will also be able to embed 360 videos on your website.
|
78 |
|
79 |
+
When you have a 360 camera, you will be able to capture 360-degree videos which is amazing. You can navigate within the video, while it plays.
|
80 |
|
81 |
+
Once you record one, you may upload your 360 video content to Youtube, Vimeo, or your website, and then embed the video on any page within your site easily.
|
82 |
|
83 |
+
**Embed Virtual Tours In Just A Few Clicks**
|
84 |
|
85 |
+
Once you create a tour, it’s really easy to embed it on your website.
|
|
|
|
|
86 |
|
87 |
+
Whether you use Gutenberg Editor or Popular page builders, WPVR comes with dedicated blocks and widgets to save you time when embedding your tour on your site.
|
88 |
|
89 |
+
| WPVR Gutenberg block | WPVR Elementor widget | Visual Composer Element | Oxygen Builder Element
|
90 |
|
91 |
+
If you use any other page builder, you can still publish the tour by using a shortcode, which is generated after you publish the tour.
|
92 |
|
93 |
+
**Use High Quality Images Without WordPress Restriction**
|
94 |
|
95 |
+
A good quality 360 panorama usually comes with very high resolution that can easily go over 3000 x 1500 pixels.
|
96 |
|
97 |
+
However, WordPress has the default large image handler which usually resizes images to below 2560 x 1280 pixels when you upload the image.
|
98 |
|
99 |
+
WPVR comes with the option to disable this restriction so that you can easily upload panoramic images that can be more that 3000 pixels in width.
|
100 |
|
101 |
**Control Editors and Authors from Accessing Tours**
|
102 |
|
103 |
Control the Editors and Authors of your site from accessing the virtual tours on your site.
|
104 |
|
105 |
+
**Mobile First VR Approach**
|
106 |
+
|
107 |
+
WPVR is designed with a mobile-friendly output in mind and all the tours you make will be fully responsive and weightless for mobile devices.
|
108 |
+
|
109 |
+
Simply enable the Auto-resize feature for mobile phones so that a lighter version of your panoramic images are generated. These are then used to view virtual tours on mobile devices.
|
110 |
+
|
111 |
==Who Should Use WP VR?==
|
112 |
|
113 |
+
- Real Estate Industry (Virtual home tours).
|
114 |
+
- Educational Institutes (Schools and colleges).
|
115 |
+
- Hotels and Resorts.
|
116 |
+
- Restaurants.
|
117 |
+
- Travel/Tourism.
|
118 |
+
- Museums.
|
119 |
+
- Art Galleries & Exhibitions.
|
120 |
+
- Car Showrooms.
|
121 |
+
- Furniture Showrooms.
|
122 |
+
- Clothing Stores.
|
123 |
+
- Grocery Stores.
|
124 |
- Bars/Pubs.
|
125 |
|
126 |
And many more.
|
127 |
|
128 |
To have more control over creating a virtual tour, learn about the [Premium version](https://rextheme.com/wpvr/).
|
129 |
|
130 |
+
==FREE FEATURES==
|
131 |
+
|
132 |
+
* An unlimited number of virtual tours.
|
133 |
+
* 360 Degree Video Support (Self-hosted, Youtube and Vimeo Videos).
|
134 |
+
* Shortcode Support.
|
135 |
+
* Gutenberg Block Support.
|
136 |
+
* Elementor Widget Support.
|
137 |
+
* Oxygen Builder Support.
|
138 |
+
* Live Preview of Tour On The Back-end.
|
139 |
+
* Tour Preview Image.
|
140 |
+
* Tour Autoload Feature.
|
141 |
+
* Scene Fade Animation.
|
142 |
+
* Auto Rotation with Speed Control.
|
143 |
+
* Auto Rotation Direction, Pause, and Stop control.
|
144 |
+
* Basic Control Buttons (Zoom In, Zoom Out, and Fullscreen).
|
145 |
+
* Mouse Drag Control on Virtual Tour.
|
146 |
+
* Zoom In and Out with Mouse Scroll on Virtual Tour.
|
147 |
+
* Zoom In and Out with ‘+’ and ‘-’ keyboard buttons.
|
148 |
+
* Add Multiple Scenes and Hotspots.
|
149 |
+
* Scene Type Hotspot to Connect Scenes.
|
150 |
+
* Info Type Hotspots to Give Information.
|
151 |
+
* On Hover and On-Click Content Option for Hotspots.
|
152 |
+
* Embed Texts, Videos, Images, GIFs, and Website Links on Hotspots.
|
153 |
+
* Hotspot Customization with Custom CSS.
|
154 |
+
* Full-width Tour Tag.
|
155 |
+
* Radius Tag for tour border-radius.
|
156 |
+
* Multi-Site Support.
|
157 |
+
* WP User Role Support (Editors and Authors).
|
158 |
+
* Disable FontAwesome Option.
|
159 |
+
* Disable WordPress Default Large Image Handler.
|
160 |
+
* Control Plugin Assets To Load on Specific Pages/posts Only.
|
161 |
+
* Enable Front-end notice for Mobile Visitors.
|
162 |
+
* Mobile Media Resize Option.
|
163 |
+
* Plugin Version Rollback Option.
|
164 |
+
* Support From the Support Forum.
|
165 |
|
166 |
==PREMIUM FEATURES==
|
167 |
|
168 |
+
* All Free Features.
|
169 |
+
* Unlimited Scenes and Hotspots (Up to 5 in the Free Version).
|
170 |
+
* 360 Video Autoplay and Loop.
|
171 |
+
* Google Street View Embed Support.
|
172 |
+
* Gyroscope Support for Mobile Devices.
|
173 |
+
* Auto Enable Gyroscope on Mobile Devices.
|
174 |
+
* Custom & Responsive Scene Gallery.
|
175 |
+
* Scene Titles on Each Scene.
|
176 |
+
* Scene Description (Author) & URL on Each Scene.
|
177 |
+
* Scene Titles & Thumbnails on Scene Gallery.
|
178 |
+
* Tour Background Music Support.
|
179 |
+
* Background Music Autoplay, Loop, & Pause Control.
|
180 |
+
* Set Your Company Logo on The Virtual Tour.
|
181 |
+
* Set Company Description on The Logo.
|
182 |
+
* Home Button to Go to The Default Scene.
|
183 |
+
* On-Screen Compass for Tours.
|
184 |
+
* Disable or Enable Keyboard Movement Control.
|
185 |
+
* Disable or Enable Keyboard Zoom Control.
|
186 |
+
* Global Zoom Settings for the entire Virtual Tour.
|
187 |
+
* Disable or Enable Mouse Drag Control.
|
188 |
+
* Disable or Enable Mouse Scroll Zoom.
|
189 |
+
* Fluent Forms Integration on Hotspots.
|
190 |
+
* Fill-up and Submit Booking/Contact Forms.
|
191 |
+
* WooCommerce Product Integration on Hotspots.
|
192 |
+
* Add To Cart Feature for WooCommerce Products on Hotspots.
|
193 |
+
* Advanced Control Buttons (Move Up, Down, Left, & Right).
|
194 |
+
* Customize Icons of Each Control Button (900+ Premium Icons).
|
195 |
+
* Customize Colors of Each Control Button (RGB, HSL, & HEX).
|
196 |
+
* Enable or Disable Each Control Button.
|
197 |
+
* Custom Default Scene Face for Each Scene.
|
198 |
+
* Default Scene Face For Target Scene.
|
199 |
+
* Partial Panorama (Mobile Panorama) Support.
|
200 |
+
* Scene Boundary Control (Horizontal & Vertical).
|
201 |
+
* Set Vertical Offset of Each Scene.
|
202 |
+
* Limit Vertical Scene Grab for Each Scene.
|
203 |
+
* Limit Horizontal Scene Grab for Each Scene.
|
204 |
+
* Control Max, Min, and Default Zoom for Each Scene.
|
205 |
+
* Customize Each Hotspot Icon (900+ Premium Icons).
|
206 |
+
* Color Picker for Hotspots (RGB, HSL, & HEX).
|
207 |
+
* Tour Export and Import (For WP VR Only).
|
208 |
+
* Duplicate Tours with One Click.
|
209 |
+
* Priority Support.
|
210 |
|
211 |
[Upgrade to Pro](https://rextheme.com/docs/wp-vr/how-to-upgrade-to-pro/)
|
212 |
|
214 |
|
215 |
**Upcoming Features**
|
216 |
|
217 |
+
- Floor Plan support.
|
218 |
+
- VR Glass/Cardboard support.
|
219 |
+
- Explainer Video option.
|
220 |
+
- Contact Form/Booking Option Button.
|
221 |
+
- Background Tour.
|
222 |
|
223 |
## Privacy Policy
|
224 |
WP VR uses [Appsero](https://appsero.com) SDK to collect some telemetry data upon user's confirmation. This helps us to troubleshoot problems faster & make product improvements.
|
225 |
|
226 |
+
Appsero SDK **does not gather any data by default.** The SDK only starts gathering basic telemetry data **when a user allows it via the admin notice**. We collect the data to ensure a great user experience for all our users.
|
227 |
|
228 |
Integrating Appsero SDK **DOES NOT IMMEDIATELY** start gathering data, **without confirmation from users in any case.**
|
229 |
|
241 |
|
242 |
=2. How to Install and Activate WP VR?=
|
243 |
|
244 |
+
Once you have downloaded the file, go to your dashboard. Under Plugins, select Add New, and upload the file. Then Install and activate the plugin.
|
245 |
|
246 |
Once activated, on the left side under your dashboard, you will find the option WP VR at the bottom.
|
247 |
|
253 |
|
254 |
=5. Can I Customize The Hotspot Icons?=
|
255 |
|
256 |
+
Yes. You can create a custom class on your theme, stating whatever style you want.
|
257 |
+
|
258 |
+
Then you can input the class name on the Hotspot Custom Class section in a hotspot, and the content displayed will be customized according to the style you set.
|
259 |
|
260 |
=6. Can I Create A 360 Degree Video Tour With WP VR?=
|
261 |
|
267 |
|
268 |
Under common blocks, you will find a block called WP VR. Select the block and on the dynamic toolbar on the right, you will get the options to add ID, Height, and Width.
|
269 |
|
270 |
+
Collect the ID from the virtual tour you created. Assign the height and width as you desire.
|
271 |
|
272 |
=8. The Tour Is Not Loading On The Webpage.=
|
273 |
|
316 |
|
317 |
== Changelog ==
|
318 |
|
319 |
+
= 7.3.1 (27-07-2021) =
|
320 |
+
* Update: Checked compatibility with WordPress 5.8.
|
321 |
+
* Fix: PHP Error Notice.
|
322 |
+
* Tweak: Dual Action Warning for Auto-Rotation redesigned & updated.
|
323 |
+
* Tweak: Invalid Pitch Value Warning redesigned & updated.
|
324 |
+
* Tweak: Invalid Yaw Value Warning redesigned & updated.
|
325 |
+
* Tweak: Invalid Default Zoom Value Warnings redesigned & updated.
|
326 |
+
* Tweak: Invalid Max-zoom Value Warning redesigned & updated.
|
327 |
+
* Tweak: Max-zoom Value Exceeded Warning redesigned & updated.
|
328 |
+
* Tweak: Invalid Min-zoom Value Warning redesigned & updated.
|
329 |
+
* Tweak: Low Min-zoom Value Warning redesigned & updated.
|
330 |
+
|
331 |
+
|
332 |
= 7.3.0 (18-06-2021) =
|
333 |
* Tweak: WP VR logo & Text Aligned on Dashboard.
|
334 |
* Tweak: Scene Image Missing Notice redesigned & updated.
|
admin/class-wpvr-admin.php
CHANGED
@@ -741,6 +741,11 @@ class Wpvr_Admin
|
|
741 |
$html .= '</div>';
|
742 |
$html .= '</div>';
|
743 |
//=Auto rotation stop delay=//
|
|
|
|
|
|
|
|
|
|
|
744 |
|
745 |
$html .= '</div>';
|
746 |
//===end right===//
|
741 |
$html .= '</div>';
|
742 |
$html .= '</div>';
|
743 |
//=Auto rotation stop delay=//
|
744 |
+
|
745 |
+
|
746 |
+
//=end backgound tour=//
|
747 |
+
|
748 |
+
|
749 |
|
750 |
$html .= '</div>';
|
751 |
//===end right===//
|
admin/class-wpvr-ajax.php
CHANGED
@@ -102,7 +102,8 @@ class Wpvr_Ajax {
|
|
102 |
$min_global_zoom = $_POST['minzoom'];
|
103 |
}
|
104 |
if (!empty($autorotationinactivedelay) && !empty($autorotationstopdelay)) {
|
105 |
-
wp_send_json_error('<
|
|
|
106 |
die();
|
107 |
}
|
108 |
|
@@ -129,7 +130,7 @@ class Wpvr_Ajax {
|
|
129 |
}
|
130 |
}
|
131 |
$panodata = $panolist;
|
132 |
-
|
133 |
//===Error Control and Validation===//
|
134 |
|
135 |
if ($panodata["scene-list"] != "") {
|
@@ -153,7 +154,7 @@ class Wpvr_Ajax {
|
|
153 |
$validate_scene_pitch = $scenes_val["scene-pitch"];
|
154 |
$validated_scene_pitch = preg_replace('/[^0-9.-]/','',$validate_scene_pitch);
|
155 |
if ($validated_scene_pitch != $validate_scene_pitch) {
|
156 |
-
wp_send_json_error('<
|
157 |
die();
|
158 |
}
|
159 |
}
|
@@ -162,7 +163,7 @@ class Wpvr_Ajax {
|
|
162 |
$validate_scene_yaw = $scenes_val["scene-yaw"];
|
163 |
$validated_scene_yaw = preg_replace('/[^0-9.-]/','',$validate_scene_yaw);
|
164 |
if ($validated_scene_yaw != $validate_scene_yaw) {
|
165 |
-
wp_send_json_error('<
|
166 |
die();
|
167 |
}
|
168 |
}
|
@@ -171,12 +172,13 @@ class Wpvr_Ajax {
|
|
171 |
$validate_default_zoom = $scenes_val["scene-zoom"];
|
172 |
$validated_default_zoom = preg_replace('/[^0-9-]/','',$validate_default_zoom);
|
173 |
if ($validated_default_zoom != $validate_default_zoom) {
|
174 |
-
wp_send_json_error('<
|
175 |
die();
|
176 |
}
|
177 |
$default_zoom_value = (int)$scenes_val["scene-zoom"];
|
178 |
if ($default_zoom_value > 120 || $default_zoom_value < 50) {
|
179 |
-
wp_send_json_error('<
|
|
|
180 |
die();
|
181 |
}
|
182 |
}
|
@@ -185,12 +187,13 @@ class Wpvr_Ajax {
|
|
185 |
$validate_max_zoom = $scenes_val["scene-maxzoom"];
|
186 |
$validated_max_zoom = preg_replace('/[^0-9-]/','',$validate_max_zoom);
|
187 |
if ($validated_max_zoom != $validate_max_zoom) {
|
188 |
-
wp_send_json_error('<
|
|
|
189 |
die();
|
190 |
}
|
191 |
$max_zoom_value = (int)$scenes_val["scene-maxzoom"];
|
192 |
if ($max_zoom_value > 120 ) {
|
193 |
-
wp_send_json_error('<
|
194 |
die();
|
195 |
}
|
196 |
}
|
@@ -199,12 +202,12 @@ class Wpvr_Ajax {
|
|
199 |
$validate_min_zoom = $scenes_val["scene-minzoom"];
|
200 |
$validated_min_zoom = preg_replace('/[^0-9-]/','',$validate_min_zoom);
|
201 |
if ($validated_min_zoom != $validate_min_zoom) {
|
202 |
-
wp_send_json_error('<
|
203 |
die();
|
204 |
}
|
205 |
$min_zoom_value = (int)$scenes_val["scene-minzoom"];
|
206 |
if ($min_zoom_value < 50 ) {
|
207 |
-
wp_send_json_error('<
|
208 |
die();
|
209 |
}
|
210 |
}
|
@@ -226,7 +229,8 @@ class Wpvr_Ajax {
|
|
226 |
if (!empty($hotspot_pitch_validate)) {
|
227 |
$hotspot_pitch_validated = preg_replace('/[^0-9.-]/','',$hotspot_pitch_validate);
|
228 |
if ($hotspot_pitch_validated != $hotspot_pitch_validate) {
|
229 |
-
wp_send_json_error('<
|
|
|
230 |
die();
|
231 |
}
|
232 |
}
|
@@ -235,7 +239,8 @@ class Wpvr_Ajax {
|
|
235 |
if (!empty($hotspot_yaw_validate)) {
|
236 |
$hotspot_yaw_validated = preg_replace('/[^0-9.-]/','',$hotspot_yaw_validate);
|
237 |
if ($hotspot_yaw_validated != $hotspot_yaw_validate) {
|
238 |
-
wp_send_json_error('<
|
|
|
239 |
die();
|
240 |
}
|
241 |
}
|
@@ -417,6 +422,7 @@ class Wpvr_Ajax {
|
|
417 |
}
|
418 |
|
419 |
$hotspot_datas = $panoscenes["hotspot-list"];
|
|
|
420 |
$hotspots = array();
|
421 |
foreach ($hotspot_datas as $hotspot_data) {
|
422 |
|
@@ -446,6 +452,7 @@ class Wpvr_Ajax {
|
|
446 |
"targetYaw"=>(float)$hotspot_data["hotspot-scene-yaw"],
|
447 |
'hotspot_type' => $hotspot_data['hotspot-type']
|
448 |
);
|
|
|
449 |
array_push($hotspots, $hotspot_info);
|
450 |
if (empty($hotspot_data["hotspot-scene"])) {
|
451 |
unset($hotspot_info['targetPitch']);
|
@@ -654,6 +661,7 @@ class Wpvr_Ajax {
|
|
654 |
$autoplay = '';
|
655 |
}
|
656 |
|
|
|
657 |
if ($loop == 'on') {
|
658 |
$loop = 'loop';
|
659 |
}
|
@@ -680,6 +688,7 @@ class Wpvr_Ajax {
|
|
680 |
$panoid ='';
|
681 |
$postid = sanitize_text_field($_POST['postid']);
|
682 |
$prevtext = sanitize_text_field($_POST['previewtext']);
|
|
|
683 |
$previewtext = '';
|
684 |
if(strlen($prevtext) <= 50 ){
|
685 |
$previewtext = $prevtext;
|
@@ -699,18 +708,22 @@ class Wpvr_Ajax {
|
|
699 |
$min_global_zoom = $_POST['minzoom'];
|
700 |
}
|
701 |
|
702 |
-
$
|
703 |
-
|
704 |
-
$
|
705 |
-
|
706 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
707 |
}
|
708 |
-
|
709 |
-
$streetviewarray = array(__( "panoid" )=>$panoid,__( "streetviewdata" )=>$html,__( "streetviewurl" )=>$streetviewurl,__( "streetview" )=>$streetview);
|
710 |
-
update_post_meta( $postid, 'panodata', $streetviewarray );
|
711 |
-
die();
|
712 |
}
|
713 |
-
|
|
|
714 |
$pnovideo = $_POST['panovideo'];
|
715 |
if ($pnovideo == "on") {
|
716 |
|
@@ -803,14 +816,14 @@ class Wpvr_Ajax {
|
|
803 |
$vidautoplay = '';
|
804 |
// $vidautoplay = sanitize_text_field($_POST['vidautoplay']);
|
805 |
$vidautoplay = sanitize_text_field($_POST['autoplay']);
|
806 |
-
|
807 |
if ($autoplay == 'on') {
|
808 |
$autoplay = 'autoplay muted';
|
809 |
}
|
810 |
else {
|
811 |
$autoplay = '';
|
812 |
}
|
813 |
-
|
814 |
if ($loop == 'on') {
|
815 |
$loop = 'loop';
|
816 |
}
|
@@ -830,7 +843,7 @@ class Wpvr_Ajax {
|
|
830 |
|
831 |
|
832 |
$videoarray = array();
|
833 |
-
$videoarray = array(__( "panoid" )=>$panoid,__( "panoviddata" )=>$html,__( "vidid" )=>$vidid,__( "vidurl" )=>$videourl,__( "autoplay" )=>$
|
834 |
update_post_meta( $postid, 'panodata', $videoarray );
|
835 |
die();
|
836 |
}
|
@@ -965,7 +978,7 @@ class Wpvr_Ajax {
|
|
965 |
|
966 |
|
967 |
if (!empty($autorotationinactivedelay) && !empty($autorotationstopdelay)) {
|
968 |
-
wp_send_json_error('<
|
969 |
die();
|
970 |
}
|
971 |
|
@@ -979,6 +992,8 @@ class Wpvr_Ajax {
|
|
979 |
//===Company Logo===//
|
980 |
|
981 |
|
|
|
|
|
982 |
$scene_fade_duration = '';
|
983 |
$scene_fade_duration = $_POST['scenefadeduration'];
|
984 |
|
@@ -990,19 +1005,23 @@ class Wpvr_Ajax {
|
|
990 |
foreach ($panodata["scene-list"] as $scenes_data) {
|
991 |
$temp_array = array();
|
992 |
$temp_array = (array)$scenes_data;
|
|
|
|
|
993 |
if ($temp_array['hotspot-list']) {
|
994 |
$_hotspot_array = array();
|
995 |
foreach ($temp_array['hotspot-list'] as $temp_hotspot) {
|
|
|
996 |
$temp_hotspot = (array)$temp_hotspot;
|
997 |
$_hotspot_array[] = $temp_hotspot;
|
998 |
}
|
999 |
}
|
|
|
1000 |
$temp_array['hotspot-list'] = $_hotspot_array;
|
1001 |
$panolist['scene-list'][] = $temp_array;
|
1002 |
}
|
1003 |
}
|
1004 |
$panodata = $panolist;
|
1005 |
-
|
1006 |
//===Error Control and Validation===//
|
1007 |
|
1008 |
if ($panodata["scene-list"] != "") {
|
@@ -1025,7 +1044,7 @@ class Wpvr_Ajax {
|
|
1025 |
$validate_scene_pitch = $scenes_val["scene-pitch"];
|
1026 |
$validated_scene_pitch = preg_replace('/[^0-9.-]/','',$validate_scene_pitch);
|
1027 |
if ($validated_scene_pitch != $validate_scene_pitch) {
|
1028 |
-
wp_send_json_error('<
|
1029 |
die();
|
1030 |
}
|
1031 |
}
|
@@ -1034,7 +1053,7 @@ class Wpvr_Ajax {
|
|
1034 |
$validate_scene_yaw = $scenes_val["scene-yaw"];
|
1035 |
$validated_scene_yaw = preg_replace('/[^0-9.-]/','',$validate_scene_yaw);
|
1036 |
if ($validated_scene_yaw != $validate_scene_yaw) {
|
1037 |
-
wp_send_json_error('<
|
1038 |
die();
|
1039 |
}
|
1040 |
}
|
@@ -1043,12 +1062,14 @@ class Wpvr_Ajax {
|
|
1043 |
$validate_default_zoom = $scenes_val["scene-zoom"];
|
1044 |
$validated_default_zoom = preg_replace('/[^0-9-]/','',$validate_default_zoom);
|
1045 |
if ($validated_default_zoom != $validate_default_zoom) {
|
1046 |
-
wp_send_json_error('<
|
|
|
1047 |
die();
|
1048 |
}
|
1049 |
$default_zoom_value = (int)$scenes_val["scene-zoom"];
|
1050 |
if ($default_zoom_value > 120 || $default_zoom_value < 50) {
|
1051 |
-
wp_send_json_error('<
|
|
|
1052 |
die();
|
1053 |
}
|
1054 |
}
|
@@ -1057,12 +1078,14 @@ class Wpvr_Ajax {
|
|
1057 |
$validate_max_zoom = $scenes_val["scene-maxzoom"];
|
1058 |
$validated_max_zoom = preg_replace('/[^0-9-]/','',$validate_max_zoom);
|
1059 |
if ($validated_max_zoom != $validate_max_zoom) {
|
1060 |
-
wp_send_json_error('<
|
|
|
1061 |
die();
|
1062 |
}
|
1063 |
$max_zoom_value = (int)$scenes_val["scene-maxzoom"];
|
1064 |
if ($max_zoom_value > 120 ) {
|
1065 |
-
wp_send_json_error('<
|
|
|
1066 |
die();
|
1067 |
}
|
1068 |
}
|
@@ -1071,12 +1094,12 @@ class Wpvr_Ajax {
|
|
1071 |
$validate_min_zoom = $scenes_val["scene-minzoom"];
|
1072 |
$validated_min_zoom = preg_replace('/[^0-9-]/','',$validate_min_zoom);
|
1073 |
if ($validated_min_zoom != $validate_min_zoom) {
|
1074 |
-
wp_send_json_error('<
|
1075 |
die();
|
1076 |
}
|
1077 |
$min_zoom_value = (int)$scenes_val["scene-minzoom"];
|
1078 |
if ($min_zoom_value < 50 ) {
|
1079 |
-
wp_send_json_error('<
|
1080 |
die();
|
1081 |
}
|
1082 |
}
|
@@ -1100,7 +1123,9 @@ class Wpvr_Ajax {
|
|
1100 |
if (!empty($hotspot_pitch_validate)) {
|
1101 |
$hotspot_pitch_validated = preg_replace('/[^0-9.-]/','',$hotspot_pitch_validate);
|
1102 |
if ($hotspot_pitch_validated != $hotspot_pitch_validate) {
|
1103 |
-
wp_send_json_error('<
|
|
|
|
|
1104 |
die();
|
1105 |
}
|
1106 |
}
|
@@ -1113,7 +1138,8 @@ class Wpvr_Ajax {
|
|
1113 |
if (!empty($hotspot_yaw_validate)) {
|
1114 |
$hotspot_yaw_validated = preg_replace('/[^0-9.-]/','',$hotspot_yaw_validate);
|
1115 |
if ($hotspot_yaw_validated != $hotspot_yaw_validate) {
|
1116 |
-
wp_send_json_error('<
|
|
|
1117 |
die();
|
1118 |
}
|
1119 |
}
|
@@ -1181,7 +1207,7 @@ class Wpvr_Ajax {
|
|
1181 |
}
|
1182 |
}
|
1183 |
//===Error Control and Validation===//
|
1184 |
-
|
1185 |
foreach ($panodata["scene-list"] as $panoscenes) {
|
1186 |
if (empty($panoscenes['scene-id']) && !empty($panoscenes['scene-attachment-url'])) {
|
1187 |
wp_send_json_error('<span class="pano-error-title">Missing Scene ID</span> <p>Please assign a unique Scene ID to your uploaded scene.</p>');
|
102 |
$min_global_zoom = $_POST['minzoom'];
|
103 |
}
|
104 |
if (!empty($autorotationinactivedelay) && !empty($autorotationstopdelay)) {
|
105 |
+
wp_send_json_error('<span class="pano-error-title">Dual Action Error for Auto-Rotation</span><p> You can not use both Resume Auto-rotation & Stop Auto-rotation on the same tour. You can use only one of them.</p>');
|
106 |
+
|
107 |
die();
|
108 |
}
|
109 |
|
130 |
}
|
131 |
}
|
132 |
$panodata = $panolist;
|
133 |
+
|
134 |
//===Error Control and Validation===//
|
135 |
|
136 |
if ($panodata["scene-list"] != "") {
|
154 |
$validate_scene_pitch = $scenes_val["scene-pitch"];
|
155 |
$validated_scene_pitch = preg_replace('/[^0-9.-]/','',$validate_scene_pitch);
|
156 |
if ($validated_scene_pitch != $validate_scene_pitch) {
|
157 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Pitch Value</span><p> The Pitch Value can only contain float numbers where Scene ID: '.$scene_id_validate.'</p>');
|
158 |
die();
|
159 |
}
|
160 |
}
|
163 |
$validate_scene_yaw = $scenes_val["scene-yaw"];
|
164 |
$validated_scene_yaw = preg_replace('/[^0-9.-]/','',$validate_scene_yaw);
|
165 |
if ($validated_scene_yaw != $validate_scene_yaw) {
|
166 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Yaw Value</span><p> The Yaw Value can only contain float numbers where Scene ID: '.$scene_id_validate.'</p>');
|
167 |
die();
|
168 |
}
|
169 |
}
|
172 |
$validate_default_zoom = $scenes_val["scene-zoom"];
|
173 |
$validated_default_zoom = preg_replace('/[^0-9-]/','',$validate_default_zoom);
|
174 |
if ($validated_default_zoom != $validate_default_zoom) {
|
175 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Default Zoom Value</span><p> You can only set Default Zoom in Degree values from 50 to 120 where Scene ID: '.$scene_id_validate.'</p>');
|
176 |
die();
|
177 |
}
|
178 |
$default_zoom_value = (int)$scenes_val["scene-zoom"];
|
179 |
if ($default_zoom_value > 120 || $default_zoom_value < 50) {
|
180 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Default Zoom Value</span><p> You can only set Default Zoom in Degree values from 50 to 120 where Scene ID: '.$scene_id_validate.'</p>');
|
181 |
+
|
182 |
die();
|
183 |
}
|
184 |
}
|
187 |
$validate_max_zoom = $scenes_val["scene-maxzoom"];
|
188 |
$validated_max_zoom = preg_replace('/[^0-9-]/','',$validate_max_zoom);
|
189 |
if ($validated_max_zoom != $validate_max_zoom) {
|
190 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Max-zoom Value:</span><p> You can only set Max-zoom in degree values (50-120) where Scene ID: '.$scene_id_validate.'</p>');
|
191 |
+
|
192 |
die();
|
193 |
}
|
194 |
$max_zoom_value = (int)$scenes_val["scene-maxzoom"];
|
195 |
if ($max_zoom_value > 120 ) {
|
196 |
+
wp_send_json_error('<span class="pano-error-title">Max-zoom Value Limit Exceeded</span><p> You can set the Max-zoom Value up to 120 degrees.</p>');
|
197 |
die();
|
198 |
}
|
199 |
}
|
202 |
$validate_min_zoom = $scenes_val["scene-minzoom"];
|
203 |
$validated_min_zoom = preg_replace('/[^0-9-]/','',$validate_min_zoom);
|
204 |
if ($validated_min_zoom != $validate_min_zoom) {
|
205 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Min-zoom Value</span><p> You can only set Min-zoom in degree values (50-120) where Scene ID: '.$scene_id_validate.'</p>');
|
206 |
die();
|
207 |
}
|
208 |
$min_zoom_value = (int)$scenes_val["scene-minzoom"];
|
209 |
if ($min_zoom_value < 50 ) {
|
210 |
+
wp_send_json_error('<span class="pano-error-title">Low Min-Zoom Value</span><p> The Min-zoom value must be more than 50 in degree values where Scene ID: '.$scene_id_validate.'</p>');
|
211 |
die();
|
212 |
}
|
213 |
}
|
229 |
if (!empty($hotspot_pitch_validate)) {
|
230 |
$hotspot_pitch_validated = preg_replace('/[^0-9.-]/','',$hotspot_pitch_validate);
|
231 |
if ($hotspot_pitch_validated != $hotspot_pitch_validate) {
|
232 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Pitch Value</span> <p>The Pitch Value can only contain float numbers where Scene ID: '.$scene_id_validate.' Hotspot ID is: '.$hotspot_title_validate.'</p>');
|
233 |
+
|
234 |
die();
|
235 |
}
|
236 |
}
|
239 |
if (!empty($hotspot_yaw_validate)) {
|
240 |
$hotspot_yaw_validated = preg_replace('/[^0-9.-]/','',$hotspot_yaw_validate);
|
241 |
if ($hotspot_yaw_validated != $hotspot_yaw_validate) {
|
242 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Yaw Value</span> <p>The Yaw Value can only contain float numbers where Scene ID: '.$scene_id_validate.' Hotspot ID is: '.$hotspot_title_validate.'</p>');
|
243 |
+
|
244 |
die();
|
245 |
}
|
246 |
}
|
422 |
}
|
423 |
|
424 |
$hotspot_datas = $panoscenes["hotspot-list"];
|
425 |
+
|
426 |
$hotspots = array();
|
427 |
foreach ($hotspot_datas as $hotspot_data) {
|
428 |
|
452 |
"targetYaw"=>(float)$hotspot_data["hotspot-scene-yaw"],
|
453 |
'hotspot_type' => $hotspot_data['hotspot-type']
|
454 |
);
|
455 |
+
|
456 |
array_push($hotspots, $hotspot_info);
|
457 |
if (empty($hotspot_data["hotspot-scene"])) {
|
458 |
unset($hotspot_info['targetPitch']);
|
661 |
$autoplay = '';
|
662 |
}
|
663 |
|
664 |
+
|
665 |
if ($loop == 'on') {
|
666 |
$loop = 'loop';
|
667 |
}
|
688 |
$panoid ='';
|
689 |
$postid = sanitize_text_field($_POST['postid']);
|
690 |
$prevtext = sanitize_text_field($_POST['previewtext']);
|
691 |
+
// error_log(print_r($_POST['customColor'],1));
|
692 |
$previewtext = '';
|
693 |
if(strlen($prevtext) <= 50 ){
|
694 |
$previewtext = $prevtext;
|
708 |
$min_global_zoom = $_POST['minzoom'];
|
709 |
}
|
710 |
|
711 |
+
if(isset($_POST['streetview'])){
|
712 |
+
$streetview = $_POST['streetview'];
|
713 |
+
if ($streetview == 'on') {
|
714 |
+
$streetviewurl = esc_url_raw($_POST['streetviewurl']);
|
715 |
+
if ($streetviewurl) {
|
716 |
+
$html .= '<iframe src="'.$streetviewurl.'" width="600" height="400" frameborder="0" style="border:0;" allowfullscreen=""></iframe>';
|
717 |
+
}
|
718 |
+
$streetviewarray = array();
|
719 |
+
$streetviewarray = array(__( "panoid" )=>$panoid,__( "streetviewdata" )=>$html,__( "streetviewurl" )=>$streetviewurl,__( "streetview" )=>$streetview);
|
720 |
+
update_post_meta( $postid, 'panodata', $streetviewarray );
|
721 |
+
die();
|
722 |
}
|
723 |
+
|
|
|
|
|
|
|
724 |
}
|
725 |
+
|
726 |
+
|
727 |
$pnovideo = $_POST['panovideo'];
|
728 |
if ($pnovideo == "on") {
|
729 |
|
816 |
$vidautoplay = '';
|
817 |
// $vidautoplay = sanitize_text_field($_POST['vidautoplay']);
|
818 |
$vidautoplay = sanitize_text_field($_POST['autoplay']);
|
819 |
+
|
820 |
if ($autoplay == 'on') {
|
821 |
$autoplay = 'autoplay muted';
|
822 |
}
|
823 |
else {
|
824 |
$autoplay = '';
|
825 |
}
|
826 |
+
|
827 |
if ($loop == 'on') {
|
828 |
$loop = 'loop';
|
829 |
}
|
843 |
|
844 |
|
845 |
$videoarray = array();
|
846 |
+
$videoarray = array(__( "panoid" )=>$panoid,__( "panoviddata" )=>$html,__( "vidid" )=>$vidid,__( "vidurl" )=>$videourl,__( "autoplay" )=>$autoplay,__( "loop" )=>$vidloop,__( "vidtype" )=>$vidtype);
|
847 |
update_post_meta( $postid, 'panodata', $videoarray );
|
848 |
die();
|
849 |
}
|
978 |
|
979 |
|
980 |
if (!empty($autorotationinactivedelay) && !empty($autorotationstopdelay)) {
|
981 |
+
wp_send_json_error('<span class="pano-error-title">Dual Action Error for Auto-Rotation</span><p> You can not use both Resume Auto-rotation & Stop Auto-rotation on the same tour. You can use only one of them.</p>');
|
982 |
die();
|
983 |
}
|
984 |
|
992 |
//===Company Logo===//
|
993 |
|
994 |
|
995 |
+
// update_post_meta($postid,'hotspot_colors',$_POST['customColor']);
|
996 |
+
|
997 |
$scene_fade_duration = '';
|
998 |
$scene_fade_duration = $_POST['scenefadeduration'];
|
999 |
|
1005 |
foreach ($panodata["scene-list"] as $scenes_data) {
|
1006 |
$temp_array = array();
|
1007 |
$temp_array = (array)$scenes_data;
|
1008 |
+
// $scene_id_ = $temp_array["scene-id"];
|
1009 |
+
|
1010 |
if ($temp_array['hotspot-list']) {
|
1011 |
$_hotspot_array = array();
|
1012 |
foreach ($temp_array['hotspot-list'] as $temp_hotspot) {
|
1013 |
+
|
1014 |
$temp_hotspot = (array)$temp_hotspot;
|
1015 |
$_hotspot_array[] = $temp_hotspot;
|
1016 |
}
|
1017 |
}
|
1018 |
+
|
1019 |
$temp_array['hotspot-list'] = $_hotspot_array;
|
1020 |
$panolist['scene-list'][] = $temp_array;
|
1021 |
}
|
1022 |
}
|
1023 |
$panodata = $panolist;
|
1024 |
+
|
1025 |
//===Error Control and Validation===//
|
1026 |
|
1027 |
if ($panodata["scene-list"] != "") {
|
1044 |
$validate_scene_pitch = $scenes_val["scene-pitch"];
|
1045 |
$validated_scene_pitch = preg_replace('/[^0-9.-]/','',$validate_scene_pitch);
|
1046 |
if ($validated_scene_pitch != $validate_scene_pitch) {
|
1047 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Pitch Value</span><p> The Pitch Value can only contain float numbers where Scene ID: '.$scene_id_validate.'</p>');
|
1048 |
die();
|
1049 |
}
|
1050 |
}
|
1053 |
$validate_scene_yaw = $scenes_val["scene-yaw"];
|
1054 |
$validated_scene_yaw = preg_replace('/[^0-9.-]/','',$validate_scene_yaw);
|
1055 |
if ($validated_scene_yaw != $validate_scene_yaw) {
|
1056 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Yaw Value</span><p> The Yaw Value can only contain float numbers where Scene ID: '.$scene_id_validate.'</p>');
|
1057 |
die();
|
1058 |
}
|
1059 |
}
|
1062 |
$validate_default_zoom = $scenes_val["scene-zoom"];
|
1063 |
$validated_default_zoom = preg_replace('/[^0-9-]/','',$validate_default_zoom);
|
1064 |
if ($validated_default_zoom != $validate_default_zoom) {
|
1065 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Default Zoom Value</span><p> You can only set Default Zoom in Degree values from 50 to 120 where Scene ID: '.$scene_id_validate.'</p>');
|
1066 |
+
|
1067 |
die();
|
1068 |
}
|
1069 |
$default_zoom_value = (int)$scenes_val["scene-zoom"];
|
1070 |
if ($default_zoom_value > 120 || $default_zoom_value < 50) {
|
1071 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Default Zoom Value</span><p> You can only set Default Zoom in Degree values from 50 to 120 where Scene ID: '.$scene_id_validate.'</p>');
|
1072 |
+
|
1073 |
die();
|
1074 |
}
|
1075 |
}
|
1078 |
$validate_max_zoom = $scenes_val["scene-maxzoom"];
|
1079 |
$validated_max_zoom = preg_replace('/[^0-9-]/','',$validate_max_zoom);
|
1080 |
if ($validated_max_zoom != $validate_max_zoom) {
|
1081 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Max-zoom Value:</span><p> You can only set Max-zoom in degree values (50-120) where Scene ID: '.$scene_id_validate.'</p>');
|
1082 |
+
|
1083 |
die();
|
1084 |
}
|
1085 |
$max_zoom_value = (int)$scenes_val["scene-maxzoom"];
|
1086 |
if ($max_zoom_value > 120 ) {
|
1087 |
+
wp_send_json_error('<span class="pano-error-title">Max-zoom Value Limit Exceeded</span><p> You can set the Max-zoom Value up to 120 degrees.</p>');
|
1088 |
+
|
1089 |
die();
|
1090 |
}
|
1091 |
}
|
1094 |
$validate_min_zoom = $scenes_val["scene-minzoom"];
|
1095 |
$validated_min_zoom = preg_replace('/[^0-9-]/','',$validate_min_zoom);
|
1096 |
if ($validated_min_zoom != $validate_min_zoom) {
|
1097 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Min-zoom Value</span><p> You can only set Min-zoom in degree values (50-120) where Scene ID: '.$scene_id_validate.'</p>');
|
1098 |
die();
|
1099 |
}
|
1100 |
$min_zoom_value = (int)$scenes_val["scene-minzoom"];
|
1101 |
if ($min_zoom_value < 50 ) {
|
1102 |
+
wp_send_json_error('<span class="pano-error-title">Low Min-Zoom Value</span><p> The Min-zoom value must be more than 50 in degree values where Scene ID: '.$scene_id_validate.'</p>');
|
1103 |
die();
|
1104 |
}
|
1105 |
}
|
1123 |
if (!empty($hotspot_pitch_validate)) {
|
1124 |
$hotspot_pitch_validated = preg_replace('/[^0-9.-]/','',$hotspot_pitch_validate);
|
1125 |
if ($hotspot_pitch_validated != $hotspot_pitch_validate) {
|
1126 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Pitch Value</span> <p>The Pitch Value can only contain float numbers where Scene ID: '.$scene_id_validate.' Hotspot ID is: '.$hotspot_title_validate.'</p>');
|
1127 |
+
|
1128 |
+
|
1129 |
die();
|
1130 |
}
|
1131 |
}
|
1138 |
if (!empty($hotspot_yaw_validate)) {
|
1139 |
$hotspot_yaw_validated = preg_replace('/[^0-9.-]/','',$hotspot_yaw_validate);
|
1140 |
if ($hotspot_yaw_validated != $hotspot_yaw_validate) {
|
1141 |
+
wp_send_json_error('<span class="pano-error-title">Invalid Yaw Value</span> <p>The Yaw Value can only contain float numbers where Scene ID: '.$scene_id_validate.' Hotspot ID is: '.$hotspot_title_validate.'</p>');
|
1142 |
+
|
1143 |
die();
|
1144 |
}
|
1145 |
}
|
1207 |
}
|
1208 |
}
|
1209 |
//===Error Control and Validation===//
|
1210 |
+
|
1211 |
foreach ($panodata["scene-list"] as $panoscenes) {
|
1212 |
if (empty($panoscenes['scene-id']) && !empty($panoscenes['scene-attachment-url'])) {
|
1213 |
wp_send_json_error('<span class="pano-error-title">Missing Scene ID</span> <p>Please assign a unique Scene ID to your uploaded scene.</p>');
|
admin/css/wpvr-admin.css
CHANGED
@@ -821,6 +821,7 @@ div.custom-tooltip:hover span:after {
|
|
821 |
}
|
822 |
|
823 |
.rex-pano-tab-content .rex-pano-tab.streetview,
|
|
|
824 |
.rex-pano-tab-content .rex-pano-tab.video,
|
825 |
.rex-pano-tab-content .rex-pano-tab.export,
|
826 |
.rex-pano-tab-content .rex-pano-tab.general {
|
@@ -1640,6 +1641,7 @@ div.custom-tooltip:hover span:after {
|
|
1640 |
}
|
1641 |
|
1642 |
.rex-pano-tab.streetview .single-settings .field-tooltip,
|
|
|
1643 |
.rex-pano-tab.general .single-settings .field-tooltip {
|
1644 |
position: relative;
|
1645 |
top: 2px;
|
@@ -1666,6 +1668,7 @@ div.custom-tooltip:hover span:after {
|
|
1666 |
}
|
1667 |
|
1668 |
.rex-pano-tab.streetview .single-settings .field-tooltip i,
|
|
|
1669 |
.single-scene .scene-setting .field-tooltip i,
|
1670 |
.hotspot-setup .hotspot-setting.custom-icon .field-tooltip i,
|
1671 |
.rex-pano-tab.general .single-settings .field-tooltip i {
|
@@ -1674,6 +1677,7 @@ div.custom-tooltip:hover span:after {
|
|
1674 |
}
|
1675 |
|
1676 |
.rex-pano-tab.streetview .single-settings .field-tooltip span,
|
|
|
1677 |
.single-scene .scene-setting .field-tooltip span,
|
1678 |
.hotspot-setup .hotspot-setting.custom-icon .field-tooltip span,
|
1679 |
.rex-pano-tab.general .single-settings .field-tooltip span {
|
@@ -1706,6 +1710,7 @@ div.custom-tooltip:hover span:after {
|
|
1706 |
}
|
1707 |
|
1708 |
.rex-pano-tab.streetview .single-settings .field-tooltip span:before,
|
|
|
1709 |
.single-scene .scene-setting .field-tooltip span:before,
|
1710 |
.hotspot-setup .hotspot-setting.custom-icon .field-tooltip span:before,
|
1711 |
.rex-pano-tab.general .single-settings .field-tooltip span:before {
|
@@ -1725,7 +1730,10 @@ div.custom-tooltip:hover span:after {
|
|
1725 |
transform: translateY(-50%);
|
1726 |
}
|
1727 |
|
|
|
|
|
1728 |
.rex-pano-tab.streetview .single-settings .field-tooltip:hover span,
|
|
|
1729 |
.single-scene .scene-setting .field-tooltip:hover span,
|
1730 |
.hotspot-setup .hotspot-setting.custom-icon .field-tooltip:hover span,
|
1731 |
.rex-pano-tab.general .single-settings .field-tooltip:hover span {
|
@@ -1733,6 +1741,8 @@ div.custom-tooltip:hover span:after {
|
|
1733 |
visibility: visible;
|
1734 |
}
|
1735 |
|
|
|
|
|
1736 |
.rex-pano-tab-content .general .inner-nav-content .right .field-tooltip span {
|
1737 |
bottom: calc(100% + 13px);
|
1738 |
top: initial;
|
@@ -2444,6 +2454,7 @@ button.delete-scene {
|
|
2444 |
border-radius: 10px;
|
2445 |
}
|
2446 |
.rex-pano-tab-content .rex-pano-tab.streetview,
|
|
|
2447 |
.rex-pano-tab-content .rex-pano-tab.video,
|
2448 |
.rex-pano-tab-content .rex-pano-tab.export,
|
2449 |
.rex-pano-tab-content .rex-pano-tab.general {
|
821 |
}
|
822 |
|
823 |
.rex-pano-tab-content .rex-pano-tab.streetview,
|
824 |
+
.rex-pano-tab-content .rex-pano-tab.backgroundTour,
|
825 |
.rex-pano-tab-content .rex-pano-tab.video,
|
826 |
.rex-pano-tab-content .rex-pano-tab.export,
|
827 |
.rex-pano-tab-content .rex-pano-tab.general {
|
1641 |
}
|
1642 |
|
1643 |
.rex-pano-tab.streetview .single-settings .field-tooltip,
|
1644 |
+
.rex-pano-tab.backgroundTour .single-settings .field-tooltip,
|
1645 |
.rex-pano-tab.general .single-settings .field-tooltip {
|
1646 |
position: relative;
|
1647 |
top: 2px;
|
1668 |
}
|
1669 |
|
1670 |
.rex-pano-tab.streetview .single-settings .field-tooltip i,
|
1671 |
+
.rex-pano-tab.backgroundTour .single-settings .field-tooltip i,
|
1672 |
.single-scene .scene-setting .field-tooltip i,
|
1673 |
.hotspot-setup .hotspot-setting.custom-icon .field-tooltip i,
|
1674 |
.rex-pano-tab.general .single-settings .field-tooltip i {
|
1677 |
}
|
1678 |
|
1679 |
.rex-pano-tab.streetview .single-settings .field-tooltip span,
|
1680 |
+
.rex-pano-tab.backgroundTour .single-settings .field-tooltip span,
|
1681 |
.single-scene .scene-setting .field-tooltip span,
|
1682 |
.hotspot-setup .hotspot-setting.custom-icon .field-tooltip span,
|
1683 |
.rex-pano-tab.general .single-settings .field-tooltip span {
|
1710 |
}
|
1711 |
|
1712 |
.rex-pano-tab.streetview .single-settings .field-tooltip span:before,
|
1713 |
+
.rex-pano-tab.backgroundTour .single-settings .field-tooltip span:before,
|
1714 |
.single-scene .scene-setting .field-tooltip span:before,
|
1715 |
.hotspot-setup .hotspot-setting.custom-icon .field-tooltip span:before,
|
1716 |
.rex-pano-tab.general .single-settings .field-tooltip span:before {
|
1730 |
transform: translateY(-50%);
|
1731 |
}
|
1732 |
|
1733 |
+
|
1734 |
+
|
1735 |
.rex-pano-tab.streetview .single-settings .field-tooltip:hover span,
|
1736 |
+
.rex-pano-tab.backgroundTour .single-settings .field-tooltip:hover span,
|
1737 |
.single-scene .scene-setting .field-tooltip:hover span,
|
1738 |
.hotspot-setup .hotspot-setting.custom-icon .field-tooltip:hover span,
|
1739 |
.rex-pano-tab.general .single-settings .field-tooltip:hover span {
|
1741 |
visibility: visible;
|
1742 |
}
|
1743 |
|
1744 |
+
|
1745 |
+
|
1746 |
.rex-pano-tab-content .general .inner-nav-content .right .field-tooltip span {
|
1747 |
bottom: calc(100% + 13px);
|
1748 |
top: initial;
|
2454 |
border-radius: 10px;
|
2455 |
}
|
2456 |
.rex-pano-tab-content .rex-pano-tab.streetview,
|
2457 |
+
.rex-pano-tab-content .rex-pano-tab.backgroundTour,
|
2458 |
.rex-pano-tab-content .rex-pano-tab.video,
|
2459 |
.rex-pano-tab-content .rex-pano-tab.export,
|
2460 |
.rex-pano-tab-content .rex-pano-tab.general {
|
admin/js/owl.carousel.js
CHANGED
@@ -196,6 +196,7 @@
|
|
196 |
merge: false,
|
197 |
mergeFit: true,
|
198 |
autoWidth: false,
|
|
|
199 |
|
200 |
startPosition: 0,
|
201 |
rtl: false,
|
196 |
merge: false,
|
197 |
mergeFit: true,
|
198 |
autoWidth: false,
|
199 |
+
|
200 |
|
201 |
startPosition: 0,
|
202 |
rtl: false,
|
admin/js/wpvr-admin.js
CHANGED
@@ -36,6 +36,7 @@
|
|
36 |
$(".vrowl-carousel").owlCarousel({
|
37 |
margin: 10,
|
38 |
autoWidth: true,
|
|
|
39 |
});
|
40 |
|
41 |
var primary_markng = $('#scene-1').find('input.sceneid').val();
|
@@ -266,11 +267,13 @@
|
|
266 |
var previewtext = $('.previewtext').val();
|
267 |
if ($('.scene-setup')[0]) {
|
268 |
var panodata = $('.scene-setup').repeaterVal();
|
|
|
269 |
var panolist = JSON.stringify(panodata);
|
270 |
} else {
|
271 |
var panodata = '';
|
272 |
var panolist = '';
|
273 |
}
|
|
|
274 |
|
275 |
jQuery.ajax({
|
276 |
|
@@ -840,6 +843,12 @@
|
|
840 |
});
|
841 |
|
842 |
|
|
|
|
|
|
|
|
|
|
|
|
|
843 |
$(document).on("change", "input[type=radio][name=panovideo]", function(event) {
|
844 |
var getvalue = $(this).val();
|
845 |
if (getvalue == 'on') {
|
@@ -1081,35 +1090,8 @@
|
|
1081 |
$('html, body').animate({
|
1082 |
scrollTop: $("#error_occured").offset().top
|
1083 |
}, 500);
|
1084 |
-
// $('#confirm_text').html('Default scene updated');
|
1085 |
-
// $('.wpvr-delete-alert-wrapper').addClass('pano-error-color').css('display', 'flex');
|
1086 |
-
// $('.wpvr-delete-alert-wrapper .cancel').css('display', 'none');
|
1087 |
-
// $('.wpvr-delete-confirm-btn .yes').css('background', '#004EFA');
|
1088 |
-
// $('.wpvr-delete-confirm-btn .yes').css('color', '#fff');
|
1089 |
-
// $('.wpvr-delete-confirm-btn .yes').html('Ok');
|
1090 |
-
// var _this = $(this);
|
1091 |
-
|
1092 |
-
// $('.wpvr-delete-confirm-btn .yes').click(function(e){
|
1093 |
-
|
1094 |
-
// $('.wpvr-delete-alert-wrapper').removeClass('pano-error-color').css('display', 'none');
|
1095 |
-
// $('.wpvr-delete-alert-wrapper .cancel').css('display', 'flex');
|
1096 |
-
// $('.wpvr-delete-alert-wrapper').hide();
|
1097 |
-
// $('.wpvr-delete-confirm-btn .yes').css('background', '#eee');
|
1098 |
-
// $('.wpvr-delete-confirm-btn .yes').css('color', '#333');
|
1099 |
-
// $('.wpvr-delete-confirm-btn .yes').html('Yes');
|
1100 |
-
// });
|
1101 |
-
// $(document).on("click", ".wpvr-delete-alert-wrapper .cross", function(e) {
|
1102 |
-
// e.preventDefault();
|
1103 |
-
// $('.wpvr-delete-alert-wrapper').removeClass('pano-error-color').css('display', 'none');
|
1104 |
-
// $('.wpvr-delete-alert-wrapper .cancel').css('display', 'flex');
|
1105 |
-
// $('.wpvr-delete-alert-wrapper').hide();
|
1106 |
-
// $('.wpvr-delete-confirm-btn .yes').css('background', '#eee');
|
1107 |
-
// $('.wpvr-delete-confirm-btn .yes').css('color', '#333');
|
1108 |
-
// $('.wpvr-delete-confirm-btn .yes').html('Yes');
|
1109 |
-
// });
|
1110 |
$(this).val('off');
|
1111 |
-
|
1112 |
-
// $(this).val('off');
|
1113 |
}
|
1114 |
});
|
1115 |
});
|
36 |
$(".vrowl-carousel").owlCarousel({
|
37 |
margin: 10,
|
38 |
autoWidth: true,
|
39 |
+
nav:true
|
40 |
});
|
41 |
|
42 |
var primary_markng = $('#scene-1').find('input.sceneid').val();
|
267 |
var previewtext = $('.previewtext').val();
|
268 |
if ($('.scene-setup')[0]) {
|
269 |
var panodata = $('.scene-setup').repeaterVal();
|
270 |
+
|
271 |
var panolist = JSON.stringify(panodata);
|
272 |
} else {
|
273 |
var panodata = '';
|
274 |
var panolist = '';
|
275 |
}
|
276 |
+
console.log(panodata);
|
277 |
|
278 |
jQuery.ajax({
|
279 |
|
843 |
});
|
844 |
|
845 |
|
846 |
+
$(document).on("click", ".pano-error-close-btn", function(e) {
|
847 |
+
e.preventDefault();
|
848 |
+
$('.wpvr-delete-alert-wrapper').css('display', 'none');
|
849 |
+
$('.wpvr-delete-alert-wrapper').hide();
|
850 |
+
});
|
851 |
+
|
852 |
$(document).on("change", "input[type=radio][name=panovideo]", function(event) {
|
853 |
var getvalue = $(this).val();
|
854 |
if (getvalue == 'on') {
|
1090 |
$('html, body').animate({
|
1091 |
scrollTop: $("#error_occured").offset().top
|
1092 |
}, 500);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1093 |
$(this).val('off');
|
1094 |
+
|
|
|
1095 |
}
|
1096 |
});
|
1097 |
});
|
admin/js/wpvr-global.js
CHANGED
@@ -31,7 +31,6 @@
|
|
31 |
$(document).ready(function(){
|
32 |
$('.setup-wizard-carousel').owlCarousel({
|
33 |
loop:false,
|
34 |
-
nav:true,
|
35 |
items:1,
|
36 |
dots: false,
|
37 |
mouseDrag: false,
|
31 |
$(document).ready(function(){
|
32 |
$('.setup-wizard-carousel').owlCarousel({
|
33 |
loop:false,
|
|
|
34 |
items:1,
|
35 |
dots: false,
|
36 |
mouseDrag: false,
|
public/class-wpvr-public.php
CHANGED
@@ -253,6 +253,7 @@ class Wpvr_Public
|
|
253 |
if (isset($postdata['autoplay'])) {
|
254 |
$autoplay = $postdata['autoplay'];
|
255 |
}
|
|
|
256 |
$loop = 'off';
|
257 |
if (isset($postdata['loop'])) {
|
258 |
$loop = $postdata['loop'];
|
@@ -305,6 +306,7 @@ class Wpvr_Public
|
|
305 |
$html .= '<iframe src="https://player.vimeo.com/video/'.$foundid.'" width="'.trim($width, 'px').'" height="'.trim($height, 'px').'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
|
306 |
$html .= '</div>';
|
307 |
} else {
|
|
|
308 |
$html = '';
|
309 |
$html .= '<div id="pano'.$id.'" class="pano-wrap" style="max-width:100%; width: '.$width.'; height: '.$height.'; margin: 0 auto;">';
|
310 |
$html .= '<div style="width:100%; height:100%; ">'.$postdata['panoviddata'].'</div>';
|
@@ -560,7 +562,7 @@ class Wpvr_Public
|
|
560 |
|
561 |
$hotspots = array();
|
562 |
|
563 |
-
|
564 |
foreach ($hotspot_datas as $hotspot_data) {
|
565 |
$status = get_option('wpvr_edd_license_status');
|
566 |
if ($status !== false && $status == 'valid') {
|
@@ -865,17 +867,19 @@ class Wpvr_Public
|
|
865 |
//===company logo ends===//
|
866 |
|
867 |
//===Background Tour===//
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
|
|
|
|
879 |
//===Background Tour End===//
|
880 |
|
881 |
//===Custom Control===//
|
@@ -986,6 +990,8 @@ class Wpvr_Public
|
|
986 |
}
|
987 |
}
|
988 |
|
|
|
|
|
989 |
|
990 |
$html .= '<div class="wpvr-hotspot-tweak-contents-wrapper" style="display: none">';
|
991 |
$html .= '<i class="fa fa-times cross" data-id="'.$id.'"></i>';
|
253 |
if (isset($postdata['autoplay'])) {
|
254 |
$autoplay = $postdata['autoplay'];
|
255 |
}
|
256 |
+
|
257 |
$loop = 'off';
|
258 |
if (isset($postdata['loop'])) {
|
259 |
$loop = $postdata['loop'];
|
306 |
$html .= '<iframe src="https://player.vimeo.com/video/'.$foundid.'" width="'.trim($width, 'px').'" height="'.trim($height, 'px').'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
|
307 |
$html .= '</div>';
|
308 |
} else {
|
309 |
+
|
310 |
$html = '';
|
311 |
$html .= '<div id="pano'.$id.'" class="pano-wrap" style="max-width:100%; width: '.$width.'; height: '.$height.'; margin: 0 auto;">';
|
312 |
$html .= '<div style="width:100%; height:100%; ">'.$postdata['panoviddata'].'</div>';
|
562 |
|
563 |
$hotspots = array();
|
564 |
|
565 |
+
|
566 |
foreach ($hotspot_datas as $hotspot_data) {
|
567 |
$status = get_option('wpvr_edd_license_status');
|
568 |
if ($status !== false && $status == 'valid') {
|
867 |
//===company logo ends===//
|
868 |
|
869 |
//===Background Tour===//
|
870 |
+
// if(is_plugin_active( "wpvr-embed-addon/wpvr-embed-addon.php" )){
|
871 |
+
// $html .= '
|
872 |
+
|
873 |
+
// <div class="wpvr-topnav">
|
874 |
+
// <a class="active" href="#home">Home</a>
|
875 |
+
// <a href="#news">News</a>
|
876 |
+
// <a href="#contact">Contact</a>
|
877 |
+
// <a href="#about">About</a>
|
878 |
+
// </div>
|
879 |
+
|
880 |
+
// ';
|
881 |
+
// $html .= '<div class="wpvr-home-text">Welcome to WordPress</div>';
|
882 |
+
// }
|
883 |
//===Background Tour End===//
|
884 |
|
885 |
//===Custom Control===//
|
990 |
}
|
991 |
}
|
992 |
|
993 |
+
|
994 |
+
|
995 |
|
996 |
$html .= '<div class="wpvr-hotspot-tweak-contents-wrapper" style="display: none">';
|
997 |
$html .= '<i class="fa fa-times cross" data-id="'.$id.'"></i>';
|
public/css/owl.carousel.css
CHANGED
@@ -51,7 +51,7 @@
|
|
51 |
width: 100%; }
|
52 |
.vrowl-carousel .owl-nav.disabled,
|
53 |
.vrowl-carousel .owl-dots.disabled {
|
54 |
-
display:
|
55 |
.vrowl-carousel .owl-nav .owl-prev,
|
56 |
.vrowl-carousel .owl-nav .owl-next,
|
57 |
.vrowl-carousel .owl-dot {
|
@@ -64,7 +64,7 @@
|
|
64 |
.vrowl-carousel .owl-nav button.owl-prev,
|
65 |
.vrowl-carousel .owl-nav button.owl-next,
|
66 |
.vrowl-carousel button.owl-dot {
|
67 |
-
background: none;
|
68 |
color: inherit;
|
69 |
border: none;
|
70 |
padding: 0 !important;
|
51 |
width: 100%; }
|
52 |
.vrowl-carousel .owl-nav.disabled,
|
53 |
.vrowl-carousel .owl-dots.disabled {
|
54 |
+
display: block; }
|
55 |
.vrowl-carousel .owl-nav .owl-prev,
|
56 |
.vrowl-carousel .owl-nav .owl-next,
|
57 |
.vrowl-carousel .owl-dot {
|
64 |
.vrowl-carousel .owl-nav button.owl-prev,
|
65 |
.vrowl-carousel .owl-nav button.owl-next,
|
66 |
.vrowl-carousel button.owl-dot {
|
67 |
+
/* background: none; */
|
68 |
color: inherit;
|
69 |
border: none;
|
70 |
padding: 0 !important;
|
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: 7.3.
|
20 |
* Author: Rextheme
|
21 |
* Author URI: http://rextheme.com/
|
22 |
* License: GPL-2.0+
|
@@ -558,7 +558,7 @@ function wpvr_block_render($attributes)
|
|
558 |
"sceneId"=>$hotspot_data["hotspot-scene"],
|
559 |
"targetPitch"=>(float)$hotspot_scene_pitch,
|
560 |
"targetYaw"=>(float)$hotspot_scene_yaw,
|
561 |
-
|
562 |
|
563 |
$hotspot_info['URL'] = ($hotspot_data['hotspot-type'] === 'fluent_form' || $hotspot_data['hotspot-type'] === 'wc_product') ? '' : $hotspot_info['URL'];
|
564 |
|
@@ -574,8 +574,9 @@ function wpvr_block_render($attributes)
|
|
574 |
|
575 |
$device_scene = $panoscenes['scene-attachment-url'];
|
576 |
$mobile_media_resize = get_option('mobile_media_resize');
|
577 |
-
$file_accessible =
|
578 |
-
|
|
|
579 |
if ($mobile_media_resize == "true") {
|
580 |
if ($file_accessible == "1") {
|
581 |
$image_info = getimagesize($device_scene);
|
@@ -679,7 +680,7 @@ function wpvr_block_render($attributes)
|
|
679 |
$scene_data[$panoscenes['scene-id']] = $scene_info;
|
680 |
}
|
681 |
}
|
682 |
-
|
683 |
$pano_id_array = array();
|
684 |
$pano_id_array = array('panoid'=>$panoid);
|
685 |
$pano_response = array();
|
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: 7.3.1
|
20 |
* Author: Rextheme
|
21 |
* Author URI: http://rextheme.com/
|
22 |
* License: GPL-2.0+
|
558 |
"sceneId"=>$hotspot_data["hotspot-scene"],
|
559 |
"targetPitch"=>(float)$hotspot_scene_pitch,
|
560 |
"targetYaw"=>(float)$hotspot_scene_yaw,
|
561 |
+
'hotspot_type' => $hotspot_data['hotspot-type']);
|
562 |
|
563 |
$hotspot_info['URL'] = ($hotspot_data['hotspot-type'] === 'fluent_form' || $hotspot_data['hotspot-type'] === 'wc_product') ? '' : $hotspot_info['URL'];
|
564 |
|
574 |
|
575 |
$device_scene = $panoscenes['scene-attachment-url'];
|
576 |
$mobile_media_resize = get_option('mobile_media_resize');
|
577 |
+
// $file_accessible = ini_set("allow_url_fopen", "On");
|
578 |
+
$file_accessible = ini_get('allow_url_fopen','1');
|
579 |
+
|
580 |
if ($mobile_media_resize == "true") {
|
581 |
if ($file_accessible == "1") {
|
582 |
$image_info = getimagesize($device_scene);
|
680 |
$scene_data[$panoscenes['scene-id']] = $scene_info;
|
681 |
}
|
682 |
}
|
683 |
+
|
684 |
$pano_id_array = array();
|
685 |
$pano_id_array = array('panoid'=>$panoid);
|
686 |
$pano_response = array();
|