Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/login-customizer/freemius/templates/tabs.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
/**
3
+
* @package Freemius
4
+
* @copyright Copyright (c) 2015, Freemius, Inc.
5
+
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
+
* @since 1.2.2.7
7
+
*/
8
+
9
+
if ( ! defined( 'ABSPATH' ) ) {
10
+
exit;
11
+
}
12
+
13
+
/**
14
+
* @var array $VARS
15
+
* @var Freemius $fs
16
+
*/
17
+
$fs = freemius( $VARS['id'] );
18
+
19
+
$slug = $fs->get_slug();
20
+
21
+
$menu_items = $fs->get_menu_items();
22
+
23
+
$show_settings_with_tabs = $fs->show_settings_with_tabs();
24
+
25
+
$tabs = array();
26
+
foreach ( $menu_items as $priority => $items ) {
27
+
foreach ( $items as $item ) {
28
+
if ( ! $item['show_submenu'] ) {
29
+
$submenu_name = ('wp-support-forum' === $item['menu_slug']) ?
30
+
'support' :
31
+
$item['menu_slug'];
32
+
33
+
if ( 'pricing' === $submenu_name && ! $fs->is_pricing_page_visible() ) {
34
+
continue;
35
+
}
36
+
37
+
if ( ! $show_settings_with_tabs || ! $fs->is_submenu_item_visible( $submenu_name, true ) ) {
38
+
continue;
39
+
}
40
+
}
41
+
42
+
$url = $fs->_get_admin_page_url( $item['menu_slug'] );
43
+
$title = $item['menu_title'];
44
+
45
+
$tab = array(
46
+
'label' => $title,
47
+
'href' => $url,
48
+
'slug' => $item['menu_slug'],
49
+
);
50
+
51
+
if ( 'pricing' === $item['menu_slug'] && $fs->is_in_trial_promotion() ) {
52
+
$tab['href'] .= '&trial=true';
53
+
}
54
+
55
+
$tabs[] = $tab;
56
+
}
57
+
}
58
+
?>
59
+
<script type="text/javascript">
60
+
(function ($) {
61
+
$(document).ready(function () {
62
+
var $wrap = $('.wrap');
63
+
if (0 === $wrap.length) {
64
+
$wrap = $('<div class="wrap">');
65
+
$wrap.insertBefore($('#wpbody-content .clear'));
66
+
}
67
+
68
+
var
69
+
$tabsWrapper = $('.nav-tab-wrapper'),
70
+
$tabs = $tabsWrapper.find('.nav-tab'),
71
+
$tab = null;
72
+
73
+
if (0 < $tabs.length) {
74
+
// Tries to set $tab to the first inactive tab.
75
+
for (var i = 0; i < $tabs.length; i++) {
76
+
$tab = $($tabs[i]);
77
+
78
+
if (!$tab.hasClass('nav-tab-active')) {
79
+
break;
80
+
}
81
+
}
82
+
}
83
+
84
+
<?php if (0 < count( $tabs )) : ?>
85
+
if (null == $tab) {
86
+
// No tabs found, therefore, create new tabs section if required.
87
+
var $h1 = $wrap.find('h1');
88
+
89
+
$tabsWrapper = $('<h2 class="nav-tab-wrapper"></h2>');
90
+
91
+
if (0 < $h1.length) {
92
+
$tabsWrapper.insertAfter($h1);
93
+
} else if (0 < $wrap.length) {
94
+
$wrap.prepend($tabsWrapper);
95
+
}
96
+
97
+
$tab = $('<a href="#" class="nav-tab"></a>');
98
+
}
99
+
100
+
// Create a clone.
101
+
$tab = $tab.clone();
102
+
// Open in current page.
103
+
$tab.removeAttr('target');
104
+
$tab.removeClass('nav-tab-active');
105
+
$tab.addClass('fs-tab');
106
+
$tab.addClass('<?php echo $fs->get_unique_affix() ?>');
107
+
108
+
var $tabClone = null;
109
+
110
+
<?php $freemius_context_page = null ?>
111
+
112
+
<?php foreach ($tabs as $tab) : ?>
113
+
<?php $is_support_tab = ( 'wp-support-forum' == $tab['slug'] ) ?>
114
+
// Add the Freemius tabs.
115
+
$tabClone = $tab.clone();
116
+
$tabClone.html(<?php echo json_encode( $tab['label'] ) ?>)
117
+
.attr('href', '<?php echo $is_support_tab ? $fs->get_support_forum_url() : $tab['href'] ?>')
118
+
.appendTo($tabsWrapper)
119
+
// Remove any custom click events.
120
+
.off('click', '**')
121
+
.addClass('<?php echo $tab['slug'] ?>')
122
+
// Avoid tab click triggering parent events.
123
+
.click(function (e) {
124
+
e.stopPropagation();
125
+
});
126
+
127
+
<?php if ($is_support_tab) : ?>
128
+
// Open support in a new tab/page.
129
+
$tabClone.attr('target', '_blank');
130
+
<?php endif ?>
131
+
132
+
<?php if ($fs->is_admin_page( $tab['slug'] )) : ?>
133
+
<?php $freemius_context_page = $tab['slug'] ?>
134
+
// Select the relevant Freemius tab.
135
+
$tabs.removeClass('nav-tab-active');
136
+
$tabClone.addClass('nav-tab-active');
137
+
138
+
<?php if (in_array( $freemius_context_page, array( 'pricing', 'contact', 'checkout' ) )) : ?>
139
+
// Add AJAX loader.
140
+
$tabClone.prepend('<i class="fs-ajax-spinner"></i>');
141
+
// Hide loader after content fully loaded.
142
+
$('.wrap i' + 'frame').load(function () {
143
+
$(".fs-ajax-spinner").hide();
144
+
});
145
+
<?php endif ?>
146
+
147
+
// Fix URLs that are starting with a hashtag.
148
+
$tabs.each(function (j, tab) {
149
+
if (0 === $(tab).attr('href').indexOf('#')) {
150
+
$(tab).attr('href', '<?php echo esc_js( $fs->main_menu_url() ) ?>' + $(tab).attr('href'));
151
+
}
152
+
});
153
+
<?php endif ?>
154
+
<?php endforeach ?>
155
+
156
+
var selectTab = function ($tab) {
157
+
$(window).load(function () {
158
+
$tab.click();
159
+
160
+
// Scroll to the top since the browser will auto scroll to the anchor.
161
+
document.body.scrollTop = 0;
162
+
document.body.scrollLeft = 0;
163
+
// window.scrollTo(0,0);
164
+
});
165
+
};
166
+
167
+
// If the URL is loaded with a hashtag, find the context tab and select it.
168
+
if (window.location.hash) {
169
+
for (var j = 0; j < $tabs.length; j++) {
170
+
if (window.location.hash === $($tabs[j]).attr('href')) {
171
+
selectTab($($tabs[j]));
172
+
break;
173
+
}
174
+
}
175
+
}
176
+
177
+
<?php if (is_string( $freemius_context_page ) && in_array( $freemius_context_page, array(
178
+
'pricing',
179
+
'contact',
180
+
'checkout'
181
+
) )) : ?>
182
+
// Add margin to the upper section of the tabs to give extra space for the HTTPS header.
183
+
// @todo This code assumes that the wrapper style is fully loaded, if there's a stylesheet that is not loaded via the HTML head, it may cause unpredicted margin-top.
184
+
var $tabsWrap = $tabsWrapper.parents('.wrap');
185
+
$tabsWrap.css('marginTop', (parseInt($tabsWrap.css('marginTop'), 10) + 30) + 'px');
186
+
<?php endif ?>
187
+
<?php endif ?>
188
+
});
189
+
})(jQuery);
190
+
</script>