Version Description
- Improvement: Compatibility to PHP v8.0.
- Improvement: Improved compatibility with Astra theme.
- Improvement: Navigation Menu - Added option to toggle menu item.
- Fix: Added 'alt' attribute to the widgets containing images.
- Fix: Closed the missing HTML tag in footer in the global theme compatibility.
- Fix: Navigation Menu - Alignment option not working for the last menu item set as 'Button'.
Download this release
Release Info
Developer | Nikschavan |
Plugin | Header Footer Elementor |
Version | 1.5.4 |
Comparing to | |
See all releases |
Code changes from version 1.5.3 to 1.5.4
- admin/bsf-analytics/assets/css/minified/style-rtl.min.css +1 -0
- admin/bsf-analytics/assets/css/minified/style.min-rtl.css +0 -1
- admin/bsf-analytics/assets/css/minified/style.min.css +1 -1
- admin/bsf-analytics/assets/css/unminified/style-rtl.css +5 -5
- admin/bsf-analytics/assets/css/unminified/style.css +5 -5
- admin/bsf-analytics/class-bsf-analytics-loader.php +118 -0
- admin/bsf-analytics/class-bsf-analytics-stats.php +3 -4
- admin/bsf-analytics/class-bsf-analytics.php +205 -200
- admin/bsf-analytics/version.json +4 -0
- header-footer-elementor.php +2 -2
- inc/class-header-footer-elementor.php +17 -18
- inc/js/frontend.js +60 -57
- inc/widgets-css/frontend.css +8 -8
- inc/widgets-manager/widgets/class-menu-walker.php +1 -1
- inc/widgets-manager/widgets/class-navigation-menu.php +17 -2
- inc/widgets-manager/widgets/class-retina.php +1 -1
- inc/widgets-manager/widgets/class-site-logo.php +1 -1
- languages/header-footer-elementor.pot +134 -121
- readme.txt +9 -2
- themes/astra/class-hfe-astra-compat.php +10 -1
- themes/default/hfe-footer.php +1 -0
admin/bsf-analytics/assets/css/minified/style-rtl.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
[ID*="-optin-notice"]{padding:1px 12px;border-right-color:#007cba}[ID*="-optin-notice"] .notice-container{padding-top:10px;padding-bottom:12px}[ID*="-optin-notice"] .notice-content{margin:0}[ID*="-optin-notice"] .notice-heading{padding:0 0 12px 20px}[ID*="-optin-notice"] .button-primary{margin-left:5px}
|
admin/bsf-analytics/assets/css/minified/style.min-rtl.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
#bsf-optin-notice{padding:1px 12px;border-right-color:#007cba}#bsf-optin-notice .notice-container{padding-top:10px;padding-bottom:12px}#bsf-optin-notice .notice-content{margin:0}#bsf-optin-notice .notice-heading{padding:0 0 12px 20px}#bsf-optin-notice .button-primary{margin-left:5px}
|
|
admin/bsf-analytics/assets/css/minified/style.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
[ID*="-optin-notice"]{padding:1px 12px;border-left-color:#007cba}[ID*="-optin-notice"] .notice-container{padding-top:10px;padding-bottom:12px}[ID*="-optin-notice"] .notice-content{margin:0}[ID*="-optin-notice"] .notice-heading{padding:0 20px 12px 0}[ID*="-optin-notice"] .button-primary{margin-right:5px}
|
admin/bsf-analytics/assets/css/unminified/style-rtl.css
CHANGED
@@ -1,21 +1,21 @@
|
|
1 |
-
|
2 |
padding: 1px 12px;
|
3 |
border-right-color: #007cba;
|
4 |
}
|
5 |
|
6 |
-
|
7 |
padding-top: 10px;
|
8 |
padding-bottom: 12px;
|
9 |
}
|
10 |
|
11 |
-
|
12 |
margin: 0;
|
13 |
}
|
14 |
|
15 |
-
|
16 |
padding: 0 0 12px 20px;
|
17 |
}
|
18 |
|
19 |
-
|
20 |
margin-left: 5px;
|
21 |
}
|
1 |
+
[ID*="-optin-notice"] {
|
2 |
padding: 1px 12px;
|
3 |
border-right-color: #007cba;
|
4 |
}
|
5 |
|
6 |
+
[ID*="-optin-notice"] .notice-container {
|
7 |
padding-top: 10px;
|
8 |
padding-bottom: 12px;
|
9 |
}
|
10 |
|
11 |
+
[ID*="-optin-notice"] .notice-content {
|
12 |
margin: 0;
|
13 |
}
|
14 |
|
15 |
+
[ID*="-optin-notice"] .notice-heading {
|
16 |
padding: 0 0 12px 20px;
|
17 |
}
|
18 |
|
19 |
+
[ID*="-optin-notice"] .button-primary {
|
20 |
margin-left: 5px;
|
21 |
}
|
admin/bsf-analytics/assets/css/unminified/style.css
CHANGED
@@ -1,21 +1,21 @@
|
|
1 |
-
|
2 |
padding: 1px 12px;
|
3 |
border-left-color: #007cba;
|
4 |
}
|
5 |
|
6 |
-
|
7 |
padding-top: 10px;
|
8 |
padding-bottom: 12px;
|
9 |
}
|
10 |
|
11 |
-
|
12 |
margin: 0;
|
13 |
}
|
14 |
|
15 |
-
|
16 |
padding: 0 20px 12px 0;
|
17 |
}
|
18 |
|
19 |
-
|
20 |
margin-right: 5px;
|
21 |
}
|
1 |
+
[ID*="-optin-notice"] {
|
2 |
padding: 1px 12px;
|
3 |
border-left-color: #007cba;
|
4 |
}
|
5 |
|
6 |
+
[ID*="-optin-notice"] .notice-container {
|
7 |
padding-top: 10px;
|
8 |
padding-bottom: 12px;
|
9 |
}
|
10 |
|
11 |
+
[ID*="-optin-notice"] .notice-content {
|
12 |
margin: 0;
|
13 |
}
|
14 |
|
15 |
+
[ID*="-optin-notice"] .notice-heading {
|
16 |
padding: 0 20px 12px 0;
|
17 |
}
|
18 |
|
19 |
+
[ID*="-optin-notice"] .button-primary {
|
20 |
margin-right: 5px;
|
21 |
}
|
admin/bsf-analytics/class-bsf-analytics-loader.php
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* BSF analytics loader file.
|
4 |
+
*
|
5 |
+
* @version 1.0.0
|
6 |
+
*
|
7 |
+
* @package bsf-analytics
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
+
exit();
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Class BSF_Analytics_Loader.
|
16 |
+
*/
|
17 |
+
class BSF_Analytics_Loader {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Analytics Entities.
|
21 |
+
*
|
22 |
+
* @access private
|
23 |
+
* @var array Entities array.
|
24 |
+
*/
|
25 |
+
private $entities = [];
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Analytics Version.
|
29 |
+
*
|
30 |
+
* @access private
|
31 |
+
* @var float analytics version.
|
32 |
+
*/
|
33 |
+
private $analytics_version = '';
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Analytics path.
|
37 |
+
*
|
38 |
+
* @access private
|
39 |
+
* @var string path array.
|
40 |
+
*/
|
41 |
+
private $analytics_path = '';
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Instance
|
45 |
+
*
|
46 |
+
* @access private
|
47 |
+
* @var object Class object.
|
48 |
+
*/
|
49 |
+
private static $instance = null;
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Get instace of class.
|
53 |
+
*
|
54 |
+
* @return object
|
55 |
+
*/
|
56 |
+
public static function get_instance() {
|
57 |
+
if ( null === self::$instance ) {
|
58 |
+
self::$instance = new self();
|
59 |
+
}
|
60 |
+
|
61 |
+
return self::$instance;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Constructor
|
66 |
+
*/
|
67 |
+
public function __construct() {
|
68 |
+
add_action( 'init', [ $this, 'load_analytics' ] );
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Set entity for analytics.
|
73 |
+
*
|
74 |
+
* @param string $data Entity attributes data.
|
75 |
+
* @return void
|
76 |
+
*/
|
77 |
+
public function set_entity( $data ) {
|
78 |
+
array_push( $this->entities, $data );
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Load Analytics library.
|
83 |
+
*
|
84 |
+
* @return void
|
85 |
+
*/
|
86 |
+
public function load_analytics() {
|
87 |
+
$unique_entities = [];
|
88 |
+
|
89 |
+
if ( ! empty( $this->entities ) ) {
|
90 |
+
foreach ( $this->entities as $entity ) {
|
91 |
+
foreach ( $entity as $key => $data ) {
|
92 |
+
|
93 |
+
if ( isset( $data['path'] ) ) {
|
94 |
+
if ( file_exists( $data['path'] . '/version.json' ) ) {
|
95 |
+
$file_contents = file_get_contents( $data['path'] . '/version.json' ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
|
96 |
+
$analytics_version = json_decode( $file_contents, 1 );
|
97 |
+
$analytics_version = $analytics_version['bsf-analytics-ver'];
|
98 |
+
|
99 |
+
if ( version_compare( $analytics_version, $this->analytics_version, '>' ) ) {
|
100 |
+
$this->analytics_version = $analytics_version;
|
101 |
+
$this->analytics_path = $data['path'];
|
102 |
+
}
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
if ( ! isset( $unique_entities[ $key ] ) ) {
|
107 |
+
$unique_entities[ $key ] = $data;
|
108 |
+
}
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
if ( file_exists( $this->analytics_path ) && ! class_exists( 'BSF_Analytics' ) ) {
|
113 |
+
require_once $this->analytics_path . '/class-bsf-analytics.php';
|
114 |
+
new BSF_Analytics( $unique_entities, $this->analytics_path, $this->analytics_version );
|
115 |
+
}
|
116 |
+
}
|
117 |
+
}
|
118 |
+
}
|
admin/bsf-analytics/class-bsf-analytics-stats.php
CHANGED
@@ -68,7 +68,7 @@ if ( ! class_exists( 'BSF_Analytics_Stats' ) ) {
|
|
68 |
'graupi_version' => defined( 'BSF_UPDATER_VERSION' ) ? BSF_UPDATER_VERSION : false,
|
69 |
'domain_name' => get_site_url(),
|
70 |
'php_os' => PHP_OS,
|
71 |
-
'server_software' => $_SERVER['SERVER_SOFTWARE'],
|
72 |
'mysql_version' => $this->get_mysql_version(),
|
73 |
'php_version' => $this->get_php_version(),
|
74 |
'php_max_input_vars' => ini_get( 'max_input_vars' ), // phpcs:ignore:PHPCompatibility.IniDirectives.NewIniDirectives.max_input_varsFound
|
@@ -181,7 +181,7 @@ if ( ! class_exists( 'BSF_Analytics_Stats' ) ) {
|
|
181 |
private function get_curl_ssl_version() {
|
182 |
$curl = [];
|
183 |
if ( function_exists( 'curl_version' ) ) {
|
184 |
-
$curl = curl_version();
|
185 |
}
|
186 |
|
187 |
return isset( $curl['ssl_version'] ) ? $curl['ssl_version'] : false;
|
@@ -194,9 +194,8 @@ if ( ! class_exists( 'BSF_Analytics_Stats' ) ) {
|
|
194 |
* @since 1.0.0
|
195 |
*/
|
196 |
private function get_curl_version() {
|
197 |
-
$curl = [];
|
198 |
if ( function_exists( 'curl_version' ) ) {
|
199 |
-
$curl = curl_version();
|
200 |
}
|
201 |
|
202 |
return isset( $curl['version'] ) ? $curl['version'] : false;
|
68 |
'graupi_version' => defined( 'BSF_UPDATER_VERSION' ) ? BSF_UPDATER_VERSION : false,
|
69 |
'domain_name' => get_site_url(),
|
70 |
'php_os' => PHP_OS,
|
71 |
+
'server_software' => isset( $_SERVER['SERVER_SOFTWARE'] ) ? filter_var( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ), FILTER_SANITIZE_STRING ) : '',
|
72 |
'mysql_version' => $this->get_mysql_version(),
|
73 |
'php_version' => $this->get_php_version(),
|
74 |
'php_max_input_vars' => ini_get( 'max_input_vars' ), // phpcs:ignore:PHPCompatibility.IniDirectives.NewIniDirectives.max_input_varsFound
|
181 |
private function get_curl_ssl_version() {
|
182 |
$curl = [];
|
183 |
if ( function_exists( 'curl_version' ) ) {
|
184 |
+
$curl = curl_version(); // phpcs:ignore WordPress.WP.AlternativeFunctions.curl_curl_version
|
185 |
}
|
186 |
|
187 |
return isset( $curl['ssl_version'] ) ? $curl['ssl_version'] : false;
|
194 |
* @since 1.0.0
|
195 |
*/
|
196 |
private function get_curl_version() {
|
|
|
197 |
if ( function_exists( 'curl_version' ) ) {
|
198 |
+
$curl = curl_version(); // phpcs:ignore WordPress.WP.AlternativeFunctions.curl_curl_version
|
199 |
}
|
200 |
|
201 |
return isset( $curl['version'] ) ? $curl['version'] : false;
|
admin/bsf-analytics/class-bsf-analytics.php
CHANGED
@@ -18,60 +18,79 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
18 |
*/
|
19 |
class BSF_Analytics {
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
/**
|
22 |
* Member Variable
|
23 |
*
|
24 |
* @var string Usage tracking document URL
|
25 |
*/
|
26 |
-
|
27 |
|
28 |
/**
|
29 |
* Setup actions, load files.
|
30 |
*
|
|
|
|
|
|
|
31 |
* @since 1.0.0
|
32 |
*/
|
33 |
-
public function __construct() {
|
34 |
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
39 |
|
40 |
add_action( 'admin_init', [ $this, 'handle_optin_optout' ] );
|
41 |
-
add_action( 'cron_schedules', [ $this, 'every_two_days_schedule' ] );
|
42 |
add_action( 'admin_notices', [ $this, 'option_notice' ] );
|
43 |
-
add_action( '
|
44 |
-
|
45 |
-
add_action( 'init', [ $this, 'schedule_unschedule_event' ] );
|
46 |
|
47 |
-
|
48 |
-
add_action( 'bsf_analytics_send', [ $this, 'send' ] );
|
49 |
-
}
|
50 |
|
51 |
add_action( 'admin_init', [ $this, 'register_usage_tracking_setting' ] );
|
52 |
|
53 |
-
add_action( 'update_option_bsf_analytics_optin', [ $this, 'update_analytics_option_callback' ], 10, 3 );
|
54 |
-
add_action( 'add_option_bsf_analytics_optin', [ $this, 'add_analytics_option_callback' ], 10, 2 );
|
55 |
-
|
56 |
$this->includes();
|
57 |
}
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
/**
|
60 |
* BSF Analytics URL
|
61 |
*
|
|
|
62 |
* @return String URL of bsf-analytics directory.
|
63 |
* @since 1.0.0
|
64 |
*/
|
65 |
-
public function
|
66 |
|
67 |
-
$
|
68 |
-
$theme_dir = wp_normalize_path( get_template_directory() );
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
return rtrim( plugin_dir_url( BSF_ANALYTICS_FILE ), '/' );
|
74 |
-
}
|
75 |
}
|
76 |
|
77 |
/**
|
@@ -129,21 +148,30 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
129 |
* @since 1.0.0
|
130 |
*/
|
131 |
public function is_tracking_enabled() {
|
132 |
-
$is_enabled = get_site_option( 'bsf_analytics_optin' ) === 'yes' ? true : false;
|
133 |
-
$is_enabled = $this->is_white_label_enabled() ? false : $is_enabled;
|
134 |
|
135 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
}
|
137 |
|
138 |
/**
|
139 |
* Check if WHITE label is enabled for BSF products.
|
140 |
*
|
|
|
141 |
* @return bool
|
142 |
* @since 1.0.0
|
143 |
*/
|
144 |
-
public function is_white_label_enabled() {
|
145 |
|
146 |
-
$options = apply_filters( '
|
147 |
$is_enabled = false;
|
148 |
|
149 |
if ( is_array( $options ) ) {
|
@@ -169,65 +197,75 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
169 |
return;
|
170 |
}
|
171 |
|
172 |
-
|
173 |
-
if ( false !== get_site_option( 'bsf_analytics_optin', false ) || $this->is_white_label_enabled() ) {
|
174 |
-
return;
|
175 |
-
}
|
176 |
|
177 |
-
|
178 |
-
|
179 |
-
return;
|
180 |
-
}
|
181 |
|
182 |
-
|
183 |
-
|
|
|
|
|
184 |
|
185 |
-
|
186 |
-
|
187 |
-
|
|
|
188 |
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
'
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
[
|
218 |
-
|
219 |
-
|
220 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
),
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
]
|
230 |
-
);
|
231 |
}
|
232 |
|
233 |
/**
|
@@ -236,27 +274,35 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
236 |
* @since 1.0.0
|
237 |
*/
|
238 |
public function handle_optin_optout() {
|
239 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
return;
|
241 |
}
|
242 |
|
243 |
-
if ( ! wp_verify_nonce( sanitize_text_field( $_GET['
|
244 |
return;
|
245 |
}
|
246 |
|
247 |
-
$optin_status = sanitize_text_field( $_GET['
|
248 |
|
249 |
if ( 'yes' === $optin_status ) {
|
250 |
-
$this->optin();
|
251 |
} elseif ( 'no' === $optin_status ) {
|
252 |
-
$this->optout();
|
253 |
}
|
254 |
|
255 |
wp_safe_redirect(
|
256 |
remove_query_arg(
|
257 |
[
|
258 |
-
'
|
259 |
-
'
|
|
|
260 |
]
|
261 |
)
|
262 |
);
|
@@ -265,54 +311,21 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
265 |
/**
|
266 |
* Opt in to usage tracking.
|
267 |
*
|
|
|
268 |
* @since 1.0.0
|
269 |
*/
|
270 |
-
private function optin() {
|
271 |
-
update_site_option( '
|
272 |
}
|
273 |
|
274 |
/**
|
275 |
* Opt out to usage tracking.
|
276 |
*
|
|
|
277 |
* @since 1.0.0
|
278 |
*/
|
279 |
-
private function optout() {
|
280 |
-
update_site_option( '
|
281 |
-
}
|
282 |
-
|
283 |
-
/**
|
284 |
-
* Add two days event schedule variables.
|
285 |
-
*
|
286 |
-
* @param array $schedules scheduled array data.
|
287 |
-
* @since 1.0.0
|
288 |
-
*/
|
289 |
-
public function every_two_days_schedule( $schedules ) {
|
290 |
-
$schedules['every_two_days'] = [
|
291 |
-
'interval' => 2 * DAY_IN_SECONDS,
|
292 |
-
'display' => __( 'Every two days', 'header-footer-elementor' ),
|
293 |
-
];
|
294 |
-
|
295 |
-
return $schedules;
|
296 |
-
}
|
297 |
-
|
298 |
-
/**
|
299 |
-
* Schedule usage tracking event.
|
300 |
-
*
|
301 |
-
* @since 1.0.0
|
302 |
-
*/
|
303 |
-
private function schedule_event() {
|
304 |
-
if ( ! wp_next_scheduled( 'bsf_analytics_send' ) && $this->is_tracking_enabled() ) {
|
305 |
-
wp_schedule_event( time(), 'every_two_days', 'bsf_analytics_send' );
|
306 |
-
}
|
307 |
-
}
|
308 |
-
|
309 |
-
/**
|
310 |
-
* Unschedule usage tracking event.
|
311 |
-
*
|
312 |
-
* @since 1.0.0
|
313 |
-
*/
|
314 |
-
private function unschedule_event() {
|
315 |
-
wp_clear_scheduled_hook( 'bsf_analytics_send' );
|
316 |
}
|
317 |
|
318 |
/**
|
@@ -331,22 +344,37 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
331 |
*/
|
332 |
public function register_usage_tracking_setting() {
|
333 |
|
334 |
-
|
335 |
-
return;
|
336 |
-
}
|
337 |
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
[ 'sanitize_callback' => [ $this, 'sanitize_option' ] ] // sanitize callback function.
|
342 |
-
);
|
343 |
|
344 |
-
|
345 |
-
'
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
}
|
351 |
|
352 |
/**
|
@@ -367,14 +395,17 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
367 |
/**
|
368 |
* Print settings field HTML.
|
369 |
*
|
|
|
370 |
* @since 1.0.0
|
371 |
*/
|
372 |
-
public function render_settings_field_html() {
|
373 |
?>
|
374 |
-
<
|
375 |
-
|
|
|
376 |
<?php
|
377 |
-
|
|
|
378 |
|
379 |
if ( is_multisite() ) {
|
380 |
esc_html_e( ' This will be applicable for all sites from the network.', 'header-footer-elementor' );
|
@@ -382,53 +413,26 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
382 |
?>
|
383 |
</label>
|
384 |
<?php
|
385 |
-
echo wp_kses_post( sprintf( '<a href="%1s" target="_blank" rel="noreferrer noopener">%2s</a>', esc_url( $
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
* Get current product name.
|
390 |
-
*
|
391 |
-
* @return string $plugin_data['Name] Name of plugin.
|
392 |
-
* @since 1.0.0
|
393 |
-
*/
|
394 |
-
private function get_product_name() {
|
395 |
-
|
396 |
-
$base = wp_normalize_path( dirname( __FILE__ ) );
|
397 |
-
$theme_dir = wp_normalize_path( get_template_directory() );
|
398 |
-
|
399 |
-
if ( false !== strpos( $base, $theme_dir ) ) {
|
400 |
-
$theme = wp_get_theme( get_template() );
|
401 |
-
return $theme->get( 'Name' );
|
402 |
-
}
|
403 |
-
|
404 |
-
$base = plugin_basename( __FILE__ );
|
405 |
-
|
406 |
-
$exploded_path = explode( '/', $base, 2 );
|
407 |
-
$plugin_slug = $exploded_path[0];
|
408 |
-
|
409 |
-
if ( ! function_exists( 'get_plugin_data' ) ) {
|
410 |
-
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
411 |
-
}
|
412 |
-
|
413 |
-
$plugin_main_file = WP_PLUGIN_DIR . '/' . $plugin_slug . '/' . $plugin_slug . '.php';
|
414 |
-
$plugin_data = get_plugin_data( wp_normalize_path( $plugin_main_file ) );
|
415 |
-
|
416 |
-
return $plugin_data['Name'];
|
417 |
}
|
418 |
|
419 |
/**
|
420 |
* Set analytics installed time in option.
|
421 |
*
|
|
|
422 |
* @return string $time analytics installed time.
|
423 |
* @since 1.0.0
|
424 |
*/
|
425 |
-
private function get_analytics_install_time() {
|
426 |
|
427 |
-
$time = get_site_option( '
|
428 |
|
429 |
if ( ! $time ) {
|
430 |
$time = time();
|
431 |
-
update_site_option( '
|
432 |
}
|
433 |
|
434 |
return $time;
|
@@ -443,7 +447,9 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
443 |
* @since 1.0.0
|
444 |
*/
|
445 |
public function update_analytics_option_callback( $old_value, $value, $option ) {
|
446 |
-
|
|
|
|
|
447 |
}
|
448 |
|
449 |
/**
|
@@ -454,50 +460,49 @@ if ( ! class_exists( 'BSF_Analytics' ) ) {
|
|
454 |
* @since 1.0.0
|
455 |
*/
|
456 |
public function add_analytics_option_callback( $option, $value ) {
|
457 |
-
|
|
|
|
|
458 |
}
|
459 |
|
460 |
/**
|
461 |
-
*
|
462 |
*
|
463 |
* @since 1.0.0
|
464 |
*/
|
465 |
-
public function
|
466 |
|
467 |
-
if (
|
468 |
-
$this->unschedule_event();
|
469 |
return;
|
470 |
}
|
471 |
|
472 |
-
$
|
473 |
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
}
|
479 |
}
|
480 |
|
481 |
/**
|
482 |
* Save analytics option to network.
|
483 |
*
|
|
|
484 |
* @param string $value value of option.
|
485 |
* @since 1.0.0
|
486 |
*/
|
487 |
-
public function add_option_to_network( $value ) {
|
488 |
|
489 |
// If action coming from general settings page.
|
490 |
if ( isset( $_POST['option_page'] ) && 'general' === $_POST['option_page'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
|
491 |
|
492 |
-
if ( get_site_option(
|
493 |
-
update_site_option(
|
494 |
} else {
|
495 |
-
add_site_option(
|
496 |
}
|
497 |
}
|
498 |
}
|
499 |
}
|
500 |
-
|
501 |
-
new BSF_Analytics();
|
502 |
-
|
503 |
}
|
18 |
*/
|
19 |
class BSF_Analytics {
|
20 |
|
21 |
+
/**
|
22 |
+
* Member Variable
|
23 |
+
*
|
24 |
+
* @var array Entities data.
|
25 |
+
*/
|
26 |
+
private $entities;
|
27 |
+
|
28 |
/**
|
29 |
* Member Variable
|
30 |
*
|
31 |
* @var string Usage tracking document URL
|
32 |
*/
|
33 |
+
public $usage_doc_link = 'https://store.brainstormforce.com/usage-tracking/?utm_source=wp_dashboard&utm_medium=general_settings&utm_campaign=usage_tracking';
|
34 |
|
35 |
/**
|
36 |
* Setup actions, load files.
|
37 |
*
|
38 |
+
* @param array $args entity data for analytics.
|
39 |
+
* @param string $analytics_path directory path to analytics library.
|
40 |
+
* @param float $analytics_version analytics library version.
|
41 |
* @since 1.0.0
|
42 |
*/
|
43 |
+
public function __construct( $args, $analytics_path, $analytics_version ) {
|
44 |
|
45 |
+
// Bail when no analytics entities are registered.
|
46 |
+
if ( empty( $args ) ) {
|
47 |
+
return;
|
48 |
+
}
|
49 |
+
|
50 |
+
$this->entities = $args;
|
51 |
+
|
52 |
+
define( 'BSF_ANALYTICS_VERSION', $analytics_version );
|
53 |
+
define( 'BSF_ANALYTICS_URI', $this->get_analytics_url( $analytics_path ) );
|
54 |
|
55 |
add_action( 'admin_init', [ $this, 'handle_optin_optout' ] );
|
|
|
56 |
add_action( 'admin_notices', [ $this, 'option_notice' ] );
|
57 |
+
add_action( 'init', [ $this, 'maybe_track_analytics' ], 99 );
|
|
|
|
|
58 |
|
59 |
+
$this->set_actions();
|
|
|
|
|
60 |
|
61 |
add_action( 'admin_init', [ $this, 'register_usage_tracking_setting' ] );
|
62 |
|
|
|
|
|
|
|
63 |
$this->includes();
|
64 |
}
|
65 |
|
66 |
+
/**
|
67 |
+
* Setup actions for admin notice style and analytics cron event.
|
68 |
+
*
|
69 |
+
* @since 1.0.4
|
70 |
+
*/
|
71 |
+
public function set_actions() {
|
72 |
+
|
73 |
+
foreach ( $this->entities as $key => $data ) {
|
74 |
+
add_action( 'astra_notice_before_markup_' . $key . '-optin-notice', [ $this, 'enqueue_assets' ] );
|
75 |
+
add_action( 'update_option_' . $key . '_analytics_optin', [ $this, 'update_analytics_option_callback' ], 10, 3 );
|
76 |
+
add_action( 'add_option_' . $key . '_analytics_optin', [ $this, 'add_analytics_option_callback' ], 10, 2 );
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
/**
|
81 |
* BSF Analytics URL
|
82 |
*
|
83 |
+
* @param string $analytics_path directory path to analytics library.
|
84 |
* @return String URL of bsf-analytics directory.
|
85 |
* @since 1.0.0
|
86 |
*/
|
87 |
+
public function get_analytics_url( $analytics_path ) {
|
88 |
|
89 |
+
$content_dir_path = wp_normalize_path( WP_CONTENT_DIR );
|
|
|
90 |
|
91 |
+
$analytics_path = wp_normalize_path( $analytics_path );
|
92 |
+
|
93 |
+
return str_replace( $content_dir_path, content_url(), $analytics_path );
|
|
|
|
|
94 |
}
|
95 |
|
96 |
/**
|
148 |
* @since 1.0.0
|
149 |
*/
|
150 |
public function is_tracking_enabled() {
|
|
|
|
|
151 |
|
152 |
+
foreach ( $this->entities as $key => $data ) {
|
153 |
+
|
154 |
+
$is_enabled = get_site_option( $key . '_analytics_optin' ) === 'yes' ? true : false;
|
155 |
+
$is_enabled = $this->is_white_label_enabled( $key ) ? false : $is_enabled;
|
156 |
+
|
157 |
+
if ( apply_filters( $key . '_tracking_enabled', $is_enabled ) ) {
|
158 |
+
return true;
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
return false;
|
163 |
}
|
164 |
|
165 |
/**
|
166 |
* Check if WHITE label is enabled for BSF products.
|
167 |
*
|
168 |
+
* @param string $source source of analytics.
|
169 |
* @return bool
|
170 |
* @since 1.0.0
|
171 |
*/
|
172 |
+
public function is_white_label_enabled( $source ) {
|
173 |
|
174 |
+
$options = apply_filters( $source . '_white_label_options', [] );
|
175 |
$is_enabled = false;
|
176 |
|
177 |
if ( is_array( $options ) ) {
|
197 |
return;
|
198 |
}
|
199 |
|
200 |
+
foreach ( $this->entities as $key => $data ) {
|
|
|
|
|
|
|
201 |
|
202 |
+
$time_to_display = isset( $data['time_to_display'] ) ? $data['time_to_display'] : '+24 hours';
|
203 |
+
$usage_doc_link = isset( $data['usage_doc_link'] ) ? $data['usage_doc_link'] : $this->usage_doc_link;
|
|
|
|
|
204 |
|
205 |
+
// Don't display the notice if tracking is disabled or White Label is enabled for any of our plugins.
|
206 |
+
if ( false !== get_site_option( $key . '_analytics_optin', false ) || $this->is_white_label_enabled( $key ) ) {
|
207 |
+
continue;
|
208 |
+
}
|
209 |
|
210 |
+
// Show tracker consent notice after 24 hours from installed time.
|
211 |
+
if ( strtotime( $time_to_display, $this->get_analytics_install_time( $key ) ) > time() ) {
|
212 |
+
continue;
|
213 |
+
}
|
214 |
|
215 |
+
/* translators: %s product name */
|
216 |
+
$notice_string = __( 'Want to help make <strong>%1s</strong> even more awesome? Allow us to collect non-sensitive diagnostic data and usage information. ', 'header-footer-elementor' );
|
217 |
+
|
218 |
+
if ( is_multisite() ) {
|
219 |
+
$notice_string .= __( 'This will be applicable for all sites from the network.', 'header-footer-elementor' );
|
220 |
+
}
|
221 |
+
|
222 |
+
$language_dir = is_rtl() ? 'rtl' : 'ltr';
|
223 |
+
|
224 |
+
Astra_Notices::add_notice(
|
225 |
+
[
|
226 |
+
'id' => $key . '-optin-notice',
|
227 |
+
'type' => '',
|
228 |
+
'message' => sprintf(
|
229 |
+
'<div class="notice-content">
|
230 |
+
<div class="notice-heading">
|
231 |
+
%1$s
|
232 |
+
</div>
|
233 |
+
<div class="astra-notices-container">
|
234 |
+
<a href="%2$s" class="astra-notices button-primary">
|
235 |
+
%3$s
|
236 |
+
</a>
|
237 |
+
<a href="%4$s" data-repeat-notice-after="%5$s" class="astra-notices button-secondary">
|
238 |
+
%6$s
|
239 |
+
</a>
|
240 |
+
</div>
|
241 |
+
</div>',
|
242 |
+
/* translators: %s usage doc link */
|
243 |
+
sprintf( $notice_string . '<span dir="%2s"><a href="%3s" target="_blank" rel="noreferrer noopener">%4s</a><span>', esc_html( $data['product_name'] ), $language_dir, esc_url( $usage_doc_link ), __( ' Know More.', 'header-footer-elementor' ) ),
|
244 |
+
add_query_arg(
|
245 |
+
[
|
246 |
+
$key . '_analytics_optin' => 'yes',
|
247 |
+
$key . '_analytics_nonce' => wp_create_nonce( $key . '_analytics_optin' ),
|
248 |
+
'bsf_analytics_source' => $key,
|
249 |
+
]
|
250 |
+
),
|
251 |
+
__( 'Yes! Allow it', 'header-footer-elementor' ),
|
252 |
+
add_query_arg(
|
253 |
+
[
|
254 |
+
$key . '_analytics_optin' => 'no',
|
255 |
+
$key . '_analytics_nonce' => wp_create_nonce( $key . '_analytics_optin' ),
|
256 |
+
'bsf_analytics_source' => $key,
|
257 |
+
]
|
258 |
+
),
|
259 |
+
MONTH_IN_SECONDS,
|
260 |
+
__( 'No Thanks', 'header-footer-elementor' )
|
261 |
),
|
262 |
+
'show_if' => true,
|
263 |
+
'repeat-notice-after' => false,
|
264 |
+
'priority' => 18,
|
265 |
+
'display-with-other-notices' => true,
|
266 |
+
]
|
267 |
+
);
|
268 |
+
}
|
|
|
|
|
269 |
}
|
270 |
|
271 |
/**
|
274 |
* @since 1.0.0
|
275 |
*/
|
276 |
public function handle_optin_optout() {
|
277 |
+
|
278 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
279 |
+
return;
|
280 |
+
}
|
281 |
+
|
282 |
+
$source = isset( $_GET['bsf_analytics_source'] ) ? sanitize_text_field( wp_unslash( $_GET['bsf_analytics_source'] ) ) : '';
|
283 |
+
|
284 |
+
if ( ! isset( $_GET[ $source . '_analytics_nonce' ] ) ) {
|
285 |
return;
|
286 |
}
|
287 |
|
288 |
+
if ( ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET[ $source . '_analytics_nonce' ] ) ), $source . '_analytics_optin' ) ) {
|
289 |
return;
|
290 |
}
|
291 |
|
292 |
+
$optin_status = isset( $_GET[ $source . '_analytics_optin' ] ) ? sanitize_text_field( wp_unslash( $_GET[ $source . '_analytics_optin' ] ) ) : '';
|
293 |
|
294 |
if ( 'yes' === $optin_status ) {
|
295 |
+
$this->optin( $source );
|
296 |
} elseif ( 'no' === $optin_status ) {
|
297 |
+
$this->optout( $source );
|
298 |
}
|
299 |
|
300 |
wp_safe_redirect(
|
301 |
remove_query_arg(
|
302 |
[
|
303 |
+
$source . '_analytics_optin',
|
304 |
+
$source . '_analytics_nonce',
|
305 |
+
'bsf_analytics_source',
|
306 |
]
|
307 |
)
|
308 |
);
|
311 |
/**
|
312 |
* Opt in to usage tracking.
|
313 |
*
|
314 |
+
* @param string $source source of analytics.
|
315 |
* @since 1.0.0
|
316 |
*/
|
317 |
+
private function optin( $source ) {
|
318 |
+
update_site_option( $source . '_analytics_optin', 'yes' );
|
319 |
}
|
320 |
|
321 |
/**
|
322 |
* Opt out to usage tracking.
|
323 |
*
|
324 |
+
* @param string $source source of analytics.
|
325 |
* @since 1.0.0
|
326 |
*/
|
327 |
+
private function optout( $source ) {
|
328 |
+
update_site_option( $source . '_analytics_optin', 'no' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
}
|
330 |
|
331 |
/**
|
344 |
*/
|
345 |
public function register_usage_tracking_setting() {
|
346 |
|
347 |
+
foreach ( $this->entities as $key => $data ) {
|
|
|
|
|
348 |
|
349 |
+
if ( ! apply_filters( $key . '_tracking_enabled', true ) || $this->is_white_label_enabled( $key ) ) {
|
350 |
+
return;
|
351 |
+
}
|
|
|
|
|
352 |
|
353 |
+
$usage_doc_link = isset( $data['usage_doc_link'] ) ? $data['usage_doc_link'] : $this->usage_doc_link;
|
354 |
+
$author = isset( $data['author'] ) ? $data['author'] : 'Brainstorm Force';
|
355 |
+
|
356 |
+
register_setting(
|
357 |
+
'general', // Options group.
|
358 |
+
$key . '_analytics_optin', // Option name/database.
|
359 |
+
[ 'sanitize_callback' => [ $this, 'sanitize_option' ] ] // sanitize callback function.
|
360 |
+
);
|
361 |
+
|
362 |
+
add_settings_field(
|
363 |
+
$key . '-analytics-optin', // Field ID.
|
364 |
+
__( 'Usage Tracking', 'header-footer-elementor' ), // Field title.
|
365 |
+
[ $this, 'render_settings_field_html' ], // Field callback function.
|
366 |
+
'general',
|
367 |
+
'default', // Settings page slug.
|
368 |
+
[
|
369 |
+
'type' => 'checkbox',
|
370 |
+
'title' => $author,
|
371 |
+
'name' => $key . '_analytics_optin',
|
372 |
+
'label_for' => $key . '-analytics-optin',
|
373 |
+
'id' => $key . '-analytics-optin',
|
374 |
+
'usage_doc_link' => $usage_doc_link,
|
375 |
+
]
|
376 |
+
);
|
377 |
+
}
|
378 |
}
|
379 |
|
380 |
/**
|
395 |
/**
|
396 |
* Print settings field HTML.
|
397 |
*
|
398 |
+
* @param array $args arguments to field.
|
399 |
* @since 1.0.0
|
400 |
*/
|
401 |
+
public function render_settings_field_html( $args ) {
|
402 |
?>
|
403 |
+
<fieldset>
|
404 |
+
<label for="<?php echo esc_attr( $args['label_for'] ); ?>">
|
405 |
+
<input id="<?php echo esc_attr( $args['id'] ); ?>" type="checkbox" value="1" name="<?php echo esc_attr( $args['name'] ); ?>" <?php checked( get_site_option( $args['name'], 'no' ), 'yes' ); ?>>
|
406 |
<?php
|
407 |
+
/* translators: %s Product title */
|
408 |
+
echo esc_html( sprintf( __( 'Allow %s products to track non-sensitive usage tracking data.', 'header-footer-elementor' ), $args['title'] ) );// phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText
|
409 |
|
410 |
if ( is_multisite() ) {
|
411 |
esc_html_e( ' This will be applicable for all sites from the network.', 'header-footer-elementor' );
|
413 |
?>
|
414 |
</label>
|
415 |
<?php
|
416 |
+
echo wp_kses_post( sprintf( '<a href="%1s" target="_blank" rel="noreferrer noopener">%2s</a>', esc_url( $args['usage_doc_link'] ), __( 'Learn More.', 'header-footer-elementor' ) ) );
|
417 |
+
?>
|
418 |
+
</fieldset>
|
419 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
420 |
}
|
421 |
|
422 |
/**
|
423 |
* Set analytics installed time in option.
|
424 |
*
|
425 |
+
* @param string $source source of analytics.
|
426 |
* @return string $time analytics installed time.
|
427 |
* @since 1.0.0
|
428 |
*/
|
429 |
+
private function get_analytics_install_time( $source ) {
|
430 |
|
431 |
+
$time = get_site_option( $source . '_analytics_installed_time' );
|
432 |
|
433 |
if ( ! $time ) {
|
434 |
$time = time();
|
435 |
+
update_site_option( $source . '_analytics_installed_time', time() );
|
436 |
}
|
437 |
|
438 |
return $time;
|
447 |
* @since 1.0.0
|
448 |
*/
|
449 |
public function update_analytics_option_callback( $old_value, $value, $option ) {
|
450 |
+
if ( is_multisite() ) {
|
451 |
+
$this->add_option_to_network( $option, $value );
|
452 |
+
}
|
453 |
}
|
454 |
|
455 |
/**
|
460 |
* @since 1.0.0
|
461 |
*/
|
462 |
public function add_analytics_option_callback( $option, $value ) {
|
463 |
+
if ( is_multisite() ) {
|
464 |
+
$this->add_option_to_network( $option, $value );
|
465 |
+
}
|
466 |
}
|
467 |
|
468 |
/**
|
469 |
+
* Send analaytics track event if tracking is enabled.
|
470 |
*
|
471 |
* @since 1.0.0
|
472 |
*/
|
473 |
+
public function maybe_track_analytics() {
|
474 |
|
475 |
+
if ( ! $this->is_tracking_enabled() ) {
|
|
|
476 |
return;
|
477 |
}
|
478 |
|
479 |
+
$analytics_track = get_site_transient( 'bsf_analytics_track' );
|
480 |
|
481 |
+
// If the last data sent is 2 days old i.e. transient is expired.
|
482 |
+
if ( ! $analytics_track ) {
|
483 |
+
$this->send();
|
484 |
+
set_site_transient( 'bsf_analytics_track', true, 2 * DAY_IN_SECONDS );
|
485 |
}
|
486 |
}
|
487 |
|
488 |
/**
|
489 |
* Save analytics option to network.
|
490 |
*
|
491 |
+
* @param string $option name of option.
|
492 |
* @param string $value value of option.
|
493 |
* @since 1.0.0
|
494 |
*/
|
495 |
+
public function add_option_to_network( $option, $value ) {
|
496 |
|
497 |
// If action coming from general settings page.
|
498 |
if ( isset( $_POST['option_page'] ) && 'general' === $_POST['option_page'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
|
499 |
|
500 |
+
if ( get_site_option( $option ) ) {
|
501 |
+
update_site_option( $option, $value );
|
502 |
} else {
|
503 |
+
add_site_option( $option, $value );
|
504 |
}
|
505 |
}
|
506 |
}
|
507 |
}
|
|
|
|
|
|
|
508 |
}
|
admin/bsf-analytics/version.json
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"bsf-analytics-ver": "1.1.0"
|
3 |
+
}
|
4 |
+
|
header-footer-elementor.php
CHANGED
@@ -7,12 +7,12 @@
|
|
7 |
* Author URI: https://www.brainstormforce.com/
|
8 |
* Text Domain: header-footer-elementor
|
9 |
* Domain Path: /languages
|
10 |
-
* Version: 1.5.
|
11 |
*
|
12 |
* @package header-footer-elementor
|
13 |
*/
|
14 |
|
15 |
-
define( 'HFE_VER', '1.5.
|
16 |
define( 'HFE_DIR', plugin_dir_path( __FILE__ ) );
|
17 |
define( 'HFE_URL', plugins_url( '/', __FILE__ ) );
|
18 |
define( 'HFE_PATH', plugin_basename( __FILE__ ) );
|
7 |
* Author URI: https://www.brainstormforce.com/
|
8 |
* Text Domain: header-footer-elementor
|
9 |
* Domain Path: /languages
|
10 |
+
* Version: 1.5.4
|
11 |
*
|
12 |
* @package header-footer-elementor
|
13 |
*/
|
14 |
|
15 |
+
define( 'HFE_VER', '1.5.4' );
|
16 |
define( 'HFE_DIR', plugin_dir_path( __FILE__ ) );
|
17 |
define( 'HFE_URL', plugins_url( '/', __FILE__ ) );
|
18 |
define( 'HFE_PATH', plugin_basename( __FILE__ ) );
|
inc/class-header-footer-elementor.php
CHANGED
@@ -90,7 +90,22 @@ class Header_Footer_Elementor {
|
|
90 |
add_action( 'admin_notices', [ $this, 'register_notices' ] );
|
91 |
|
92 |
// BSF Analytics Tracker.
|
93 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
|
95 |
} else {
|
96 |
add_action( 'admin_notices', [ $this, 'elementor_not_available' ] );
|
@@ -190,7 +205,7 @@ class Header_Footer_Elementor {
|
|
190 |
|
191 |
$plugin = 'elementor/elementor.php';
|
192 |
|
193 |
-
if (
|
194 |
|
195 |
$action_url = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $plugin . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $plugin );
|
196 |
$button_label = __( 'Activate Elementor', 'header-footer-elementor' );
|
@@ -436,19 +451,3 @@ class Header_Footer_Elementor {
|
|
436 |
}
|
437 |
|
438 |
}
|
439 |
-
/**
|
440 |
-
* Is elementor plugin installed.
|
441 |
-
*/
|
442 |
-
if ( ! function_exists( '_is_elementor_installed' ) ) {
|
443 |
-
|
444 |
-
/**
|
445 |
-
* Check if Elementor is installed
|
446 |
-
*
|
447 |
-
* @since 1.5.0
|
448 |
-
*
|
449 |
-
* @access public
|
450 |
-
*/
|
451 |
-
function _is_elementor_installed() {
|
452 |
-
return defined( 'ELEMENTOR_VERSION' ) ? true : false;
|
453 |
-
}
|
454 |
-
}
|
90 |
add_action( 'admin_notices', [ $this, 'register_notices' ] );
|
91 |
|
92 |
// BSF Analytics Tracker.
|
93 |
+
if ( ! class_exists( 'BSF_Analytics_Loader' ) ) {
|
94 |
+
require_once HFE_DIR . 'admin/bsf-analytics/class-bsf-analytics-loader.php';
|
95 |
+
}
|
96 |
+
|
97 |
+
$bsf_analytics = BSF_Analytics_Loader::get_instance();
|
98 |
+
|
99 |
+
$bsf_analytics->set_entity(
|
100 |
+
[
|
101 |
+
'bsf' => [
|
102 |
+
'product_name' => 'Elementor - Header, Footer & Blocks',
|
103 |
+
'path' => HFE_DIR . 'admin/bsf-analytics',
|
104 |
+
'author' => 'Brainstorm Force',
|
105 |
+
'time_to_display' => '+24 hours',
|
106 |
+
],
|
107 |
+
]
|
108 |
+
);
|
109 |
|
110 |
} else {
|
111 |
add_action( 'admin_notices', [ $this, 'elementor_not_available' ] );
|
205 |
|
206 |
$plugin = 'elementor/elementor.php';
|
207 |
|
208 |
+
if ( file_exists( WP_PLUGIN_DIR . '/elementor/elementor.php' ) ) {
|
209 |
|
210 |
$action_url = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $plugin . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $plugin );
|
211 |
$button_label = __( 'Activate Elementor', 'header-footer-elementor' );
|
451 |
}
|
452 |
|
453 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/js/frontend.js
CHANGED
@@ -336,82 +336,85 @@
|
|
336 |
$( '.elementor-element-' + id + ' div.hfe-has-submenu-container' ).off( 'click' ).on( 'click', function( event ) {
|
337 |
|
338 |
var $this = $( this );
|
339 |
-
|
340 |
-
if( $this.hasClass( 'sub-menu-active' ) ) {
|
341 |
|
342 |
-
|
343 |
|
344 |
-
|
345 |
|
346 |
-
|
347 |
|
348 |
-
|
349 |
|
350 |
-
|
351 |
-
}else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 767px )" ).matches && ($( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
352 |
-
|
353 |
-
event.preventDefault();
|
354 |
|
355 |
-
|
356 |
-
}else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 1024px )" ).matches && ( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
357 |
-
|
358 |
-
event.preventDefault();
|
359 |
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
$this.next().css( 'position', 'relative' );
|
382 |
-
|
383 |
-
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 1024px )" ).matches && ( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
384 |
|
385 |
-
$this.
|
386 |
-
|
387 |
-
|
388 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
389 |
|
390 |
$this.find( 'a' ).attr( 'aria-expanded', 'true' );
|
391 |
if ( 'horizontal' !== layout ) {
|
392 |
|
393 |
event.preventDefault();
|
394 |
-
|
395 |
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 767px )" ).matches && ($( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
396 |
|
397 |
event.preventDefault();
|
398 |
-
|
399 |
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 1024px )" ).matches ) {
|
400 |
event.preventDefault();
|
401 |
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
|
|
415 |
}
|
416 |
});
|
417 |
|
336 |
$( '.elementor-element-' + id + ' div.hfe-has-submenu-container' ).off( 'click' ).on( 'click', function( event ) {
|
337 |
|
338 |
var $this = $( this );
|
|
|
|
|
339 |
|
340 |
+
if( $( '.elementor-element-' + id ).hasClass( 'hfe-link-redirect-child' ) ) {
|
341 |
|
342 |
+
if( $this.hasClass( 'sub-menu-active' ) ) {
|
343 |
|
344 |
+
if( ! $this.next().hasClass( 'sub-menu-open' ) ) {
|
345 |
|
346 |
+
$this.find( 'a' ).attr( 'aria-expanded', 'false' );
|
347 |
|
348 |
+
if( 'horizontal' !== layout ){
|
|
|
|
|
|
|
349 |
|
350 |
+
event.preventDefault();
|
|
|
|
|
|
|
351 |
|
352 |
+
$this.next().css( 'position', 'relative' );
|
353 |
+
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 767px )" ).matches && ($( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
354 |
+
|
355 |
+
event.preventDefault();
|
356 |
+
|
357 |
+
$this.next().css( 'position', 'relative' );
|
358 |
+
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 1024px )" ).matches && ( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
359 |
+
|
360 |
+
event.preventDefault();
|
361 |
+
|
362 |
+
$this.next().css( 'position', 'relative' );
|
363 |
+
}
|
364 |
+
|
365 |
+
$this.removeClass( 'sub-menu-active' );
|
366 |
+
$this.next().removeClass( 'sub-menu-open' );
|
367 |
+
$this.next().css( { 'visibility': 'hidden', 'opacity': '0', 'height': '0' } );
|
368 |
+
$this.next().css( { 'transition': 'none'} );
|
369 |
+
} else{
|
370 |
+
|
371 |
+
$this.find( 'a' ).attr( 'aria-expanded', 'false' );
|
|
|
|
|
|
|
|
|
372 |
|
373 |
+
$this.removeClass( 'sub-menu-active' );
|
374 |
+
$this.next().removeClass( 'sub-menu-open' );
|
375 |
+
$this.next().css( { 'visibility': 'hidden', 'opacity': '0', 'height': '0' } );
|
376 |
+
$this.next().css( { 'transition': 'none'} );
|
377 |
+
|
378 |
+
if ( 'horizontal' !== layout ){
|
379 |
+
|
380 |
+
$this.next().css( 'position', 'relative' );
|
381 |
+
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 767px )" ).matches && ($( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
382 |
+
|
383 |
+
$this.next().css( 'position', 'relative' );
|
384 |
+
|
385 |
+
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 1024px )" ).matches && ( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
386 |
+
|
387 |
+
$this.next().css( 'position', 'absolute' );
|
388 |
+
}
|
389 |
+
}
|
390 |
+
} else {
|
391 |
|
392 |
$this.find( 'a' ).attr( 'aria-expanded', 'true' );
|
393 |
if ( 'horizontal' !== layout ) {
|
394 |
|
395 |
event.preventDefault();
|
396 |
+
$this.next().css( 'position', 'relative');
|
397 |
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 767px )" ).matches && ($( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile'))) {
|
398 |
|
399 |
event.preventDefault();
|
400 |
+
$this.next().css( 'position', 'relative');
|
401 |
} else if ( 'horizontal' === layout && window.matchMedia( "( max-width: 1024px )" ).matches ) {
|
402 |
event.preventDefault();
|
403 |
|
404 |
+
if ( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') ) {
|
405 |
+
|
406 |
+
$this.next().css( 'position', 'relative');
|
407 |
+
} else if ( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-none') ) {
|
408 |
+
|
409 |
+
$this.next().css( 'position', 'absolute');
|
410 |
+
}
|
411 |
+
}
|
412 |
+
|
413 |
+
$this.addClass( 'sub-menu-active' );
|
414 |
+
$this.next().addClass( 'sub-menu-open' );
|
415 |
+
$this.next().css( { 'visibility': 'visible', 'opacity': '1', 'height': 'auto' } );
|
416 |
+
$this.next().css( { 'transition': '0.3s ease'} );
|
417 |
+
}
|
418 |
}
|
419 |
});
|
420 |
|
inc/widgets-css/frontend.css
CHANGED
@@ -135,13 +135,13 @@ div.hfe-nav-menu,
|
|
135 |
-webkit-justify-content: flex-end;
|
136 |
-moz-box-pack: end;
|
137 |
justify-content: flex-end; }
|
138 |
-
.hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
|
139 |
text-align: right;
|
140 |
}
|
141 |
-
.hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
|
142 |
text-align: left;
|
143 |
}
|
144 |
-
.hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
|
145 |
text-align: center;
|
146 |
}
|
147 |
.hfe-nav-menu__align-left .hfe-nav-menu {
|
@@ -276,13 +276,13 @@ div.hfe-nav-menu,
|
|
276 |
display: none;
|
277 |
}
|
278 |
|
279 |
-
.hfe-submenu-icon-arrow .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before {
|
280 |
content: '';
|
281 |
}
|
282 |
-
.hfe-submenu-icon-plus .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before {
|
283 |
content: '-';
|
284 |
}
|
285 |
-
.hfe-submenu-icon-classic .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before {
|
286 |
content: '';
|
287 |
}
|
288 |
|
@@ -1101,9 +1101,9 @@ div.hfe-nav-menu,
|
|
1101 |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
1102 |
}
|
1103 |
|
1104 |
-
a.hfe-menu-item.elementor-button {
|
1105 |
display: inline-flex;
|
1106 |
-
}
|
1107 |
|
1108 |
.hfe-nav-menu li.elementor-button-wrapper {
|
1109 |
align-self: center;
|
135 |
-webkit-justify-content: flex-end;
|
136 |
-moz-box-pack: end;
|
137 |
justify-content: flex-end; }
|
138 |
+
.hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li .elementor-button-wrapper{
|
139 |
text-align: right;
|
140 |
}
|
141 |
+
.hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li .elementor-button-wrapper{
|
142 |
text-align: left;
|
143 |
}
|
144 |
+
.hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li .elementor-button-wrapper{
|
145 |
text-align: center;
|
146 |
}
|
147 |
.hfe-nav-menu__align-left .hfe-nav-menu {
|
276 |
display: none;
|
277 |
}
|
278 |
|
279 |
+
.hfe-submenu-icon-arrow .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before,.hfe-link-redirect-self_link.hfe-submenu-icon-arrow .hfe-nav-menu .parent-has-child .menu-active .sub-arrow i:before {
|
280 |
content: '';
|
281 |
}
|
282 |
+
.hfe-submenu-icon-plus .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before, .hfe-link-redirect-self_link.hfe-submenu-icon-plus .hfe-nav-menu .parent-has-child .menu-active .sub-arrow i:before {
|
283 |
content: '-';
|
284 |
}
|
285 |
+
.hfe-submenu-icon-classic .hfe-nav-menu .parent-has-child .sub-menu-active .sub-arrow i:before, .hfe-link-redirect-self_link.hfe-submenu-icon-classic .hfe-nav-menu .parent-has-child .menu-active .sub-arrow i:before {
|
286 |
content: '';
|
287 |
}
|
288 |
|
1101 |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
1102 |
}
|
1103 |
|
1104 |
+
.elementor-widget-navigation-menu:not(.hfe-nav-menu__align-justify):not(.hfe-menu-item-space-between) a.hfe-menu-item.elementor-button {
|
1105 |
display: inline-flex;
|
1106 |
+
}
|
1107 |
|
1108 |
.hfe-nav-menu li.elementor-button-wrapper {
|
1109 |
align-self: center;
|
inc/widgets-manager/widgets/class-menu-walker.php
CHANGED
@@ -98,7 +98,7 @@ class Menu_Walker extends \Walker_Nav_Menu {
|
|
98 |
* @param string $output Output HTML.
|
99 |
* @access public
|
100 |
*/
|
101 |
-
function display_element( $element, &$children_elements, $max_depth, $depth
|
102 |
|
103 |
$id_field = $this->db_fields['id'];
|
104 |
|
98 |
* @param string $output Output HTML.
|
99 |
* @access public
|
100 |
*/
|
101 |
+
function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
|
102 |
|
103 |
$id_field = $this->db_fields['id'];
|
104 |
|
inc/widgets-manager/widgets/class-navigation-menu.php
CHANGED
@@ -399,8 +399,8 @@ class Navigation_Menu extends Widget_Base {
|
|
399 |
],
|
400 |
'selectors' => [
|
401 |
'{{WRAPPER}} li.menu-item a' => 'justify-content: {{VALUE}};',
|
402 |
-
'{{WRAPPER}} li.elementor-button-wrapper' => 'text-align: {{VALUE}};',
|
403 |
-
'{{WRAPPER}}.hfe-menu-item-flex-end li.elementor-button-wrapper' => 'text-align: right;',
|
404 |
],
|
405 |
'prefix_class' => 'hfe-menu-item-',
|
406 |
]
|
@@ -438,6 +438,21 @@ class Navigation_Menu extends Widget_Base {
|
|
438 |
]
|
439 |
);
|
440 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
441 |
$this->add_control(
|
442 |
'heading_responsive',
|
443 |
[
|
399 |
],
|
400 |
'selectors' => [
|
401 |
'{{WRAPPER}} li.menu-item a' => 'justify-content: {{VALUE}};',
|
402 |
+
'{{WRAPPER}} li .elementor-button-wrapper' => 'text-align: {{VALUE}};',
|
403 |
+
'{{WRAPPER}}.hfe-menu-item-flex-end li .elementor-button-wrapper' => 'text-align: right;',
|
404 |
],
|
405 |
'prefix_class' => 'hfe-menu-item-',
|
406 |
]
|
438 |
]
|
439 |
);
|
440 |
|
441 |
+
$this->add_control(
|
442 |
+
'link_redirect',
|
443 |
+
[
|
444 |
+
'label' => __( 'Action On Menu Click', 'header-footer-elementor' ),
|
445 |
+
'type' => Controls_Manager::SELECT,
|
446 |
+
'default' => 'child',
|
447 |
+
'description' => __( 'For Horizontal layout, this will affect on the selected breakpoint', 'header-footer-elementor' ),
|
448 |
+
'options' => [
|
449 |
+
'child' => __( 'Open Submenu', 'header-footer-elementor' ),
|
450 |
+
'self_link' => __( 'Redirect To Self Link', 'header-footer-elementor' ),
|
451 |
+
],
|
452 |
+
'prefix_class' => 'hfe-link-redirect-',
|
453 |
+
]
|
454 |
+
);
|
455 |
+
|
456 |
$this->add_control(
|
457 |
'heading_responsive',
|
458 |
[
|
inc/widgets-manager/widgets/class-retina.php
CHANGED
@@ -798,7 +798,7 @@ class Retina extends Widget_Base {
|
|
798 |
?>
|
799 |
<div class="hfe-retina-image-set">
|
800 |
<div class="hfe-retina-image-container">
|
801 |
-
<img class="hfe-retina-img <?php echo $class_animation; ?>" src="<?php echo $image_url; ?>" srcset="<?php echo $image_url . ' 1x' . ',' . $retina_image_url . ' 2x'; ?>"/>
|
802 |
</div>
|
803 |
</div>
|
804 |
<?php if ( $link ) : ?>
|
798 |
?>
|
799 |
<div class="hfe-retina-image-set">
|
800 |
<div class="hfe-retina-image-container">
|
801 |
+
<img class="hfe-retina-img <?php echo $class_animation; ?>" src="<?php echo $image_url; ?>" alt="<?php echo esc_attr( Control_Media::get_image_alt( $settings['retina_image'] ) ); ?>" srcset="<?php echo $image_url . ' 1x' . ',' . $retina_image_url . ' 2x'; ?>"/>
|
802 |
</div>
|
803 |
</div>
|
804 |
<?php if ( $link ) : ?>
|
inc/widgets-manager/widgets/class-site-logo.php
CHANGED
@@ -827,7 +827,7 @@ class Site_Logo extends Widget_Base {
|
|
827 |
?>
|
828 |
<div class="hfe-site-logo-set">
|
829 |
<div class="hfe-site-logo-container">
|
830 |
-
<img class="hfe-site-logo-img <?php echo esc_attr( $class_animation ); ?>" src="<?php echo esc_url( $image_url ); ?>"/>
|
831 |
</div>
|
832 |
</div>
|
833 |
<?php if ( $link ) : ?>
|
827 |
?>
|
828 |
<div class="hfe-site-logo-set">
|
829 |
<div class="hfe-site-logo-container">
|
830 |
+
<img class="hfe-site-logo-img <?php echo esc_attr( $class_animation ); ?>" src="<?php echo esc_url( $image_url ); ?>" alt="<?php echo esc_attr( Control_Media::get_image_alt( $settings['custom_image'] ) ); ?>"/>
|
831 |
</div>
|
832 |
</div>
|
833 |
<?php if ( $link ) : ?>
|
languages/header-footer-elementor.pot
CHANGED
@@ -2,10 +2,10 @@
|
|
2 |
# This file is distributed under the same license as the Elementor - Header, Footer & Blocks package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Elementor - Header, Footer & Blocks 1.5.
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://wordpress.org/support/plugin/header-footer-elementor\n"
|
8 |
-
"POT-Creation-Date: 2020-
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -25,47 +25,44 @@ msgstr ""
|
|
25 |
"X-Textdomain-Support: yes\n"
|
26 |
"X-Generator: grunt-wp-i18n 1.0.3\n"
|
27 |
|
28 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
29 |
#. translators: %s product name
|
30 |
msgid ""
|
31 |
"Want to help make <strong>%1s</strong> even more awesome? Allow us to "
|
32 |
"collect non-sensitive diagnostic data and usage information. "
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
36 |
msgid "This will be applicable for all sites from the network."
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
40 |
#. translators: %s usage doc link
|
41 |
msgid " Know More."
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
45 |
msgid "Yes! Allow it"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
49 |
msgid "No Thanks"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
53 |
-
msgid "Every two days"
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:346
|
57 |
msgid "Usage Tracking"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
61 |
-
|
|
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
65 |
msgid " This will be applicable for all sites from the network."
|
66 |
msgstr ""
|
67 |
|
68 |
-
#: admin/bsf-analytics/class-bsf-analytics.php:
|
69 |
msgid "Learn More."
|
70 |
msgstr ""
|
71 |
|
@@ -227,43 +224,43 @@ msgstr ""
|
|
227 |
msgid "Template %1$s is already assigned to the location %2$s"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: inc/class-header-footer-elementor.php:
|
231 |
msgid ""
|
232 |
"Hello! Seems like you have used Elementor - Header, Footer & Blocks to "
|
233 |
"build this website — Thanks a ton!"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: inc/class-header-footer-elementor.php:
|
237 |
msgid ""
|
238 |
"Could you please do us a BIG favor and give it a 5-star rating on "
|
239 |
"WordPress? This would boost our motivation and help other users make a "
|
240 |
"comfortable decision while choosing the Elementor - Header, Footer & Blocks."
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: inc/class-header-footer-elementor.php:
|
244 |
msgid "Ok, you deserve it"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: inc/class-header-footer-elementor.php:
|
248 |
msgid "Nope, maybe later"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: inc/class-header-footer-elementor.php:
|
252 |
msgid "I already did"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: inc/class-header-footer-elementor.php:
|
256 |
#. translators: %s: html tags
|
257 |
msgid ""
|
258 |
"The %1$sElementor - Header Footer and Blocks%2$s plugin requires "
|
259 |
"%1$sElementor%2$s plugin installed & activated."
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: inc/class-header-footer-elementor.php:
|
263 |
msgid "Activate Elementor"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: inc/class-header-footer-elementor.php:
|
267 |
msgid "Install Elementor"
|
268 |
msgstr ""
|
269 |
|
@@ -457,7 +454,7 @@ msgid "Custom"
|
|
457 |
msgstr ""
|
458 |
|
459 |
#: inc/widgets-manager/widgets/class-cart.php:130
|
460 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
461 |
#: inc/widgets-manager/widgets/class-page-title.php:351
|
462 |
#: inc/widgets-manager/widgets/class-search-button.php:134
|
463 |
#: inc/widgets-manager/widgets/class-search-button.php:758
|
@@ -485,9 +482,9 @@ msgid "Items Count"
|
|
485 |
msgstr ""
|
486 |
|
487 |
#: inc/widgets-manager/widgets/class-cart.php:151
|
488 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
489 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
490 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
491 |
#: inc/widgets-manager/widgets/class-page-title.php:181
|
492 |
#: inc/widgets-manager/widgets/class-retina.php:185
|
493 |
#: inc/widgets-manager/widgets/class-retina.php:216
|
@@ -510,7 +507,7 @@ msgstr ""
|
|
510 |
#: inc/widgets-manager/widgets/class-cart.php:167
|
511 |
#: inc/widgets-manager/widgets/class-cart.php:183
|
512 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:239
|
513 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
514 |
#: inc/widgets-manager/widgets/class-site-logo.php:126
|
515 |
#: inc/widgets-manager/widgets/class-site-logo.php:191
|
516 |
#: inc/widgets-manager/widgets/class-site-logo.php:253
|
@@ -520,7 +517,7 @@ msgstr ""
|
|
520 |
#: inc/widgets-manager/widgets/class-cart.php:168
|
521 |
#: inc/widgets-manager/widgets/class-cart.php:184
|
522 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:240
|
523 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
524 |
#: inc/widgets-manager/widgets/class-site-logo.php:127
|
525 |
#: inc/widgets-manager/widgets/class-site-logo.php:190
|
526 |
#: inc/widgets-manager/widgets/class-site-logo.php:254
|
@@ -538,7 +535,7 @@ msgstr ""
|
|
538 |
#: inc/widgets-manager/widgets/class-cart.php:198
|
539 |
#: inc/widgets-manager/widgets/class-copyright.php:130
|
540 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:274
|
541 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
542 |
#: inc/widgets-manager/widgets/class-page-title.php:242
|
543 |
#: inc/widgets-manager/widgets/class-retina.php:156
|
544 |
#: inc/widgets-manager/widgets/class-site-logo.php:161
|
@@ -553,7 +550,7 @@ msgstr ""
|
|
553 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:309
|
554 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:344
|
555 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:380
|
556 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
557 |
#: inc/widgets-manager/widgets/class-page-title.php:246
|
558 |
#: inc/widgets-manager/widgets/class-retina.php:160
|
559 |
#: inc/widgets-manager/widgets/class-site-logo.php:165
|
@@ -567,7 +564,7 @@ msgstr ""
|
|
567 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:282
|
568 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:348
|
569 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:384
|
570 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
571 |
#: inc/widgets-manager/widgets/class-page-title.php:250
|
572 |
#: inc/widgets-manager/widgets/class-retina.php:164
|
573 |
#: inc/widgets-manager/widgets/class-site-logo.php:169
|
@@ -582,7 +579,7 @@ msgstr ""
|
|
582 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:310
|
583 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:352
|
584 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:388
|
585 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
586 |
#: inc/widgets-manager/widgets/class-page-title.php:254
|
587 |
#: inc/widgets-manager/widgets/class-retina.php:168
|
588 |
#: inc/widgets-manager/widgets/class-site-logo.php:173
|
@@ -600,8 +597,8 @@ msgid "Size"
|
|
600 |
msgstr ""
|
601 |
|
602 |
#: inc/widgets-manager/widgets/class-cart.php:271
|
603 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
604 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
605 |
#: inc/widgets-manager/widgets/class-retina.php:348
|
606 |
#: inc/widgets-manager/widgets/class-search-button.php:346
|
607 |
#: inc/widgets-manager/widgets/class-search-button.php:580
|
@@ -610,9 +607,9 @@ msgid "Border Width"
|
|
610 |
msgstr ""
|
611 |
|
612 |
#: inc/widgets-manager/widgets/class-cart.php:290
|
613 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
614 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
615 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
616 |
#: inc/widgets-manager/widgets/class-retina.php:389
|
617 |
#: inc/widgets-manager/widgets/class-search-button.php:371
|
618 |
#: inc/widgets-manager/widgets/class-search-button.php:603
|
@@ -621,17 +618,17 @@ msgid "Border Radius"
|
|
621 |
msgstr ""
|
622 |
|
623 |
#: inc/widgets-manager/widgets/class-cart.php:310
|
624 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
625 |
#: inc/widgets-manager/widgets/class-retina.php:573
|
626 |
#: inc/widgets-manager/widgets/class-site-logo.php:615
|
627 |
msgid "Padding"
|
628 |
msgstr ""
|
629 |
|
630 |
#: inc/widgets-manager/widgets/class-cart.php:327
|
631 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
632 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
633 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
634 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
635 |
#: inc/widgets-manager/widgets/class-page-title.php:326
|
636 |
#: inc/widgets-manager/widgets/class-retina.php:414
|
637 |
#: inc/widgets-manager/widgets/class-search-button.php:228
|
@@ -647,14 +644,14 @@ msgstr ""
|
|
647 |
#: inc/widgets-manager/widgets/class-cart.php:390
|
648 |
#: inc/widgets-manager/widgets/class-cart.php:499
|
649 |
#: inc/widgets-manager/widgets/class-copyright.php:155
|
650 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
651 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
652 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
653 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
654 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
655 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
656 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
657 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
658 |
#: inc/widgets-manager/widgets/class-retina.php:529
|
659 |
#: inc/widgets-manager/widgets/class-search-button.php:238
|
660 |
#: inc/widgets-manager/widgets/class-search-button.php:408
|
@@ -676,17 +673,17 @@ msgstr ""
|
|
676 |
#: inc/widgets-manager/widgets/class-cart.php:359
|
677 |
#: inc/widgets-manager/widgets/class-cart.php:415
|
678 |
#: inc/widgets-manager/widgets/class-cart.php:513
|
679 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
680 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
681 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
682 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
683 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
684 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
685 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
686 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
687 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
688 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
689 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
690 |
#: inc/widgets-manager/widgets/class-retina.php:545
|
691 |
#: inc/widgets-manager/widgets/class-search-button.php:275
|
692 |
#: inc/widgets-manager/widgets/class-search-button.php:441
|
@@ -700,7 +697,7 @@ msgstr ""
|
|
700 |
|
701 |
#: inc/widgets-manager/widgets/class-cart.php:370
|
702 |
#: inc/widgets-manager/widgets/class-cart.php:426
|
703 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
704 |
#: inc/widgets-manager/widgets/class-retina.php:370
|
705 |
#: inc/widgets-manager/widgets/class-search-button.php:324
|
706 |
#: inc/widgets-manager/widgets/class-search-button.php:474
|
@@ -710,10 +707,10 @@ msgid "Border Color"
|
|
710 |
msgstr ""
|
711 |
|
712 |
#: inc/widgets-manager/widgets/class-cart.php:383
|
713 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
714 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
715 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
716 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
717 |
#: inc/widgets-manager/widgets/class-retina.php:449
|
718 |
#: inc/widgets-manager/widgets/class-search-button.php:675
|
719 |
#: inc/widgets-manager/widgets/class-search-button.php:791
|
@@ -723,7 +720,7 @@ msgid "Hover"
|
|
723 |
msgstr ""
|
724 |
|
725 |
#: inc/widgets-manager/widgets/class-cart.php:440
|
726 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
727 |
#: inc/widgets-manager/widgets/class-search-button.php:708
|
728 |
#: inc/widgets-manager/widgets/class-search-button.php:813
|
729 |
msgid "Icon Size"
|
@@ -803,7 +800,7 @@ msgid "Last Menu Item"
|
|
803 |
msgstr ""
|
804 |
|
805 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:228
|
806 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
807 |
#: inc/widgets-manager/widgets/class-search-button.php:629
|
808 |
msgid "Button"
|
809 |
msgstr ""
|
@@ -889,144 +886,160 @@ msgstr ""
|
|
889 |
msgid "Slide Up"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
893 |
msgid "Responsive"
|
894 |
msgstr ""
|
895 |
|
896 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
897 |
msgid "Breakpoint"
|
898 |
msgstr ""
|
899 |
|
900 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
901 |
msgid "Mobile (768px >)"
|
902 |
msgstr ""
|
903 |
|
904 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
905 |
msgid "Tablet (1025px >)"
|
906 |
msgstr ""
|
907 |
|
908 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
909 |
msgid "This is the alignement of menu icon on selected responsive breakpoints."
|
910 |
msgstr ""
|
911 |
|
912 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
913 |
msgid "Full Width"
|
914 |
msgstr ""
|
915 |
|
916 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
917 |
msgid "Enable this option to stretch the Sub Menu to Full Width."
|
918 |
msgstr ""
|
919 |
|
920 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
921 |
msgid "Menu Icon"
|
922 |
msgstr ""
|
923 |
|
924 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
925 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
926 |
#: inc/widgets-manager/widgets/class-search-button.php:837
|
927 |
msgid "Close Icon"
|
928 |
msgstr ""
|
929 |
|
930 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
931 |
msgid "Main Menu"
|
932 |
msgstr ""
|
933 |
|
934 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
935 |
msgid "Flyout Box Width"
|
936 |
msgstr ""
|
937 |
|
938 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
939 |
msgid "Flyout Box Padding"
|
940 |
msgstr ""
|
941 |
|
942 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
943 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
944 |
msgid "Horizontal Padding"
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
948 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
949 |
msgid "Vertical Padding"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
953 |
msgid "Space Between"
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
957 |
msgid "Row Spacing"
|
958 |
msgstr ""
|
959 |
|
960 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
961 |
msgid "Menu Item Top Spacing"
|
962 |
msgstr ""
|
963 |
|
964 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
965 |
msgid "Link Hover Effect"
|
966 |
msgstr ""
|
967 |
|
968 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
969 |
msgid "Underline"
|
970 |
msgstr ""
|
971 |
|
972 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
973 |
msgid "Overline"
|
974 |
msgstr ""
|
975 |
|
976 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
977 |
msgid "Double Line"
|
978 |
msgstr ""
|
979 |
|
980 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
981 |
msgid "Framed"
|
982 |
msgstr ""
|
983 |
|
984 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
985 |
msgid "Text"
|
986 |
msgstr ""
|
987 |
|
988 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
989 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
990 |
msgid "Animation"
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
994 |
msgid "Frame Animation"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
998 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
999 |
msgid "Link Hover Effect Color"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1003 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1004 |
msgid "Active"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1008 |
msgid "Dropdown"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1012 |
msgid ""
|
1013 |
"<b>Note:</b> On desktop, below style options will apply to the submenu. On "
|
1014 |
"mobile, this will apply to the entire menu."
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1018 |
msgid "Dropdown Width (px)"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1022 |
msgid "Top Distance"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1026 |
msgid "Divider"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1030 |
#: inc/widgets-manager/widgets/class-retina.php:329
|
1031 |
#: inc/widgets-manager/widgets/class-search-button.php:301
|
1032 |
#: inc/widgets-manager/widgets/class-search-button.php:541
|
@@ -1034,7 +1047,7 @@ msgstr ""
|
|
1034 |
msgid "Border Style"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1038 |
#: inc/widgets-manager/widgets/class-retina.php:335
|
1039 |
#: inc/widgets-manager/widgets/class-search-button.php:307
|
1040 |
#: inc/widgets-manager/widgets/class-search-button.php:547
|
@@ -1042,7 +1055,7 @@ msgstr ""
|
|
1042 |
msgid "Solid"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1046 |
#: inc/widgets-manager/widgets/class-retina.php:336
|
1047 |
#: inc/widgets-manager/widgets/class-search-button.php:308
|
1048 |
#: inc/widgets-manager/widgets/class-search-button.php:548
|
@@ -1050,7 +1063,7 @@ msgstr ""
|
|
1050 |
msgid "Double"
|
1051 |
msgstr ""
|
1052 |
|
1053 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1054 |
#: inc/widgets-manager/widgets/class-retina.php:337
|
1055 |
#: inc/widgets-manager/widgets/class-search-button.php:309
|
1056 |
#: inc/widgets-manager/widgets/class-search-button.php:549
|
@@ -1058,7 +1071,7 @@ msgstr ""
|
|
1058 |
msgid "Dotted"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1062 |
#: inc/widgets-manager/widgets/class-retina.php:338
|
1063 |
#: inc/widgets-manager/widgets/class-search-button.php:310
|
1064 |
#: inc/widgets-manager/widgets/class-search-button.php:550
|
@@ -1066,12 +1079,12 @@ msgstr ""
|
|
1066 |
msgid "Dashed"
|
1067 |
msgstr ""
|
1068 |
|
1069 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1070 |
msgid "Menu Trigger & Close Icon"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1074 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1075 |
#: inc/widgets-manager/widgets/class-page-title.php:298
|
1076 |
#: inc/widgets-manager/widgets/class-search-button.php:778
|
1077 |
#: inc/widgets-manager/widgets/class-search-button.php:798
|
@@ -1082,23 +1095,23 @@ msgstr ""
|
|
1082 |
msgid "Color"
|
1083 |
msgstr ""
|
1084 |
|
1085 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1086 |
msgid "Close Icon Color"
|
1087 |
msgstr ""
|
1088 |
|
1089 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1090 |
msgid "Close Icon Size"
|
1091 |
msgstr ""
|
1092 |
|
1093 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1094 |
msgid "Typography"
|
1095 |
msgstr ""
|
1096 |
|
1097 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1098 |
msgid "Border"
|
1099 |
msgstr ""
|
1100 |
|
1101 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1102 |
msgid "Border Hover Color"
|
1103 |
msgstr ""
|
1104 |
|
2 |
# This file is distributed under the same license as the Elementor - Header, Footer & Blocks package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Elementor - Header, Footer & Blocks 1.5.4\n"
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://wordpress.org/support/plugin/header-footer-elementor\n"
|
8 |
+
"POT-Creation-Date: 2020-12-14 05:04:12+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
25 |
"X-Textdomain-Support: yes\n"
|
26 |
"X-Generator: grunt-wp-i18n 1.0.3\n"
|
27 |
|
28 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:216
|
29 |
#. translators: %s product name
|
30 |
msgid ""
|
31 |
"Want to help make <strong>%1s</strong> even more awesome? Allow us to "
|
32 |
"collect non-sensitive diagnostic data and usage information. "
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:219
|
36 |
msgid "This will be applicable for all sites from the network."
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:243
|
40 |
#. translators: %s usage doc link
|
41 |
msgid " Know More."
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:251
|
45 |
msgid "Yes! Allow it"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:260
|
49 |
msgid "No Thanks"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:364
|
|
|
|
|
|
|
|
|
53 |
msgid "Usage Tracking"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:408
|
57 |
+
#. translators: %s Product title
|
58 |
+
msgid "Allow %s products to track non-sensitive usage tracking data."
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:411
|
62 |
msgid " This will be applicable for all sites from the network."
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: admin/bsf-analytics/class-bsf-analytics.php:416
|
66 |
msgid "Learn More."
|
67 |
msgstr ""
|
68 |
|
224 |
msgid "Template %1$s is already assigned to the location %2$s"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: inc/class-header-footer-elementor.php:163
|
228 |
msgid ""
|
229 |
"Hello! Seems like you have used Elementor - Header, Footer & Blocks to "
|
230 |
"build this website — Thanks a ton!"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: inc/class-header-footer-elementor.php:164
|
234 |
msgid ""
|
235 |
"Could you please do us a BIG favor and give it a 5-star rating on "
|
236 |
"WordPress? This would boost our motivation and help other users make a "
|
237 |
"comfortable decision while choosing the Elementor - Header, Footer & Blocks."
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: inc/class-header-footer-elementor.php:166
|
241 |
msgid "Ok, you deserve it"
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: inc/class-header-footer-elementor.php:168
|
245 |
msgid "Nope, maybe later"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: inc/class-header-footer-elementor.php:169
|
249 |
msgid "I already did"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: inc/class-header-footer-elementor.php:204
|
253 |
#. translators: %s: html tags
|
254 |
msgid ""
|
255 |
"The %1$sElementor - Header Footer and Blocks%2$s plugin requires "
|
256 |
"%1$sElementor%2$s plugin installed & activated."
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: inc/class-header-footer-elementor.php:211
|
260 |
msgid "Activate Elementor"
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: inc/class-header-footer-elementor.php:216
|
264 |
msgid "Install Elementor"
|
265 |
msgstr ""
|
266 |
|
454 |
msgstr ""
|
455 |
|
456 |
#: inc/widgets-manager/widgets/class-cart.php:130
|
457 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:561
|
458 |
#: inc/widgets-manager/widgets/class-page-title.php:351
|
459 |
#: inc/widgets-manager/widgets/class-search-button.php:134
|
460 |
#: inc/widgets-manager/widgets/class-search-button.php:758
|
482 |
msgstr ""
|
483 |
|
484 |
#: inc/widgets-manager/widgets/class-cart.php:151
|
485 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:477
|
486 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:809
|
487 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1410
|
488 |
#: inc/widgets-manager/widgets/class-page-title.php:181
|
489 |
#: inc/widgets-manager/widgets/class-retina.php:185
|
490 |
#: inc/widgets-manager/widgets/class-retina.php:216
|
507 |
#: inc/widgets-manager/widgets/class-cart.php:167
|
508 |
#: inc/widgets-manager/widgets/class-cart.php:183
|
509 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:239
|
510 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:529
|
511 |
#: inc/widgets-manager/widgets/class-site-logo.php:126
|
512 |
#: inc/widgets-manager/widgets/class-site-logo.php:191
|
513 |
#: inc/widgets-manager/widgets/class-site-logo.php:253
|
517 |
#: inc/widgets-manager/widgets/class-cart.php:168
|
518 |
#: inc/widgets-manager/widgets/class-cart.php:184
|
519 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:240
|
520 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:530
|
521 |
#: inc/widgets-manager/widgets/class-site-logo.php:127
|
522 |
#: inc/widgets-manager/widgets/class-site-logo.php:190
|
523 |
#: inc/widgets-manager/widgets/class-site-logo.php:254
|
535 |
#: inc/widgets-manager/widgets/class-cart.php:198
|
536 |
#: inc/widgets-manager/widgets/class-copyright.php:130
|
537 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:274
|
538 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:490
|
539 |
#: inc/widgets-manager/widgets/class-page-title.php:242
|
540 |
#: inc/widgets-manager/widgets/class-retina.php:156
|
541 |
#: inc/widgets-manager/widgets/class-site-logo.php:161
|
550 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:309
|
551 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:344
|
552 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:380
|
553 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:494
|
554 |
#: inc/widgets-manager/widgets/class-page-title.php:246
|
555 |
#: inc/widgets-manager/widgets/class-retina.php:160
|
556 |
#: inc/widgets-manager/widgets/class-site-logo.php:165
|
564 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:282
|
565 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:348
|
566 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:384
|
567 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:498
|
568 |
#: inc/widgets-manager/widgets/class-page-title.php:250
|
569 |
#: inc/widgets-manager/widgets/class-retina.php:164
|
570 |
#: inc/widgets-manager/widgets/class-site-logo.php:169
|
579 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:310
|
580 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:352
|
581 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:388
|
582 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:502
|
583 |
#: inc/widgets-manager/widgets/class-page-title.php:254
|
584 |
#: inc/widgets-manager/widgets/class-retina.php:168
|
585 |
#: inc/widgets-manager/widgets/class-site-logo.php:173
|
597 |
msgstr ""
|
598 |
|
599 |
#: inc/widgets-manager/widgets/class-cart.php:271
|
600 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1443
|
601 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1565
|
602 |
#: inc/widgets-manager/widgets/class-retina.php:348
|
603 |
#: inc/widgets-manager/widgets/class-search-button.php:346
|
604 |
#: inc/widgets-manager/widgets/class-search-button.php:580
|
607 |
msgstr ""
|
608 |
|
609 |
#: inc/widgets-manager/widgets/class-cart.php:290
|
610 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1270
|
611 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1581
|
612 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1712
|
613 |
#: inc/widgets-manager/widgets/class-retina.php:389
|
614 |
#: inc/widgets-manager/widgets/class-search-button.php:371
|
615 |
#: inc/widgets-manager/widgets/class-search-button.php:603
|
618 |
msgstr ""
|
619 |
|
620 |
#: inc/widgets-manager/widgets/class-cart.php:310
|
621 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1652
|
622 |
#: inc/widgets-manager/widgets/class-retina.php:573
|
623 |
#: inc/widgets-manager/widgets/class-site-logo.php:615
|
624 |
msgid "Padding"
|
625 |
msgstr ""
|
626 |
|
627 |
#: inc/widgets-manager/widgets/class-cart.php:327
|
628 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:908
|
629 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1114
|
630 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1480
|
631 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1666
|
632 |
#: inc/widgets-manager/widgets/class-page-title.php:326
|
633 |
#: inc/widgets-manager/widgets/class-retina.php:414
|
634 |
#: inc/widgets-manager/widgets/class-search-button.php:228
|
644 |
#: inc/widgets-manager/widgets/class-cart.php:390
|
645 |
#: inc/widgets-manager/widgets/class-cart.php:499
|
646 |
#: inc/widgets-manager/widgets/class-copyright.php:155
|
647 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:915
|
648 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:955
|
649 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1025
|
650 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1121
|
651 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1164
|
652 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1207
|
653 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1673
|
654 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1741
|
655 |
#: inc/widgets-manager/widgets/class-retina.php:529
|
656 |
#: inc/widgets-manager/widgets/class-search-button.php:238
|
657 |
#: inc/widgets-manager/widgets/class-search-button.php:408
|
673 |
#: inc/widgets-manager/widgets/class-cart.php:359
|
674 |
#: inc/widgets-manager/widgets/class-cart.php:415
|
675 |
#: inc/widgets-manager/widgets/class-cart.php:513
|
676 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:790
|
677 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:931
|
678 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:974
|
679 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1038
|
680 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1138
|
681 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1181
|
682 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1224
|
683 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1499
|
684 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1532
|
685 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1686
|
686 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1753
|
687 |
#: inc/widgets-manager/widgets/class-retina.php:545
|
688 |
#: inc/widgets-manager/widgets/class-search-button.php:275
|
689 |
#: inc/widgets-manager/widgets/class-search-button.php:441
|
697 |
|
698 |
#: inc/widgets-manager/widgets/class-cart.php:370
|
699 |
#: inc/widgets-manager/widgets/class-cart.php:426
|
700 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1426
|
701 |
#: inc/widgets-manager/widgets/class-retina.php:370
|
702 |
#: inc/widgets-manager/widgets/class-search-button.php:324
|
703 |
#: inc/widgets-manager/widgets/class-search-button.php:474
|
707 |
msgstr ""
|
708 |
|
709 |
#: inc/widgets-manager/widgets/class-cart.php:383
|
710 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:948
|
711 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1157
|
712 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1512
|
713 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1734
|
714 |
#: inc/widgets-manager/widgets/class-retina.php:449
|
715 |
#: inc/widgets-manager/widgets/class-search-button.php:675
|
716 |
#: inc/widgets-manager/widgets/class-search-button.php:791
|
720 |
msgstr ""
|
721 |
|
722 |
#: inc/widgets-manager/widgets/class-cart.php:440
|
723 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1547
|
724 |
#: inc/widgets-manager/widgets/class-search-button.php:708
|
725 |
#: inc/widgets-manager/widgets/class-search-button.php:813
|
726 |
msgid "Icon Size"
|
800 |
msgstr ""
|
801 |
|
802 |
#: inc/widgets-manager/widgets/class-navigation-menu.php:228
|
803 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1632
|
804 |
#: inc/widgets-manager/widgets/class-search-button.php:629
|
805 |
msgid "Button"
|
806 |
msgstr ""
|
886 |
msgid "Slide Up"
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:444
|
890 |
+
msgid "Action On Menu Click"
|
891 |
+
msgstr ""
|
892 |
+
|
893 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:447
|
894 |
+
msgid "For Horizontal layout, this will affect on the selected breakpoint"
|
895 |
+
msgstr ""
|
896 |
+
|
897 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:449
|
898 |
+
msgid "Open Submenu"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:450
|
902 |
+
msgid "Redirect To Self Link"
|
903 |
+
msgstr ""
|
904 |
+
|
905 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:460
|
906 |
msgid "Responsive"
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:471
|
910 |
msgid "Breakpoint"
|
911 |
msgstr ""
|
912 |
|
913 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:475
|
914 |
msgid "Mobile (768px >)"
|
915 |
msgstr ""
|
916 |
|
917 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:476
|
918 |
msgid "Tablet (1025px >)"
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:507
|
922 |
msgid "This is the alignement of menu icon on selected responsive breakpoints."
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:526
|
926 |
msgid "Full Width"
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:527
|
930 |
msgid "Enable this option to stretch the Sub Menu to Full Width."
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:545
|
934 |
msgid "Menu Icon"
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:576
|
938 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:592
|
939 |
#: inc/widgets-manager/widgets/class-search-button.php:837
|
940 |
msgid "Close Icon"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:617
|
944 |
msgid "Main Menu"
|
945 |
msgstr ""
|
946 |
|
947 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:628
|
948 |
msgid "Flyout Box Width"
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:655
|
952 |
msgid "Flyout Box Padding"
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:678
|
956 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1328
|
957 |
msgid "Horizontal Padding"
|
958 |
msgstr ""
|
959 |
|
960 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:703
|
961 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1350
|
962 |
msgid "Vertical Padding"
|
963 |
msgstr ""
|
964 |
|
965 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:724
|
966 |
msgid "Space Between"
|
967 |
msgstr ""
|
968 |
|
969 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:750
|
970 |
msgid "Row Spacing"
|
971 |
msgstr ""
|
972 |
|
973 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:770
|
974 |
msgid "Menu Item Top Spacing"
|
975 |
msgstr ""
|
976 |
|
977 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:805
|
978 |
msgid "Link Hover Effect"
|
979 |
msgstr ""
|
980 |
|
981 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:810
|
982 |
msgid "Underline"
|
983 |
msgstr ""
|
984 |
|
985 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:811
|
986 |
msgid "Overline"
|
987 |
msgstr ""
|
988 |
|
989 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:812
|
990 |
msgid "Double Line"
|
991 |
msgstr ""
|
992 |
|
993 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:813
|
994 |
msgid "Framed"
|
995 |
msgstr ""
|
996 |
|
997 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:814
|
998 |
msgid "Text"
|
999 |
msgstr ""
|
1000 |
|
1001 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:825
|
1002 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:867
|
1003 |
msgid "Animation"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:846
|
1007 |
msgid "Frame Animation"
|
1008 |
msgstr ""
|
1009 |
|
1010 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:992
|
1011 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1054
|
1012 |
msgid "Link Hover Effect Color"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1018
|
1016 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1200
|
1017 |
msgid "Active"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1089
|
1021 |
msgid "Dropdown"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1097
|
1025 |
msgid ""
|
1026 |
"<b>Note:</b> On desktop, below style options will apply to the submenu. On "
|
1027 |
"mobile, this will apply to the entire menu."
|
1028 |
msgstr ""
|
1029 |
|
1030 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1304
|
1031 |
msgid "Dropdown Width (px)"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1375
|
1035 |
msgid "Top Distance"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1396
|
1039 |
msgid "Divider"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1405
|
1043 |
#: inc/widgets-manager/widgets/class-retina.php:329
|
1044 |
#: inc/widgets-manager/widgets/class-search-button.php:301
|
1045 |
#: inc/widgets-manager/widgets/class-search-button.php:541
|
1047 |
msgid "Border Style"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1411
|
1051 |
#: inc/widgets-manager/widgets/class-retina.php:335
|
1052 |
#: inc/widgets-manager/widgets/class-search-button.php:307
|
1053 |
#: inc/widgets-manager/widgets/class-search-button.php:547
|
1055 |
msgid "Solid"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1412
|
1059 |
#: inc/widgets-manager/widgets/class-retina.php:336
|
1060 |
#: inc/widgets-manager/widgets/class-search-button.php:308
|
1061 |
#: inc/widgets-manager/widgets/class-search-button.php:548
|
1063 |
msgid "Double"
|
1064 |
msgstr ""
|
1065 |
|
1066 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1413
|
1067 |
#: inc/widgets-manager/widgets/class-retina.php:337
|
1068 |
#: inc/widgets-manager/widgets/class-search-button.php:309
|
1069 |
#: inc/widgets-manager/widgets/class-search-button.php:549
|
1071 |
msgid "Dotted"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1414
|
1075 |
#: inc/widgets-manager/widgets/class-retina.php:338
|
1076 |
#: inc/widgets-manager/widgets/class-search-button.php:310
|
1077 |
#: inc/widgets-manager/widgets/class-search-button.php:550
|
1079 |
msgid "Dashed"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1470
|
1083 |
msgid "Menu Trigger & Close Icon"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1487
|
1087 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1519
|
1088 |
#: inc/widgets-manager/widgets/class-page-title.php:298
|
1089 |
#: inc/widgets-manager/widgets/class-search-button.php:778
|
1090 |
#: inc/widgets-manager/widgets/class-search-button.php:798
|
1095 |
msgid "Color"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1593
|
1099 |
msgid "Close Icon Color"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1611
|
1103 |
msgid "Close Icon Size"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1644
|
1107 |
msgid "Typography"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1704
|
1111 |
msgid "Border"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1770
|
1115 |
msgid "Border Hover Color"
|
1116 |
msgstr ""
|
1117 |
|
readme.txt
CHANGED
@@ -4,8 +4,8 @@ Tags: elementor, header footer builder, header template, footer template, elemen
|
|
4 |
Donate link: https://www.paypal.me/BrainstormForce
|
5 |
Requires at least: 4.4
|
6 |
Requires PHP: 5.4
|
7 |
-
Tested up to: 5.
|
8 |
-
Stable tag: 1.5.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -137,6 +137,13 @@ This same applies when you are creating your Header/Footer using this plugin.
|
|
137 |
5. Default widgets available with Elementor – Header, Footer & Blocks.
|
138 |
|
139 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
|
141 |
= 1.5.3 =
|
142 |
- Fix: Polylang plugin conflicting issue with target rules.
|
4 |
Donate link: https://www.paypal.me/BrainstormForce
|
5 |
Requires at least: 4.4
|
6 |
Requires PHP: 5.4
|
7 |
+
Tested up to: 5.6
|
8 |
+
Stable tag: 1.5.4
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
137 |
5. Default widgets available with Elementor – Header, Footer & Blocks.
|
138 |
|
139 |
== Changelog ==
|
140 |
+
= 1.5.4 =
|
141 |
+
- Improvement: Compatibility to PHP v8.0.
|
142 |
+
- Improvement: Improved compatibility with Astra theme.
|
143 |
+
- Improvement: Navigation Menu - Added option to toggle menu item.
|
144 |
+
- Fix: Added 'alt' attribute to the widgets containing images.
|
145 |
+
- Fix: Closed the missing HTML tag in footer in the global theme compatibility.
|
146 |
+
- Fix: Navigation Menu - Alignment option not working for the last menu item set as 'Button'.
|
147 |
|
148 |
= 1.5.3 =
|
149 |
- Fix: Polylang plugin conflicting issue with target rules.
|
themes/astra/class-hfe-astra-compat.php
CHANGED
@@ -54,6 +54,11 @@ class HFE_Astra_Compat {
|
|
54 |
*/
|
55 |
public function astra_setup_header() {
|
56 |
remove_action( 'astra_header', 'astra_header_markup' );
|
|
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
|
59 |
/**
|
@@ -61,8 +66,12 @@ class HFE_Astra_Compat {
|
|
61 |
*/
|
62 |
public function astra_setup_footer() {
|
63 |
remove_action( 'astra_footer', 'astra_footer_markup' );
|
64 |
-
}
|
65 |
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
|
68 |
HFE_Astra_Compat::instance();
|
54 |
*/
|
55 |
public function astra_setup_header() {
|
56 |
remove_action( 'astra_header', 'astra_header_markup' );
|
57 |
+
|
58 |
+
// Remove the new header builder action.
|
59 |
+
if ( class_exists( 'Astra_Builder_Helper' ) && Astra_Builder_Helper::$is_header_footer_builder_active ) {
|
60 |
+
remove_action( 'astra_header', [ Astra_Builder_Header::get_instance(), 'prepare_header_builder_markup' ] );
|
61 |
+
}
|
62 |
}
|
63 |
|
64 |
/**
|
66 |
*/
|
67 |
public function astra_setup_footer() {
|
68 |
remove_action( 'astra_footer', 'astra_footer_markup' );
|
|
|
69 |
|
70 |
+
// Remove the new footer builder action.
|
71 |
+
if ( class_exists( 'Astra_Builder_Helper' ) && Astra_Builder_Helper::$is_header_footer_builder_active ) {
|
72 |
+
remove_action( 'astra_footer', [ Astra_Builder_Footer::get_instance(), 'footer_markup' ] );
|
73 |
+
}
|
74 |
+
}
|
75 |
}
|
76 |
|
77 |
HFE_Astra_Compat::instance();
|
themes/default/hfe-footer.php
CHANGED
@@ -10,6 +10,7 @@
|
|
10 |
|
11 |
<?php do_action( 'hfe_footer_before' ); ?>
|
12 |
<?php do_action( 'hfe_footer' ); ?>
|
|
|
13 |
<?php wp_footer(); ?>
|
14 |
</body>
|
15 |
</html>
|
10 |
|
11 |
<?php do_action( 'hfe_footer_before' ); ?>
|
12 |
<?php do_action( 'hfe_footer' ); ?>
|
13 |
+
</div><!-- #page -->
|
14 |
<?php wp_footer(); ?>
|
15 |
</body>
|
16 |
</html>
|