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 | 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 +8 -1
- admin/class-wpvr-ajax.php +4 -0
- admin/css/wpvr-admin.css +4 -0
- admin/js/wpvr-admin.js +6 -2
- admin/partials/wpvr_documentation.php +41 -2
- oxygen/WPVR_CUSTOM_OXY_ELEMENT.php +23 -0
- oxygen/WPVR_OXY_INTEGRATION.php +45 -0
- oxygen/elements/Wpvr_Tour_Element.php +99 -0
- oxygen/oxy-manager.php +16 -0
- public/class-wpvr-public.php +16 -3
- public/css/wpvr-public.css +4 -0
- public/js/wpvr-public.js +10 -9
- wpvr.php +8 -2
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.
|
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(
|
|
|
|
|
|
|
|
|
|
|
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>
|
75 |
}
|
76 |
}
|
77 |
}
|
|
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
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.
|
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.
|