Version Description
Download this release
Release Info
Developer | themeisle |
Plugin | Orbit Fox by ThemeIsle |
Version | 2.9.0 |
Comparing to | |
See all releases |
Code changes from version 2.8.14 to 2.9.0
- CHANGELOG.md +5 -2
- class-autoloader.php +5 -5
- core/app/abstract/class-orbit-fox-module-abstract.php +6 -6
- core/app/class-orbit-fox-admin.php +17 -9
- core/app/class-orbit-fox-global-settings.php +1 -2
- core/app/class-orbit-fox-module-factory.php +1 -1
- core/app/helpers/class-orbit-fox-render-helper.php +4 -1
- core/app/views/modules-page.php +9 -10
- core/app/views/partials/empty-tpl.php +4 -4
- core/app/views/partials/module-panel-tpl.php +9 -9
- core/app/views/partials/module-tile-tpl.php +8 -8
- core/app/views/partials/module-toast-tpl.php +3 -3
- core/assets/css/orbit-fox-admin.css +2 -2
- core/includes/class-orbit-fox-neve-dropin.php +5 -5
- core/includes/class-orbit-fox.php +38 -4
- obfx_modules/beaver-widgets/custom-fields/number-field/number_field.php +1 -1
- obfx_modules/beaver-widgets/inc/common-functions.php +36 -36
- obfx_modules/beaver-widgets/init.php +5 -5
- obfx_modules/beaver-widgets/modules/post-grid/includes/frontend.css.php +109 -109
- obfx_modules/beaver-widgets/modules/post-grid/includes/frontend.php +15 -13
- obfx_modules/beaver-widgets/modules/post-grid/includes/loop-settings.php +110 -104
- obfx_modules/beaver-widgets/modules/post-grid/post-grid.php +165 -165
- obfx_modules/beaver-widgets/modules/pricing-table/includes/frontend.css.php +146 -146
- obfx_modules/beaver-widgets/modules/pricing-table/includes/frontend.php +5 -5
- obfx_modules/beaver-widgets/modules/pricing-table/pricing-table.php +215 -215
- obfx_modules/beaver-widgets/modules/services/includes/frontend.css.php +51 -51
- obfx_modules/beaver-widgets/modules/services/includes/frontend.php +8 -8
- obfx_modules/beaver-widgets/modules/services/services.php +85 -85
- obfx_modules/companion-legacy/inc/azera-shop/css/style.css +0 -312
- obfx_modules/companion-legacy/inc/azera-shop/functions.php +0 -63
- obfx_modules/companion-legacy/inc/azera-shop/images/client-no-image.jpg +0 -0
- obfx_modules/companion-legacy/inc/azera-shop/images/team-img.jpg +0 -0
- obfx_modules/companion-legacy/inc/azera-shop/inc/settings.php +0 -207
- obfx_modules/companion-legacy/inc/azera-shop/inc/translations/general.php +0 -18
- obfx_modules/companion-legacy/inc/azera-shop/inc/translations/translations-services-section.php +0 -44
- obfx_modules/companion-legacy/inc/azera-shop/inc/translations/translations-team-section.php +0 -44
- obfx_modules/companion-legacy/inc/azera-shop/inc/translations/translations-testimonials-section.php +0 -49
- obfx_modules/companion-legacy/inc/azera-shop/sections/azera_shop_happy_customers_section.php +0 -126
- obfx_modules/companion-legacy/inc/azera-shop/sections/azera_shop_our_services_section.php +0 -125
- obfx_modules/companion-legacy/inc/azera-shop/sections/azera_shop_our_team_section.php +0 -103
- obfx_modules/companion-legacy/inc/azera-shop/wpml-config.xml +0 -13
- obfx_modules/companion-legacy/inc/hestia/common-functions.php +41 -26
- obfx_modules/companion-legacy/inc/hestia/functions.php +34 -28
- obfx_modules/companion-legacy/inc/hestia/inc/features/feature-clients-bar-section.php +17 -8
- obfx_modules/companion-legacy/inc/hestia/inc/features/feature-features-section.php +35 -22
- obfx_modules/companion-legacy/inc/hestia/inc/features/feature-ribbon-section.php +34 -20
- obfx_modules/companion-legacy/inc/hestia/inc/features/feature-team-section.php +36 -23
- obfx_modules/companion-legacy/inc/hestia/inc/features/feature-testimonials-section.php +36 -23
- obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-clients-bar-section.php +7 -7
- obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php +23 -22
- obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-ribbon-section.php +17 -16
- obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php +62 -61
- obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php +27 -26
- obfx_modules/companion-legacy/inc/llorix-one-companion/css/style.css +0 -307
- obfx_modules/companion-legacy/inc/llorix-one-companion/functions.php +0 -62
- obfx_modules/companion-legacy/inc/llorix-one-companion/images/team-img.jpg +0 -0
- obfx_modules/companion-legacy/inc/llorix-one-companion/inc/settings.php +0 -207
- obfx_modules/companion-legacy/inc/llorix-one-companion/inc/translations/general.php +0 -19
- obfx_modules/companion-legacy/inc/llorix-one-companion/inc/translations/translations-services-section.php +0 -50
- obfx_modules/companion-legacy/inc/llorix-one-companion/inc/translations/translations-team-section.php +0 -45
- obfx_modules/companion-legacy/inc/llorix-one-companion/inc/translations/translations-testimonials-section.php +0 -48
- obfx_modules/companion-legacy/inc/llorix-one-companion/sections/happy-customers-section.php +0 -124
- obfx_modules/companion-legacy/inc/llorix-one-companion/sections/our-services-section.php +0 -133
- obfx_modules/companion-legacy/inc/llorix-one-companion/sections/our-team-section.php +0 -113
- obfx_modules/companion-legacy/inc/llorix-one-companion/wpml-config.xml +0 -13
- obfx_modules/companion-legacy/inc/rhea/assets/css/admin-style.css +0 -143
- obfx_modules/companion-legacy/inc/rhea/assets/js/fontawesome.jquery.js +0 -97
- obfx_modules/companion-legacy/inc/rhea/assets/js/icons.js +0 -3790
- obfx_modules/companion-legacy/inc/rhea/widgets/about.widget.php +0 -111
- obfx_modules/companion-legacy/inc/rhea/widgets/contact.widget.php +0 -89
- obfx_modules/companion-legacy/inc/rhea/widgets/features.widget.php +0 -96
- obfx_modules/companion-legacy/inc/rhea/widgets/hours.widget.php +0 -252
- obfx_modules/companion-legacy/inc/rhea/widgets/icon-box.widget.php +0 -104
- obfx_modules/companion-legacy/inc/rhea/widgets/progress-bar.widget.php +0 -78
- obfx_modules/companion-legacy/inc/shop-isle/class-template-loader.php +17 -13
- obfx_modules/companion-legacy/inc/shop-isle/content-slider.php +40 -11
- obfx_modules/companion-legacy/inc/shop-isle/customizer.php +409 -286
- obfx_modules/companion-legacy/inc/shop-isle/functions.php +4 -3
- obfx_modules/companion-legacy/inc/shop-isle/template-about.php +7 -7
- obfx_modules/companion-legacy/inc/zerif-lite/functions.php +1 -1
- obfx_modules/companion-legacy/inc/zerif-lite/widgets/widget-clients.php +52 -23
- obfx_modules/companion-legacy/inc/zerif-lite/widgets/widget-focus.php +118 -70
- obfx_modules/companion-legacy/inc/zerif-lite/widgets/widget-team.php +168 -90
- obfx_modules/companion-legacy/inc/zerif-lite/widgets/widget-testimonial.php +85 -36
- obfx_modules/companion-legacy/init.php +31 -174
- obfx_modules/elementor-widgets/init.php +3 -3
- obfx_modules/google-analytics/init.php +52 -35
- obfx_modules/gutenberg-blocks/init.php +15 -14
- obfx_modules/image-cdn/inc/class-orbit-fox-connector.php +0 -228
- obfx_modules/image-cdn/inc/class-orbit-fox-image-replacer.php +0 -707
- obfx_modules/image-cdn/inc/class-request.php +0 -127
- obfx_modules/image-cdn/init.php +0 -411
- obfx_modules/menu-icons/inc/class-menu-icons-obfx-walker.php +1 -1
- obfx_modules/menu-icons/init.php +42 -37
- obfx_modules/mystock-import/inc/photo.php +1 -1
- obfx_modules/mystock-import/inc/photos.php +1 -1
- obfx_modules/mystock-import/init.php +6 -6
- obfx_modules/policy-notice/init.php +31 -26
- obfx_modules/safe-updates/init.php +0 -556
- obfx_modules/safe-updates/js/theme-update-check.js +0 -45
- obfx_modules/social-sharing/init.php +97 -94
- obfx_modules/template-directory/init.php +9 -6
- obfx_modules/uptime-monitor/init.php +7 -4
- readme.md +8 -0
- readme.txt +8 -0
- renovate.json +0 -5
- themeisle-companion.php +2 -2
- themeisle-hash.json +0 -1
- vendor/autoload.php +2 -2
- vendor/codeinwp/elementor-extra-widgets/README.md +0 -1
- vendor/codeinwp/elementor-extra-widgets/class-elementor-extra-widgets.php +3 -3
- vendor/codeinwp/elementor-extra-widgets/widgets/elementor/posts-grid.php +109 -109
- vendor/codeinwp/elementor-extra-widgets/widgets/elementor/premium-placeholder.php +2 -2
- vendor/codeinwp/elementor-extra-widgets/widgets/elementor/pricing-table.php +106 -106
- vendor/codeinwp/elementor-extra-widgets/widgets/elementor/services.php +48 -48
- vendor/codeinwp/elementor-extra-widgets/widgets/woo/best-products.php +6 -6
- vendor/codeinwp/elementor-extra-widgets/widgets/woo/featured-products.php +6 -6
- vendor/codeinwp/elementor-extra-widgets/widgets/woo/popular-products.php +6 -6
- vendor/codeinwp/elementor-extra-widgets/widgets/woo/products-categories.php +6 -6
- vendor/codeinwp/elementor-extra-widgets/widgets/woo/recent-products.php +6 -6
- vendor/codeinwp/elementor-extra-widgets/widgets/woo/sale-products.php +6 -6
- vendor/codeinwp/elementor-extra-widgets/widgets/wp/eaw-posts-widget-plus.php +7 -7
- vendor/codeinwp/elementor-extra-widgets/widgets/wp/eaw-posts-widget.php +6 -6
- vendor/codeinwp/full-width-page-templates/README.md +0 -119
- vendor/codeinwp/full-width-page-templates/builders/class-elementor-full-width-templates.php +2 -2
- vendor/codeinwp/full-width-page-templates/builders/class-none-full-width-templates.php +2 -2
- vendor/codeinwp/full-width-page-templates/class-full-width-templates.php +4 -4
- vendor/codeinwp/gutenberg-blocks/CHANGELOG.md +24 -0
- vendor/codeinwp/gutenberg-blocks/Readme.md +0 -19
- vendor/codeinwp/gutenberg-blocks/assets/glide/glide.core.min.css +1 -0
- vendor/codeinwp/gutenberg-blocks/assets/glide/glide.min.js +6 -0
- vendor/codeinwp/gutenberg-blocks/assets/glide/glide.theme.min.css +1 -0
- vendor/codeinwp/gutenberg-blocks/autoloader.php +27 -22
- vendor/codeinwp/gutenberg-blocks/build/blocks.js +0 -1
CHANGELOG.md
CHANGED
@@ -1,5 +1,9 @@
|
|
Â
|
|
1 |
Â
|
2 |
-
|
Â
|
|
Â
|
|
Â
|
|
3 |
Â
**Changes:**
|
4 |
Â
* Fix fatal error with Membership Pro
|
5 |
Â
* Various bug fixes to forms and Elementor widgets
|
@@ -346,4 +350,3 @@
|
|
346 |
Â
* Added simple reporting functionality.
|
347 |
Â
* Added support for upcoming caching, security and analytics feature.
|
348 |
Â
* Branded to Orbit Fox companion
|
349 |
-
|
1 |
+
#### [Version 2.9.0](https://github.com/Codeinwp/themeisle-companion/compare/v2.8.14...v2.9.0) (2020-02-03)
|
2 |
Â
|
3 |
+
* Update dependencies
|
4 |
+
* Remove legacy modules
|
5 |
+
|
6 |
+
### v2.8.14 - 2019-12-02
|
7 |
Â
**Changes:**
|
8 |
Â
* Fix fatal error with Membership Pro
|
9 |
Â
* Various bug fixes to forms and Elementor widgets
|
350 |
Â
* Added simple reporting functionality.
|
351 |
Â
* Added support for upcoming caching, security and analytics feature.
|
352 |
Â
* Branded to Orbit Fox companion
|
Â
|
class-autoloader.php
CHANGED
@@ -123,15 +123,15 @@ class Autoloader {
|
|
123 |
Â
$directory = new RecursiveDirectoryIterator( static::$path_top . DIRECTORY_SEPARATOR . 'core', RecursiveDirectoryIterator::SKIP_DOTS );
|
124 |
Â
|
125 |
Â
if ( is_null( static::$file_iterator ) ) {
|
126 |
-
$
|
127 |
-
$
|
128 |
-
static::$file_iterator = iterator_to_array( $
|
129 |
Â
}
|
130 |
Â
|
131 |
Â
$filename = 'class-' . str_replace( '_', '-', strtolower( $class_name ) ) . static::$file_ext;
|
132 |
Â
foreach ( static::$file_iterator as $file ) {
|
133 |
Â
if ( strtolower( $file->getFileName() ) === strtolower( $filename ) && is_readable( $file->getPathName() ) ) {
|
134 |
-
require
|
135 |
Â
return true;
|
136 |
Â
}
|
137 |
Â
}
|
@@ -152,7 +152,7 @@ class Autoloader {
|
|
152 |
Â
foreach ( $directories as $directory ) {
|
153 |
Â
$filename = $directory . DIRECTORY_SEPARATOR . 'init.php';
|
154 |
Â
if ( is_readable( $filename ) ) {
|
155 |
-
require
|
156 |
Â
return true;
|
157 |
Â
}
|
158 |
Â
}
|
123 |
Â
$directory = new RecursiveDirectoryIterator( static::$path_top . DIRECTORY_SEPARATOR . 'core', RecursiveDirectoryIterator::SKIP_DOTS );
|
124 |
Â
|
125 |
Â
if ( is_null( static::$file_iterator ) ) {
|
126 |
+
$iterator = new RecursiveIteratorIterator( $directory );
|
127 |
+
$regex = new RegexIterator( $iterator, '/^.+\.php$/i', RecursiveRegexIterator::MATCH );
|
128 |
+
static::$file_iterator = iterator_to_array( $regex, false );
|
129 |
Â
}
|
130 |
Â
|
131 |
Â
$filename = 'class-' . str_replace( '_', '-', strtolower( $class_name ) ) . static::$file_ext;
|
132 |
Â
foreach ( static::$file_iterator as $file ) {
|
133 |
Â
if ( strtolower( $file->getFileName() ) === strtolower( $filename ) && is_readable( $file->getPathName() ) ) {
|
134 |
+
require $file->getPathName();
|
135 |
Â
return true;
|
136 |
Â
}
|
137 |
Â
}
|
152 |
Â
foreach ( $directories as $directory ) {
|
153 |
Â
$filename = $directory . DIRECTORY_SEPARATOR . 'init.php';
|
154 |
Â
if ( is_readable( $filename ) ) {
|
155 |
+
require $filename;
|
156 |
Â
return true;
|
157 |
Â
}
|
158 |
Â
}
|
core/app/abstract/class-orbit-fox-module-abstract.php
CHANGED
@@ -265,7 +265,7 @@ abstract class Orbit_Fox_Module_Abstract {
|
|
265 |
Â
* @access public
|
266 |
Â
* @return bool
|
267 |
Â
*/
|
268 |
-
public
|
269 |
Â
|
270 |
Â
/**
|
271 |
Â
* The method for the module load logic.
|
@@ -274,7 +274,7 @@ abstract class Orbit_Fox_Module_Abstract {
|
|
274 |
Â
* @access public
|
275 |
Â
* @return mixed
|
276 |
Â
*/
|
277 |
-
public
|
278 |
Â
|
279 |
Â
/**
|
280 |
Â
* Method to define actions and filters needed for the module.
|
@@ -284,7 +284,7 @@ abstract class Orbit_Fox_Module_Abstract {
|
|
284 |
Â
* @since 1.0.0
|
285 |
Â
* @access public
|
286 |
Â
*/
|
287 |
-
public
|
288 |
Â
|
289 |
Â
/**
|
290 |
Â
* Method to check if module status is active.
|
@@ -395,7 +395,7 @@ abstract class Orbit_Fox_Module_Abstract {
|
|
395 |
Â
* @access public
|
396 |
Â
* @return array
|
397 |
Â
*/
|
398 |
-
public
|
399 |
Â
|
400 |
Â
/**
|
401 |
Â
* Method to retrieve an option value from model.
|
@@ -531,7 +531,7 @@ abstract class Orbit_Fox_Module_Abstract {
|
|
531 |
Â
* @access public
|
532 |
Â
* @return array
|
533 |
Â
*/
|
534 |
-
public
|
535 |
Â
|
536 |
Â
/**
|
537 |
Â
* Sets the scripts for admin from the module array.
|
@@ -627,7 +627,7 @@ abstract class Orbit_Fox_Module_Abstract {
|
|
627 |
Â
* @access public
|
628 |
Â
* @return array
|
629 |
Â
*/
|
630 |
-
public
|
631 |
Â
|
632 |
Â
/**
|
633 |
Â
* Sets the scripts for public from the module array.
|
265 |
Â
* @access public
|
266 |
Â
* @return bool
|
267 |
Â
*/
|
268 |
+
abstract public function enable_module();
|
269 |
Â
|
270 |
Â
/**
|
271 |
Â
* The method for the module load logic.
|
274 |
Â
* @access public
|
275 |
Â
* @return mixed
|
276 |
Â
*/
|
277 |
+
abstract public function load();
|
278 |
Â
|
279 |
Â
/**
|
280 |
Â
* Method to define actions and filters needed for the module.
|
284 |
Â
* @since 1.0.0
|
285 |
Â
* @access public
|
286 |
Â
*/
|
287 |
+
abstract public function hooks();
|
288 |
Â
|
289 |
Â
/**
|
290 |
Â
* Method to check if module status is active.
|
395 |
Â
* @access public
|
396 |
Â
* @return array
|
397 |
Â
*/
|
398 |
+
abstract public function options();
|
399 |
Â
|
400 |
Â
/**
|
401 |
Â
* Method to retrieve an option value from model.
|
531 |
Â
* @access public
|
532 |
Â
* @return array
|
533 |
Â
*/
|
534 |
+
abstract public function admin_enqueue();
|
535 |
Â
|
536 |
Â
/**
|
537 |
Â
* Sets the scripts for admin from the module array.
|
627 |
Â
* @access public
|
628 |
Â
* @return array
|
629 |
Â
*/
|
630 |
+
abstract public function public_enqueue();
|
631 |
Â
|
632 |
Â
/**
|
633 |
Â
* Sets the scripts for public from the module array.
|
core/app/class-orbit-fox-admin.php
CHANGED
@@ -144,8 +144,15 @@ class Orbit_Fox_Admin {
|
|
144 |
Â
$user_id = $current_user->ID;
|
145 |
Â
if ( ! get_user_meta( $user_id, 'obfx_ignore_visit_dashboard_notice' ) ) { ?>
|
146 |
Â
<div class="notice notice-info" style="position:relative;">
|
147 |
-
<p
|
148 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
149 |
Â
class="notice-dismiss" style="text-decoration: none;">
|
150 |
Â
<span class="screen-reader-text">Dismiss this notice.</span>
|
151 |
Â
</a>
|
@@ -160,13 +167,14 @@ class Orbit_Fox_Admin {
|
|
160 |
Â
* @since 2.3.4
|
161 |
Â
* @access public
|
162 |
Â
*/
|
163 |
-
function visit_dashboard_notice_dismiss() {
|
164 |
Â
global $current_user;
|
165 |
Â
$user_id = $current_user->ID;
|
166 |
Â
// phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
|
167 |
Â
if ( isset( $_GET['obfx_ignore_visit_dashboard_notice'] ) && '0' == $_GET['obfx_ignore_visit_dashboard_notice'] ) {
|
168 |
Â
add_user_meta( $user_id, 'obfx_ignore_visit_dashboard_notice', 'true', true );
|
169 |
Â
wp_safe_redirect( admin_url( 'admin.php?page=obfx_companion' ) );
|
Â
|
|
170 |
Â
}
|
171 |
Â
}
|
172 |
Â
|
@@ -207,7 +215,7 @@ class Orbit_Fox_Admin {
|
|
207 |
Â
* @access public
|
208 |
Â
*/
|
209 |
Â
public function obfx_update_module_options() {
|
210 |
-
$json = stripslashes( str_replace( '"', '"', $_POST['data'] ) );
|
211 |
Â
$data = json_decode( $json, true );
|
212 |
Â
$response['type'] = 'error';
|
213 |
Â
$response['message'] = __( 'Could not process the request!', 'themeisle-companion' );
|
@@ -308,7 +316,7 @@ class Orbit_Fox_Admin {
|
|
308 |
Â
esc_attr( $name ),
|
309 |
Â
esc_attr( $desc ),
|
310 |
Â
esc_url( $url ),
|
311 |
-
|
312 |
Â
);
|
313 |
Â
}
|
314 |
Â
|
@@ -322,7 +330,7 @@ class Orbit_Fox_Admin {
|
|
322 |
Â
* @return array|mixed|object|WP_Error
|
323 |
Â
*/
|
324 |
Â
public function call_plugin_api( $slug ) {
|
325 |
-
include_once
|
326 |
Â
|
327 |
Â
$call_api = get_transient( 'ti_plugin_info_' . $slug );
|
328 |
Â
|
@@ -367,7 +375,7 @@ class Orbit_Fox_Admin {
|
|
367 |
Â
* @access public
|
368 |
Â
*/
|
369 |
Â
public function obfx_update_module_active_status() {
|
370 |
-
$json = stripslashes( str_replace( '"', '"', $_POST['data'] ) );
|
371 |
Â
$data = json_decode( $json, true );
|
372 |
Â
$response['type'] = 'error';
|
373 |
Â
$response['message'] = __( 'Could not process the request!', 'themeisle-companion' );
|
@@ -480,7 +488,7 @@ class Orbit_Fox_Admin {
|
|
480 |
Â
$checked = 'checked';
|
481 |
Â
}
|
482 |
Â
|
483 |
-
$data
|
484 |
Â
'slug' => $slug,
|
485 |
Â
'name' => $module->name,
|
486 |
Â
'description' => $module->description,
|
@@ -546,7 +554,7 @@ class Orbit_Fox_Admin {
|
|
546 |
Â
'panels' => $panels,
|
547 |
Â
);
|
548 |
Â
$output = $rdh->get_view( 'modules', $data );
|
549 |
-
echo $output;
|
550 |
Â
}
|
551 |
Â
|
552 |
Â
}
|
144 |
Â
$user_id = $current_user->ID;
|
145 |
Â
if ( ! get_user_meta( $user_id, 'obfx_ignore_visit_dashboard_notice' ) ) { ?>
|
146 |
Â
<div class="notice notice-info" style="position:relative;">
|
147 |
+
<p>
|
148 |
+
<?php
|
149 |
+
/*
|
150 |
+
* translators: Go to url.
|
151 |
+
*/
|
152 |
+
echo sprintf( esc_attr__( 'You have activated Orbit Fox plugin! Go to the %s to get started with the extra features.', 'themeisle-companion' ), sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( 'obfx_ignore_visit_dashboard_notice', '0', admin_url( 'admin.php?page=obfx_companion' ) ) ), esc_attr__( 'Dashboard Page', 'themeisle-companion' ) ) );
|
153 |
+
?>
|
154 |
+
</p>
|
155 |
+
<a href="<?php echo esc_url( add_query_arg( 'obfx_ignore_visit_dashboard_notice', '0', admin_url( 'admin.php?page=obfx_companion' ) ) ); ?>"
|
156 |
Â
class="notice-dismiss" style="text-decoration: none;">
|
157 |
Â
<span class="screen-reader-text">Dismiss this notice.</span>
|
158 |
Â
</a>
|
167 |
Â
* @since 2.3.4
|
168 |
Â
* @access public
|
169 |
Â
*/
|
170 |
+
public function visit_dashboard_notice_dismiss() {
|
171 |
Â
global $current_user;
|
172 |
Â
$user_id = $current_user->ID;
|
173 |
Â
// phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
|
174 |
Â
if ( isset( $_GET['obfx_ignore_visit_dashboard_notice'] ) && '0' == $_GET['obfx_ignore_visit_dashboard_notice'] ) {
|
175 |
Â
add_user_meta( $user_id, 'obfx_ignore_visit_dashboard_notice', 'true', true );
|
176 |
Â
wp_safe_redirect( admin_url( 'admin.php?page=obfx_companion' ) );
|
177 |
+
exit;
|
178 |
Â
}
|
179 |
Â
}
|
180 |
Â
|
215 |
Â
* @access public
|
216 |
Â
*/
|
217 |
Â
public function obfx_update_module_options() {
|
218 |
+
$json = stripslashes( str_replace( '"', '"', $_POST['data'] ) ); //phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotValidated, WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized
|
219 |
Â
$data = json_decode( $json, true );
|
220 |
Â
$response['type'] = 'error';
|
221 |
Â
$response['message'] = __( 'Could not process the request!', 'themeisle-companion' );
|
316 |
Â
esc_attr( $name ),
|
317 |
Â
esc_attr( $desc ),
|
318 |
Â
esc_url( $url ),
|
319 |
+
esc_attr__( 'Install', 'themeisle-companion' )
|
320 |
Â
);
|
321 |
Â
}
|
322 |
Â
|
330 |
Â
* @return array|mixed|object|WP_Error
|
331 |
Â
*/
|
332 |
Â
public function call_plugin_api( $slug ) {
|
333 |
+
include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
334 |
Â
|
335 |
Â
$call_api = get_transient( 'ti_plugin_info_' . $slug );
|
336 |
Â
|
375 |
Â
* @access public
|
376 |
Â
*/
|
377 |
Â
public function obfx_update_module_active_status() {
|
378 |
+
$json = stripslashes( str_replace( '"', '"', $_POST['data'] ) ); //phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotValidated, WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized
|
379 |
Â
$data = json_decode( $json, true );
|
380 |
Â
$response['type'] = 'error';
|
381 |
Â
$response['message'] = __( 'Could not process the request!', 'themeisle-companion' );
|
488 |
Â
$checked = 'checked';
|
489 |
Â
}
|
490 |
Â
|
491 |
+
$data = array(
|
492 |
Â
'slug' => $slug,
|
493 |
Â
'name' => $module->name,
|
494 |
Â
'description' => $module->description,
|
554 |
Â
'panels' => $panels,
|
555 |
Â
);
|
556 |
Â
$output = $rdh->get_view( 'modules', $data );
|
557 |
+
echo $output; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
558 |
Â
}
|
559 |
Â
|
560 |
Â
}
|
core/app/class-orbit-fox-global-settings.php
CHANGED
@@ -57,7 +57,7 @@ class Orbit_Fox_Global_Settings {
|
|
57 |
Â
*/
|
58 |
Â
public static function instance() {
|
59 |
Â
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Orbit_Fox_Global_Settings ) ) {
|
60 |
-
self::$instance = new Orbit_Fox_Global_Settings;
|
61 |
Â
self::$instance->modules = apply_filters(
|
62 |
Â
'obfx_modules',
|
63 |
Â
array(
|
@@ -72,7 +72,6 @@ class Orbit_Fox_Global_Settings {
|
|
72 |
Â
'mystock-import',
|
73 |
Â
'policy-notice',
|
74 |
Â
'beaver-widgets',
|
75 |
-
'image-cdn',
|
76 |
Â
)
|
77 |
Â
);
|
78 |
Â
}// End if().
|
57 |
Â
*/
|
58 |
Â
public static function instance() {
|
59 |
Â
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Orbit_Fox_Global_Settings ) ) {
|
60 |
+
self::$instance = new Orbit_Fox_Global_Settings();
|
61 |
Â
self::$instance->modules = apply_filters(
|
62 |
Â
'obfx_modules',
|
63 |
Â
array(
|
72 |
Â
'mystock-import',
|
73 |
Â
'policy-notice',
|
74 |
Â
'beaver-widgets',
|
Â
|
|
75 |
Â
)
|
76 |
Â
);
|
77 |
Â
}// End if().
|
core/app/class-orbit-fox-module-factory.php
CHANGED
@@ -30,7 +30,7 @@ class Orbit_Fox_Module_Factory {
|
|
30 |
Â
public static function build( $module_name ) {
|
31 |
Â
$module = str_replace( '-', '_', ucwords( $module_name ) ) . '_OBFX_Module';
|
32 |
Â
if ( class_exists( $module ) ) {
|
33 |
-
return new $module;
|
34 |
Â
}
|
35 |
Â
// @codeCoverageIgnoreStart
|
36 |
Â
throw new Exception( 'Invalid module name given.' );
|
30 |
Â
public static function build( $module_name ) {
|
31 |
Â
$module = str_replace( '-', '_', ucwords( $module_name ) ) . '_OBFX_Module';
|
32 |
Â
if ( class_exists( $module ) ) {
|
33 |
+
return new $module();
|
34 |
Â
}
|
35 |
Â
// @codeCoverageIgnoreStart
|
36 |
Â
throw new Exception( 'Invalid module name given.' );
|
core/app/helpers/class-orbit-fox-render-helper.php
CHANGED
@@ -332,7 +332,10 @@ class Orbit_Fox_Render_Helper {
|
|
332 |
Â
* @return mixed
|
333 |
Â
*/
|
334 |
Â
private function field_radio( $option = array() ) {
|
335 |
-
$field_value
|
Â
|
|
Â
|
|
Â
|
|
336 |
Â
$select_options = '';
|
337 |
Â
foreach ( $option['options'] as $value => $label ) {
|
338 |
Â
$checked = '';
|
332 |
Â
* @return mixed
|
333 |
Â
*/
|
334 |
Â
private function field_radio( $option = array() ) {
|
335 |
+
$field_value = $this->set_field_value( $option );
|
336 |
+
if ( is_numeric( $field_value ) ) {
|
337 |
+
$field_value = (int) $field_value;
|
338 |
+
}
|
339 |
Â
$select_options = '';
|
340 |
Â
foreach ( $option['options'] as $value => $label ) {
|
341 |
Â
$checked = '';
|
core/app/views/modules-page.php
CHANGED
@@ -13,7 +13,6 @@
|
|
13 |
Â
if ( ! isset( $no_modules ) ) {
|
14 |
Â
$no_modules = true;
|
15 |
Â
}
|
16 |
-
|
17 |
Â
if ( ! isset( $empty_tpl ) ) {
|
18 |
Â
$empty_tpl = '';
|
19 |
Â
}
|
@@ -42,21 +41,21 @@ if ( isset( $_GET['show_plugins'] ) && $_GET['show_plugins'] === 'yes' ) {
|
|
42 |
Â
?>
|
43 |
Â
<div class="obfx-wrapper obfx-header">
|
44 |
Â
<div class="obfx-header-content">
|
45 |
-
<img src="<?php echo OBFX_URL; ?>/images/orbit-fox.png" title="Orbit Fox" class="obfx-logo"/>
|
46 |
-
<h1><?php
|
47 |
Â
href="https://themeisle.com" target="_blank"><b>ThemeIsle</b></a></span>
|
48 |
Â
</div>
|
49 |
Â
</div>
|
50 |
Â
<div id="obfx-wrapper" style="padding: 0; margin-top: 10px; margin-bottom: 5px;">
|
51 |
Â
<?php
|
52 |
-
echo $toasts;
|
53 |
Â
?>
|
54 |
Â
</div>
|
55 |
Â
<div class="obfx-full-page-container">
|
56 |
Â
<div class="obfx-wrapper" id="obfx-modules-wrapper">
|
57 |
Â
<?php
|
58 |
Â
if ( $no_modules ) {
|
59 |
-
echo $empty_tpl;
|
60 |
Â
} else {
|
61 |
Â
?>
|
62 |
Â
<div class="panel">
|
@@ -68,9 +67,9 @@ if ( isset( $_GET['show_plugins'] ) && $_GET['show_plugins'] === 'yes' ) {
|
|
68 |
Â
<?php
|
69 |
Â
echo esc_url( admin_url( 'admin.php?page=obfx_companion' ) );
|
70 |
Â
?>
|
71 |
-
"><?php echo
|
72 |
Â
<li class="<?php echo $current_tab === 'plugins' ? 'obfx-tab-active' : ''; ?>">
|
73 |
-
<a href="<?php echo esc_url( admin_url( 'admin.php?page=obfx_companion&show_plugins=yes' ) ); ?>"><?php echo
|
74 |
Â
</li>
|
75 |
Â
</ul>
|
76 |
Â
</div>
|
@@ -78,7 +77,7 @@ if ( isset( $_GET['show_plugins'] ) && $_GET['show_plugins'] === 'yes' ) {
|
|
78 |
Â
<div class="panel-body">
|
79 |
Â
|
80 |
Â
<?php if ( $current_tab === 'modules' ) { ?>
|
81 |
-
<?php echo $tiles; ?>
|
82 |
Â
<?php } ?>
|
83 |
Â
<?php if ( $current_tab === 'plugins' ) { ?>
|
84 |
Â
<?php do_action( 'obfx_recommended_plugins' ); ?>
|
@@ -90,9 +89,9 @@ if ( isset( $_GET['show_plugins'] ) && $_GET['show_plugins'] === 'yes' ) {
|
|
90 |
Â
</div>
|
91 |
Â
<div class="panel" <?php echo $current_tab === 'plugins' ? 'style="display:none"' : ''; ?>>
|
92 |
Â
<div class="panel-header text-center">
|
93 |
-
<div class="panel-title mt-10"><?php echo
|
94 |
Â
</div>
|
95 |
-
<?php echo ( $panels === '' ) ? '<p class="text-center">' .
|
96 |
Â
</div>
|
97 |
Â
<?php
|
98 |
Â
}
|
13 |
Â
if ( ! isset( $no_modules ) ) {
|
14 |
Â
$no_modules = true;
|
15 |
Â
}
|
Â
|
|
16 |
Â
if ( ! isset( $empty_tpl ) ) {
|
17 |
Â
$empty_tpl = '';
|
18 |
Â
}
|
41 |
Â
?>
|
42 |
Â
<div class="obfx-wrapper obfx-header">
|
43 |
Â
<div class="obfx-header-content">
|
44 |
+
<img src="<?php echo esc_url( OBFX_URL ); ?>/images/orbit-fox.png" title="Orbit Fox" class="obfx-logo"/>
|
45 |
+
<h1><?php esc_attr_e( 'Orbit Fox', 'themeisle-companion' ); ?></h1><span class="powered"> by <a
|
46 |
Â
href="https://themeisle.com" target="_blank"><b>ThemeIsle</b></a></span>
|
47 |
Â
</div>
|
48 |
Â
</div>
|
49 |
Â
<div id="obfx-wrapper" style="padding: 0; margin-top: 10px; margin-bottom: 5px;">
|
50 |
Â
<?php
|
51 |
+
echo wp_kses_post( $toasts );
|
52 |
Â
?>
|
53 |
Â
</div>
|
54 |
Â
<div class="obfx-full-page-container">
|
55 |
Â
<div class="obfx-wrapper" id="obfx-modules-wrapper">
|
56 |
Â
<?php
|
57 |
Â
if ( $no_modules ) {
|
58 |
+
echo wp_kses_post( $empty_tpl );
|
59 |
Â
} else {
|
60 |
Â
?>
|
61 |
Â
<div class="panel">
|
67 |
Â
<?php
|
68 |
Â
echo esc_url( admin_url( 'admin.php?page=obfx_companion' ) );
|
69 |
Â
?>
|
70 |
+
"><?php echo esc_attr__( 'Available Modules', 'themeisle-companion' ); ?></a></li>
|
71 |
Â
<li class="<?php echo $current_tab === 'plugins' ? 'obfx-tab-active' : ''; ?>">
|
72 |
+
<a href="<?php echo esc_url( admin_url( 'admin.php?page=obfx_companion&show_plugins=yes' ) ); ?>"><?php echo esc_attr__( 'Recommended Plugins', 'themeisle-companion' ); ?></a>
|
73 |
Â
</li>
|
74 |
Â
</ul>
|
75 |
Â
</div>
|
77 |
Â
<div class="panel-body">
|
78 |
Â
|
79 |
Â
<?php if ( $current_tab === 'modules' ) { ?>
|
80 |
+
<?php echo ( $tiles ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
81 |
Â
<?php } ?>
|
82 |
Â
<?php if ( $current_tab === 'plugins' ) { ?>
|
83 |
Â
<?php do_action( 'obfx_recommended_plugins' ); ?>
|
89 |
Â
</div>
|
90 |
Â
<div class="panel" <?php echo $current_tab === 'plugins' ? 'style="display:none"' : ''; ?>>
|
91 |
Â
<div class="panel-header text-center">
|
92 |
+
<div class="panel-title mt-10"><?php echo esc_attr( 'Activated Modules Options', 'themeisle-companion' ); ?></div>
|
93 |
Â
</div>
|
94 |
+
<?php echo ( $panels === '' ) ? '<p class="text-center">' . esc_attr__( 'No modules activated.', 'themeisle-companion' ) . '</p>' : ( $panels ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
95 |
Â
</div>
|
96 |
Â
<?php
|
97 |
Â
}
|
core/app/views/partials/empty-tpl.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
Â
*/
|
12 |
Â
|
13 |
Â
if ( ! isset( $title ) ) {
|
14 |
-
$title = __( 'There are no modules for the Fox!', 'themeisle-companion' );
|
15 |
Â
}
|
16 |
Â
|
17 |
Â
if ( ! isset( $btn_text ) ) {
|
@@ -27,13 +27,13 @@ if ( ! isset( $show_btn ) ) {
|
|
27 |
Â
<div class="empty-icon">
|
28 |
Â
<i class="dashicons dashicons-warning" style="width: 48px; height: 48px; font-size: 48px; "></i>
|
29 |
Â
</div>
|
30 |
-
<h4 class="empty-title"><?php echo $title; ?></h4>
|
31 |
-
<?php echo ( isset( $sub_title ) ) ? '<p class="empty-subtitle">' . $sub_title . '</p>' : ''; ?>
|
32 |
Â
<?php
|
33 |
Â
if ( $show_btn ) {
|
34 |
Â
?>
|
35 |
Â
<div class="empty-action">
|
36 |
-
<button class="btn btn-primary"><?php echo $btn_text; ?></button>
|
37 |
Â
</div>
|
38 |
Â
<?php
|
39 |
Â
}
|
11 |
Â
*/
|
12 |
Â
|
13 |
Â
if ( ! isset( $title ) ) {
|
14 |
+
$title = __( 'There are no modules for the Fox!', 'themeisle-companion' ); //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
15 |
Â
}
|
16 |
Â
|
17 |
Â
if ( ! isset( $btn_text ) ) {
|
27 |
Â
<div class="empty-icon">
|
28 |
Â
<i class="dashicons dashicons-warning" style="width: 48px; height: 48px; font-size: 48px; "></i>
|
29 |
Â
</div>
|
30 |
+
<h4 class="empty-title"><?php echo wp_kses_post( $title ); ?></h4>
|
31 |
+
<?php echo ( isset( $sub_title ) ) ? '<p class="empty-subtitle">' . wp_kses_post( $sub_title ) . '</p>' : ''; ?>
|
32 |
Â
<?php
|
33 |
Â
if ( $show_btn ) {
|
34 |
Â
?>
|
35 |
Â
<div class="empty-action">
|
36 |
+
<button class="btn btn-primary"><?php echo wp_kses_post( $btn_text ); ?></button>
|
37 |
Â
</div>
|
38 |
Â
<?php
|
39 |
Â
}
|
core/app/views/partials/module-panel-tpl.php
CHANGED
@@ -41,28 +41,28 @@ if ( isset( $show ) && $show ) {
|
|
41 |
Â
$btn_class = 'active';
|
42 |
Â
|
43 |
Â
}
|
44 |
-
$styles = sprintf( 'style="%s"', implode( ':', $styles ) );
|
45 |
Â
|
46 |
Â
?>
|
47 |
-
<div id="obfx-mod-<?php echo $slug; ?>" class="panel options <?php echo esc_attr( $btn_class ); ?>" <?php echo $styles; ?>>
|
48 |
Â
<div class="panel-header">
|
49 |
Â
<button class="btn btn-action circle btn-expand <?php echo esc_attr( $btn_class ); ?>"
|
50 |
Â
style="float: right; margin-right: 10px;">
|
51 |
Â
<i class="dashicons dashicons-arrow-down-alt2"></i>
|
52 |
Â
</button>
|
53 |
-
<div class="panel-title"><?php echo $name; ?></div>
|
54 |
-
<div class="panel-subtitle"><?php echo $description; ?></div>
|
55 |
Â
<div class="obfx-mod-toast toast" style="display: none;">
|
56 |
Â
<button class="obfx-toast-dismiss btn btn-clear float-right"></button>
|
57 |
Â
<span>Mock text for Toast Element</span>
|
58 |
Â
</div>
|
59 |
Â
</div>
|
60 |
-
<form id="obfx-module-form-<?php echo $slug; ?>" class="obfx-module-form <?php echo esc_attr( $btn_class ); ?> ">
|
61 |
-
<fieldset <?php echo $disabled_fields; ?> >
|
62 |
-
<input type="hidden" name="module-slug" value="<?php echo $slug; ?>">
|
63 |
-
<input type="hidden" name="noance" value="<?php echo $noance; ?>">
|
64 |
Â
<div class="panel-body">
|
65 |
-
<?php echo $options_fields; ?>
|
66 |
Â
<div class="divider"></div>
|
67 |
Â
</div>
|
68 |
Â
<?php if ( isset( $no_save ) && $no_save === false ) : ?>
|
41 |
Â
$btn_class = 'active';
|
42 |
Â
|
43 |
Â
}
|
44 |
+
$styles = sprintf( 'style="%s"', esc_attr( implode( ':', $styles ) ) );
|
45 |
Â
|
46 |
Â
?>
|
47 |
+
<div id="obfx-mod-<?php echo esc_attr( $slug ); ?>" class="panel options <?php echo esc_attr( $btn_class ); ?>" <?php echo ( $styles ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
|
48 |
Â
<div class="panel-header">
|
49 |
Â
<button class="btn btn-action circle btn-expand <?php echo esc_attr( $btn_class ); ?>"
|
50 |
Â
style="float: right; margin-right: 10px;">
|
51 |
Â
<i class="dashicons dashicons-arrow-down-alt2"></i>
|
52 |
Â
</button>
|
53 |
+
<div class="panel-title"><?php echo wp_kses_post( $name ); ?></div>
|
54 |
+
<div class="panel-subtitle"><?php echo wp_kses_post( $description ); ?></div>
|
55 |
Â
<div class="obfx-mod-toast toast" style="display: none;">
|
56 |
Â
<button class="obfx-toast-dismiss btn btn-clear float-right"></button>
|
57 |
Â
<span>Mock text for Toast Element</span>
|
58 |
Â
</div>
|
59 |
Â
</div>
|
60 |
+
<form id="obfx-module-form-<?php echo esc_attr( $slug ); ?>" class="obfx-module-form <?php echo esc_attr( $btn_class ); ?> ">
|
61 |
+
<fieldset <?php echo esc_attr( $disabled_fields ); ?> >
|
62 |
+
<input type="hidden" name="module-slug" value="<?php echo esc_attr( $slug ); ?>">
|
63 |
+
<input type="hidden" name="noance" value="<?php echo esc_attr( $noance ); ?>">
|
64 |
Â
<div class="panel-body">
|
65 |
+
<?php echo ( $options_fields ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
66 |
Â
<div class="divider"></div>
|
67 |
Â
</div>
|
68 |
Â
<?php if ( isset( $no_save ) && $no_save === false ) : ?>
|
core/app/views/partials/module-tile-tpl.php
CHANGED
@@ -30,7 +30,7 @@ $toggle_class = 'obfx-mod-switch';
|
|
30 |
Â
if ( ! empty( $confirm_intent ) ) {
|
31 |
Â
|
32 |
Â
$toggle_class .= ' obfx-mod-confirm-intent';
|
33 |
-
$modal
|
34 |
Â
<div id="' . esc_attr( $slug ) . '" class="modal">
|
35 |
Â
<a href="#close" class="close-confirm-intent modal-overlay" aria-label="Close"></a>
|
36 |
Â
<div class="modal-container">
|
@@ -55,25 +55,25 @@ $noance = wp_create_nonce( 'obfx_activate_mod_' . $slug );
|
|
55 |
Â
</div>
|
56 |
Â
</div>
|
57 |
Â
<div class="tile-content">
|
58 |
-
<p class="tile-title"><?php echo $name; ?></p>
|
59 |
-
<p class="tile-subtitle"><?php echo $description; ?></p>
|
60 |
Â
</div>
|
61 |
Â
<div class="tile-action">
|
62 |
Â
<div class="form-group">
|
63 |
Â
<label class="form-switch <?php echo empty( $checked ) ? '' : 'activated'; ?>">
|
64 |
-
<input class="<?php echo esc_attr( $toggle_class ); ?>" type="checkbox" name="<?php echo $slug; ?>"
|
65 |
-
value="<?php echo $noance; ?>" <?php echo $checked; ?> >
|
66 |
Â
<i class="form-icon"></i>
|
67 |
-
<span class="inactive"><?php
|
68 |
Â
<i class="dashicons dashicons-yes"></i>
|
69 |
Â
|
70 |
Â
</label>
|
71 |
Â
<?php if ( $beta ) { ?>
|
72 |
-
<p class="obfx-beta-module"><?php
|
73 |
Â
<?php } ?>
|
74 |
Â
<?php
|
75 |
Â
if ( ! empty( $modal ) ) {
|
76 |
-
echo
|
77 |
Â
}
|
78 |
Â
?>
|
79 |
Â
<?php do_action( 'obfx_activate_btn_before', $slug, $checked === 'checked' ); ?>
|
30 |
Â
if ( ! empty( $confirm_intent ) ) {
|
31 |
Â
|
32 |
Â
$toggle_class .= ' obfx-mod-confirm-intent';
|
33 |
+
$modal = '
|
34 |
Â
<div id="' . esc_attr( $slug ) . '" class="modal">
|
35 |
Â
<a href="#close" class="close-confirm-intent modal-overlay" aria-label="Close"></a>
|
36 |
Â
<div class="modal-container">
|
55 |
Â
</div>
|
56 |
Â
</div>
|
57 |
Â
<div class="tile-content">
|
58 |
+
<p class="tile-title"><?php echo wp_kses_post( $name ); ?></p>
|
59 |
+
<p class="tile-subtitle"><?php echo wp_kses_post( $description ); ?></p>
|
60 |
Â
</div>
|
61 |
Â
<div class="tile-action">
|
62 |
Â
<div class="form-group">
|
63 |
Â
<label class="form-switch <?php echo empty( $checked ) ? '' : 'activated'; ?>">
|
64 |
+
<input class="<?php echo esc_attr( $toggle_class ); ?>" type="checkbox" name="<?php echo esc_attr( $slug ); ?>"
|
65 |
+
value="<?php echo esc_attr( $noance ); ?>" <?php echo esc_attr( $checked ); ?> >
|
66 |
Â
<i class="form-icon"></i>
|
67 |
+
<span class="inactive"><?php esc_attr_e( 'Activate', 'themeisle-companion' ); ?></span>
|
68 |
Â
<i class="dashicons dashicons-yes"></i>
|
69 |
Â
|
70 |
Â
</label>
|
71 |
Â
<?php if ( $beta ) { ?>
|
72 |
+
<p class="obfx-beta-module"><?php esc_attr_e( 'Beta module', 'themeisle-companion' ); ?></p>
|
73 |
Â
<?php } ?>
|
74 |
Â
<?php
|
75 |
Â
if ( ! empty( $modal ) ) {
|
76 |
+
echo ( $modal ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
77 |
Â
}
|
78 |
Â
?>
|
79 |
Â
<?php do_action( 'obfx_activate_btn_before', $slug, $checked === 'checked' ); ?>
|
core/app/views/partials/module-toast-tpl.php
CHANGED
@@ -11,8 +11,8 @@
|
|
11 |
Â
*/
|
12 |
Â
|
13 |
Â
?>
|
14 |
-
<div class="obfx-mod-toast toast toast-<?php echo $notice['type']; ?>">
|
15 |
Â
<button class="obfx-toast-dismiss btn btn-clear float-right"></button>
|
16 |
-
<b><?php echo $notice['title']; ?></b><br/>
|
17 |
-
<span><?php echo $notice['message']; ?></span>
|
18 |
Â
</div>
|
11 |
Â
*/
|
12 |
Â
|
13 |
Â
?>
|
14 |
+
<div class="obfx-mod-toast toast toast-<?php echo esc_attr( $notice['type'] ); ?>">
|
15 |
Â
<button class="obfx-toast-dismiss btn btn-clear float-right"></button>
|
16 |
+
<b><?php echo wp_kses_post( $notice['title'] ); ?></b><br/>
|
17 |
+
<span><?php echo wp_kses_post( $notice['message'] ); ?></span>
|
18 |
Â
</div>
|
core/assets/css/orbit-fox-admin.css
CHANGED
@@ -3077,7 +3077,7 @@ html {
|
|
3077 |
Â
|
3078 |
Â
.obfx-wrapper .tile .dashicons {
|
3079 |
Â
transition: none;
|
3080 |
-
line-height:
|
3081 |
Â
}
|
3082 |
Â
|
3083 |
Â
.obfx-wrapper .tile .tile-content {
|
@@ -3875,7 +3875,7 @@ ul.obfx-menu-tabs{
|
|
3875 |
Â
background: #5764c6;
|
3876 |
Â
text-decoration: none;
|
3877 |
Â
padding: 10px 40px;
|
3878 |
-
line-height:
|
3879 |
Â
box-shadow: none;
|
3880 |
Â
text-shadow: none;
|
3881 |
Â
}
|
3077 |
Â
|
3078 |
Â
.obfx-wrapper .tile .dashicons {
|
3079 |
Â
transition: none;
|
3080 |
+
line-height: 1;
|
3081 |
Â
}
|
3082 |
Â
|
3083 |
Â
.obfx-wrapper .tile .tile-content {
|
3875 |
Â
background: #5764c6;
|
3876 |
Â
text-decoration: none;
|
3877 |
Â
padding: 10px 40px;
|
3878 |
+
line-height: 15px;
|
3879 |
Â
box-shadow: none;
|
3880 |
Â
text-shadow: none;
|
3881 |
Â
}
|
core/includes/class-orbit-fox-neve-dropin.php
CHANGED
@@ -46,8 +46,8 @@ class Orbit_Fox_Neve_Dropin {
|
|
46 |
Â
* Drop-in actions
|
47 |
Â
*/
|
48 |
Â
public function init() {
|
49 |
-
add_action( 'admin_notices', array( $this, 'admin_notice' ), defined( 'PHP_INT_MIN' ) ? PHP_INT_MIN : 99999 );
|
50 |
-
add_action( 'admin_init', array( $this, 'remove_notice' ), defined( 'PHP_INT_MIN' ) ? PHP_INT_MIN : 99999 );
|
51 |
Â
}
|
52 |
Â
|
53 |
Â
/**
|
@@ -63,7 +63,7 @@ class Orbit_Fox_Neve_Dropin {
|
|
63 |
Â
if ( ! isset( $_GET['remove_upsell'] ) ) {
|
64 |
Â
return;
|
65 |
Â
}
|
66 |
-
if ( ! wp_verify_nonce( $_GET['remove_upsell'], 'remove_upsell_confirmation' ) ) {
|
67 |
Â
return;
|
68 |
Â
}
|
69 |
Â
update_option( self::$dismiss_key, 'yes' );
|
@@ -99,7 +99,7 @@ class Orbit_Fox_Neve_Dropin {
|
|
99 |
Â
return;
|
100 |
Â
}
|
101 |
Â
|
102 |
-
if ( ( $expiration = get_option( self::$dismiss_key . '_exp', '' ) ) === '' ) {
|
103 |
Â
update_option( self::$dismiss_key . '_exp', time() );
|
104 |
Â
}
|
105 |
Â
|
@@ -139,7 +139,7 @@ class Orbit_Fox_Neve_Dropin {
|
|
139 |
Â
<a href="<?php echo esc_url( admin_url( 'theme-install.php?theme=neve' ) ); ?>" target="_blank"
|
140 |
Â
class="button neve-upsell-try button-primary"><span class="dashicons dashicons-external"></span>Get
|
141 |
Â
started</a></p>
|
142 |
-
<a href="<?php echo wp_nonce_url( add_query_arg( array( self::$dismiss_key => 'yes' ) ), 'remove_upsell_confirmation', 'remove_upsell' ); ?>"
|
143 |
Â
class=" notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></a>
|
144 |
Â
</div>
|
145 |
Â
<?php
|
46 |
Â
* Drop-in actions
|
47 |
Â
*/
|
48 |
Â
public function init() {
|
49 |
+
add_action( 'admin_notices', array( $this, 'admin_notice' ), defined( 'PHP_INT_MIN' ) ? PHP_INT_MIN : 99999 ); //phpcs:ignore PHPCompatibility.Constants.NewConstants.php_int_minFound
|
50 |
+
add_action( 'admin_init', array( $this, 'remove_notice' ), defined( 'PHP_INT_MIN' ) ? PHP_INT_MIN : 99999 ); //phpcs:ignore PHPCompatibility.Constants.NewConstants.php_int_minFound
|
51 |
Â
}
|
52 |
Â
|
53 |
Â
/**
|
63 |
Â
if ( ! isset( $_GET['remove_upsell'] ) ) {
|
64 |
Â
return;
|
65 |
Â
}
|
66 |
+
if ( ! wp_verify_nonce( $_GET['remove_upsell'], 'remove_upsell_confirmation' ) ) { //phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized
|
67 |
Â
return;
|
68 |
Â
}
|
69 |
Â
update_option( self::$dismiss_key, 'yes' );
|
99 |
Â
return;
|
100 |
Â
}
|
101 |
Â
|
102 |
+
if ( ( $expiration = get_option( self::$dismiss_key . '_exp', '' ) ) === '' ) { //phpcs:ignore Squiz.PHP.DisallowMultipleAssignments.FoundInControlStructure
|
103 |
Â
update_option( self::$dismiss_key . '_exp', time() );
|
104 |
Â
}
|
105 |
Â
|
139 |
Â
<a href="<?php echo esc_url( admin_url( 'theme-install.php?theme=neve' ) ); ?>" target="_blank"
|
140 |
Â
class="button neve-upsell-try button-primary"><span class="dashicons dashicons-external"></span>Get
|
141 |
Â
started</a></p>
|
142 |
+
<a href="<?php echo esc_url( wp_nonce_url( add_query_arg( array( self::$dismiss_key => 'yes' ) ), 'remove_upsell_confirmation', 'remove_upsell' ) ); ?>"
|
143 |
Â
class=" notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></a>
|
144 |
Â
</div>
|
145 |
Â
<?php
|
core/includes/class-orbit-fox.php
CHANGED
@@ -69,7 +69,7 @@ class Orbit_Fox {
|
|
69 |
Â
|
70 |
Â
$this->plugin_name = 'orbit-fox';
|
71 |
Â
|
72 |
-
$this->version = '2.
|
73 |
Â
|
74 |
Â
$this->load_dependencies();
|
75 |
Â
$this->set_locale();
|
@@ -96,6 +96,7 @@ class Orbit_Fox {
|
|
96 |
Â
*/
|
97 |
Â
private function load_dependencies() {
|
98 |
Â
$this->loader = new Orbit_Fox_Loader();
|
Â
|
|
99 |
Â
}
|
100 |
Â
|
101 |
Â
/**
|
@@ -145,8 +146,8 @@ class Orbit_Fox {
|
|
145 |
Â
/**
|
146 |
Â
* The reference to the class that orchestrates the hooks with the plugin.
|
147 |
Â
*
|
148 |
-
* @since 1.0.0
|
149 |
Â
* @return Orbit_Fox_Loader Orchestrates the hooks of the plugin.
|
Â
|
|
150 |
Â
*/
|
151 |
Â
public function get_loader() {
|
152 |
Â
return $this->loader;
|
@@ -155,8 +156,8 @@ class Orbit_Fox {
|
|
155 |
Â
/**
|
156 |
Â
* Retrieve the version number of the plugin.
|
157 |
Â
*
|
158 |
-
* @since 1.0.0
|
159 |
Â
* @return string The version number of the plugin.
|
Â
|
|
160 |
Â
*/
|
161 |
Â
public function get_version() {
|
162 |
Â
return $this->version;
|
@@ -189,6 +190,8 @@ class Orbit_Fox {
|
|
189 |
Â
$this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_styles' );
|
190 |
Â
$this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' );
|
191 |
Â
|
Â
|
|
Â
|
|
192 |
Â
$this->loader->add_action( 'init', Orbit_Fox_Neve_Dropin::instance(), 'init' );
|
193 |
Â
|
194 |
Â
// Fix update checks on themeisle.com for non-premium themes
|
@@ -206,12 +209,43 @@ class Orbit_Fox {
|
|
206 |
Â
|
207 |
Â
}
|
208 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
209 |
Â
/**
|
210 |
Â
* The name of the plugin used to uniquely identify it within the context of
|
211 |
Â
* WordPress and to define internationalization functionality.
|
212 |
Â
*
|
213 |
-
* @since 1.0.0
|
214 |
Â
* @return string The name of the plugin.
|
Â
|
|
215 |
Â
*/
|
216 |
Â
public function get_plugin_name() {
|
217 |
Â
return $this->plugin_name;
|
69 |
Â
|
70 |
Â
$this->plugin_name = 'orbit-fox';
|
71 |
Â
|
72 |
+
$this->version = '2.9.0';
|
73 |
Â
|
74 |
Â
$this->load_dependencies();
|
75 |
Â
$this->set_locale();
|
96 |
Â
*/
|
97 |
Â
private function load_dependencies() {
|
98 |
Â
$this->loader = new Orbit_Fox_Loader();
|
99 |
+
|
100 |
Â
}
|
101 |
Â
|
102 |
Â
/**
|
146 |
Â
/**
|
147 |
Â
* The reference to the class that orchestrates the hooks with the plugin.
|
148 |
Â
*
|
Â
|
|
149 |
Â
* @return Orbit_Fox_Loader Orchestrates the hooks of the plugin.
|
150 |
+
* @since 1.0.0
|
151 |
Â
*/
|
152 |
Â
public function get_loader() {
|
153 |
Â
return $this->loader;
|
156 |
Â
/**
|
157 |
Â
* Retrieve the version number of the plugin.
|
158 |
Â
*
|
Â
|
|
159 |
Â
* @return string The version number of the plugin.
|
160 |
+
* @since 1.0.0
|
161 |
Â
*/
|
162 |
Â
public function get_version() {
|
163 |
Â
return $this->version;
|
190 |
Â
$this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_styles' );
|
191 |
Â
$this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' );
|
192 |
Â
|
193 |
+
$this->loader->add_action( 'after_setup_theme', $this, 'load_onboarding', 999999 );
|
194 |
+
|
195 |
Â
$this->loader->add_action( 'init', Orbit_Fox_Neve_Dropin::instance(), 'init' );
|
196 |
Â
|
197 |
Â
// Fix update checks on themeisle.com for non-premium themes
|
209 |
Â
|
210 |
Â
}
|
211 |
Â
|
212 |
+
/**
|
213 |
+
* Load onboarding, if missing.
|
214 |
+
*/
|
215 |
+
public function load_onboarding() {
|
216 |
+
if ( defined( 'TI_ONBOARDING_DISABLED' ) ) {
|
217 |
+
return;
|
218 |
+
}
|
219 |
+
$theme_support = get_theme_support( 'themeisle-demo-import' );
|
220 |
+
|
221 |
+
if ( empty( $theme_support ) ) {
|
222 |
+
return;
|
223 |
+
}
|
224 |
+
|
225 |
+
$library = OBX_PATH . '/vendor/codeinwp/ti-onboarding/load.php';
|
226 |
+
|
227 |
+
if ( ! is_file( $library ) ) {
|
228 |
+
return;
|
229 |
+
}
|
230 |
+
require_once $library;
|
231 |
+
|
232 |
+
add_filter(
|
233 |
+
'themeisle_site_import_uri',
|
234 |
+
function () {
|
235 |
+
return OBFX_URL . Themeisle_Onboarding::OBOARDING_PATH;
|
236 |
+
}
|
237 |
+
);
|
238 |
+
|
239 |
+
\Themeisle_Onboarding::instance();
|
240 |
+
|
241 |
+
}
|
242 |
+
|
243 |
Â
/**
|
244 |
Â
* The name of the plugin used to uniquely identify it within the context of
|
245 |
Â
* WordPress and to define internationalization functionality.
|
246 |
Â
*
|
Â
|
|
247 |
Â
* @return string The name of the plugin.
|
248 |
+
* @since 1.0.0
|
249 |
Â
*/
|
250 |
Â
public function get_plugin_name() {
|
251 |
Â
return $this->plugin_name;
|
obfx_modules/beaver-widgets/custom-fields/number-field/number_field.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
Â
function obfx_number_field( $name, $value, $field ) {
|
12 |
Â
$min = ! empty( $field['min'] ) ? 'min="' . esc_attr( $field['min'] ) . '"' : '';
|
13 |
Â
$max = ! empty( $field['max'] ) ? 'max="' . esc_attr( $field['max'] ) . '"' : ''; ?>
|
14 |
-
<input type="number" value="<?php echo esc_attr( $value ); ?>" name="<?php echo esc_attr( $name ); ?>" class="obfx-number-field" <?php echo $min; ?> <?php echo $max; ?> />
|
15 |
Â
<?php
|
16 |
Â
}
|
17 |
Â
|
11 |
Â
function obfx_number_field( $name, $value, $field ) {
|
12 |
Â
$min = ! empty( $field['min'] ) ? 'min="' . esc_attr( $field['min'] ) . '"' : '';
|
13 |
Â
$max = ! empty( $field['max'] ) ? 'max="' . esc_attr( $field['max'] ) . '"' : ''; ?>
|
14 |
+
<input type="number" value="<?php echo esc_attr( $value ); ?>" name="<?php echo esc_attr( $name ); ?>" class="obfx-number-field" <?php echo esc_attr( $min ); ?> <?php echo esc_attr( $max ); ?> />
|
15 |
Â
<?php
|
16 |
Â
}
|
17 |
Â
|
obfx_modules/beaver-widgets/inc/common-functions.php
CHANGED
@@ -9,7 +9,7 @@
|
|
9 |
Â
$module_directory = $this->get_dir();
|
10 |
Â
|
11 |
Â
// Require custom field.
|
12 |
-
require_once
|
13 |
Â
|
14 |
Â
/**
|
15 |
Â
* Function to return padding controls.
|
@@ -20,34 +20,34 @@ require_once( $module_directory . '/custom-fields/number-field/number_field.php'
|
|
20 |
Â
*/
|
21 |
Â
function themeisle_four_fields_control( $settings ) {
|
22 |
Â
$default = $settings['default'];
|
23 |
-
$prefix
|
24 |
-
$type
|
25 |
Â
return array(
|
26 |
Â
'title' => $type === 'margin' ? esc_html__( 'Margins', 'themeisle-companion' ) : esc_html__( 'Padding', 'themeisle-companion' ),
|
27 |
Â
'fields' => array(
|
28 |
-
$prefix . 'top'
|
29 |
Â
'type' => 'obfx_number',
|
30 |
-
'label'
|
31 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
32 |
-
'default'
|
33 |
Â
),
|
34 |
Â
$prefix . 'bottom' => array(
|
35 |
Â
'type' => 'obfx_number',
|
36 |
-
'label'
|
37 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
38 |
-
'default'
|
39 |
Â
),
|
40 |
-
$prefix . 'left'
|
41 |
Â
'type' => 'obfx_number',
|
42 |
-
'label'
|
43 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
44 |
-
'default'
|
45 |
Â
),
|
46 |
-
$prefix . 'right'
|
47 |
Â
'type' => 'obfx_number',
|
48 |
-
'label'
|
49 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
50 |
-
'default'
|
51 |
Â
),
|
52 |
Â
),
|
53 |
Â
);
|
@@ -61,55 +61,55 @@ function themeisle_four_fields_control( $settings ) {
|
|
61 |
Â
* @return array
|
62 |
Â
*/
|
63 |
Â
function themeisle_typography_settings( $settings ) {
|
64 |
-
$title
|
65 |
-
$prefix
|
66 |
Â
$font_default = ! empty( $settings['font_size_default'] ) ? $settings['font_size_default'] : '';
|
67 |
Â
return array(
|
68 |
-
'title'
|
69 |
Â
'fields' => array(
|
70 |
-
$prefix . 'font_size'
|
71 |
Â
'type' => 'obfx_number',
|
72 |
-
'label'
|
73 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
74 |
-
'default'
|
75 |
Â
),
|
76 |
-
$prefix . 'font_family'
|
77 |
-
'type'
|
78 |
-
'label'
|
79 |
-
'default'
|
80 |
-
'family'
|
81 |
-
'weight'
|
82 |
Â
),
|
83 |
Â
),
|
84 |
-
$prefix . 'transform'
|
85 |
Â
'type' => 'select',
|
86 |
Â
'label' => esc_html__( 'Transform', 'themeisle-companion' ),
|
87 |
Â
'default' => 'none',
|
88 |
Â
'options' => array(
|
89 |
-
'none'
|
90 |
Â
'capitalize' => esc_html__( 'Capitalize', 'themeisle-companion' ),
|
91 |
-
'uppercase'
|
92 |
-
'lowercase'
|
93 |
Â
),
|
94 |
Â
),
|
95 |
-
$prefix . 'font_style'
|
96 |
Â
'type' => 'select',
|
97 |
Â
'label' => esc_html__( 'Font style', 'themeisle-companion' ),
|
98 |
Â
'default' => 'normal',
|
99 |
Â
'options' => array(
|
100 |
-
'normal'
|
101 |
-
'italic'
|
102 |
Â
'oblique' => esc_html__( 'Oblique', 'themeisle-companion' ),
|
103 |
Â
),
|
104 |
Â
),
|
105 |
-
$prefix . 'line_height'
|
106 |
Â
'type' => 'obfx_number',
|
107 |
-
'label'
|
108 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
109 |
Â
),
|
110 |
Â
$prefix . 'letter_spacing' => array(
|
111 |
Â
'type' => 'obfx_number',
|
112 |
-
'label'
|
113 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
114 |
Â
),
|
115 |
Â
),
|
9 |
Â
$module_directory = $this->get_dir();
|
10 |
Â
|
11 |
Â
// Require custom field.
|
12 |
+
require_once $module_directory . '/custom-fields/number-field/number_field.php';
|
13 |
Â
|
14 |
Â
/**
|
15 |
Â
* Function to return padding controls.
|
20 |
Â
*/
|
21 |
Â
function themeisle_four_fields_control( $settings ) {
|
22 |
Â
$default = $settings['default'];
|
23 |
+
$prefix = $settings['field_name_prefix'];
|
24 |
+
$type = ! empty( $settings['type'] ) ? $settings['type'] : 'padding';
|
25 |
Â
return array(
|
26 |
Â
'title' => $type === 'margin' ? esc_html__( 'Margins', 'themeisle-companion' ) : esc_html__( 'Padding', 'themeisle-companion' ),
|
27 |
Â
'fields' => array(
|
28 |
+
$prefix . 'top' => array(
|
29 |
Â
'type' => 'obfx_number',
|
30 |
+
'label' => esc_html__( 'Top', 'themeisle-companion' ),
|
31 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
32 |
+
'default' => $default['top'],
|
33 |
Â
),
|
34 |
Â
$prefix . 'bottom' => array(
|
35 |
Â
'type' => 'obfx_number',
|
36 |
+
'label' => esc_html__( 'Bottom', 'themeisle-companion' ),
|
37 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
38 |
+
'default' => $default['bottom'],
|
39 |
Â
),
|
40 |
+
$prefix . 'left' => array(
|
41 |
Â
'type' => 'obfx_number',
|
42 |
+
'label' => esc_html__( 'Left', 'themeisle-companion' ),
|
43 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
44 |
+
'default' => $default['left'],
|
45 |
Â
),
|
46 |
+
$prefix . 'right' => array(
|
47 |
Â
'type' => 'obfx_number',
|
48 |
+
'label' => esc_html__( 'Right', 'themeisle-companion' ),
|
49 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
50 |
+
'default' => $default['right'],
|
51 |
Â
),
|
52 |
Â
),
|
53 |
Â
);
|
61 |
Â
* @return array
|
62 |
Â
*/
|
63 |
Â
function themeisle_typography_settings( $settings ) {
|
64 |
+
$title = ! empty( $settings['title'] ) ? $settings['title'] : esc_html__( 'Typography', 'themeisle-companion' );
|
65 |
+
$prefix = $settings['prefix'];
|
66 |
Â
$font_default = ! empty( $settings['font_size_default'] ) ? $settings['font_size_default'] : '';
|
67 |
Â
return array(
|
68 |
+
'title' => $title,
|
69 |
Â
'fields' => array(
|
70 |
+
$prefix . 'font_size' => array(
|
71 |
Â
'type' => 'obfx_number',
|
72 |
+
'label' => esc_html__( 'Font size', 'themeisle-companion' ),
|
73 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
74 |
+
'default' => $font_default,
|
75 |
Â
),
|
76 |
+
$prefix . 'font_family' => array(
|
77 |
+
'type' => 'font',
|
78 |
+
'label' => esc_html__( 'Font family', 'themeisle-companion' ),
|
79 |
+
'default' => array(
|
80 |
+
'family' => 'Roboto',
|
81 |
+
'weight' => 300,
|
82 |
Â
),
|
83 |
Â
),
|
84 |
+
$prefix . 'transform' => array(
|
85 |
Â
'type' => 'select',
|
86 |
Â
'label' => esc_html__( 'Transform', 'themeisle-companion' ),
|
87 |
Â
'default' => 'none',
|
88 |
Â
'options' => array(
|
89 |
+
'none' => esc_html__( 'None', 'themeisle-companion' ),
|
90 |
Â
'capitalize' => esc_html__( 'Capitalize', 'themeisle-companion' ),
|
91 |
+
'uppercase' => esc_html__( 'Uppercase', 'themeisle-companion' ),
|
92 |
+
'lowercase' => esc_html__( 'Lowercase', 'themeisle-companion' ),
|
93 |
Â
),
|
94 |
Â
),
|
95 |
+
$prefix . 'font_style' => array(
|
96 |
Â
'type' => 'select',
|
97 |
Â
'label' => esc_html__( 'Font style', 'themeisle-companion' ),
|
98 |
Â
'default' => 'normal',
|
99 |
Â
'options' => array(
|
100 |
+
'normal' => esc_html__( 'Normal', 'themeisle-companion' ),
|
101 |
+
'italic' => esc_html__( 'Italic', 'themeisle-companion' ),
|
102 |
Â
'oblique' => esc_html__( 'Oblique', 'themeisle-companion' ),
|
103 |
Â
),
|
104 |
Â
),
|
105 |
+
$prefix . 'line_height' => array(
|
106 |
Â
'type' => 'obfx_number',
|
107 |
+
'label' => esc_html__( 'Line height', 'themeisle-companion' ),
|
108 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
109 |
Â
),
|
110 |
Â
$prefix . 'letter_spacing' => array(
|
111 |
Â
'type' => 'obfx_number',
|
112 |
+
'label' => esc_html__( 'Letter spacing', 'themeisle-companion' ),
|
113 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
114 |
Â
),
|
115 |
Â
),
|
obfx_modules/beaver-widgets/init.php
CHANGED
@@ -24,8 +24,8 @@ class Beaver_Widgets_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
24 |
Â
*/
|
25 |
Â
public function __construct() {
|
26 |
Â
parent::__construct();
|
27 |
-
$this->name
|
28 |
-
$this->description
|
29 |
Â
$this->active_default = true;
|
30 |
Â
}
|
31 |
Â
|
@@ -37,8 +37,8 @@ class Beaver_Widgets_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
37 |
Â
* @return bool
|
38 |
Â
*/
|
39 |
Â
public function enable_module() {
|
40 |
-
require_once
|
41 |
-
return is_plugin_active( 'beaver-builder-lite-version/fl-builder.php' ) || is_plugin_active('bb-plugin/fl-builder.php');
|
42 |
Â
}
|
43 |
Â
|
44 |
Â
/**
|
@@ -114,7 +114,7 @@ class Beaver_Widgets_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
114 |
Â
* @since 2.2.5
|
115 |
Â
* @access public
|
116 |
Â
*/
|
117 |
-
public function load_widgets_modules(){
|
118 |
Â
if ( class_exists( 'FLBuilder' ) ) {
|
119 |
Â
require_once 'modules/pricing-table/pricing-table.php';
|
120 |
Â
require_once 'modules/services/services.php';
|
24 |
Â
*/
|
25 |
Â
public function __construct() {
|
26 |
Â
parent::__construct();
|
27 |
+
$this->name = __( 'Page builder widgets', 'themeisle-companion' );
|
28 |
+
$this->description = __( 'Adds widgets to the most popular builders: Elementor or Beaver. More to come!', 'themeisle-companion' );
|
29 |
Â
$this->active_default = true;
|
30 |
Â
}
|
31 |
Â
|
37 |
Â
* @return bool
|
38 |
Â
*/
|
39 |
Â
public function enable_module() {
|
40 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
41 |
+
return is_plugin_active( 'beaver-builder-lite-version/fl-builder.php' ) || is_plugin_active( 'bb-plugin/fl-builder.php' );
|
42 |
Â
}
|
43 |
Â
|
44 |
Â
/**
|
114 |
Â
* @since 2.2.5
|
115 |
Â
* @access public
|
116 |
Â
*/
|
117 |
+
public function load_widgets_modules() {
|
118 |
Â
if ( class_exists( 'FLBuilder' ) ) {
|
119 |
Â
require_once 'modules/pricing-table/pricing-table.php';
|
120 |
Â
require_once 'modules/services/services.php';
|
obfx_modules/beaver-widgets/modules/post-grid/includes/frontend.css.php
CHANGED
@@ -1,57 +1,57 @@
|
|
1 |
Â
<?php
|
2 |
Â
|
3 |
-
$post_width
|
4 |
Â
$card_vertical_align = ! empty( $settings->card_vertical_align ) ? $settings->card_vertical_align : 'top';
|
5 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid-wrapper{
|
6 |
-
width: ' . $post_width . '%;
|
7 |
-
vertical-align: ' . $card_vertical_align . ';
|
8 |
Â
}';
|
9 |
Â
|
10 |
Â
|
11 |
Â
$post_bg_color = ! empty( $settings->post_bg_color ) ? $settings->post_bg_color : '';
|
12 |
Â
if ( ! empty( $post_bg_color ) ) {
|
13 |
Â
$post_bg_color = strpos( $post_bg_color, 'rgba' ) !== false ? 'background-color:' . $post_bg_color : 'background-color:#' . $post_bg_color;
|
14 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid{
|
15 |
-
' . $post_bg_color . ';
|
16 |
Â
}';
|
17 |
Â
}
|
18 |
Â
|
19 |
Â
$post_link_color = ! empty( $settings->post_link_color ) ? $settings->post_link_color : '';
|
20 |
Â
if ( ! empty( $post_link_color ) ) {
|
21 |
Â
$post_link_color = strpos( $post_link_color, 'rgba' ) !== false ? 'color:' . $post_link_color : 'color:#' . $post_link_color;
|
22 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid a, .fl-node-' . $id . ' .obfx-post-grid-pagination a {
|
23 |
-
' . $post_link_color . ';
|
24 |
Â
}';
|
25 |
Â
}
|
26 |
Â
|
27 |
Â
$post_text_color = ! empty( $settings->post_text_color ) ? $settings->post_text_color : '';
|
28 |
Â
if ( ! empty( $post_text_color ) ) {
|
29 |
Â
$post_text_color = strpos( $post_text_color, 'rgba' ) !== false ? 'color:' . $post_text_color : 'color:#' . $post_text_color;
|
30 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid, .fl-node-' . $id . ' .obfx-post-grid-pagination{
|
31 |
-
' . $post_text_color . ';
|
32 |
Â
}';
|
33 |
Â
}
|
34 |
Â
|
35 |
Â
|
36 |
-
$card_margin_top
|
37 |
Â
$card_margin_bottom = ! empty( $settings->card_margin_bottom ) ? $settings->card_margin_bottom : '0';
|
38 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid{
|
39 |
-
margin-top: ' . $card_margin_top . 'px;
|
40 |
-
margin-bottom: ' . $card_margin_bottom . 'px;
|
41 |
Â
}
|
42 |
Â
';
|
43 |
Â
|
44 |
-
$thumbnail_margin_top
|
45 |
Â
$thumbnail_margin_bottom = ! empty( $settings->thumbnail_margin_bottom ) ? $settings->thumbnail_margin_bottom : '0';
|
46 |
-
$thumbnail_margin_left
|
47 |
-
$thumbnail_margin_right
|
48 |
-
$image_alignment
|
49 |
Â
|
50 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid-thumbnail{
|
51 |
-
margin-top: ' . $thumbnail_margin_top . 'px;
|
52 |
-
margin-bottom: ' . $thumbnail_margin_bottom . 'px;
|
53 |
-
margin-left: ' . $thumbnail_margin_left . 'px;
|
54 |
-
margin-right: ' . $thumbnail_margin_right . 'px;';
|
55 |
Â
|
56 |
Â
switch ( $image_alignment ) {
|
57 |
Â
case 'center':
|
@@ -67,107 +67,107 @@ switch ( $image_alignment ) {
|
|
67 |
Â
echo '}';
|
68 |
Â
|
69 |
Â
|
70 |
-
$title_padding_top
|
71 |
Â
$title_padding_bottom = ! empty( $settings->title_padding_bottom ) ? $settings->title_padding_bottom : '0';
|
72 |
-
$title_padding_left
|
73 |
-
$title_padding_right
|
74 |
-
$title_alignment
|
75 |
-
$title_font_size
|
76 |
-
$title_font_family
|
77 |
-
$title_font_weight
|
78 |
-
$title_transform
|
79 |
-
$title_font_style
|
80 |
-
$title_line_height
|
81 |
Â
$title_letter_spacing = ! empty( $settings->title_letter_spacing ) ? $settings->title_letter_spacing : '0';
|
82 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid-title{
|
83 |
-
padding-top: ' . $title_padding_top . 'px;
|
84 |
-
padding-bottom: ' . $title_padding_bottom . 'px;
|
85 |
-
padding-left: ' . $title_padding_left . 'px;
|
86 |
-
padding-right: ' . $title_padding_right . 'px;
|
87 |
-
text-align: ' . $title_alignment . ';
|
88 |
-
font-size:' . $title_font_size . 'px;
|
89 |
-
font-family:' . $title_font_family . ';
|
90 |
-
font-weight:' . $title_font_weight . ';
|
91 |
-
text-transform:' . $title_transform . ';
|
92 |
-
font-style:' . $title_font_style . ';
|
93 |
-
line-height:' . $title_line_height . 'px;
|
94 |
-
letter-spacing:' . $title_letter_spacing . 'px;
|
95 |
Â
} ';
|
96 |
Â
|
97 |
-
$meta_padding_top
|
98 |
Â
$meta_padding_bottom = ! empty( $settings->meta_padding_bottom ) ? $settings->meta_padding_bottom : '0';
|
99 |
-
$meta_padding_left
|
100 |
-
$meta_padding_right
|
101 |
-
$meta_alignment
|
102 |
-
$meta_font_size
|
103 |
-
$meta_font_family
|
104 |
-
$meta_font_weight
|
105 |
-
$meta_transform
|
106 |
-
$meta_font_style
|
107 |
-
$meta_line_height
|
108 |
Â
$meta_letter_spacing = ! empty( $settings->meta_letter_spacing ) ? $settings->meta_letter_spacing : '0';
|
109 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid-meta{
|
110 |
-
padding-top: ' . $meta_padding_top . 'px;
|
111 |
-
padding-bottom: ' . $meta_padding_bottom . 'px;
|
112 |
-
padding-left: ' . $meta_padding_left . 'px;
|
113 |
-
padding-right: ' . $meta_padding_right . 'px;
|
114 |
-
font-size:' . $meta_font_size . 'px;
|
115 |
-
font-family:' . $meta_font_family . ';
|
116 |
-
font-weight:' . $meta_font_weight . ';
|
117 |
-
text-transform:' . $meta_transform . ';
|
118 |
-
font-style:' . $meta_font_style . ';
|
119 |
-
line-height:' . $meta_line_height . 'px;
|
120 |
-
letter-spacing:' . $meta_letter_spacing . 'px;
|
121 |
-
text-align: ' . $meta_alignment . ';
|
122 |
Â
} ';
|
123 |
Â
|
124 |
Â
|
125 |
-
$content_padding_top
|
126 |
Â
$content_padding_bottom = ! empty( $settings->content_padding_bottom ) ? $settings->content_padding_bottom : '0';
|
127 |
-
$content_padding_left
|
128 |
-
$content_padding_right
|
129 |
-
$content_alignment
|
130 |
-
$content_font_size
|
131 |
-
$content_font_family
|
132 |
-
$content_font_weight
|
133 |
-
$content_transform
|
134 |
-
$content_font_style
|
135 |
-
$content_line_height
|
136 |
Â
$content_letter_spacing = ! empty( $settings->content_letter_spacing ) ? $settings->content_letter_spacing : '0';
|
137 |
Â
|
138 |
-
echo '.fl-node-' . $id . ' .obfx-post-content{
|
139 |
-
padding-top: ' . $content_padding_top . 'px;
|
140 |
-
padding-bottom: ' . $content_padding_bottom . 'px;
|
141 |
-
padding-left: ' . $content_padding_left . 'px;
|
142 |
-
padding-right: ' . $content_padding_right . 'px;
|
143 |
-
text-align: ' . $content_alignment . ';
|
144 |
-
font-size:' . $content_font_size . 'px;
|
145 |
-
font-family:' . $content_font_family . ';
|
146 |
-
font-weight:' . $content_font_weight . ';
|
147 |
-
text-transform:' . $content_transform . ';
|
148 |
-
font-style:' . $content_font_style . ';
|
149 |
-
line-height:' . $content_line_height . 'px;
|
150 |
-
letter-spacing:' . $content_letter_spacing . 'px;
|
151 |
Â
} ';
|
152 |
Â
|
153 |
-
$pagination_font_size
|
154 |
-
$pagination_font_family
|
155 |
-
$pagination_font_weight
|
156 |
-
$pagination_transform
|
157 |
-
$pagination_font_style
|
158 |
-
$pagination_line_height
|
159 |
Â
$pagination_letter_spacing = ! empty( $settings->pagination_letter_spacing ) ? $settings->pagination_letter_spacing : '0';
|
160 |
-
$pagination_alignment
|
161 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid-pagination li a, .fl-node-' . $id . ' .obfx-post-grid-pagination li {
|
162 |
-
font-size:' . $pagination_font_size . 'px;
|
163 |
-
font-family:' . $pagination_font_family . ';
|
164 |
-
font-weight:' . $pagination_font_weight . ';
|
165 |
-
text-transform:' . $pagination_transform . ';
|
166 |
-
font-style:' . $pagination_font_style . ';
|
167 |
-
line-height:' . $pagination_line_height . 'px;
|
168 |
-
letter-spacing:' . $pagination_letter_spacing . 'px;
|
169 |
Â
}';
|
170 |
Â
|
171 |
-
echo '.fl-node-' . $id . ' .obfx-post-grid-pagination{
|
172 |
-
text-align: ' . $pagination_alignment . ';
|
173 |
Â
}';
|
1 |
Â
<?php
|
2 |
Â
|
3 |
+
$post_width = $settings->display_type === 'list' ? 100 : ( ! empty( $settings->columns ) ? 100 / (int) $settings->columns : 33.3333 );
|
4 |
Â
$card_vertical_align = ! empty( $settings->card_vertical_align ) ? $settings->card_vertical_align : 'top';
|
5 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-wrapper{
|
6 |
+
width: ' . esc_attr( $post_width ) . '%;
|
7 |
+
vertical-align: ' . esc_attr( $card_vertical_align ) . ';
|
8 |
Â
}';
|
9 |
Â
|
10 |
Â
|
11 |
Â
$post_bg_color = ! empty( $settings->post_bg_color ) ? $settings->post_bg_color : '';
|
12 |
Â
if ( ! empty( $post_bg_color ) ) {
|
13 |
Â
$post_bg_color = strpos( $post_bg_color, 'rgba' ) !== false ? 'background-color:' . $post_bg_color : 'background-color:#' . $post_bg_color;
|
14 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid{
|
15 |
+
' . esc_attr( $post_bg_color ) . ';
|
16 |
Â
}';
|
17 |
Â
}
|
18 |
Â
|
19 |
Â
$post_link_color = ! empty( $settings->post_link_color ) ? $settings->post_link_color : '';
|
20 |
Â
if ( ! empty( $post_link_color ) ) {
|
21 |
Â
$post_link_color = strpos( $post_link_color, 'rgba' ) !== false ? 'color:' . $post_link_color : 'color:#' . $post_link_color;
|
22 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid a, .fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-pagination a {
|
23 |
+
' . esc_attr( $post_link_color ) . ';
|
24 |
Â
}';
|
25 |
Â
}
|
26 |
Â
|
27 |
Â
$post_text_color = ! empty( $settings->post_text_color ) ? $settings->post_text_color : '';
|
28 |
Â
if ( ! empty( $post_text_color ) ) {
|
29 |
Â
$post_text_color = strpos( $post_text_color, 'rgba' ) !== false ? 'color:' . $post_text_color : 'color:#' . $post_text_color;
|
30 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid, .fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-pagination{
|
31 |
+
' . esc_attr( $post_text_color ) . ';
|
32 |
Â
}';
|
33 |
Â
}
|
34 |
Â
|
35 |
Â
|
36 |
+
$card_margin_top = ! empty( $settings->card_margin_top ) ? $settings->card_margin_top : '0';
|
37 |
Â
$card_margin_bottom = ! empty( $settings->card_margin_bottom ) ? $settings->card_margin_bottom : '0';
|
38 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid{
|
39 |
+
margin-top: ' . esc_attr( $card_margin_top ) . 'px;
|
40 |
+
margin-bottom: ' . esc_attr( $card_margin_bottom ) . 'px;
|
41 |
Â
}
|
42 |
Â
';
|
43 |
Â
|
44 |
+
$thumbnail_margin_top = ! empty( $settings->thumbnail_margin_top ) ? $settings->thumbnail_margin_top : '0';
|
45 |
Â
$thumbnail_margin_bottom = ! empty( $settings->thumbnail_margin_bottom ) ? $settings->thumbnail_margin_bottom : '0';
|
46 |
+
$thumbnail_margin_left = ! empty( $settings->thumbnail_margin_left ) ? $settings->thumbnail_margin_left : '0';
|
47 |
+
$thumbnail_margin_right = ! empty( $settings->thumbnail_margin_right ) ? $settings->thumbnail_margin_right : '0';
|
48 |
+
$image_alignment = ! empty( $settings->image_alignment ) ? $settings->image_alignment : 'center';
|
49 |
Â
|
50 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-thumbnail{
|
51 |
+
margin-top: ' . esc_attr( $thumbnail_margin_top ) . 'px;
|
52 |
+
margin-bottom: ' . esc_attr( $thumbnail_margin_bottom ) . 'px;
|
53 |
+
margin-left: ' . esc_attr( $thumbnail_margin_left ) . 'px;
|
54 |
+
margin-right: ' . esc_attr( $thumbnail_margin_right ) . 'px;';
|
55 |
Â
|
56 |
Â
switch ( $image_alignment ) {
|
57 |
Â
case 'center':
|
67 |
Â
echo '}';
|
68 |
Â
|
69 |
Â
|
70 |
+
$title_padding_top = ! empty( $settings->title_padding_top ) ? $settings->title_padding_top : '0';
|
71 |
Â
$title_padding_bottom = ! empty( $settings->title_padding_bottom ) ? $settings->title_padding_bottom : '0';
|
72 |
+
$title_padding_left = ! empty( $settings->title_padding_left ) ? $settings->title_padding_left : '0';
|
73 |
+
$title_padding_right = ! empty( $settings->title_padding_right ) ? $settings->title_padding_right : '0';
|
74 |
+
$title_alignment = ! empty( $settings->title_alignment ) ? $settings->title_alignment : 'center';
|
75 |
+
$title_font_size = ! empty( $settings->title_font_size ) ? $settings->title_font_size : '0';
|
76 |
+
$title_font_family = ! empty( $settings->title_font_family['family'] ) ? $settings->title_font_family['family'] : 'Roboto';
|
77 |
+
$title_font_weight = ! empty( $settings->title_font_family['weight'] ) ? $settings->title_font_family['weight'] : '400';
|
78 |
+
$title_transform = ! empty( $settings->title_transform ) ? $settings->title_transform : 'none';
|
79 |
+
$title_font_style = ! empty( $settings->title_font_style ) ? $settings->title_font_style : 'none';
|
80 |
+
$title_line_height = ! empty( $settings->title_line_height ) ? $settings->title_line_height : 'inherit';
|
81 |
Â
$title_letter_spacing = ! empty( $settings->title_letter_spacing ) ? $settings->title_letter_spacing : '0';
|
82 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-title{
|
83 |
+
padding-top: ' . esc_attr( $title_padding_top ) . 'px;
|
84 |
+
padding-bottom: ' . esc_attr( $title_padding_bottom ) . 'px;
|
85 |
+
padding-left: ' . esc_attr( $title_padding_left ) . 'px;
|
86 |
+
padding-right: ' . esc_attr( $title_padding_right ) . 'px;
|
87 |
+
text-align: ' . esc_attr( $title_alignment ) . ';
|
88 |
+
font-size:' . esc_attr( $title_font_size ) . 'px;
|
89 |
+
font-family:' . esc_attr( $title_font_family ) . ';
|
90 |
+
font-weight:' . esc_attr( $title_font_weight ) . ';
|
91 |
+
text-transform:' . esc_attr( $title_transform ) . ';
|
92 |
+
font-style:' . esc_attr( $title_font_style ) . ';
|
93 |
+
line-height:' . esc_attr( $title_line_height ) . 'px;
|
94 |
+
letter-spacing:' . esc_attr( $title_letter_spacing ) . 'px;
|
95 |
Â
} ';
|
96 |
Â
|
97 |
+
$meta_padding_top = ! empty( $settings->meta_padding_top ) ? $settings->meta_padding_top : '0';
|
98 |
Â
$meta_padding_bottom = ! empty( $settings->meta_padding_bottom ) ? $settings->meta_padding_bottom : '0';
|
99 |
+
$meta_padding_left = ! empty( $settings->meta_padding_left ) ? $settings->meta_padding_left : '0';
|
100 |
+
$meta_padding_right = ! empty( $settings->meta_padding_right ) ? $settings->meta_padding_right : '0';
|
101 |
+
$meta_alignment = ! empty( $settings->meta_alignment ) ? $settings->meta_alignment : 'center';
|
102 |
+
$meta_font_size = ! empty( $settings->meta_font_size ) ? $settings->meta_font_size : '0';
|
103 |
+
$meta_font_family = ! empty( $settings->meta_font_family['family'] ) ? $settings->meta_font_family['family'] : 'Roboto';
|
104 |
+
$meta_font_weight = ! empty( $settings->meta_font_family['weight'] ) ? $settings->meta_font_family['weight'] : '400';
|
105 |
+
$meta_transform = ! empty( $settings->meta_transform ) ? $settings->meta_transform : 'none';
|
106 |
+
$meta_font_style = ! empty( $settings->meta_font_style ) ? $settings->meta_font_style : 'none';
|
107 |
+
$meta_line_height = ! empty( $settings->meta_line_height ) ? $settings->meta_line_height : 'inherit';
|
108 |
Â
$meta_letter_spacing = ! empty( $settings->meta_letter_spacing ) ? $settings->meta_letter_spacing : '0';
|
109 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-meta{
|
110 |
+
padding-top: ' . esc_attr( $meta_padding_top ) . 'px;
|
111 |
+
padding-bottom: ' . esc_attr( $meta_padding_bottom ) . 'px;
|
112 |
+
padding-left: ' . esc_attr( $meta_padding_left ) . 'px;
|
113 |
+
padding-right: ' . esc_attr( $meta_padding_right ) . 'px;
|
114 |
+
font-size:' . esc_attr( $meta_font_size ) . 'px;
|
115 |
+
font-family:' . esc_attr( $meta_font_family ) . ';
|
116 |
+
font-weight:' . esc_attr( $meta_font_weight ) . ';
|
117 |
+
text-transform:' . esc_attr( $meta_transform ) . ';
|
118 |
+
font-style:' . esc_attr( $meta_font_style ) . ';
|
119 |
+
line-height:' . esc_attr( $meta_line_height ) . 'px;
|
120 |
+
letter-spacing:' . esc_attr( $meta_letter_spacing ) . 'px;
|
121 |
+
text-align: ' . esc_attr( $meta_alignment ) . ';
|
122 |
Â
} ';
|
123 |
Â
|
124 |
Â
|
125 |
+
$content_padding_top = ! empty( $settings->content_padding_top ) ? $settings->content_padding_top : '0';
|
126 |
Â
$content_padding_bottom = ! empty( $settings->content_padding_bottom ) ? $settings->content_padding_bottom : '0';
|
127 |
+
$content_padding_left = ! empty( $settings->content_padding_left ) ? $settings->content_padding_left : '0';
|
128 |
+
$content_padding_right = ! empty( $settings->content_padding_right ) ? $settings->content_padding_right : '0';
|
129 |
+
$content_alignment = ! empty( $settings->content_alignment ) ? $settings->content_alignment : 'center';
|
130 |
+
$content_font_size = ! empty( $settings->content_font_size ) ? $settings->content_font_size : '0';
|
131 |
+
$content_font_family = ! empty( $settings->content_font_family['family'] ) ? $settings->content_font_family['family'] : 'Roboto';
|
132 |
+
$content_font_weight = ! empty( $settings->content_font_family['weight'] ) ? $settings->content_font_family['weight'] : '400';
|
133 |
+
$content_transform = ! empty( $settings->content_transform ) ? $settings->content_transform : 'none';
|
134 |
+
$content_font_style = ! empty( $settings->content_font_style ) ? $settings->content_font_style : 'none';
|
135 |
+
$content_line_height = ! empty( $settings->content_line_height ) ? $settings->content_line_height : 'inherit';
|
136 |
Â
$content_letter_spacing = ! empty( $settings->content_letter_spacing ) ? $settings->content_letter_spacing : '0';
|
137 |
Â
|
138 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-content{
|
139 |
+
padding-top: ' . esc_attr( $content_padding_top ) . 'px;
|
140 |
+
padding-bottom: ' . esc_attr( $content_padding_bottom ) . 'px;
|
141 |
+
padding-left: ' . esc_attr( $content_padding_left ) . 'px;
|
142 |
+
padding-right: ' . esc_attr( $content_padding_right ) . 'px;
|
143 |
+
text-align: ' . esc_attr( $content_alignment ) . ';
|
144 |
+
font-size:' . esc_attr( $content_font_size ) . 'px;
|
145 |
+
font-family:' . esc_attr( $content_font_family ) . ';
|
146 |
+
font-weight:' . esc_attr( $content_font_weight ) . ';
|
147 |
+
text-transform:' . esc_attr( $content_transform ) . ';
|
148 |
+
font-style:' . esc_attr( $content_font_style ) . ';
|
149 |
+
line-height:' . esc_attr( $content_line_height ) . 'px;
|
150 |
+
letter-spacing:' . esc_attr( $content_letter_spacing ) . 'px;
|
151 |
Â
} ';
|
152 |
Â
|
153 |
+
$pagination_font_size = ! empty( $settings->pagination_font_size ) ? $settings->pagination_font_size : '0';
|
154 |
+
$pagination_font_family = ! empty( $settings->pagination_font_family['family'] ) ? $settings->pagination_font_family['family'] : 'Roboto';
|
155 |
+
$pagination_font_weight = ! empty( $settings->pagination_font_family['weight'] ) ? $settings->pagination_font_family['weight'] : '400';
|
156 |
+
$pagination_transform = ! empty( $settings->pagination_transform ) ? $settings->pagination_transform : 'none';
|
157 |
+
$pagination_font_style = ! empty( $settings->pagination_font_style ) ? $settings->pagination_font_style : 'none';
|
158 |
+
$pagination_line_height = ! empty( $settings->pagination_line_height ) ? $settings->pagination_line_height : 'inherit';
|
159 |
Â
$pagination_letter_spacing = ! empty( $settings->pagination_letter_spacing ) ? $settings->pagination_letter_spacing : '0';
|
160 |
+
$pagination_alignment = ! empty( $settings->pagination_alignment ) ? $settings->pagination_alignment : 'center';
|
161 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-pagination li a, .fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-pagination li {
|
162 |
+
font-size:' . esc_attr( $pagination_font_size ) . 'px;
|
163 |
+
font-family:' . esc_attr( $pagination_font_family ) . ';
|
164 |
+
font-weight:' . esc_attr( $pagination_font_weight ) . ';
|
165 |
+
text-transform:' . esc_attr( $pagination_transform ) . ';
|
166 |
+
font-style:' . esc_attr( $pagination_font_style ) . ';
|
167 |
+
line-height:' . esc_attr( $pagination_line_height ) . 'px;
|
168 |
+
letter-spacing:' . esc_attr( $pagination_letter_spacing ) . 'px;
|
169 |
Â
}';
|
170 |
Â
|
171 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-post-grid-pagination{
|
172 |
+
text-align: ' . esc_attr( $pagination_alignment ) . ';
|
173 |
Â
}';
|
obfx_modules/beaver-widgets/modules/post-grid/includes/frontend.php
CHANGED
@@ -31,7 +31,7 @@ if ( ! function_exists( 'obfx_show_post_grid_thumbnail' ) ) {
|
|
31 |
Â
$thumbnail_shadow = ! empty( $settings->thumbnail_shadow ) && $settings->thumbnail_shadow === 'yes' ? 'obfx-card' : '';
|
32 |
Â
echo '<div class="obfx-post-grid-thumbnail ' . esc_attr( $thumbnail_shadow ) . '">';
|
33 |
Â
if ( ! empty( $settings->show_thumbnail_link ) && $settings->show_thumbnail_link === 'yes' ) {
|
34 |
-
echo '<a href="' . get_permalink() . '">';
|
35 |
Â
}
|
36 |
Â
echo '<img src="' . esc_url( $img ) . '"/></div>';
|
37 |
Â
if ( ! empty( $settings->show_thumbnail_link ) && $settings->show_thumbnail_link === 'yes' ) {
|
@@ -58,7 +58,7 @@ if ( ! function_exists( 'obfx_show_post_grid_title' ) ) {
|
|
58 |
Â
}
|
59 |
Â
|
60 |
Â
if ( ! empty( $settings->show_title_link ) && $settings->show_title_link === 'yes' ) {
|
61 |
-
echo '<a href="' . get_permalink() . '">';
|
62 |
Â
}
|
63 |
Â
$tag = ! empty( $settings->title_tag ) ? $settings->title_tag : 'h4';
|
64 |
Â
the_title( '<' . $tag . ' class="obfx-post-grid-title">', '</' . $tag . '>' );
|
@@ -134,7 +134,7 @@ if ( ! function_exists( 'obfx_show_post_grid_meta' ) ) {
|
|
134 |
Â
if ( ! empty( $link ) ) {
|
135 |
Â
echo '<a href="' . esc_url( $link ) . '">';
|
136 |
Â
}
|
137 |
-
echo $name;
|
138 |
Â
if ( ! empty( $link ) ) {
|
139 |
Â
echo '</a>';
|
140 |
Â
}
|
@@ -159,7 +159,7 @@ if ( ! function_exists( 'obfx_show_post_grid_meta' ) ) {
|
|
159 |
Â
if ( ! empty( $link ) ) {
|
160 |
Â
echo '<a href="' . esc_url( $link ) . '">';
|
161 |
Â
}
|
162 |
-
echo $name;
|
163 |
Â
if ( ! empty( $link ) ) {
|
164 |
Â
echo '</a>';
|
165 |
Â
}
|
@@ -181,16 +181,18 @@ if ( ! function_exists( 'obfx_show_post_grid_meta' ) ) {
|
|
181 |
Â
/* translators: %s: post title */
|
182 |
Â
_x( 'One comment', 'comments title', 'themeisle-companion' );
|
183 |
Â
} else {
|
184 |
-
|
Â
|
|
185 |
Â
/* translators: 1: number of comments, 2: post title */
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
Â
|
|
194 |
Â
);
|
195 |
Â
}
|
196 |
Â
}
|
31 |
Â
$thumbnail_shadow = ! empty( $settings->thumbnail_shadow ) && $settings->thumbnail_shadow === 'yes' ? 'obfx-card' : '';
|
32 |
Â
echo '<div class="obfx-post-grid-thumbnail ' . esc_attr( $thumbnail_shadow ) . '">';
|
33 |
Â
if ( ! empty( $settings->show_thumbnail_link ) && $settings->show_thumbnail_link === 'yes' ) {
|
34 |
+
echo '<a href="' . esc_url( get_permalink() ) . '">';
|
35 |
Â
}
|
36 |
Â
echo '<img src="' . esc_url( $img ) . '"/></div>';
|
37 |
Â
if ( ! empty( $settings->show_thumbnail_link ) && $settings->show_thumbnail_link === 'yes' ) {
|
58 |
Â
}
|
59 |
Â
|
60 |
Â
if ( ! empty( $settings->show_title_link ) && $settings->show_title_link === 'yes' ) {
|
61 |
+
echo '<a href="' . esc_url( get_permalink() ) . '">';
|
62 |
Â
}
|
63 |
Â
$tag = ! empty( $settings->title_tag ) ? $settings->title_tag : 'h4';
|
64 |
Â
the_title( '<' . $tag . ' class="obfx-post-grid-title">', '</' . $tag . '>' );
|
134 |
Â
if ( ! empty( $link ) ) {
|
135 |
Â
echo '<a href="' . esc_url( $link ) . '">';
|
136 |
Â
}
|
137 |
+
echo esc_attr( $name );
|
138 |
Â
if ( ! empty( $link ) ) {
|
139 |
Â
echo '</a>';
|
140 |
Â
}
|
159 |
Â
if ( ! empty( $link ) ) {
|
160 |
Â
echo '<a href="' . esc_url( $link ) . '">';
|
161 |
Â
}
|
162 |
+
echo esc_attr( $name );
|
163 |
Â
if ( ! empty( $link ) ) {
|
164 |
Â
echo '</a>';
|
165 |
Â
}
|
181 |
Â
/* translators: %s: post title */
|
182 |
Â
_x( 'One comment', 'comments title', 'themeisle-companion' );
|
183 |
Â
} else {
|
184 |
+
esc_html(
|
185 |
+
printf(
|
186 |
Â
/* translators: 1: number of comments, 2: post title */
|
187 |
+
_nx( //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
188 |
+
'%1$s Comment',
|
189 |
+
'%1$s Comments',
|
190 |
+
$comments_number,
|
191 |
+
'comments title',
|
192 |
+
'themeisle-companion'
|
193 |
+
),
|
194 |
+
number_format_i18n( $comments_number ) //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
195 |
+
)
|
196 |
Â
);
|
197 |
Â
}
|
198 |
Â
}
|
obfx_modules/beaver-widgets/modules/post-grid/includes/loop-settings.php
CHANGED
@@ -2,13 +2,13 @@
|
|
2 |
Â
|
3 |
Â
// Default Settings
|
4 |
Â
$default_posts_per_page = get_option( 'posts_per_page' );
|
5 |
-
$defaults
|
6 |
-
'data_source'
|
7 |
-
'post_type'
|
8 |
-
'order_by'
|
9 |
-
'order'
|
10 |
-
'offset'
|
11 |
-
'users'
|
12 |
Â
'posts_per_page' => $default_posts_per_page,
|
13 |
Â
);
|
14 |
Â
|
@@ -21,7 +21,7 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
21 |
Â
?>
|
22 |
Â
<div class="fl-custom-query fl-loop-data-source" data-source="custom_query">
|
23 |
Â
<div id="fl-builder-settings-section-general" class="fl-builder-settings-section">
|
24 |
-
<h3 class="fl-builder-settings-title"><?php
|
25 |
Â
<table class="fl-form-table">
|
26 |
Â
<?php
|
27 |
Â
|
@@ -29,8 +29,8 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
29 |
Â
FLBuilder::render_settings_field(
|
30 |
Â
'post_type',
|
31 |
Â
array(
|
32 |
-
'type'
|
33 |
-
'label'
|
34 |
Â
),
|
35 |
Â
$settings
|
36 |
Â
);
|
@@ -39,11 +39,11 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
39 |
Â
FLBuilder::render_settings_field(
|
40 |
Â
'order',
|
41 |
Â
array(
|
42 |
-
'type'
|
43 |
-
'label'
|
44 |
-
'options'
|
45 |
-
'DESC'
|
46 |
-
'ASC'
|
47 |
Â
),
|
48 |
Â
),
|
49 |
Â
$settings
|
@@ -53,9 +53,9 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
53 |
Â
FLBuilder::render_settings_field(
|
54 |
Â
'order_by',
|
55 |
Â
array(
|
56 |
-
'type'
|
57 |
-
'label'
|
58 |
-
'options'
|
59 |
Â
'author' => esc_html__( 'Author', 'themeisle-companion' ),
|
60 |
Â
'comment_count' => esc_html__( 'Comment Count', 'themeisle-companion' ),
|
61 |
Â
'date' => esc_html__( 'Date', 'themeisle-companion' ),
|
@@ -67,12 +67,12 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
67 |
Â
'rand' => esc_html__( 'Random', 'themeisle-companion' ),
|
68 |
Â
'title' => esc_html__( 'Title', 'themeisle-companion' ),
|
69 |
Â
),
|
70 |
-
'toggle'
|
71 |
-
'meta_value'
|
72 |
-
'fields'
|
73 |
Â
),
|
74 |
Â
'meta_value_num' => array(
|
75 |
-
'fields'
|
76 |
Â
),
|
77 |
Â
),
|
78 |
Â
),
|
@@ -83,8 +83,8 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
83 |
Â
FLBuilder::render_settings_field(
|
84 |
Â
'order_by_meta_key',
|
85 |
Â
array(
|
86 |
-
'type'
|
87 |
-
'label'
|
88 |
Â
),
|
89 |
Â
$settings
|
90 |
Â
);
|
@@ -93,11 +93,11 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
93 |
Â
FLBuilder::render_settings_field(
|
94 |
Â
'offset',
|
95 |
Â
array(
|
96 |
-
'type'
|
97 |
-
'label'
|
98 |
-
'default'
|
99 |
-
'size'
|
100 |
-
'help'
|
101 |
Â
),
|
102 |
Â
$settings
|
103 |
Â
);
|
@@ -106,11 +106,11 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
106 |
Â
FLBuilder::render_settings_field(
|
107 |
Â
'posts_per_page',
|
108 |
Â
array(
|
109 |
-
'type'
|
110 |
-
'label'
|
111 |
-
'default'
|
112 |
-
'min'
|
113 |
-
'help'
|
114 |
Â
),
|
115 |
Â
$settings
|
116 |
Â
);
|
@@ -119,11 +119,11 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
119 |
Â
FLBuilder::render_settings_field(
|
120 |
Â
'columns',
|
121 |
Â
array(
|
122 |
-
'type'
|
123 |
-
'label'
|
124 |
-
'default'
|
125 |
-
'min'
|
126 |
-
'max'
|
127 |
Â
),
|
128 |
Â
$settings
|
129 |
Â
);
|
@@ -131,9 +131,9 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
131 |
Â
</table>
|
132 |
Â
</div>
|
133 |
Â
<div id="fl-builder-settings-section-filter" class="fl-builder-settings-section">
|
134 |
-
<h3 class="fl-builder-settings-title"><?php
|
135 |
-
<?php foreach ( FLBuilderLoop::post_types() as $slug => $type ) : ?>
|
136 |
-
<table class="fl-form-table fl-custom-query-filter fl-custom-query-<?php echo $slug; ?>-filter"
|
137 |
Â
<?php
|
138 |
Â
if ( $slug === $settings->post_type ) {
|
139 |
Â
echo 'style="display:table;"';}
|
@@ -145,12 +145,15 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
145 |
Â
FLBuilder::render_settings_field(
|
146 |
Â
'posts_' . $slug,
|
147 |
Â
array(
|
148 |
-
'type'
|
149 |
-
'action'
|
150 |
-
'data'
|
151 |
-
'label'
|
152 |
-
|
153 |
-
|
Â
|
|
Â
|
|
Â
|
|
154 |
Â
),
|
155 |
Â
$settings
|
156 |
Â
);
|
@@ -158,17 +161,20 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
158 |
Â
// Taxonomies
|
159 |
Â
$taxonomies = FLBuilderLoop::taxonomies( $slug );
|
160 |
Â
|
161 |
-
foreach ( $taxonomies as $tax_slug => $tax ) {
|
162 |
Â
|
163 |
Â
FLBuilder::render_settings_field(
|
164 |
Â
'tax_' . $slug . '_' . $tax_slug,
|
165 |
Â
array(
|
166 |
-
'type'
|
167 |
-
'action'
|
168 |
-
'data'
|
169 |
-
'label'
|
170 |
-
|
171 |
-
|
Â
|
|
Â
|
|
Â
|
|
172 |
Â
),
|
173 |
Â
$settings
|
174 |
Â
);
|
@@ -184,11 +190,11 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
184 |
Â
FLBuilder::render_settings_field(
|
185 |
Â
'users',
|
186 |
Â
array(
|
187 |
-
'type'
|
188 |
-
'action'
|
189 |
-
'label'
|
190 |
-
'help'
|
191 |
-
'matching'
|
192 |
Â
),
|
193 |
Â
$settings
|
194 |
Â
);
|
@@ -197,7 +203,7 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
197 |
Â
</table>
|
198 |
Â
</div>
|
199 |
Â
<div id="fl-builder-settings-section-filter" class="fl-builder-settings-section">
|
200 |
-
<h3 class="fl-builder-settings-title"><?php
|
201 |
Â
<table class="fl-form-table">
|
202 |
Â
|
203 |
Â
<?php
|
@@ -205,13 +211,13 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
205 |
Â
FLBuilder::render_settings_field(
|
206 |
Â
'card_vertical_align',
|
207 |
Â
array(
|
208 |
-
'type'
|
209 |
-
'label'
|
210 |
Â
'default' => 'grid',
|
211 |
-
'options'
|
212 |
-
'top'
|
213 |
-
'middle'
|
214 |
-
'bottom'
|
215 |
Â
),
|
216 |
Â
),
|
217 |
Â
$settings
|
@@ -221,12 +227,12 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
221 |
Â
FLBuilder::render_settings_field(
|
222 |
Â
'display_type',
|
223 |
Â
array(
|
224 |
-
'type'
|
225 |
-
'label'
|
226 |
Â
'default' => 'grid',
|
227 |
-
'options'
|
228 |
-
'grid'
|
229 |
-
'list'
|
230 |
Â
),
|
231 |
Â
),
|
232 |
Â
$settings
|
@@ -236,8 +242,8 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
236 |
Â
FLBuilder::render_settings_field(
|
237 |
Â
'card_layout',
|
238 |
Â
array(
|
239 |
-
'type'
|
240 |
-
'label'
|
241 |
Â
),
|
242 |
Â
$settings
|
243 |
Â
);
|
@@ -246,10 +252,10 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
246 |
Â
FLBuilder::render_settings_field(
|
247 |
Â
'card_margin_top',
|
248 |
Â
array(
|
249 |
-
'type'
|
250 |
-
'label'
|
251 |
-
'default'
|
252 |
-
'min'
|
253 |
Â
),
|
254 |
Â
$settings
|
255 |
Â
);
|
@@ -258,10 +264,10 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
258 |
Â
FLBuilder::render_settings_field(
|
259 |
Â
'card_margin_bottom',
|
260 |
Â
array(
|
261 |
-
'type'
|
262 |
-
'label'
|
263 |
-
'default'
|
264 |
-
'min'
|
265 |
Â
),
|
266 |
Â
$settings
|
267 |
Â
);
|
@@ -270,14 +276,14 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
270 |
Â
FLBuilder::render_settings_field(
|
271 |
Â
'post_bg_color',
|
272 |
Â
array(
|
273 |
-
'type'
|
274 |
-
'label'
|
275 |
-
'show_reset'
|
276 |
-
'show_alpha'
|
277 |
-
'preview'
|
278 |
-
'type'
|
279 |
-
'selector'
|
280 |
-
'property'
|
281 |
Â
),
|
282 |
Â
|
283 |
Â
),
|
@@ -288,13 +294,13 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
288 |
Â
FLBuilder::render_settings_field(
|
289 |
Â
'post_link_color',
|
290 |
Â
array(
|
291 |
-
'type'
|
292 |
-
'label'
|
293 |
-
'show_reset'
|
294 |
-
'preview'
|
295 |
-
'type'
|
296 |
-
'selector'
|
297 |
-
'property'
|
298 |
Â
),
|
299 |
Â
),
|
300 |
Â
$settings
|
@@ -304,13 +310,13 @@ do_action( 'fl_builder_loop_settings_before_form', $settings ); // e.g Add custo
|
|
304 |
Â
FLBuilder::render_settings_field(
|
305 |
Â
'post_text_color',
|
306 |
Â
array(
|
307 |
-
'type'
|
308 |
-
'label'
|
309 |
-
'show_reset'
|
310 |
-
'preview'
|
311 |
-
'type'
|
312 |
-
'selector'
|
313 |
-
'property'
|
314 |
Â
),
|
315 |
Â
),
|
316 |
Â
$settings
|
2 |
Â
|
3 |
Â
// Default Settings
|
4 |
Â
$default_posts_per_page = get_option( 'posts_per_page' );
|
5 |
+
$defaults = array(
|
6 |
+
'data_source' => 'custom_query',
|
7 |
+
'post_type' => 'post',
|
8 |
+
'order_by' => 'date',
|
9 |
+
'order' => 'DESC',
|
10 |
+
'offset' => 0,
|
11 |
+
'users' => '',
|
12 |
Â
'posts_per_page' => $default_posts_per_page,
|
13 |
Â
);
|
14 |
Â
|
21 |
Â
?>
|
22 |
Â
<div class="fl-custom-query fl-loop-data-source" data-source="custom_query">
|
23 |
Â
<div id="fl-builder-settings-section-general" class="fl-builder-settings-section">
|
24 |
+
<h3 class="fl-builder-settings-title"><?php esc_attr_e( 'Custom Query', 'themeisle-companion' ); ?></h3>
|
25 |
Â
<table class="fl-form-table">
|
26 |
Â
<?php
|
27 |
Â
|
29 |
Â
FLBuilder::render_settings_field(
|
30 |
Â
'post_type',
|
31 |
Â
array(
|
32 |
+
'type' => 'post-type',
|
33 |
+
'label' => esc_html__( 'Post Type', 'themeisle-companion' ),
|
34 |
Â
),
|
35 |
Â
$settings
|
36 |
Â
);
|
39 |
Â
FLBuilder::render_settings_field(
|
40 |
Â
'order',
|
41 |
Â
array(
|
42 |
+
'type' => 'select',
|
43 |
+
'label' => esc_html__( 'Order', 'themeisle-companion' ),
|
44 |
+
'options' => array(
|
45 |
+
'DESC' => esc_html__( 'Descending', 'themeisle-companion' ),
|
46 |
+
'ASC' => esc_html__( 'Ascending', 'themeisle-companion' ),
|
47 |
Â
),
|
48 |
Â
),
|
49 |
Â
$settings
|
53 |
Â
FLBuilder::render_settings_field(
|
54 |
Â
'order_by',
|
55 |
Â
array(
|
56 |
+
'type' => 'select',
|
57 |
+
'label' => esc_html__( 'Order By', 'themeisle-companion' ),
|
58 |
+
'options' => array(
|
59 |
Â
'author' => esc_html__( 'Author', 'themeisle-companion' ),
|
60 |
Â
'comment_count' => esc_html__( 'Comment Count', 'themeisle-companion' ),
|
61 |
Â
'date' => esc_html__( 'Date', 'themeisle-companion' ),
|
67 |
Â
'rand' => esc_html__( 'Random', 'themeisle-companion' ),
|
68 |
Â
'title' => esc_html__( 'Title', 'themeisle-companion' ),
|
69 |
Â
),
|
70 |
+
'toggle' => array(
|
71 |
+
'meta_value' => array(
|
72 |
+
'fields' => array( 'order_by_meta_key' ),
|
73 |
Â
),
|
74 |
Â
'meta_value_num' => array(
|
75 |
+
'fields' => array( 'order_by_meta_key' ),
|
76 |
Â
),
|
77 |
Â
),
|
78 |
Â
),
|
83 |
Â
FLBuilder::render_settings_field(
|
84 |
Â
'order_by_meta_key',
|
85 |
Â
array(
|
86 |
+
'type' => 'text',
|
87 |
+
'label' => esc_html__( 'Meta Key', 'themeisle-companion' ),
|
88 |
Â
),
|
89 |
Â
$settings
|
90 |
Â
);
|
93 |
Â
FLBuilder::render_settings_field(
|
94 |
Â
'offset',
|
95 |
Â
array(
|
96 |
+
'type' => 'text',
|
97 |
+
'label' => _x( 'Offset', 'How many posts to skip.', 'themeisle-companion' ),
|
98 |
+
'default' => '0',
|
99 |
+
'size' => '4',
|
100 |
+
'help' => esc_html__( 'Skip this many posts that match the specified criteria.', 'themeisle-companion' ),
|
101 |
Â
),
|
102 |
Â
$settings
|
103 |
Â
);
|
106 |
Â
FLBuilder::render_settings_field(
|
107 |
Â
'posts_per_page',
|
108 |
Â
array(
|
109 |
+
'type' => 'obfx_number',
|
110 |
+
'label' => esc_html__( 'Posts per page', 'themeisle-companion' ),
|
111 |
+
'default' => $default_posts_per_page,
|
112 |
+
'min' => '-1',
|
113 |
+
'help' => esc_html__( '-1 means all posts', 'themeisle-companion' ),
|
114 |
Â
),
|
115 |
Â
$settings
|
116 |
Â
);
|
119 |
Â
FLBuilder::render_settings_field(
|
120 |
Â
'columns',
|
121 |
Â
array(
|
122 |
+
'type' => 'obfx_number',
|
123 |
+
'label' => esc_html__( 'Number of columns', 'themeisle-companion' ),
|
124 |
+
'default' => '3',
|
125 |
+
'min' => '1',
|
126 |
+
'max' => '5',
|
127 |
Â
),
|
128 |
Â
$settings
|
129 |
Â
);
|
131 |
Â
</table>
|
132 |
Â
</div>
|
133 |
Â
<div id="fl-builder-settings-section-filter" class="fl-builder-settings-section">
|
134 |
+
<h3 class="fl-builder-settings-title"><?php esc_attr_e( 'Filter', 'themeisle-companion' ); ?></h3>
|
135 |
+
<?php foreach ( FLBuilderLoop::post_types() as $slug => $type ) : //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited ?>
|
136 |
+
<table class="fl-form-table fl-custom-query-filter fl-custom-query-<?php echo esc_attr( $slug ); ?>-filter"
|
137 |
Â
<?php
|
138 |
Â
if ( $slug === $settings->post_type ) {
|
139 |
Â
echo 'style="display:table;"';}
|
145 |
Â
FLBuilder::render_settings_field(
|
146 |
Â
'posts_' . $slug,
|
147 |
Â
array(
|
148 |
+
'type' => 'suggest',
|
149 |
+
'action' => 'fl_as_posts',
|
150 |
+
'data' => $slug,
|
151 |
+
'label' => $type->label,
|
152 |
+
/*
|
153 |
+
* translators: %1$s is Post type label.
|
154 |
+
*/
|
155 |
+
'help' => sprintf( esc_html__( 'Enter a list of %1$s.', 'themeisle-companion' ), $type->label ),
|
156 |
+
'matching' => true,
|
157 |
Â
),
|
158 |
Â
$settings
|
159 |
Â
);
|
161 |
Â
// Taxonomies
|
162 |
Â
$taxonomies = FLBuilderLoop::taxonomies( $slug );
|
163 |
Â
|
164 |
+
foreach ( $taxonomies as $tax_slug => $tax ) { //phpcs:ignore: WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
165 |
Â
|
166 |
Â
FLBuilder::render_settings_field(
|
167 |
Â
'tax_' . $slug . '_' . $tax_slug,
|
168 |
Â
array(
|
169 |
+
'type' => 'suggest',
|
170 |
+
'action' => 'fl_as_terms',
|
171 |
+
'data' => $tax_slug,
|
172 |
+
'label' => $tax->label,
|
173 |
+
/*
|
174 |
+
* translators: %1$s is Taxonomy label.
|
175 |
+
*/
|
176 |
+
'help' => sprintf( esc_html__( 'Enter a list of %1$s.', 'themeisle-companion' ), $tax->label ),
|
177 |
+
'matching' => true,
|
178 |
Â
),
|
179 |
Â
$settings
|
180 |
Â
);
|
190 |
Â
FLBuilder::render_settings_field(
|
191 |
Â
'users',
|
192 |
Â
array(
|
193 |
+
'type' => 'suggest',
|
194 |
+
'action' => 'fl_as_users',
|
195 |
+
'label' => esc_html__( 'Authors', 'themeisle-companion' ),
|
196 |
+
'help' => esc_html__( 'Enter a list of authors usernames.', 'themeisle-companion' ),
|
197 |
+
'matching' => true,
|
198 |
Â
),
|
199 |
Â
$settings
|
200 |
Â
);
|
203 |
Â
</table>
|
204 |
Â
</div>
|
205 |
Â
<div id="fl-builder-settings-section-filter" class="fl-builder-settings-section">
|
206 |
+
<h3 class="fl-builder-settings-title"><?php esc_attr_e( 'Appearance', 'themeisle-companion' ); ?></h3>
|
207 |
Â
<table class="fl-form-table">
|
208 |
Â
|
209 |
Â
<?php
|
211 |
Â
FLBuilder::render_settings_field(
|
212 |
Â
'card_vertical_align',
|
213 |
Â
array(
|
214 |
+
'type' => 'select',
|
215 |
+
'label' => esc_html__( 'Vertical align', 'themeisle-companion' ),
|
216 |
Â
'default' => 'grid',
|
217 |
+
'options' => array(
|
218 |
+
'top' => esc_html__( 'Top', 'themeisle-companion' ),
|
219 |
+
'middle' => esc_html__( 'Middle', 'themeisle-companion' ),
|
220 |
+
'bottom' => esc_html__( 'Bottom', 'themeisle-companion' ),
|
221 |
Â
),
|
222 |
Â
),
|
223 |
Â
$settings
|
227 |
Â
FLBuilder::render_settings_field(
|
228 |
Â
'display_type',
|
229 |
Â
array(
|
230 |
+
'type' => 'select',
|
231 |
+
'label' => esc_html__( 'Display type', 'themeisle-companion' ),
|
232 |
Â
'default' => 'grid',
|
233 |
+
'options' => array(
|
234 |
+
'grid' => esc_html__( 'Grid', 'themeisle-companion' ),
|
235 |
+
'list' => esc_html__( 'List', 'themeisle-companion' ),
|
236 |
Â
),
|
237 |
Â
),
|
238 |
Â
$settings
|
242 |
Â
FLBuilder::render_settings_field(
|
243 |
Â
'card_layout',
|
244 |
Â
array(
|
245 |
+
'type' => 'obfx_toggle',
|
246 |
+
'label' => esc_html__( 'Card layout', 'themeisle-companion' ),
|
247 |
Â
),
|
248 |
Â
$settings
|
249 |
Â
);
|
252 |
Â
FLBuilder::render_settings_field(
|
253 |
Â
'card_margin_top',
|
254 |
Â
array(
|
255 |
+
'type' => 'obfx_number',
|
256 |
+
'label' => esc_html__( 'Margin top', 'themeisle-companion' ),
|
257 |
+
'default' => '0',
|
258 |
+
'min' => '0',
|
259 |
Â
),
|
260 |
Â
$settings
|
261 |
Â
);
|
264 |
Â
FLBuilder::render_settings_field(
|
265 |
Â
'card_margin_bottom',
|
266 |
Â
array(
|
267 |
+
'type' => 'obfx_number',
|
268 |
+
'label' => esc_html__( 'Margin bottom', 'themeisle-companion' ),
|
269 |
+
'default' => '30',
|
270 |
+
'min' => '0',
|
271 |
Â
),
|
272 |
Â
$settings
|
273 |
Â
);
|
276 |
Â
FLBuilder::render_settings_field(
|
277 |
Â
'post_bg_color',
|
278 |
Â
array(
|
279 |
+
'type' => 'color',
|
280 |
+
'label' => __( 'Background color', 'themeisle-companion' ),
|
281 |
+
'show_reset' => true,
|
282 |
+
'show_alpha' => true,
|
283 |
+
'preview' => array(
|
284 |
+
'type' => 'css',
|
285 |
+
'selector' => '.obfx-post-grid',
|
286 |
+
'property' => 'background-color',
|
287 |
Â
),
|
288 |
Â
|
289 |
Â
),
|
294 |
Â
FLBuilder::render_settings_field(
|
295 |
Â
'post_link_color',
|
296 |
Â
array(
|
297 |
+
'type' => 'color',
|
298 |
+
'label' => __( 'Link color', 'themeisle-companion' ),
|
299 |
+
'show_reset' => true,
|
300 |
+
'preview' => array(
|
301 |
+
'type' => 'css',
|
302 |
+
'selector' => '.obfx-post-grid a, .obfx-post-grid-pagination a',
|
303 |
+
'property' => 'color',
|
304 |
Â
),
|
305 |
Â
),
|
306 |
Â
$settings
|
310 |
Â
FLBuilder::render_settings_field(
|
311 |
Â
'post_text_color',
|
312 |
Â
array(
|
313 |
+
'type' => 'color',
|
314 |
+
'label' => __( 'Text color', 'themeisle-companion' ),
|
315 |
+
'show_reset' => true,
|
316 |
+
'preview' => array(
|
317 |
+
'type' => 'css',
|
318 |
+
'selector' => '.obfx-post-grid, .obfx-post-grid-pagination',
|
319 |
+
'property' => 'color',
|
320 |
Â
),
|
321 |
Â
),
|
322 |
Â
$settings
|
obfx_modules/beaver-widgets/modules/post-grid/post-grid.php
CHANGED
@@ -4,10 +4,10 @@
|
|
4 |
Â
$module_directory = $this->get_dir();
|
5 |
Â
|
6 |
Â
// Include custom fields
|
7 |
-
require_once
|
8 |
Â
|
9 |
Â
// Include common functions file.
|
10 |
-
require_once
|
11 |
Â
|
12 |
Â
/**
|
13 |
Â
* Class PostGridModule
|
@@ -23,11 +23,11 @@ class PostGridModule extends FLBuilderModule {
|
|
23 |
Â
public function __construct() {
|
24 |
Â
parent::__construct(
|
25 |
Â
array(
|
26 |
-
'name'
|
27 |
-
'description'
|
28 |
-
'category'
|
29 |
-
'dir'
|
30 |
-
'url'
|
31 |
Â
)
|
32 |
Â
);
|
33 |
Â
}
|
@@ -36,65 +36,65 @@ class PostGridModule extends FLBuilderModule {
|
|
36 |
Â
/**
|
37 |
Â
* Register the module and its form settings.
|
38 |
Â
*/
|
39 |
-
$image_sizes = get_intermediate_image_sizes();
|
40 |
-
$choices
|
41 |
Â
if ( ! empty( $image_sizes ) ) {
|
42 |
Â
foreach ( $image_sizes as $size ) {
|
43 |
-
$name
|
44 |
-
$name
|
45 |
Â
$choices[ $size ] = ucfirst( $name );
|
46 |
Â
}
|
47 |
Â
}
|
48 |
Â
FLBuilder::register_module(
|
49 |
Â
'PostGridModule',
|
50 |
Â
array(
|
51 |
-
'loop_settings'
|
52 |
-
'title'
|
53 |
-
'file'
|
54 |
Â
),
|
55 |
-
'image_options'
|
56 |
-
'title'
|
57 |
Â
'sections' => array(
|
58 |
-
'general'
|
59 |
-
'title'
|
60 |
Â
'fields' => array(
|
61 |
Â
'show_post_thumbnail' => array(
|
62 |
-
'type'
|
63 |
-
'label'
|
64 |
Â
'default' => 'yes',
|
65 |
Â
),
|
66 |
Â
'show_thumbnail_link' => array(
|
67 |
-
'type'
|
68 |
-
'label'
|
69 |
Â
'default' => 'no',
|
70 |
Â
),
|
71 |
-
'thumbnail_shadow'
|
72 |
-
'type'
|
73 |
-
'label'
|
74 |
Â
'default' => 'no',
|
75 |
Â
),
|
76 |
-
'image_size'
|
77 |
-
'type'
|
78 |
-
'label'
|
79 |
Â
'default' => 'medium_large',
|
80 |
-
'options'
|
81 |
Â
|
82 |
Â
),
|
83 |
-
'image_alignment'
|
84 |
-
'type'
|
85 |
-
'label'
|
86 |
Â
'default' => 'center',
|
87 |
-
'options'
|
88 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
89 |
-
'left'
|
90 |
-
'right'
|
91 |
Â
),
|
92 |
-
'toggle'
|
93 |
Â
'left' => array(
|
94 |
-
'fields'
|
95 |
Â
),
|
96 |
-
'right'
|
97 |
-
'fields'
|
98 |
Â
),
|
99 |
Â
),
|
100 |
Â
),
|
@@ -102,244 +102,244 @@ FLBuilder::register_module(
|
|
102 |
Â
),
|
103 |
Â
'thumbnail_margins' => themeisle_four_fields_control(
|
104 |
Â
array(
|
105 |
-
'default'
|
106 |
-
'top'
|
107 |
Â
'bottom' => 30,
|
108 |
-
'left'
|
109 |
-
'right'
|
110 |
Â
),
|
111 |
-
'selector'
|
112 |
Â
'field_name_prefix' => 'thumbnail_margin_',
|
113 |
-
'type'
|
114 |
Â
)
|
115 |
Â
),
|
116 |
Â
),
|
117 |
Â
),
|
118 |
-
'title_options'
|
119 |
-
'title'
|
120 |
Â
'sections' => array(
|
121 |
-
'general'
|
122 |
-
'title'
|
123 |
Â
'fields' => array(
|
124 |
Â
'show_post_title' => array(
|
125 |
-
'type'
|
126 |
-
'label'
|
127 |
Â
'default' => 'yes',
|
128 |
Â
),
|
129 |
-
'show_title_link'
|
130 |
-
'type'
|
131 |
-
'label'
|
132 |
Â
'default' => 'yes',
|
133 |
Â
),
|
134 |
Â
'title_alignment' => array(
|
135 |
-
'type'
|
136 |
-
'label'
|
137 |
Â
'default' => 'center',
|
138 |
-
'options'
|
139 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
140 |
-
'left'
|
141 |
-
'right'
|
142 |
Â
),
|
143 |
Â
|
144 |
Â
),
|
145 |
-
'title_tag'
|
146 |
-
'type'
|
147 |
-
'label'
|
148 |
Â
'default' => 'h5',
|
149 |
-
'options'
|
150 |
-
'h1'
|
151 |
-
'h2'
|
152 |
-
'h3'
|
153 |
-
'h4'
|
154 |
-
'h5'
|
155 |
-
'h6'
|
156 |
Â
'span' => esc_html__( 'span', 'themeisle-companion' ),
|
157 |
-
'p'
|
158 |
-
'div'
|
159 |
Â
),
|
160 |
Â
),
|
161 |
Â
),
|
162 |
Â
),
|
163 |
-
'title_margins'
|
164 |
Â
array(
|
165 |
-
'default'
|
166 |
-
'top'
|
167 |
Â
'bottom' => 0,
|
168 |
-
'left'
|
169 |
-
'right'
|
170 |
Â
),
|
171 |
-
'selector'
|
172 |
Â
'field_name_prefix' => 'title_padding_',
|
173 |
-
'type'
|
174 |
Â
)
|
175 |
Â
),
|
176 |
Â
'title_typography' => themeisle_typography_settings(
|
177 |
Â
array(
|
178 |
-
'prefix'
|
179 |
-
'selector'
|
180 |
Â
'font_size_default' => 25,
|
181 |
Â
)
|
182 |
Â
),
|
183 |
Â
),
|
184 |
Â
),
|
185 |
-
'meta_options'
|
186 |
-
'title'
|
187 |
Â
'sections' => array(
|
188 |
-
'general'
|
189 |
-
'title'
|
190 |
Â
'fields' => array(
|
191 |
Â
'show_post_meta' => array(
|
192 |
-
'type'
|
193 |
-
'label'
|
194 |
Â
'default' => 'yes',
|
195 |
Â
),
|
196 |
-
'show_icons'
|
197 |
-
'type'
|
198 |
-
'label'
|
199 |
Â
'default' => 'yes',
|
200 |
-
'help'
|
201 |
Â
),
|
202 |
-
'meta_data'
|
203 |
-
'type'
|
204 |
-
'label'
|
205 |
-
'default'
|
206 |
-
'options'
|
207 |
-
'author'
|
208 |
-
'date'
|
209 |
-
'category'
|
210 |
-
'tags'
|
211 |
-
'comments'
|
212 |
Â
),
|
213 |
-
'multi-select'
|
214 |
Â
),
|
215 |
Â
'meta_alignment' => array(
|
216 |
-
'type'
|
217 |
-
'label'
|
218 |
Â
'default' => 'center',
|
219 |
-
'options'
|
220 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
221 |
-
'left'
|
222 |
-
'right'
|
223 |
Â
),
|
224 |
Â
),
|
225 |
Â
),
|
226 |
Â
),
|
227 |
-
'meta_margins'
|
228 |
Â
array(
|
229 |
-
'default'
|
230 |
-
'top'
|
231 |
Â
'bottom' => 0,
|
232 |
-
'left'
|
233 |
-
'right'
|
234 |
Â
),
|
235 |
-
'selector'
|
236 |
Â
'field_name_prefix' => 'meta_padding_',
|
237 |
-
'type'
|
238 |
Â
)
|
239 |
Â
),
|
240 |
Â
'meta_typography' => themeisle_typography_settings(
|
241 |
Â
array(
|
242 |
-
'prefix'
|
243 |
-
'selector'
|
244 |
Â
'font_size_default' => 15,
|
245 |
Â
)
|
246 |
Â
),
|
247 |
Â
),
|
248 |
Â
),
|
249 |
-
'content_options'
|
250 |
-
'title'
|
251 |
Â
'sections' => array(
|
252 |
-
'general'
|
253 |
-
'title'
|
254 |
Â
'fields' => array(
|
255 |
Â
'show_post_content' => array(
|
256 |
-
'type'
|
257 |
-
'label'
|
258 |
Â
'default' => 'yes',
|
259 |
Â
),
|
260 |
-
'show_read_more'
|
261 |
-
'type'
|
262 |
-
'label'
|
263 |
Â
'default' => 'yes',
|
264 |
Â
),
|
265 |
-
'content_length'
|
266 |
-
'type'
|
267 |
-
'label'
|
268 |
-
'default'
|
269 |
-
'min'
|
270 |
Â
),
|
271 |
-
'read_more_text'
|
272 |
-
'type'
|
273 |
-
'label'
|
274 |
-
'default'
|
275 |
-
'maxlength'
|
276 |
-
'size'
|
277 |
-
'preview'
|
278 |
-
'type'
|
279 |
-
'selector'
|
280 |
Â
),
|
281 |
Â
),
|
282 |
Â
'content_alignment' => array(
|
283 |
-
'type'
|
284 |
-
'label'
|
285 |
Â
'default' => 'left',
|
286 |
-
'options'
|
287 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
288 |
-
'left'
|
289 |
-
'right'
|
290 |
Â
),
|
291 |
Â
|
292 |
Â
),
|
293 |
Â
),
|
294 |
Â
),
|
295 |
-
'content_margins'
|
296 |
Â
array(
|
297 |
-
'default'
|
298 |
-
'top'
|
299 |
Â
'bottom' => 0,
|
300 |
-
'left'
|
301 |
-
'right'
|
302 |
Â
),
|
303 |
-
'selector'
|
304 |
Â
'field_name_prefix' => 'content_padding_',
|
305 |
-
'type'
|
306 |
Â
)
|
307 |
Â
),
|
308 |
Â
'content_typography' => themeisle_typography_settings(
|
309 |
Â
array(
|
310 |
-
'prefix'
|
311 |
-
'selector'
|
312 |
Â
'font_size_default' => 20,
|
313 |
Â
)
|
314 |
Â
),
|
315 |
Â
),
|
316 |
Â
),
|
317 |
Â
'pagination_options' => array(
|
318 |
-
'title'
|
319 |
Â
'sections' => array(
|
320 |
-
'general'
|
321 |
-
'title'
|
322 |
Â
'fields' => array(
|
323 |
-
'show_pagination'
|
324 |
-
'type'
|
325 |
-
'label'
|
326 |
Â
),
|
327 |
Â
'pagination_alignment' => array(
|
328 |
-
'type'
|
329 |
-
'label'
|
330 |
Â
'default' => 'center',
|
331 |
-
'options'
|
332 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
333 |
-
'left'
|
334 |
-
'right'
|
335 |
Â
),
|
336 |
Â
),
|
337 |
Â
),
|
338 |
Â
),
|
339 |
Â
'pagination_typography' => themeisle_typography_settings(
|
340 |
Â
array(
|
341 |
-
'prefix'
|
342 |
-
'selector'
|
343 |
Â
'font_size_default' => 20,
|
344 |
Â
)
|
345 |
Â
),
|
4 |
Â
$module_directory = $this->get_dir();
|
5 |
Â
|
6 |
Â
// Include custom fields
|
7 |
+
require_once $module_directory . '/custom-fields/toggle-field/toggle_field.php';
|
8 |
Â
|
9 |
Â
// Include common functions file.
|
10 |
+
require_once $module_directory . '/inc/common-functions.php';
|
11 |
Â
|
12 |
Â
/**
|
13 |
Â
* Class PostGridModule
|
23 |
Â
public function __construct() {
|
24 |
Â
parent::__construct(
|
25 |
Â
array(
|
26 |
+
'name' => esc_html__( 'Post Grid', 'themeisle-companion' ),
|
27 |
+
'description' => esc_html__( 'A method to display your posts.', 'themeisle-companion' ),
|
28 |
+
'category' => esc_html__( 'Orbit Fox Modules', 'themeisle-companion' ),
|
29 |
+
'dir' => BEAVER_WIDGETS_PATH . 'modules/post-grid/',
|
30 |
+
'url' => BEAVER_WIDGETS_URL . 'modules/post-grid/',
|
31 |
Â
)
|
32 |
Â
);
|
33 |
Â
}
|
36 |
Â
/**
|
37 |
Â
* Register the module and its form settings.
|
38 |
Â
*/
|
39 |
+
$image_sizes = get_intermediate_image_sizes(); //phpcs:ignore WordPressVIPMinimum.VIP.RestrictedFunctions.get_intermediate_image_sizes_get_intermediate_image_sizes
|
40 |
+
$choices = array();
|
41 |
Â
if ( ! empty( $image_sizes ) ) {
|
42 |
Â
foreach ( $image_sizes as $size ) {
|
43 |
+
$name = str_replace( '_', ' ', $size );
|
44 |
+
$name = str_replace( '-', ' ', $name );
|
45 |
Â
$choices[ $size ] = ucfirst( $name );
|
46 |
Â
}
|
47 |
Â
}
|
48 |
Â
FLBuilder::register_module(
|
49 |
Â
'PostGridModule',
|
50 |
Â
array(
|
51 |
+
'loop_settings' => array(
|
52 |
+
'title' => esc_html__( 'Loop Settings', 'themeisle-companion' ),
|
53 |
+
'file' => BEAVER_WIDGETS_PATH . 'modules/post-grid/includes/loop-settings.php',
|
54 |
Â
),
|
55 |
+
'image_options' => array(
|
56 |
+
'title' => esc_html__( 'Image options', 'themeisle-companion' ), // Tab title
|
57 |
Â
'sections' => array(
|
58 |
+
'general' => array(
|
59 |
+
'title' => '',
|
60 |
Â
'fields' => array(
|
61 |
Â
'show_post_thumbnail' => array(
|
62 |
+
'type' => 'obfx_toggle',
|
63 |
+
'label' => esc_html__( 'Show post thumbnail', 'themeisle-companion' ),
|
64 |
Â
'default' => 'yes',
|
65 |
Â
),
|
66 |
Â
'show_thumbnail_link' => array(
|
67 |
+
'type' => 'obfx_toggle',
|
68 |
+
'label' => esc_html__( 'Link in thumbnail', 'themeisle-companion' ),
|
69 |
Â
'default' => 'no',
|
70 |
Â
),
|
71 |
+
'thumbnail_shadow' => array(
|
72 |
+
'type' => 'obfx_toggle',
|
73 |
+
'label' => esc_html__( 'Enable thumbnail shadow', 'themeisle-companion' ),
|
74 |
Â
'default' => 'no',
|
75 |
Â
),
|
76 |
+
'image_size' => array(
|
77 |
+
'type' => 'select',
|
78 |
+
'label' => esc_html__( 'Image size', 'themeisle-companion' ),
|
79 |
Â
'default' => 'medium_large',
|
80 |
+
'options' => $choices,
|
81 |
Â
|
82 |
Â
),
|
83 |
+
'image_alignment' => array(
|
84 |
+
'type' => 'select',
|
85 |
+
'label' => esc_html__( 'Image alignment', 'themeisle-companion' ),
|
86 |
Â
'default' => 'center',
|
87 |
+
'options' => array(
|
88 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
89 |
+
'left' => esc_html__( 'Left', 'themeisle-companion' ),
|
90 |
+
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
91 |
Â
),
|
92 |
+
'toggle' => array(
|
93 |
Â
'left' => array(
|
94 |
+
'fields' => array( 'thumbnail_margin_left', 'thumbnail_margin_right' ),
|
95 |
Â
),
|
96 |
+
'right' => array(
|
97 |
+
'fields' => array( 'thumbnail_margin_left', 'thumbnail_margin_right' ),
|
98 |
Â
),
|
99 |
Â
),
|
100 |
Â
),
|
102 |
Â
),
|
103 |
Â
'thumbnail_margins' => themeisle_four_fields_control(
|
104 |
Â
array(
|
105 |
+
'default' => array(
|
106 |
+
'top' => 0,
|
107 |
Â
'bottom' => 30,
|
108 |
+
'left' => 0,
|
109 |
+
'right' => 0,
|
110 |
Â
),
|
111 |
+
'selector' => '.obfx-post-grid-thumbnail',
|
112 |
Â
'field_name_prefix' => 'thumbnail_margin_',
|
113 |
+
'type' => 'margin',
|
114 |
Â
)
|
115 |
Â
),
|
116 |
Â
),
|
117 |
Â
),
|
118 |
+
'title_options' => array(
|
119 |
+
'title' => esc_html__( 'Title options', 'themeisle-companion' ), // Tab title
|
120 |
Â
'sections' => array(
|
121 |
+
'general' => array(
|
122 |
+
'title' => '',
|
123 |
Â
'fields' => array(
|
124 |
Â
'show_post_title' => array(
|
125 |
+
'type' => 'obfx_toggle',
|
126 |
+
'label' => esc_html__( 'Show post title', 'themeisle-companion' ),
|
127 |
Â
'default' => 'yes',
|
128 |
Â
),
|
129 |
+
'show_title_link' => array(
|
130 |
+
'type' => 'obfx_toggle',
|
131 |
+
'label' => esc_html__( 'Link on title', 'themeisle-companion' ),
|
132 |
Â
'default' => 'yes',
|
133 |
Â
),
|
134 |
Â
'title_alignment' => array(
|
135 |
+
'type' => 'select',
|
136 |
+
'label' => esc_html__( 'Title alignment', 'themeisle-companion' ),
|
137 |
Â
'default' => 'center',
|
138 |
+
'options' => array(
|
139 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
140 |
+
'left' => esc_html__( 'Left', 'themeisle-companion' ),
|
141 |
+
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
142 |
Â
),
|
143 |
Â
|
144 |
Â
),
|
145 |
+
'title_tag' => array(
|
146 |
+
'type' => 'select',
|
147 |
+
'label' => esc_html__( 'Title tag', 'themeisle-companion' ),
|
148 |
Â
'default' => 'h5',
|
149 |
+
'options' => array(
|
150 |
+
'h1' => esc_html__( 'H1', 'themeisle-companion' ),
|
151 |
+
'h2' => esc_html__( 'H2', 'themeisle-companion' ),
|
152 |
+
'h3' => esc_html__( 'H3', 'themeisle-companion' ),
|
153 |
+
'h4' => esc_html__( 'H4', 'themeisle-companion' ),
|
154 |
+
'h5' => esc_html__( 'H5', 'themeisle-companion' ),
|
155 |
+
'h6' => esc_html__( 'H6', 'themeisle-companion' ),
|
156 |
Â
'span' => esc_html__( 'span', 'themeisle-companion' ),
|
157 |
+
'p' => esc_html__( 'p', 'themeisle-companion' ),
|
158 |
+
'div' => esc_html__( 'div', 'themeisle-companion' ),
|
159 |
Â
),
|
160 |
Â
),
|
161 |
Â
),
|
162 |
Â
),
|
163 |
+
'title_margins' => themeisle_four_fields_control(
|
164 |
Â
array(
|
165 |
+
'default' => array(
|
166 |
+
'top' => 0,
|
167 |
Â
'bottom' => 0,
|
168 |
+
'left' => 0,
|
169 |
+
'right' => 0,
|
170 |
Â
),
|
171 |
+
'selector' => '.obfx-post-grid-title',
|
172 |
Â
'field_name_prefix' => 'title_padding_',
|
173 |
+
'type' => 'padding',
|
174 |
Â
)
|
175 |
Â
),
|
176 |
Â
'title_typography' => themeisle_typography_settings(
|
177 |
Â
array(
|
178 |
+
'prefix' => 'title_',
|
179 |
+
'selector' => '.obfx-post-grid-title',
|
180 |
Â
'font_size_default' => 25,
|
181 |
Â
)
|
182 |
Â
),
|
183 |
Â
),
|
184 |
Â
),
|
185 |
+
'meta_options' => array(
|
186 |
+
'title' => esc_html__( 'Meta options', 'themeisle-companion' ), // Tab title
|
187 |
Â
'sections' => array(
|
188 |
+
'general' => array(
|
189 |
+
'title' => '',
|
190 |
Â
'fields' => array(
|
191 |
Â
'show_post_meta' => array(
|
192 |
+
'type' => 'obfx_toggle',
|
193 |
+
'label' => esc_html__( 'Show post meta', 'themeisle-companion' ),
|
194 |
Â
'default' => 'yes',
|
195 |
Â
),
|
196 |
+
'show_icons' => array(
|
197 |
+
'type' => 'obfx_toggle',
|
198 |
+
'label' => esc_html__( 'Show icons', 'themeisle-companion' ),
|
199 |
Â
'default' => 'yes',
|
200 |
+
'help' => esc_html__( 'If icons doesn\'t show you have to enqueue FontAwesome in your theme.', 'themeisle-companion' ),
|
201 |
Â
),
|
202 |
+
'meta_data' => array(
|
203 |
+
'type' => 'select',
|
204 |
+
'label' => esc_html__( 'Display', 'themeisle-companion' ),
|
205 |
+
'default' => array( 'author', 'date' ),
|
206 |
+
'options' => array(
|
207 |
+
'author' => esc_html__( 'Author', 'themeisle-companion' ),
|
208 |
+
'date' => esc_html__( 'Date', 'themeisle-companion' ),
|
209 |
+
'category' => esc_html__( 'Category', 'themeisle-companion' ),
|
210 |
+
'tags' => esc_html__( 'Tags', 'themeisle-companion' ),
|
211 |
+
'comments' => esc_html__( 'Comments', 'themeisle-companion' ),
|
212 |
Â
),
|
213 |
+
'multi-select' => true,
|
214 |
Â
),
|
215 |
Â
'meta_alignment' => array(
|
216 |
+
'type' => 'select',
|
217 |
+
'label' => esc_html__( 'Meta alignment', 'themeisle-companion' ),
|
218 |
Â
'default' => 'center',
|
219 |
+
'options' => array(
|
220 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
221 |
+
'left' => esc_html__( 'Left', 'themeisle-companion' ),
|
222 |
+
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
223 |
Â
),
|
224 |
Â
),
|
225 |
Â
),
|
226 |
Â
),
|
227 |
+
'meta_margins' => themeisle_four_fields_control(
|
228 |
Â
array(
|
229 |
+
'default' => array(
|
230 |
+
'top' => 0,
|
231 |
Â
'bottom' => 0,
|
232 |
+
'left' => 0,
|
233 |
+
'right' => 0,
|
234 |
Â
),
|
235 |
+
'selector' => '.obfx-post-grid-meta',
|
236 |
Â
'field_name_prefix' => 'meta_padding_',
|
237 |
+
'type' => 'padding',
|
238 |
Â
)
|
239 |
Â
),
|
240 |
Â
'meta_typography' => themeisle_typography_settings(
|
241 |
Â
array(
|
242 |
+
'prefix' => 'meta_',
|
243 |
+
'selector' => '.obfx-post-grid-meta',
|
244 |
Â
'font_size_default' => 15,
|
245 |
Â
)
|
246 |
Â
),
|
247 |
Â
),
|
248 |
Â
),
|
249 |
+
'content_options' => array(
|
250 |
+
'title' => esc_html__( 'Content options', 'themeisle-companion' ), // Tab title
|
251 |
Â
'sections' => array(
|
252 |
+
'general' => array(
|
253 |
+
'title' => '',
|
254 |
Â
'fields' => array(
|
255 |
Â
'show_post_content' => array(
|
256 |
+
'type' => 'obfx_toggle',
|
257 |
+
'label' => esc_html__( 'Show post content', 'themeisle-companion' ),
|
258 |
Â
'default' => 'yes',
|
259 |
Â
),
|
260 |
+
'show_read_more' => array(
|
261 |
+
'type' => 'obfx_toggle',
|
262 |
+
'label' => esc_html__( 'Show read more', 'themeisle-companion' ),
|
263 |
Â
'default' => 'yes',
|
264 |
Â
),
|
265 |
+
'content_length' => array(
|
266 |
+
'type' => 'obfx_number',
|
267 |
+
'label' => esc_html__( 'Number of words', 'themeisle-companion' ),
|
268 |
+
'default' => '30',
|
269 |
+
'min' => '1',
|
270 |
Â
),
|
271 |
+
'read_more_text' => array(
|
272 |
+
'type' => 'text',
|
273 |
+
'label' => esc_html__( 'Read more text', 'themeisle-companion' ),
|
274 |
+
'default' => esc_html__( 'Read more', 'themeisle-companion' ),
|
275 |
+
'maxlength' => '70',
|
276 |
+
'size' => '30',
|
277 |
+
'preview' => array(
|
278 |
+
'type' => 'text',
|
279 |
+
'selector' => '.obfx-post-grid-read-more',
|
280 |
Â
),
|
281 |
Â
),
|
282 |
Â
'content_alignment' => array(
|
283 |
+
'type' => 'select',
|
284 |
+
'label' => esc_html__( 'Text alignment', 'themeisle-companion' ),
|
285 |
Â
'default' => 'left',
|
286 |
+
'options' => array(
|
287 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
288 |
+
'left' => esc_html__( 'Left', 'themeisle-companion' ),
|
289 |
+
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
290 |
Â
),
|
291 |
Â
|
292 |
Â
),
|
293 |
Â
),
|
294 |
Â
),
|
295 |
+
'content_margins' => themeisle_four_fields_control(
|
296 |
Â
array(
|
297 |
+
'default' => array(
|
298 |
+
'top' => 0,
|
299 |
Â
'bottom' => 0,
|
300 |
+
'left' => 15,
|
301 |
+
'right' => 15,
|
302 |
Â
),
|
303 |
+
'selector' => '.obfx-post-content',
|
304 |
Â
'field_name_prefix' => 'content_padding_',
|
305 |
+
'type' => 'padding',
|
306 |
Â
)
|
307 |
Â
),
|
308 |
Â
'content_typography' => themeisle_typography_settings(
|
309 |
Â
array(
|
310 |
+
'prefix' => 'content_',
|
311 |
+
'selector' => '.obfx-post-content',
|
312 |
Â
'font_size_default' => 20,
|
313 |
Â
)
|
314 |
Â
),
|
315 |
Â
),
|
316 |
Â
),
|
317 |
Â
'pagination_options' => array(
|
318 |
+
'title' => esc_html__( 'Pagination options', 'themeisle-companion' ),
|
319 |
Â
'sections' => array(
|
320 |
+
'general' => array(
|
321 |
+
'title' => '',
|
322 |
Â
'fields' => array(
|
323 |
+
'show_pagination' => array(
|
324 |
+
'type' => 'obfx_toggle',
|
325 |
+
'label' => esc_html__( 'Enable pagination', 'themeisle-companion' ),
|
326 |
Â
),
|
327 |
Â
'pagination_alignment' => array(
|
328 |
+
'type' => 'select',
|
329 |
+
'label' => esc_html__( 'Pagination alignment', 'themeisle-companion' ),
|
330 |
Â
'default' => 'center',
|
331 |
+
'options' => array(
|
332 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
333 |
+
'left' => esc_html__( 'Left', 'themeisle-companion' ),
|
334 |
+
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
335 |
Â
),
|
336 |
Â
),
|
337 |
Â
),
|
338 |
Â
),
|
339 |
Â
'pagination_typography' => themeisle_typography_settings(
|
340 |
Â
array(
|
341 |
+
'prefix' => 'pagination_',
|
342 |
+
'selector' => '.obfx-post-grid-pagination',
|
343 |
Â
'font_size_default' => 20,
|
344 |
Â
)
|
345 |
Â
),
|
obfx_modules/beaver-widgets/modules/pricing-table/includes/frontend.css.php
CHANGED
@@ -1,63 +1,63 @@
|
|
1 |
Â
<?php
|
2 |
Â
$text_position = ! empty( $settings->text_position ) ? $settings->text_position : '';
|
3 |
Â
if ( ! empty( $text_position ) ) {
|
4 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-plan > div,.fl-node-' . $id . ' .obfx-pricing-plan li{';
|
5 |
-
echo 'text-align:' . $text_position . ';';
|
6 |
Â
echo '}';
|
7 |
Â
}
|
8 |
Â
|
9 |
-
$padding_top
|
10 |
Â
$padding_bottom = ! empty( $settings->bottom ) ? $settings->bottom : '';
|
11 |
-
$padding_left
|
12 |
-
$padding_right
|
13 |
-
echo '.fl-node-' . $id . '.obfx-pricing-header{';
|
14 |
-
echo ! empty( $padding_top ) ? 'padding-top: ' . $padding_top . 'px;' : '';
|
15 |
-
echo ! empty( $padding_bottom ) ? 'padding-bottom: ' . $padding_bottom . 'px;' : '';
|
16 |
-
echo ! empty( $padding_left ) ? 'padding-left: ' . $padding_left . 'px;' : '';
|
17 |
-
echo ! empty( $padding_right ) ? 'padding-right: ' . $padding_right . 'px;' : '';
|
18 |
Â
|
19 |
-
$type = $settings->bg_type;
|
20 |
Â
switch ( $type ) {
|
21 |
Â
case 'color':
|
22 |
Â
$bg_color = ! empty( $settings->header_bg_color ) ? $settings->header_bg_color : '';
|
23 |
Â
if ( ! empty( $bg_color ) ) {
|
24 |
Â
$bg_color = strpos( $bg_color, 'rgba' ) !== false ? 'background-color:' . $bg_color : 'background-color:#' . $bg_color;
|
25 |
-
echo $bg_color . ';';
|
26 |
Â
}
|
27 |
Â
break;
|
28 |
Â
case 'image':
|
29 |
Â
$bg_image = ! empty( $settings->header_bg_image ) ? $settings->header_bg_image : '';
|
30 |
Â
if ( ! empty( $bg_image ) ) {
|
31 |
-
echo 'background-image:url(' . wp_get_attachment_url( $bg_image ) . ');';
|
32 |
Â
}
|
33 |
Â
break;
|
34 |
Â
case 'gradient':
|
35 |
-
$gradient_color1
|
36 |
-
$gradient_color2
|
37 |
Â
$gradient_orientation = ! empty( $settings->gradient_orientation ) ? $settings->gradient_orientation : '';
|
38 |
-
$pos1
|
39 |
-
$pos2
|
40 |
-
$pos3
|
41 |
Â
switch ( $gradient_orientation ) {
|
42 |
Â
case 'vertical':
|
43 |
Â
$pos1 = 'top';
|
44 |
Â
$pos2 = 'to bottom';
|
45 |
-
$type = 'linear-gradient';
|
46 |
Â
break;
|
47 |
Â
case 'diagonal_bottom':
|
48 |
Â
$pos1 = '-45deg';
|
49 |
Â
$pos2 = '135deg';
|
50 |
-
$type = 'linear-gradient';
|
51 |
Â
break;
|
52 |
Â
case 'diagonal_top':
|
53 |
Â
$pos1 = '45deg';
|
54 |
Â
$pos2 = '45deg';
|
55 |
-
$type = 'linear-gradient';
|
56 |
Â
break;
|
57 |
Â
case 'radial':
|
58 |
Â
$pos1 = 'center, ellipse cover';
|
59 |
Â
$pos2 = 'ellipse at center';
|
60 |
-
$type = 'radial-gradient';
|
61 |
Â
break;
|
62 |
Â
}
|
63 |
Â
|
@@ -81,22 +81,22 @@ $title_color = ! empty( $settings->title_color ) ? $settings->title_color : '';
|
|
81 |
Â
if ( ! empty( $title_color ) ) {
|
82 |
Â
$title_color = strpos( $title_color, 'rgba' ) !== false ? $title_color : '#' . $title_color;
|
83 |
Â
}
|
84 |
-
$title_font_size
|
85 |
-
$title_font_family
|
86 |
-
$title_font_weight
|
87 |
-
$title_transform
|
88 |
-
$title_font_style
|
89 |
-
$title_line_height
|
90 |
Â
$title_letter_spacing = ! empty( $settings->title_letter_spacing ) ? $settings->title_letter_spacing : '';
|
91 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-header *:first-child{';
|
92 |
-
echo ! empty( $title_color ) ? 'color: ' . $title_color . ';' : '';
|
93 |
-
echo ! empty( $title_font_size ) ? 'font-size: ' . $title_font_size . 'px;' : '';
|
94 |
-
echo ! empty( $title_font_family ) ? 'font-family: ' . $title_font_family . ';' : '';
|
95 |
-
echo ! empty( $title_font_weight ) ? 'font-weight: ' . $title_font_weight . ';' : '';
|
96 |
-
echo ! empty( $title_transform ) ? 'text-transform: ' . $title_transform . ';' : '';
|
97 |
-
echo ! empty( $title_font_style ) ? 'font-style: ' . $title_font_style . ';' : '';
|
98 |
-
echo ! empty( $title_line_height ) ? 'line-height: ' . $title_line_height . 'px;' : '';
|
99 |
-
echo ! empty( $title_letter_spacing ) ? 'letter-spacing: ' . $title_letter_spacing . 'px;' : '';
|
100 |
Â
echo '}';
|
101 |
Â
|
102 |
Â
|
@@ -104,168 +104,168 @@ $subtitle_color = ! empty( $settings->subtitle_color ) ? $settings->subtitle_col
|
|
104 |
Â
if ( ! empty( $subtitle_color ) ) {
|
105 |
Â
$subtitle_color = strpos( $subtitle_color, 'rgba' ) !== false ? $subtitle_color : '#' . $subtitle_color;
|
106 |
Â
}
|
107 |
-
$subtitle_font_size
|
108 |
-
$subtitle_font_family
|
109 |
-
$subtitle_font_weight
|
110 |
-
$subtitle_transform
|
111 |
-
$subtitle_font_style
|
112 |
-
$subtitle_line_height
|
113 |
Â
$subtitle_letter_spacing = ! empty( $settings->subtitle_letter_spacing ) ? $settings->subtitle_letter_spacing : '';
|
114 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-header *:last-child{';
|
115 |
-
echo ! empty( $subtitle_color ) ? 'color: ' . $subtitle_color . ';' : '';
|
116 |
-
echo ! empty( $subtitle_font_size ) ? 'font-size: ' . $subtitle_font_size . 'px;' : '';
|
117 |
-
echo ! empty( $subtitle_font_family ) ? 'font-family: ' . $subtitle_font_family . ';' : '';
|
118 |
-
echo ! empty( $subtitle_font_weight ) ? 'font-weight: ' . $subtitle_font_weight . ';' : '';
|
119 |
-
echo ! empty( $subtitle_transform ) ? 'text-transform: ' . $subtitle_transform . ';' : '';
|
120 |
-
echo ! empty( $subtitle_font_style ) ? 'font-style: ' . $subtitle_font_style . ';' : '';
|
121 |
-
echo ! empty( $subtitle_line_height ) ? 'line-height: ' . $subtitle_line_height . 'px;' : '';
|
122 |
-
echo ! empty( $subtitle_letter_spacing ) ? 'letter-spacing: ' . $subtitle_letter_spacing . 'px;' : '';
|
123 |
Â
echo '}';
|
124 |
Â
|
125 |
-
$price_top
|
126 |
-
$price_bottom
|
127 |
-
$price_left
|
128 |
-
$price_right
|
129 |
-
$price_font_size
|
130 |
-
$price_font_family
|
131 |
-
$price_font_weight
|
132 |
-
$price_transform
|
133 |
-
$price_font_style
|
134 |
-
$price_line_height
|
135 |
Â
$price_letter_spacing = ! empty( $settings->price_letter_spacing ) ? $settings->price_letter_spacing : '';
|
136 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-price{';
|
137 |
-
echo ! empty( $price_top ) ? 'padding-top: ' . $price_top . 'px;' : '';
|
138 |
-
echo ! empty( $price_bottom ) ? 'padding-bottom: ' . $price_bottom . 'px;' : '';
|
139 |
-
echo ! empty( $price_left ) ? 'padding-left: ' . $price_left . 'px;' : '';
|
140 |
-
echo ! empty( $price_right ) ? 'padding-right: ' . $price_right . 'px;' : '';
|
141 |
-
echo ! empty( $price_font_size ) ? 'font-size: ' . $price_font_size . 'px;' : '';
|
142 |
-
echo ! empty( $price_font_family ) ? 'font-family: ' . $price_font_family . ';' : '';
|
143 |
-
echo ! empty( $price_font_weight ) ? 'font-weight: ' . $price_font_weight . ';' : '';
|
144 |
-
echo ! empty( $price_transform ) ? 'text-transform: ' . $price_transform . ';' : '';
|
145 |
-
echo ! empty( $price_font_style ) ? 'font-style: ' . $price_font_style . ';' : '';
|
146 |
-
echo ! empty( $price_line_height ) ? 'line-height: ' . $price_line_height . 'px;' : '';
|
147 |
-
echo ! empty( $price_letter_spacing ) ? 'letter-spacing: ' . $price_letter_spacing . 'px;' : '';
|
148 |
Â
echo '}';
|
149 |
Â
|
150 |
Â
if ( ! empty( $settings->price_color ) ) {
|
151 |
Â
$price_color = strpos( $settings->price_color, 'rgba' ) !== false ? $settings->price_color : '#' . $settings->price_color;
|
152 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-price{';
|
153 |
-
echo 'color: ' . $price_color . ';';
|
154 |
Â
echo '}';
|
155 |
Â
}
|
156 |
Â
|
157 |
Â
if ( ! empty( $settings->currency_color ) ) {
|
158 |
Â
$currency_color = strpos( $settings->currency_color, 'rgba' ) !== false ? $settings->currency_color : '#' . $settings->currency_color;
|
159 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-price sup{';
|
160 |
-
echo 'color: ' . $currency_color . ';';
|
161 |
Â
echo '}';
|
162 |
Â
}
|
163 |
Â
|
164 |
Â
if ( ! empty( $settings->period_color ) ) {
|
165 |
Â
$period_color = strpos( $settings->period_color, 'rgba' ) !== false ? $settings->period_color : '#' . $settings->period_color;
|
166 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-price .obfx-period{';
|
167 |
-
echo 'color: ' . $period_color . ';';
|
168 |
Â
echo '}';
|
169 |
Â
}
|
170 |
-
$features_top
|
171 |
Â
$features_bottom = ! empty( $settings->features_right ) ? $settings->features_right : '';
|
172 |
-
$features_left
|
173 |
-
$features_right
|
174 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-features .obfx-pricing-feature-content{';
|
175 |
-
echo ! empty( $features_top ) ? 'padding-top: ' . $features_top . 'px;' : '';
|
176 |
-
echo ! empty( $features_bottom ) ? 'padding-bottom: ' . $features_bottom . 'px;' : '';
|
177 |
-
echo ! empty( $features_left ) ? 'padding-left: ' . $features_left . 'px;' : '';
|
178 |
-
echo ! empty( $features_right ) ? 'padding-right: ' . $features_right . 'px;' : '';
|
179 |
Â
echo '}';
|
180 |
Â
|
181 |
-
$feature_font_size
|
182 |
-
$feature_transform
|
183 |
-
$feature_font_style
|
184 |
-
$feature_line_height
|
185 |
-
$feature_letter_spacing
|
186 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-features .obfx-pricing-feature-content * {';
|
187 |
-
echo ! empty( $feature_font_size ) ? 'font-size: ' . $feature_font_size . 'px;' : '';
|
188 |
-
echo ! empty( $feature_transform ) ? 'text-transform: ' . $feature_transform . ';' : '';
|
189 |
-
echo ! empty( $feature_font_style ) ? 'font-style: ' . $feature_font_style . ';' : '';
|
190 |
-
echo ! empty( $feature_line_height ) ? 'line-height: ' . $feature_line_height . 'px;' : '';
|
191 |
-
echo ! empty( $feature_letter_spacing ) ? 'letter-spacing: ' . $feature_letter_spacing . 'px;' : '';
|
192 |
Â
echo '}';
|
193 |
Â
|
194 |
Â
if ( ! empty( $settings->feature_font_family['family'] ) ) {
|
195 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-features .obfx-pricing-feature-content:not(i){';
|
196 |
-
echo 'font-family: ' . $settings->feature_font_family['family'] . ';';
|
197 |
Â
echo '}';
|
198 |
Â
}
|
199 |
Â
if ( ! empty( $settings->feature_font_family['weight'] ) ) {
|
200 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-features .obfx-pricing-feature-content:not(strong){';
|
201 |
-
echo 'font-weight: ' . $settings->feature_font_family['weight'] . ';';
|
202 |
Â
echo '}';
|
203 |
Â
}
|
204 |
Â
|
205 |
Â
if ( ! empty( $settings->icon_color ) ) {
|
206 |
Â
$icon_color = strpos( $settings->icon_color, 'rgba' ) !== false ? $settings->icon_color : '#' . $settings->icon_color;
|
207 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-feature-content i{';
|
208 |
-
echo 'color: ' . $icon_color . ';';
|
209 |
Â
echo '}';
|
210 |
Â
}
|
211 |
Â
|
212 |
Â
if ( ! empty( $settings->bold_color ) ) {
|
213 |
Â
$bold_color = strpos( $settings->bold_color, 'rgba' ) !== false ? $settings->bold_color : '#' . $settings->bold_color;
|
214 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-feature-content strong{';
|
215 |
-
echo 'color: ' . $bold_color . ';';
|
216 |
Â
echo '}';
|
217 |
Â
}
|
218 |
Â
|
219 |
Â
if ( ! empty( $settings->feature_color ) ) {
|
220 |
Â
$feature_color = strpos( $settings->feature_color, 'rgba' ) !== false ? $settings->feature_color : '#' . $settings->feature_color;
|
221 |
-
echo '.fl-node-' . $id . ' .obfx-pricing-feature-content:not(i):not(strong){';
|
222 |
-
echo 'color: ' . $feature_color . ';';
|
223 |
Â
echo '}';
|
224 |
Â
}
|
225 |
Â
|
226 |
Â
$button_margin_bottom = ! empty( $settings->button_margin_bottom ) ? $settings->button_margin_bottom : '';
|
227 |
-
$button_margin_left
|
228 |
-
$button_margin_right
|
229 |
-
$button_margin_top
|
230 |
-
echo '.fl-node-' . $id . ' .obfx-plan-bottom{';
|
231 |
-
echo ! empty( $button_margin_bottom ) ? 'margin-bottom: ' . $button_margin_bottom . 'px;' : '';
|
232 |
-
echo ! empty( $button_margin_left ) ? 'margin-left: ' . $button_margin_left . 'px;' : '';
|
233 |
-
echo ! empty( $button_margin_right ) ? 'margin-right: ' . $button_margin_right . 'px;' : '';
|
234 |
-
echo ! empty( $button_margin_top ) ? 'margin-top: ' . $button_margin_top . 'px;' : '';
|
235 |
Â
echo '}';
|
236 |
Â
|
237 |
-
$button_padding_top
|
238 |
Â
$button_padding_bottom = ! empty( $settings->button_padding_bottom ) ? $settings->button_padding_bottom : '';
|
239 |
-
$button_padding_left
|
240 |
-
$button_padding_right
|
241 |
-
$button_font_size
|
242 |
-
$button_transform
|
243 |
-
$button_font_style
|
244 |
-
$button_line_height
|
245 |
Â
$button_letter_spacing = ! empty( $settings->button_letter_spacing ) ? $settings->button_letter_spacing : '';
|
246 |
-
$button_font_family
|
247 |
-
$button_font_weight
|
248 |
-
$button_text_color
|
249 |
-
$button_bg_color
|
250 |
-
echo '.fl-node-' . $id . ' .obfx-plan-button{';
|
251 |
-
echo ! empty( $button_padding_top ) ? 'padding-top: ' . $button_padding_top . 'px;' : '';
|
252 |
-
echo ! empty( $button_padding_bottom ) ? 'padding-bottom: ' . $button_padding_bottom . 'px;' : '';
|
253 |
-
echo ! empty( $button_padding_left ) ? 'padding-left: ' . $button_padding_left . 'px;' : '';
|
254 |
-
echo ! empty( $button_padding_right ) ? 'padding-right: ' . $button_padding_right . 'px;' : '';
|
255 |
-
echo ! empty( $button_text_color ) ? 'color: ' . $button_text_color . ';' : '';
|
256 |
-
echo ! empty( $button_bg_color ) ? 'background-color: ' . $button_bg_color . ';' : '';
|
257 |
-
echo ! empty( $button_font_size ) ? 'font-size: ' . $button_font_size . 'px;' : '';
|
258 |
-
echo ! empty( $button_transform ) ? 'text-transform: ' . $button_transform . ';' : '';
|
259 |
-
echo ! empty( $button_font_style ) ? 'font-style: ' . $button_font_style . ';' : '';
|
260 |
-
echo ! empty( $button_line_height ) ? 'line-height: ' . $button_line_height . 'px;' : '';
|
261 |
-
echo ! empty( $button_letter_spacing ) ? 'letter-spacing: ' . $button_letter_spacing . 'px;' : '';
|
262 |
-
echo ! empty( $button_font_family ) ? 'font-family: ' . $button_font_family . ';' : '';
|
263 |
-
echo ! empty( $button_font_weight ) ? 'font-weight: ' . $button_font_weight . ';' : '';
|
264 |
Â
echo '}';
|
265 |
Â
|
266 |
Â
$button_text_color_hover = ! empty( $settings->button_text_color_hover ) ? ( strpos( $settings->button_text_color_hover, 'rgba' ) !== false ? $settings->button_text_color_hover : '#' . $settings->button_text_color_hover ) : '';
|
267 |
-
$button_bg_color_hover
|
268 |
-
echo '.fl-node-' . $id . ' .obfx-plan-button:hover{';
|
269 |
-
echo ! empty( $button_text_color_hover ) ? 'color: ' . $button_text_color_hover . ';' : '';
|
270 |
-
echo ! empty( $button_bg_color_hover ) ? 'background-color: ' . $button_bg_color_hover . ';' : '';
|
271 |
Â
echo '}';
|
1 |
Â
<?php
|
2 |
Â
$text_position = ! empty( $settings->text_position ) ? $settings->text_position : '';
|
3 |
Â
if ( ! empty( $text_position ) ) {
|
4 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-plan > div,.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-plan li{';
|
5 |
+
echo 'text-align:' . esc_attr( $text_position ) . ';';
|
6 |
Â
echo '}';
|
7 |
Â
}
|
8 |
Â
|
9 |
+
$padding_top = ! empty( $settings->top ) ? $settings->top : '';
|
10 |
Â
$padding_bottom = ! empty( $settings->bottom ) ? $settings->bottom : '';
|
11 |
+
$padding_left = ! empty( $settings->left ) ? $settings->left : '';
|
12 |
+
$padding_right = ! empty( $settings->right ) ? $settings->right : '';
|
13 |
+
echo '.fl-node-' . esc_attr( $id ) . '.obfx-pricing-header{';
|
14 |
+
echo ! empty( $padding_top ) ? 'padding-top: ' . esc_attr( $padding_top ) . 'px;' : '';
|
15 |
+
echo ! empty( $padding_bottom ) ? 'padding-bottom: ' . esc_attr( $padding_bottom ) . 'px;' : '';
|
16 |
+
echo ! empty( $padding_left ) ? 'padding-left: ' . esc_attr( $padding_left ) . 'px;' : '';
|
17 |
+
echo ! empty( $padding_right ) ? 'padding-right: ' . esc_attr( $padding_right ) . 'px;' : '';
|
18 |
Â
|
19 |
+
$type = $settings->bg_type; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
20 |
Â
switch ( $type ) {
|
21 |
Â
case 'color':
|
22 |
Â
$bg_color = ! empty( $settings->header_bg_color ) ? $settings->header_bg_color : '';
|
23 |
Â
if ( ! empty( $bg_color ) ) {
|
24 |
Â
$bg_color = strpos( $bg_color, 'rgba' ) !== false ? 'background-color:' . $bg_color : 'background-color:#' . $bg_color;
|
25 |
+
echo esc_attr( $bg_color ) . ';';
|
26 |
Â
}
|
27 |
Â
break;
|
28 |
Â
case 'image':
|
29 |
Â
$bg_image = ! empty( $settings->header_bg_image ) ? $settings->header_bg_image : '';
|
30 |
Â
if ( ! empty( $bg_image ) ) {
|
31 |
+
echo 'background-image:url(' . esc_url( wp_get_attachment_url( $bg_image ) ) . ');';
|
32 |
Â
}
|
33 |
Â
break;
|
34 |
Â
case 'gradient':
|
35 |
+
$gradient_color1 = ! empty( $settings->gradient_color1 ) ? $settings->gradient_color1 : '';
|
36 |
+
$gradient_color2 = ! empty( $settings->gradient_color2 ) ? $settings->gradient_color2 : '';
|
37 |
Â
$gradient_orientation = ! empty( $settings->gradient_orientation ) ? $settings->gradient_orientation : '';
|
38 |
+
$pos1 = 'left';
|
39 |
+
$pos2 = 'left';
|
40 |
+
$pos3 = 'to right';
|
41 |
Â
switch ( $gradient_orientation ) {
|
42 |
Â
case 'vertical':
|
43 |
Â
$pos1 = 'top';
|
44 |
Â
$pos2 = 'to bottom';
|
45 |
+
$type = 'linear-gradient'; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
46 |
Â
break;
|
47 |
Â
case 'diagonal_bottom':
|
48 |
Â
$pos1 = '-45deg';
|
49 |
Â
$pos2 = '135deg';
|
50 |
+
$type = 'linear-gradient'; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
51 |
Â
break;
|
52 |
Â
case 'diagonal_top':
|
53 |
Â
$pos1 = '45deg';
|
54 |
Â
$pos2 = '45deg';
|
55 |
+
$type = 'linear-gradient'; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
56 |
Â
break;
|
57 |
Â
case 'radial':
|
58 |
Â
$pos1 = 'center, ellipse cover';
|
59 |
Â
$pos2 = 'ellipse at center';
|
60 |
+
$type = 'radial-gradient'; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
61 |
Â
break;
|
62 |
Â
}
|
63 |
Â
|
81 |
Â
if ( ! empty( $title_color ) ) {
|
82 |
Â
$title_color = strpos( $title_color, 'rgba' ) !== false ? $title_color : '#' . $title_color;
|
83 |
Â
}
|
84 |
+
$title_font_size = ! empty( $settings->title_font_size ) ? $settings->title_font_size : '';
|
85 |
+
$title_font_family = ! empty( $settings->title_font_family['family'] ) ? $settings->title_font_family['family'] : '';
|
86 |
+
$title_font_weight = ! empty( $settings->title_font_family['weight'] ) ? $settings->title_font_family['weight'] : '';
|
87 |
+
$title_transform = ! empty( $settings->title_transform ) ? $settings->title_transform : '';
|
88 |
+
$title_font_style = ! empty( $settings->title_font_style ) ? $settings->title_font_style : '';
|
89 |
+
$title_line_height = ! empty( $settings->title_line_height ) ? $settings->title_line_height : '';
|
90 |
Â
$title_letter_spacing = ! empty( $settings->title_letter_spacing ) ? $settings->title_letter_spacing : '';
|
91 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-header *:first-child{';
|
92 |
+
echo ! empty( $title_color ) ? 'color: ' . esc_attr( $title_color ) . ';' : '';
|
93 |
+
echo ! empty( $title_font_size ) ? 'font-size: ' . esc_attr( $title_font_size ) . 'px;' : '';
|
94 |
+
echo ! empty( $title_font_family ) ? 'font-family: ' . esc_attr( $title_font_family ) . ';' : '';
|
95 |
+
echo ! empty( $title_font_weight ) ? 'font-weight: ' . esc_attr( $title_font_weight ) . ';' : '';
|
96 |
+
echo ! empty( $title_transform ) ? 'text-transform: ' . esc_attr( $title_transform ) . ';' : '';
|
97 |
+
echo ! empty( $title_font_style ) ? 'font-style: ' . esc_attr( $title_font_style ) . ';' : '';
|
98 |
+
echo ! empty( $title_line_height ) ? 'line-height: ' . esc_attr( $title_line_height ) . 'px;' : '';
|
99 |
+
echo ! empty( $title_letter_spacing ) ? 'letter-spacing: ' . esc_attr( $title_letter_spacing ) . 'px;' : '';
|
100 |
Â
echo '}';
|
101 |
Â
|
102 |
Â
|
104 |
Â
if ( ! empty( $subtitle_color ) ) {
|
105 |
Â
$subtitle_color = strpos( $subtitle_color, 'rgba' ) !== false ? $subtitle_color : '#' . $subtitle_color;
|
106 |
Â
}
|
107 |
+
$subtitle_font_size = ! empty( $settings->subtitle_font_size ) ? $settings->subtitle_font_size : '';
|
108 |
+
$subtitle_font_family = ! empty( $settings->subtitle_font_family['family'] ) ? $settings->subtitle_font_family : '';
|
109 |
+
$subtitle_font_weight = ! empty( $settings->subtitle_font_family['weight'] ) ? $settings->subtitle_font_family : '';
|
110 |
+
$subtitle_transform = ! empty( $settings->subtitle_transform ) ? $settings->subtitle_transform : '';
|
111 |
+
$subtitle_font_style = ! empty( $settings->subtitle_font_style ) ? $settings->subtitle_font_style : '';
|
112 |
+
$subtitle_line_height = ! empty( $settings->subtitle_line_height ) ? $settings->subtitle_line_height : '';
|
113 |
Â
$subtitle_letter_spacing = ! empty( $settings->subtitle_letter_spacing ) ? $settings->subtitle_letter_spacing : '';
|
114 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-header *:last-child{';
|
115 |
+
echo ! empty( $subtitle_color ) ? 'color: ' . esc_attr( $subtitle_color ) . ';' : '';
|
116 |
+
echo ! empty( $subtitle_font_size ) ? 'font-size: ' . esc_attr( $subtitle_font_size ) . 'px;' : '';
|
117 |
+
echo ! empty( $subtitle_font_family ) ? 'font-family: ' . esc_attr( $subtitle_font_family ) . ';' : '';
|
118 |
+
echo ! empty( $subtitle_font_weight ) ? 'font-weight: ' . esc_attr( $subtitle_font_weight ) . ';' : '';
|
119 |
+
echo ! empty( $subtitle_transform ) ? 'text-transform: ' . esc_attr( $subtitle_transform ) . ';' : '';
|
120 |
+
echo ! empty( $subtitle_font_style ) ? 'font-style: ' . esc_attr( $subtitle_font_style ) . ';' : '';
|
121 |
+
echo ! empty( $subtitle_line_height ) ? 'line-height: ' . esc_attr( $subtitle_line_height ) . 'px;' : '';
|
122 |
+
echo ! empty( $subtitle_letter_spacing ) ? 'letter-spacing: ' . esc_attr( $subtitle_letter_spacing ) . 'px;' : '';
|
123 |
Â
echo '}';
|
124 |
Â
|
125 |
+
$price_top = ! empty( $settings->price_top ) ? $settings->price_top : '';
|
126 |
+
$price_bottom = ! empty( $settings->price_bottom ) ? $settings->price_bottom : '';
|
127 |
+
$price_left = ! empty( $settings->price_left ) ? $settings->price_left : '';
|
128 |
+
$price_right = ! empty( $settings->price_right ) ? $settings->price_right : '';
|
129 |
+
$price_font_size = ! empty( $settings->price_font_size ) ? $settings->price_font_size : '';
|
130 |
+
$price_font_family = ! empty( $settings->price_font_family['family'] ) ? $settings->price_font_family['family'] : '';
|
131 |
+
$price_font_weight = ! empty( $settings->price_font_family['weight'] ) ? $settings->price_font_family['weight'] : '';
|
132 |
+
$price_transform = ! empty( $settings->price_transform ) ? $settings->price_transform : '';
|
133 |
+
$price_font_style = ! empty( $settings->price_font_style ) ? $settings->price_font_style : '';
|
134 |
+
$price_line_height = ! empty( $settings->price_line_height ) ? $settings->price_line_height : '';
|
135 |
Â
$price_letter_spacing = ! empty( $settings->price_letter_spacing ) ? $settings->price_letter_spacing : '';
|
136 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-price{';
|
137 |
+
echo ! empty( $price_top ) ? 'padding-top: ' . esc_attr( $price_top ) . 'px;' : '';
|
138 |
+
echo ! empty( $price_bottom ) ? 'padding-bottom: ' . esc_attr( $price_bottom ) . 'px;' : '';
|
139 |
+
echo ! empty( $price_left ) ? 'padding-left: ' . esc_attr( $price_left ) . 'px;' : '';
|
140 |
+
echo ! empty( $price_right ) ? 'padding-right: ' . esc_attr( $price_right ) . 'px;' : '';
|
141 |
+
echo ! empty( $price_font_size ) ? 'font-size: ' . esc_attr( $price_font_size ) . 'px;' : '';
|
142 |
+
echo ! empty( $price_font_family ) ? 'font-family: ' . esc_attr( $price_font_family ) . ';' : '';
|
143 |
+
echo ! empty( $price_font_weight ) ? 'font-weight: ' . esc_attr( $price_font_weight ) . ';' : '';
|
144 |
+
echo ! empty( $price_transform ) ? 'text-transform: ' . esc_attr( $price_transform ) . ';' : '';
|
145 |
+
echo ! empty( $price_font_style ) ? 'font-style: ' . esc_attr( $price_font_style ) . ';' : '';
|
146 |
+
echo ! empty( $price_line_height ) ? 'line-height: ' . esc_attr( $price_line_height ) . 'px;' : '';
|
147 |
+
echo ! empty( $price_letter_spacing ) ? 'letter-spacing: ' . esc_attr( $price_letter_spacing ) . 'px;' : '';
|
148 |
Â
echo '}';
|
149 |
Â
|
150 |
Â
if ( ! empty( $settings->price_color ) ) {
|
151 |
Â
$price_color = strpos( $settings->price_color, 'rgba' ) !== false ? $settings->price_color : '#' . $settings->price_color;
|
152 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-price{';
|
153 |
+
echo 'color: ' . esc_attr( $price_color ) . ';';
|
154 |
Â
echo '}';
|
155 |
Â
}
|
156 |
Â
|
157 |
Â
if ( ! empty( $settings->currency_color ) ) {
|
158 |
Â
$currency_color = strpos( $settings->currency_color, 'rgba' ) !== false ? $settings->currency_color : '#' . $settings->currency_color;
|
159 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-price sup{';
|
160 |
+
echo 'color: ' . esc_attr( $currency_color ) . ';';
|
161 |
Â
echo '}';
|
162 |
Â
}
|
163 |
Â
|
164 |
Â
if ( ! empty( $settings->period_color ) ) {
|
165 |
Â
$period_color = strpos( $settings->period_color, 'rgba' ) !== false ? $settings->period_color : '#' . $settings->period_color;
|
166 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-price .obfx-period{';
|
167 |
+
echo 'color: ' . esc_attr( $period_color ) . ';';
|
168 |
Â
echo '}';
|
169 |
Â
}
|
170 |
+
$features_top = ! empty( $settings->features_right ) ? $settings->features_right : '';
|
171 |
Â
$features_bottom = ! empty( $settings->features_right ) ? $settings->features_right : '';
|
172 |
+
$features_left = ! empty( $settings->features_right ) ? $settings->features_right : '';
|
173 |
+
$features_right = ! empty( $settings->features_right ) ? $settings->features_right : '';
|
174 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-features .obfx-pricing-feature-content{';
|
175 |
+
echo ! empty( $features_top ) ? 'padding-top: ' . esc_attr( $features_top ) . 'px;' : '';
|
176 |
+
echo ! empty( $features_bottom ) ? 'padding-bottom: ' . esc_attr( $features_bottom ) . 'px;' : '';
|
177 |
+
echo ! empty( $features_left ) ? 'padding-left: ' . esc_attr( $features_left ) . 'px;' : '';
|
178 |
+
echo ! empty( $features_right ) ? 'padding-right: ' . esc_attr( $features_right ) . 'px;' : '';
|
179 |
Â
echo '}';
|
180 |
Â
|
181 |
+
$feature_font_size = ! empty( $settings->feature_font_size ) ? $settings->feature_font_size : '';
|
182 |
+
$feature_transform = ! empty( $settings->feature_transform ) ? $settings->feature_transform : '';
|
183 |
+
$feature_font_style = ! empty( $settings->feature_font_style ) ? $settings->feature_font_style : '';
|
184 |
+
$feature_line_height = ! empty( $settings->feature_line_height ) ? $settings->feature_line_height : '';
|
185 |
+
$feature_letter_spacing = ! empty( $settings->feature_letter_spacing ) ? $settings->feature_letter_spacing : '';
|
186 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-features .obfx-pricing-feature-content * {';
|
187 |
+
echo ! empty( $feature_font_size ) ? 'font-size: ' . esc_attr( $feature_font_size ) . 'px;' : '';
|
188 |
+
echo ! empty( $feature_transform ) ? 'text-transform: ' . esc_attr( $feature_transform ) . ';' : '';
|
189 |
+
echo ! empty( $feature_font_style ) ? 'font-style: ' . esc_attr( $feature_font_style ) . ';' : '';
|
190 |
+
echo ! empty( $feature_line_height ) ? 'line-height: ' . esc_attr( $feature_line_height ) . 'px;' : '';
|
191 |
+
echo ! empty( $feature_letter_spacing ) ? 'letter-spacing: ' . esc_attr( $feature_letter_spacing ) . 'px;' : '';
|
192 |
Â
echo '}';
|
193 |
Â
|
194 |
Â
if ( ! empty( $settings->feature_font_family['family'] ) ) {
|
195 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-features .obfx-pricing-feature-content:not(i){';
|
196 |
+
echo 'font-family: ' . esc_attr( $settings->feature_font_family['family'] ) . ';';
|
197 |
Â
echo '}';
|
198 |
Â
}
|
199 |
Â
if ( ! empty( $settings->feature_font_family['weight'] ) ) {
|
200 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-features .obfx-pricing-feature-content:not(strong){';
|
201 |
+
echo 'font-weight: ' . esc_attr( $settings->feature_font_family['weight'] ) . ';';
|
202 |
Â
echo '}';
|
203 |
Â
}
|
204 |
Â
|
205 |
Â
if ( ! empty( $settings->icon_color ) ) {
|
206 |
Â
$icon_color = strpos( $settings->icon_color, 'rgba' ) !== false ? $settings->icon_color : '#' . $settings->icon_color;
|
207 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-feature-content i{';
|
208 |
+
echo 'color: ' . esc_attr( $icon_color ) . ';';
|
209 |
Â
echo '}';
|
210 |
Â
}
|
211 |
Â
|
212 |
Â
if ( ! empty( $settings->bold_color ) ) {
|
213 |
Â
$bold_color = strpos( $settings->bold_color, 'rgba' ) !== false ? $settings->bold_color : '#' . $settings->bold_color;
|
214 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-feature-content strong{';
|
215 |
+
echo 'color: ' . esc_attr( $bold_color ) . ';';
|
216 |
Â
echo '}';
|
217 |
Â
}
|
218 |
Â
|
219 |
Â
if ( ! empty( $settings->feature_color ) ) {
|
220 |
Â
$feature_color = strpos( $settings->feature_color, 'rgba' ) !== false ? $settings->feature_color : '#' . $settings->feature_color;
|
221 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-pricing-feature-content:not(i):not(strong){';
|
222 |
+
echo 'color: ' . esc_attr( $feature_color ) . ';';
|
223 |
Â
echo '}';
|
224 |
Â
}
|
225 |
Â
|
226 |
Â
$button_margin_bottom = ! empty( $settings->button_margin_bottom ) ? $settings->button_margin_bottom : '';
|
227 |
+
$button_margin_left = ! empty( $settings->button_margin_left ) ? $settings->button_margin_left : '';
|
228 |
+
$button_margin_right = ! empty( $settings->button_margin_right ) ? $settings->button_margin_right : '';
|
229 |
+
$button_margin_top = ! empty( $settings->button_margin_top ) ? $settings->button_margin_top : '';
|
230 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-plan-bottom{';
|
231 |
+
echo ! empty( $button_margin_bottom ) ? 'margin-bottom: ' . esc_attr( $button_margin_bottom ) . 'px;' : '';
|
232 |
+
echo ! empty( $button_margin_left ) ? 'margin-left: ' . esc_attr( $button_margin_left ) . 'px;' : '';
|
233 |
+
echo ! empty( $button_margin_right ) ? 'margin-right: ' . esc_attr( $button_margin_right ) . 'px;' : '';
|
234 |
+
echo ! empty( $button_margin_top ) ? 'margin-top: ' . esc_attr( $button_margin_top ) . 'px;' : '';
|
235 |
Â
echo '}';
|
236 |
Â
|
237 |
+
$button_padding_top = ! empty( $settings->button_padding_top ) ? $settings->button_padding_top : '';
|
238 |
Â
$button_padding_bottom = ! empty( $settings->button_padding_bottom ) ? $settings->button_padding_bottom : '';
|
239 |
+
$button_padding_left = ! empty( $settings->button_padding_left ) ? $settings->button_padding_left : '';
|
240 |
+
$button_padding_right = ! empty( $settings->button_padding_right ) ? $settings->button_padding_right : '';
|
241 |
+
$button_font_size = ! empty( $settings->button_font_size ) ? $settings->button_font_size : '';
|
242 |
+
$button_transform = ! empty( $settings->button_transform ) ? $settings->button_transform : '';
|
243 |
+
$button_font_style = ! empty( $settings->button_font_style ) ? $settings->button_font_style : '';
|
244 |
+
$button_line_height = ! empty( $settings->button_line_height ) ? $settings->button_line_height : '';
|
245 |
Â
$button_letter_spacing = ! empty( $settings->button_letter_spacing ) ? $settings->button_letter_spacing : '';
|
246 |
+
$button_font_family = ! empty( $settings->button_font_family['family'] ) ? $settings->button_font_family['family'] : '';
|
247 |
+
$button_font_weight = ! empty( $settings->button_font_family['weight'] ) ? $settings->button_font_family['weight'] : '';
|
248 |
+
$button_text_color = ! empty( $settings->button_text_color ) ? ( strpos( $settings->button_text_color, 'rgba' ) !== false ? $settings->button_text_color : '#' . $settings->button_text_color ) : '';
|
249 |
+
$button_bg_color = ! empty( $settings->button_bg_color ) ? ( strpos( $settings->button_bg_color, 'rgba' ) !== false ? $settings->button_bg_color : '#' . $settings->button_bg_color ) : '';
|
250 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-plan-button{';
|
251 |
+
echo ! empty( $button_padding_top ) ? 'padding-top: ' . esc_attr( $button_padding_top ) . 'px;' : '';
|
252 |
+
echo ! empty( $button_padding_bottom ) ? 'padding-bottom: ' . esc_attr( $button_padding_bottom ) . 'px;' : '';
|
253 |
+
echo ! empty( $button_padding_left ) ? 'padding-left: ' . esc_attr( $button_padding_left ) . 'px;' : '';
|
254 |
+
echo ! empty( $button_padding_right ) ? 'padding-right: ' . esc_attr( $button_padding_right ) . 'px;' : '';
|
255 |
+
echo ! empty( $button_text_color ) ? 'color: ' . esc_attr( $button_text_color ) . ';' : '';
|
256 |
+
echo ! empty( $button_bg_color ) ? 'background-color: ' . esc_attr( $button_bg_color ) . ';' : '';
|
257 |
+
echo ! empty( $button_font_size ) ? 'font-size: ' . esc_attr( $button_font_size ) . 'px;' : '';
|
258 |
+
echo ! empty( $button_transform ) ? 'text-transform: ' . esc_attr( $button_transform ) . ';' : '';
|
259 |
+
echo ! empty( $button_font_style ) ? 'font-style: ' . esc_attr( $button_font_style ) . ';' : '';
|
260 |
+
echo ! empty( $button_line_height ) ? 'line-height: ' . esc_attr( $button_line_height ) . 'px;' : '';
|
261 |
+
echo ! empty( $button_letter_spacing ) ? 'letter-spacing: ' . esc_attr( $button_letter_spacing ) . 'px;' : '';
|
262 |
+
echo ! empty( $button_font_family ) ? 'font-family: ' . esc_attr( $button_font_family ) . ';' : '';
|
263 |
+
echo ! empty( $button_font_weight ) ? 'font-weight: ' . esc_attr( $button_font_weight ) . ';' : '';
|
264 |
Â
echo '}';
|
265 |
Â
|
266 |
Â
$button_text_color_hover = ! empty( $settings->button_text_color_hover ) ? ( strpos( $settings->button_text_color_hover, 'rgba' ) !== false ? $settings->button_text_color_hover : '#' . $settings->button_text_color_hover ) : '';
|
267 |
+
$button_bg_color_hover = ! empty( $settings->button_bg_color_hover ) ? ( strpos( $settings->button_bg_color_hover, 'rgba' ) !== false ? $settings->button_bg_color_hover : '#' . $settings->button_bg_color_hover ) : '';
|
268 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-plan-button:hover{';
|
269 |
+
echo ! empty( $button_text_color_hover ) ? 'color: ' . esc_attr( $button_text_color_hover ) . ';' : '';
|
270 |
+
echo ! empty( $button_bg_color_hover ) ? 'background-color: ' . esc_attr( $button_bg_color_hover ) . ';' : '';
|
271 |
Â
echo '}';
|
obfx_modules/beaver-widgets/modules/pricing-table/includes/frontend.php
CHANGED
@@ -11,8 +11,8 @@ $class_to_add = $settings->card_layout === 'yes' ? 'obfx-card' : '';
|
|
11 |
Â
|
12 |
Â
echo '<div class="obfx-pricing-plan ' . esc_attr( $class_to_add ) . '">';
|
13 |
Â
echo '<div class="obfx-pricing-header">';
|
14 |
-
echo '<' . $settings->plan_title_tag . ' class="obfx-plan-title text-center">' . wp_kses_post( $settings->plan_title ) . '</' . $settings->plan_title_tag . '>';
|
15 |
-
echo '<' . $settings->plan_subtitle_tag . ' class="obfx-plan-subtitle text-center">' . wp_kses_post( $settings->plan_subtitle ) . '</' . $settings->plan_subtitle_tag . '>';
|
16 |
Â
echo '</div>';
|
17 |
Â
echo '<div class="obfx-pricing-price text-center">';
|
18 |
Â
switch ( $settings->currency_position ) {
|
@@ -29,9 +29,9 @@ switch ( $settings->currency_position ) {
|
|
29 |
Â
if ( ! empty( $features ) ) {
|
30 |
Â
echo '<ul class="obfx-pricing-features text-center">';
|
31 |
Â
foreach ( $features as $feature ) {
|
32 |
-
$icon
|
33 |
-
$bold_text
|
34 |
-
$text
|
35 |
Â
$section_is_empty = empty( $icon ) && empty( $bold_text ) && empty( $text );
|
36 |
Â
if ( ! $section_is_empty ) {
|
37 |
Â
echo '<li><span class="obfx-pricing-feature-content">';
|
11 |
Â
|
12 |
Â
echo '<div class="obfx-pricing-plan ' . esc_attr( $class_to_add ) . '">';
|
13 |
Â
echo '<div class="obfx-pricing-header">';
|
14 |
+
echo '<' . esc_attr( $settings->plan_title_tag ) . ' class="obfx-plan-title text-center">' . wp_kses_post( $settings->plan_title ) . '</' . esc_attr( $settings->plan_title_tag ) . '>';
|
15 |
+
echo '<' . esc_attr( $settings->plan_subtitle_tag ) . ' class="obfx-plan-subtitle text-center">' . wp_kses_post( $settings->plan_subtitle ) . '</' . esc_attr( $settings->plan_subtitle_tag ) . '>';
|
16 |
Â
echo '</div>';
|
17 |
Â
echo '<div class="obfx-pricing-price text-center">';
|
18 |
Â
switch ( $settings->currency_position ) {
|
29 |
Â
if ( ! empty( $features ) ) {
|
30 |
Â
echo '<ul class="obfx-pricing-features text-center">';
|
31 |
Â
foreach ( $features as $feature ) {
|
32 |
+
$icon = ! empty( $feature->icon ) ? $feature->icon : '';
|
33 |
+
$bold_text = ! empty( $feature->bold_text ) ? $feature->bold_text : '';
|
34 |
+
$text = ! empty( $feature->text ) ? $feature->text : '';
|
35 |
Â
$section_is_empty = empty( $icon ) && empty( $bold_text ) && empty( $text );
|
36 |
Â
if ( ! $section_is_empty ) {
|
37 |
Â
echo '<li><span class="obfx-pricing-feature-content">';
|
obfx_modules/beaver-widgets/modules/pricing-table/pricing-table.php
CHANGED
@@ -9,10 +9,10 @@
|
|
9 |
Â
$module_directory = $this->get_dir();
|
10 |
Â
|
11 |
Â
// Include common functions file.
|
12 |
-
require_once
|
13 |
Â
|
14 |
Â
// Include custom fields
|
15 |
-
require_once
|
16 |
Â
|
17 |
Â
/**
|
18 |
Â
* Class PricingTableModule
|
@@ -46,13 +46,13 @@ class PricingTableModule extends FLBuilderModule {
|
|
46 |
Â
FLBuilder::register_module(
|
47 |
Â
'PricingTableModule',
|
48 |
Â
array(
|
49 |
-
'content'
|
50 |
-
'title'
|
51 |
Â
'sections' => array(
|
52 |
-
'header'
|
53 |
Â
'title' => esc_html__( 'Plan Header', 'themeisle-companion' ),
|
54 |
Â
'fields' => array(
|
55 |
-
'plan_title'
|
56 |
Â
'type' => 'text',
|
57 |
Â
'label' => esc_html__( 'Title', 'themeisle-companion' ),
|
58 |
Â
'default' => esc_html__( 'Plan title', 'themeisle-companion' ),
|
@@ -61,7 +61,7 @@ FLBuilder::register_module(
|
|
61 |
Â
'selector' => '.obfx-plan-title',
|
62 |
Â
),
|
63 |
Â
),
|
64 |
-
'plan_title_tag'
|
65 |
Â
'type' => 'select',
|
66 |
Â
'label' => esc_html__( 'Title tag', 'themeisle-companion' ),
|
67 |
Â
'default' => 'h2',
|
@@ -75,7 +75,7 @@ FLBuilder::register_module(
|
|
75 |
Â
'p' => esc_html__( 'p', 'themeisle-companion' ),
|
76 |
Â
),
|
77 |
Â
),
|
78 |
-
'plan_subtitle'
|
79 |
Â
'type' => 'text',
|
80 |
Â
'label' => esc_html__( 'Subtitle', 'themeisle-companion' ),
|
81 |
Â
'default' => esc_html__( 'Plan subtitle', 'themeisle-companion' ),
|
@@ -100,10 +100,10 @@ FLBuilder::register_module(
|
|
100 |
Â
),
|
101 |
Â
),
|
102 |
Â
),
|
103 |
-
'price'
|
104 |
Â
'title' => esc_html__( 'Price Tag', 'themeisle-companion' ),
|
105 |
Â
'fields' => array(
|
106 |
-
'price'
|
107 |
Â
'type' => 'text',
|
108 |
Â
'label' => esc_html__( 'Price', 'themeisle-companion' ),
|
109 |
Â
'default' => '50',
|
@@ -112,7 +112,7 @@ FLBuilder::register_module(
|
|
112 |
Â
'selector' => '.obfx-price',
|
113 |
Â
),
|
114 |
Â
),
|
115 |
-
'currency'
|
116 |
Â
'type' => 'text',
|
117 |
Â
'label' => esc_html__( 'Currency', 'themeisle-companion' ),
|
118 |
Â
'default' => '$',
|
@@ -130,7 +130,7 @@ FLBuilder::register_module(
|
|
130 |
Â
'after' => esc_html__( 'After', 'themeisle-companion' ),
|
131 |
Â
),
|
132 |
Â
),
|
133 |
-
'period'
|
134 |
Â
'type' => 'text',
|
135 |
Â
'label' => esc_html__( 'Period', 'themeisle-companion' ),
|
136 |
Â
'default' => esc_html__( '/month', 'themeisle-companion' ),
|
@@ -141,20 +141,20 @@ FLBuilder::register_module(
|
|
141 |
Â
),
|
142 |
Â
),
|
143 |
Â
),
|
144 |
-
'features'
|
145 |
-
'title'
|
146 |
Â
'fields' => array(
|
147 |
Â
'features' => array(
|
148 |
-
'multiple'
|
149 |
-
'type'
|
150 |
-
'label'
|
151 |
-
'form'
|
152 |
-
'preview_text'
|
153 |
Â
),
|
154 |
Â
),
|
155 |
Â
),
|
156 |
-
'button'
|
157 |
-
'title'
|
158 |
Â
'fields' => array(
|
159 |
Â
'text' => array(
|
160 |
Â
'type' => 'text',
|
@@ -166,18 +166,18 @@ FLBuilder::register_module(
|
|
166 |
Â
),
|
167 |
Â
),
|
168 |
Â
'link' => array(
|
169 |
-
'type'
|
170 |
Â
'label' => esc_html__( 'Button link', 'themeisle-companion' ),
|
171 |
Â
),
|
172 |
Â
),
|
173 |
Â
),
|
174 |
Â
'appearance' => array(
|
175 |
-
'title'
|
176 |
Â
'fields' => array(
|
177 |
-
'card_layout'
|
178 |
-
'type'
|
179 |
-
'label'
|
180 |
-
'default'
|
181 |
Â
),
|
182 |
Â
'text_position' => array(
|
183 |
Â
'type' => 'select',
|
@@ -185,7 +185,7 @@ FLBuilder::register_module(
|
|
185 |
Â
'default' => 'center',
|
186 |
Â
'options' => array(
|
187 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
188 |
-
'left'
|
189 |
Â
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
190 |
Â
),
|
191 |
Â
),
|
@@ -193,188 +193,188 @@ FLBuilder::register_module(
|
|
193 |
Â
),
|
194 |
Â
),
|
195 |
Â
),
|
196 |
-
'header_style'
|
197 |
-
'title'
|
198 |
Â
'sections' => array(
|
199 |
-
'header_padding'
|
200 |
Â
array(
|
201 |
-
'default'
|
202 |
-
'top'
|
203 |
Â
'bottom' => 15,
|
204 |
-
'left'
|
205 |
-
'right'
|
206 |
Â
),
|
207 |
-
'selector'
|
208 |
Â
'field_name_prefix' => '',
|
209 |
Â
)
|
210 |
Â
),
|
211 |
-
'colors'
|
212 |
Â
'title' => esc_html__( 'Colors', 'themeisle-companion' ),
|
213 |
Â
'fields' => array(
|
214 |
-
'title_color'
|
215 |
-
'type'
|
216 |
-
'label'
|
217 |
Â
'preview' => array(
|
218 |
-
'type'
|
219 |
Â
'rules' => array(
|
220 |
Â
array(
|
221 |
Â
'selector' => '.obfx-pricing-header *:first-child',
|
222 |
-
'property'
|
223 |
Â
),
|
224 |
Â
),
|
225 |
Â
),
|
226 |
Â
),
|
227 |
Â
'subtitle_color' => array(
|
228 |
-
'type'
|
229 |
-
'label'
|
230 |
Â
'preview' => array(
|
231 |
-
'type'
|
232 |
Â
'rules' => array(
|
233 |
Â
array(
|
234 |
Â
'selector' => '.obfx-pricing-header *:last-child',
|
235 |
-
'property'
|
236 |
Â
),
|
237 |
Â
),
|
238 |
Â
),
|
239 |
Â
),
|
240 |
Â
),
|
241 |
Â
),
|
242 |
-
'title_typography'
|
243 |
Â
array(
|
244 |
-
'title'
|
245 |
-
'prefix'
|
246 |
Â
'selector' => '.obfx-pricing-header *:first-child',
|
247 |
Â
)
|
248 |
Â
),
|
249 |
Â
'subtitle_typography' => themeisle_typography_settings(
|
250 |
Â
array(
|
251 |
-
'title'
|
252 |
-
'prefix'
|
253 |
Â
'selector' => '.obfx-pricing-header *:last-child',
|
254 |
Â
)
|
255 |
Â
),
|
256 |
-
'header_background'
|
257 |
-
'title'
|
258 |
Â
'fields' => array(
|
259 |
-
'bg_type'
|
260 |
Â
'type' => 'select',
|
261 |
Â
'label' => esc_html__( 'Type', 'themeisle-companion' ),
|
262 |
Â
'default' => 'color',
|
263 |
Â
'options' => array(
|
264 |
-
'color'
|
265 |
-
'image'
|
266 |
Â
'gradient' => esc_html__( 'Gradient', 'themeisle-companion' ),
|
267 |
Â
),
|
268 |
-
'toggle'
|
269 |
-
'color'
|
270 |
-
'fields' => array('header_bg_color'),
|
271 |
Â
),
|
272 |
-
'image'
|
273 |
-
'fields' => array('header_bg_image'),
|
274 |
Â
),
|
275 |
Â
'gradient' => array(
|
276 |
-
'fields' => array('gradient_color1', 'gradient_color2', 'gradient_orientation'),
|
277 |
Â
),
|
278 |
Â
),
|
279 |
Â
),
|
280 |
-
'header_bg_color'
|
281 |
-
'type'
|
282 |
-
'label'
|
283 |
-
'show_reset'
|
284 |
-
'preview'
|
285 |
-
'type'
|
286 |
Â
'rules' => array(
|
287 |
Â
array(
|
288 |
Â
'selector' => '.obfx-pricing-header',
|
289 |
-
'property'
|
290 |
Â
),
|
291 |
Â
),
|
292 |
Â
),
|
293 |
Â
),
|
294 |
-
'header_bg_image'
|
295 |
-
'type'
|
296 |
-
'label'
|
297 |
-
'show_remove'
|
298 |
Â
),
|
299 |
-
'gradient_color1'
|
300 |
-
'type'
|
301 |
-
'label'
|
302 |
-
'show_reset'
|
303 |
Â
),
|
304 |
-
'gradient_color2'
|
305 |
-
'type'
|
306 |
-
'label'
|
307 |
-
'show_reset'
|
308 |
Â
),
|
309 |
Â
'gradient_orientation' => array(
|
310 |
Â
'type' => 'select',
|
311 |
Â
'label' => esc_html__( 'Orientation', 'themeisle-companion' ),
|
312 |
Â
'default' => 'horizontal',
|
313 |
Â
'options' => array(
|
314 |
-
'horizontal'
|
315 |
-
'vertical'
|
316 |
Â
'diagonal_bottom' => esc_html__( 'Diagonal bottom', 'themeisle-companion' ),
|
317 |
-
'diagonal_top'
|
318 |
-
'radial'
|
319 |
Â
),
|
320 |
Â
),
|
321 |
Â
),
|
322 |
Â
),
|
323 |
Â
),
|
324 |
Â
),
|
325 |
-
'price_style'
|
326 |
-
'title'
|
327 |
Â
'sections' => array(
|
328 |
-
'price_padding'
|
329 |
Â
array(
|
330 |
-
'default'
|
331 |
-
'top'
|
332 |
Â
'bottom' => 15,
|
333 |
-
'left'
|
334 |
-
'right'
|
335 |
Â
),
|
336 |
-
'selector'
|
337 |
Â
'field_name_prefix' => 'price_',
|
338 |
Â
)
|
339 |
Â
),
|
340 |
-
'price_colors'
|
341 |
-
'title'
|
342 |
Â
'fields' => array(
|
343 |
-
'price_color'
|
344 |
-
'type'
|
345 |
-
'label'
|
346 |
-
'preview'
|
347 |
-
'type'
|
348 |
-
'rules'
|
349 |
Â
array(
|
350 |
-
'selector'
|
351 |
-
'property'
|
352 |
Â
),
|
353 |
Â
),
|
354 |
Â
),
|
355 |
Â
),
|
356 |
Â
'currency_color' => array(
|
357 |
-
'type'
|
358 |
-
'label'
|
359 |
-
'preview'
|
360 |
-
'type'
|
361 |
-
'rules'
|
362 |
Â
array(
|
363 |
-
'selector'
|
364 |
-
'property'
|
365 |
Â
),
|
366 |
Â
),
|
367 |
Â
),
|
368 |
Â
),
|
369 |
-
'period_color'
|
370 |
-
'type'
|
371 |
-
'label'
|
372 |
-
'preview'
|
373 |
-
'type'
|
374 |
-
'rules'
|
375 |
Â
array(
|
376 |
-
'selector'
|
377 |
-
'property'
|
378 |
Â
),
|
379 |
Â
),
|
380 |
Â
),
|
@@ -383,66 +383,66 @@ FLBuilder::register_module(
|
|
383 |
Â
),
|
384 |
Â
'price_typography' => themeisle_typography_settings(
|
385 |
Â
array(
|
386 |
-
'prefix'
|
387 |
-
'selector'
|
388 |
Â
'font_size_default' => 40,
|
389 |
Â
)
|
390 |
Â
),
|
391 |
Â
),
|
392 |
Â
),
|
393 |
Â
'features_style' => array(
|
394 |
-
'title'
|
395 |
Â
'sections' => array(
|
396 |
-
'features_padding'
|
397 |
Â
array(
|
398 |
-
'default'
|
399 |
-
'top'
|
400 |
Â
'bottom' => 15,
|
401 |
-
'left'
|
402 |
-
'right'
|
403 |
Â
),
|
404 |
-
'selector'
|
405 |
Â
'field_name_prefix' => 'features_',
|
406 |
Â
)
|
407 |
Â
),
|
408 |
-
'features_colors'
|
409 |
-
'title'
|
410 |
Â
'fields' => array(
|
411 |
-
'icon_color'
|
412 |
-
'type'
|
413 |
-
'label'
|
414 |
-
'preview'
|
415 |
-
'type'
|
416 |
-
'rules'
|
417 |
Â
array(
|
418 |
-
'selector'
|
419 |
-
'property'
|
420 |
Â
),
|
421 |
Â
),
|
422 |
Â
),
|
423 |
Â
),
|
424 |
-
'bold_color'
|
425 |
-
'type'
|
426 |
-
'label'
|
427 |
-
'preview'
|
428 |
-
'type'
|
429 |
-
'rules'
|
430 |
Â
array(
|
431 |
-
'selector'
|
432 |
-
'property'
|
433 |
Â
),
|
434 |
Â
),
|
435 |
Â
),
|
436 |
Â
),
|
437 |
Â
'feature_color' => array(
|
438 |
-
'type'
|
439 |
-
'label'
|
440 |
-
'preview'
|
441 |
-
'type'
|
442 |
-
'rules'
|
443 |
Â
array(
|
444 |
-
'selector'
|
445 |
-
'property'
|
446 |
Â
),
|
447 |
Â
),
|
448 |
Â
),
|
@@ -451,92 +451,92 @@ FLBuilder::register_module(
|
|
451 |
Â
),
|
452 |
Â
'feature_typography' => themeisle_typography_settings(
|
453 |
Â
array(
|
454 |
-
'prefix'
|
455 |
-
'selector'
|
456 |
Â
'font_size_default' => 17,
|
457 |
Â
)
|
458 |
Â
),
|
459 |
Â
),
|
460 |
Â
),
|
461 |
-
'button_style'
|
462 |
-
'title'
|
463 |
Â
'sections' => array(
|
464 |
-
'button_margins'
|
465 |
Â
array(
|
466 |
-
'default'
|
467 |
-
'top'
|
468 |
Â
'bottom' => 15,
|
469 |
-
'left'
|
470 |
-
'right'
|
471 |
Â
),
|
472 |
-
'selector'
|
473 |
Â
'field_name_prefix' => 'button_margin_',
|
474 |
-
'type'
|
475 |
Â
)
|
476 |
Â
),
|
477 |
-
'button_padding'
|
478 |
Â
array(
|
479 |
-
'default'
|
480 |
-
'top'
|
481 |
Â
'bottom' => 6,
|
482 |
-
'left'
|
483 |
-
'right'
|
484 |
Â
),
|
485 |
-
'selector'
|
486 |
Â
'field_name_prefix' => 'button_padding_',
|
487 |
Â
)
|
488 |
Â
),
|
489 |
-
'button_colors'
|
490 |
-
'title'
|
491 |
Â
'fields' => array(
|
492 |
-
'button_text_color'
|
493 |
-
'type'
|
494 |
-
'label'
|
495 |
-
'preview'
|
496 |
-
'type'
|
497 |
-
'rules'
|
498 |
Â
array(
|
499 |
-
'selector'
|
500 |
-
'property'
|
501 |
Â
),
|
502 |
Â
),
|
503 |
Â
),
|
504 |
Â
),
|
505 |
Â
'button_text_color_hover' => array(
|
506 |
-
'type'
|
507 |
-
'label'
|
508 |
-
'preview'
|
509 |
-
'type'
|
510 |
-
'rules'
|
511 |
Â
array(
|
512 |
-
'selector'
|
513 |
-
'property'
|
514 |
Â
),
|
515 |
Â
),
|
516 |
Â
),
|
517 |
Â
),
|
518 |
-
'button_bg_color'
|
519 |
-
'type'
|
520 |
-
'label'
|
521 |
-
'preview'
|
522 |
-
'type'
|
523 |
-
'rules'
|
524 |
Â
array(
|
525 |
-
'selector'
|
526 |
-
'property'
|
527 |
Â
),
|
528 |
Â
),
|
529 |
Â
),
|
530 |
Â
),
|
531 |
-
'button_bg_color_hover'
|
532 |
-
'type'
|
533 |
-
'label'
|
534 |
-
'preview'
|
535 |
-
'type'
|
536 |
-
'rules'
|
537 |
Â
array(
|
538 |
-
'selector'
|
539 |
-
'property'
|
540 |
Â
),
|
541 |
Â
),
|
542 |
Â
),
|
@@ -545,8 +545,8 @@ FLBuilder::register_module(
|
|
545 |
Â
),
|
546 |
Â
'button_typography' => themeisle_typography_settings(
|
547 |
Â
array(
|
548 |
-
'prefix'
|
549 |
-
'selector'
|
550 |
Â
'font_size_default' => 15,
|
551 |
Â
)
|
552 |
Â
),
|
@@ -561,24 +561,24 @@ FLBuilder::register_settings_form(
|
|
561 |
Â
array(
|
562 |
Â
'title' => __( 'Feature', 'themeisle-companion' ),
|
563 |
Â
'tabs' => array(
|
564 |
-
'general'
|
565 |
-
'title'
|
566 |
-
'sections'
|
567 |
-
'general'
|
568 |
-
'title'
|
569 |
-
'fields'
|
570 |
Â
'bold_text' => array(
|
571 |
Â
'type' => 'text',
|
572 |
Â
'label' => esc_html__( 'Bold text', 'themeisle-companion' ),
|
573 |
Â
),
|
574 |
-
'text'
|
575 |
Â
'type' => 'text',
|
576 |
Â
'label' => esc_html__( 'Text', 'themeisle-companion' ),
|
577 |
Â
),
|
578 |
-
'icon'
|
579 |
-
'type'
|
580 |
-
'label'
|
581 |
-
'show_remove'
|
582 |
Â
),
|
583 |
Â
),
|
584 |
Â
),
|
9 |
Â
$module_directory = $this->get_dir();
|
10 |
Â
|
11 |
Â
// Include common functions file.
|
12 |
+
require_once $module_directory . '/inc/common-functions.php';
|
13 |
Â
|
14 |
Â
// Include custom fields
|
15 |
+
require_once $module_directory . '/custom-fields/toggle-field/toggle_field.php';
|
16 |
Â
|
17 |
Â
/**
|
18 |
Â
* Class PricingTableModule
|
46 |
Â
FLBuilder::register_module(
|
47 |
Â
'PricingTableModule',
|
48 |
Â
array(
|
49 |
+
'content' => array(
|
50 |
+
'title' => esc_html__( 'Content', 'themeisle-companion' ), // Tab title
|
51 |
Â
'sections' => array(
|
52 |
+
'header' => array(
|
53 |
Â
'title' => esc_html__( 'Plan Header', 'themeisle-companion' ),
|
54 |
Â
'fields' => array(
|
55 |
+
'plan_title' => array(
|
56 |
Â
'type' => 'text',
|
57 |
Â
'label' => esc_html__( 'Title', 'themeisle-companion' ),
|
58 |
Â
'default' => esc_html__( 'Plan title', 'themeisle-companion' ),
|
61 |
Â
'selector' => '.obfx-plan-title',
|
62 |
Â
),
|
63 |
Â
),
|
64 |
+
'plan_title_tag' => array(
|
65 |
Â
'type' => 'select',
|
66 |
Â
'label' => esc_html__( 'Title tag', 'themeisle-companion' ),
|
67 |
Â
'default' => 'h2',
|
75 |
Â
'p' => esc_html__( 'p', 'themeisle-companion' ),
|
76 |
Â
),
|
77 |
Â
),
|
78 |
+
'plan_subtitle' => array(
|
79 |
Â
'type' => 'text',
|
80 |
Â
'label' => esc_html__( 'Subtitle', 'themeisle-companion' ),
|
81 |
Â
'default' => esc_html__( 'Plan subtitle', 'themeisle-companion' ),
|
100 |
Â
),
|
101 |
Â
),
|
102 |
Â
),
|
103 |
+
'price' => array(
|
104 |
Â
'title' => esc_html__( 'Price Tag', 'themeisle-companion' ),
|
105 |
Â
'fields' => array(
|
106 |
+
'price' => array(
|
107 |
Â
'type' => 'text',
|
108 |
Â
'label' => esc_html__( 'Price', 'themeisle-companion' ),
|
109 |
Â
'default' => '50',
|
112 |
Â
'selector' => '.obfx-price',
|
113 |
Â
),
|
114 |
Â
),
|
115 |
+
'currency' => array(
|
116 |
Â
'type' => 'text',
|
117 |
Â
'label' => esc_html__( 'Currency', 'themeisle-companion' ),
|
118 |
Â
'default' => '$',
|
130 |
Â
'after' => esc_html__( 'After', 'themeisle-companion' ),
|
131 |
Â
),
|
132 |
Â
),
|
133 |
+
'period' => array(
|
134 |
Â
'type' => 'text',
|
135 |
Â
'label' => esc_html__( 'Period', 'themeisle-companion' ),
|
136 |
Â
'default' => esc_html__( '/month', 'themeisle-companion' ),
|
141 |
Â
),
|
142 |
Â
),
|
143 |
Â
),
|
144 |
+
'features' => array(
|
145 |
+
'title' => esc_html__( 'Features list', 'themeisle-companion' ),
|
146 |
Â
'fields' => array(
|
147 |
Â
'features' => array(
|
148 |
+
'multiple' => true,
|
149 |
+
'type' => 'form',
|
150 |
+
'label' => esc_html__( 'Feature', 'themeisle-companion' ),
|
151 |
+
'form' => 'feature_field', // ID of a registered form.
|
152 |
+
'preview_text' => 'text', // ID of a field to use for the preview text.
|
153 |
Â
),
|
154 |
Â
),
|
155 |
Â
),
|
156 |
+
'button' => array(
|
157 |
+
'title' => esc_html__( 'Button', 'themeisle-companion' ),
|
158 |
Â
'fields' => array(
|
159 |
Â
'text' => array(
|
160 |
Â
'type' => 'text',
|
166 |
Â
),
|
167 |
Â
),
|
168 |
Â
'link' => array(
|
169 |
+
'type' => 'link',
|
170 |
Â
'label' => esc_html__( 'Button link', 'themeisle-companion' ),
|
171 |
Â
),
|
172 |
Â
),
|
173 |
Â
),
|
174 |
Â
'appearance' => array(
|
175 |
+
'title' => esc_html__( 'Appearance', 'themeisle-companion' ),
|
176 |
Â
'fields' => array(
|
177 |
+
'card_layout' => array(
|
178 |
+
'type' => 'obfx_toggle',
|
179 |
+
'label' => esc_html__( 'Card layout', 'themeisle-companion' ),
|
180 |
+
'default' => 'yes',
|
181 |
Â
),
|
182 |
Â
'text_position' => array(
|
183 |
Â
'type' => 'select',
|
185 |
Â
'default' => 'center',
|
186 |
Â
'options' => array(
|
187 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
188 |
+
'left' => esc_html__( 'Left', 'themeisle-companion' ),
|
189 |
Â
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
190 |
Â
),
|
191 |
Â
),
|
193 |
Â
),
|
194 |
Â
),
|
195 |
Â
),
|
196 |
+
'header_style' => array(
|
197 |
+
'title' => esc_html__( 'Header Style', 'themeisle-companion' ),
|
198 |
Â
'sections' => array(
|
199 |
+
'header_padding' => themeisle_four_fields_control(
|
200 |
Â
array(
|
201 |
+
'default' => array(
|
202 |
+
'top' => 15,
|
203 |
Â
'bottom' => 15,
|
204 |
+
'left' => 0,
|
205 |
+
'right' => 0,
|
206 |
Â
),
|
207 |
+
'selector' => '.obfx-pricing-header',
|
208 |
Â
'field_name_prefix' => '',
|
209 |
Â
)
|
210 |
Â
),
|
211 |
+
'colors' => array(
|
212 |
Â
'title' => esc_html__( 'Colors', 'themeisle-companion' ),
|
213 |
Â
'fields' => array(
|
214 |
+
'title_color' => array(
|
215 |
+
'type' => 'color',
|
216 |
+
'label' => esc_html__( 'Title color', 'themeisle-companion' ),
|
217 |
Â
'preview' => array(
|
218 |
+
'type' => 'css',
|
219 |
Â
'rules' => array(
|
220 |
Â
array(
|
221 |
Â
'selector' => '.obfx-pricing-header *:first-child',
|
222 |
+
'property' => 'color',
|
223 |
Â
),
|
224 |
Â
),
|
225 |
Â
),
|
226 |
Â
),
|
227 |
Â
'subtitle_color' => array(
|
228 |
+
'type' => 'color',
|
229 |
+
'label' => esc_html__( 'Subtitle color', 'themeisle-companion' ),
|
230 |
Â
'preview' => array(
|
231 |
+
'type' => 'css',
|
232 |
Â
'rules' => array(
|
233 |
Â
array(
|
234 |
Â
'selector' => '.obfx-pricing-header *:last-child',
|
235 |
+
'property' => 'color',
|
236 |
Â
),
|
237 |
Â
),
|
238 |
Â
),
|
239 |
Â
),
|
240 |
Â
),
|
241 |
Â
),
|
242 |
+
'title_typography' => themeisle_typography_settings(
|
243 |
Â
array(
|
244 |
+
'title' => esc_html__( 'Title typography', 'themeisle-companion' ),
|
245 |
+
'prefix' => 'title_',
|
246 |
Â
'selector' => '.obfx-pricing-header *:first-child',
|
247 |
Â
)
|
248 |
Â
),
|
249 |
Â
'subtitle_typography' => themeisle_typography_settings(
|
250 |
Â
array(
|
251 |
+
'title' => esc_html__( 'Subtitle typography', 'themeisle-companion' ),
|
252 |
+
'prefix' => 'subtitle_',
|
253 |
Â
'selector' => '.obfx-pricing-header *:last-child',
|
254 |
Â
)
|
255 |
Â
),
|
256 |
+
'header_background' => array(
|
257 |
+
'title' => esc_html__( 'Background', 'themeisle-companion' ),
|
258 |
Â
'fields' => array(
|
259 |
+
'bg_type' => array(
|
260 |
Â
'type' => 'select',
|
261 |
Â
'label' => esc_html__( 'Type', 'themeisle-companion' ),
|
262 |
Â
'default' => 'color',
|
263 |
Â
'options' => array(
|
264 |
+
'color' => esc_html__( 'Color', 'themeisle-companion' ),
|
265 |
+
'image' => esc_html__( 'Background', 'themeisle-companion' ),
|
266 |
Â
'gradient' => esc_html__( 'Gradient', 'themeisle-companion' ),
|
267 |
Â
),
|
268 |
+
'toggle' => array(
|
269 |
+
'color' => array(
|
270 |
+
'fields' => array( 'header_bg_color' ),
|
271 |
Â
),
|
272 |
+
'image' => array(
|
273 |
+
'fields' => array( 'header_bg_image' ),
|
274 |
Â
),
|
275 |
Â
'gradient' => array(
|
276 |
+
'fields' => array( 'gradient_color1', 'gradient_color2', 'gradient_orientation' ),
|
277 |
Â
),
|
278 |
Â
),
|
279 |
Â
),
|
280 |
+
'header_bg_color' => array(
|
281 |
+
'type' => 'color',
|
282 |
+
'label' => esc_html__( 'Background color', 'themeisle-companion' ),
|
283 |
+
'show_reset' => true,
|
284 |
+
'preview' => array(
|
285 |
+
'type' => 'css',
|
286 |
Â
'rules' => array(
|
287 |
Â
array(
|
288 |
Â
'selector' => '.obfx-pricing-header',
|
289 |
+
'property' => 'background-color',
|
290 |
Â
),
|
291 |
Â
),
|
292 |
Â
),
|
293 |
Â
),
|
294 |
+
'header_bg_image' => array(
|
295 |
+
'type' => 'photo',
|
296 |
+
'label' => esc_html__( 'Photo Field', 'themeisle-companion' ),
|
297 |
+
'show_remove' => true,
|
298 |
Â
),
|
299 |
+
'gradient_color1' => array(
|
300 |
+
'type' => 'color',
|
301 |
+
'label' => esc_html__( 'Gradient color 1', 'themeisle-companion' ),
|
302 |
+
'show_reset' => true,
|
303 |
Â
),
|
304 |
+
'gradient_color2' => array(
|
305 |
+
'type' => 'color',
|
306 |
+
'label' => esc_html__( 'Gradient color 2', 'themeisle-companion' ),
|
307 |
+
'show_reset' => true,
|
308 |
Â
),
|
309 |
Â
'gradient_orientation' => array(
|
310 |
Â
'type' => 'select',
|
311 |
Â
'label' => esc_html__( 'Orientation', 'themeisle-companion' ),
|
312 |
Â
'default' => 'horizontal',
|
313 |
Â
'options' => array(
|
314 |
+
'horizontal' => esc_html__( 'Horizontal', 'themeisle-companion' ),
|
315 |
+
'vertical' => esc_html__( 'Vertical', 'themeisle-companion' ),
|
316 |
Â
'diagonal_bottom' => esc_html__( 'Diagonal bottom', 'themeisle-companion' ),
|
317 |
+
'diagonal_top' => esc_html__( 'Diagonal top', 'themeisle-companion' ),
|
318 |
+
'radial' => esc_html__( 'Radial', 'themeisle-companion' ),
|
319 |
Â
),
|
320 |
Â
),
|
321 |
Â
),
|
322 |
Â
),
|
323 |
Â
),
|
324 |
Â
),
|
325 |
+
'price_style' => array(
|
326 |
+
'title' => esc_html__( 'Price Style', 'themeisle-companion' ),
|
327 |
Â
'sections' => array(
|
328 |
+
'price_padding' => themeisle_four_fields_control(
|
329 |
Â
array(
|
330 |
+
'default' => array(
|
331 |
+
'top' => 15,
|
332 |
Â
'bottom' => 15,
|
333 |
+
'left' => 0,
|
334 |
+
'right' => 0,
|
335 |
Â
),
|
336 |
+
'selector' => '.obfx-pricing-price',
|
337 |
Â
'field_name_prefix' => 'price_',
|
338 |
Â
)
|
339 |
Â
),
|
340 |
+
'price_colors' => array(
|
341 |
+
'title' => esc_html__( 'Colors', 'themeisle-companion' ),
|
342 |
Â
'fields' => array(
|
343 |
+
'price_color' => array(
|
344 |
+
'type' => 'color',
|
345 |
+
'label' => esc_html__( 'Price color', 'themeisle-companion' ),
|
346 |
+
'preview' => array(
|
347 |
+
'type' => 'css',
|
348 |
+
'rules' => array(
|
349 |
Â
array(
|
350 |
+
'selector' => '.obfx-price',
|
351 |
+
'property' => 'color',
|
352 |
Â
),
|
353 |
Â
),
|
354 |
Â
),
|
355 |
Â
),
|
356 |
Â
'currency_color' => array(
|
357 |
+
'type' => 'color',
|
358 |
+
'label' => esc_html__( 'Currency color', 'themeisle-companion' ),
|
359 |
+
'preview' => array(
|
360 |
+
'type' => 'css',
|
361 |
+
'rules' => array(
|
362 |
Â
array(
|
363 |
+
'selector' => '.obfx-pricing-price sup',
|
364 |
+
'property' => 'color',
|
365 |
Â
),
|
366 |
Â
),
|
367 |
Â
),
|
368 |
Â
),
|
369 |
+
'period_color' => array(
|
370 |
+
'type' => 'color',
|
371 |
+
'label' => esc_html__( 'Period color', 'themeisle-companion' ),
|
372 |
+
'preview' => array(
|
373 |
+
'type' => 'css',
|
374 |
+
'rules' => array(
|
375 |
Â
array(
|
376 |
+
'selector' => '.obfx-period',
|
377 |
+
'property' => 'color',
|
378 |
Â
),
|
379 |
Â
),
|
380 |
Â
),
|
383 |
Â
),
|
384 |
Â
'price_typography' => themeisle_typography_settings(
|
385 |
Â
array(
|
386 |
+
'prefix' => 'price_',
|
387 |
+
'selector' => '.obfx-pricing-price',
|
388 |
Â
'font_size_default' => 40,
|
389 |
Â
)
|
390 |
Â
),
|
391 |
Â
),
|
392 |
Â
),
|
393 |
Â
'features_style' => array(
|
394 |
+
'title' => esc_html__( 'Features Style', 'themeisle-companion' ),
|
395 |
Â
'sections' => array(
|
396 |
+
'features_padding' => themeisle_four_fields_control(
|
397 |
Â
array(
|
398 |
+
'default' => array(
|
399 |
+
'top' => 15,
|
400 |
Â
'bottom' => 15,
|
401 |
+
'left' => 0,
|
402 |
+
'right' => 0,
|
403 |
Â
),
|
404 |
+
'selector' => '.obfx-pricing-price',
|
405 |
Â
'field_name_prefix' => 'features_',
|
406 |
Â
)
|
407 |
Â
),
|
408 |
+
'features_colors' => array(
|
409 |
+
'title' => esc_html__( 'Colors', 'themeisle-companion' ),
|
410 |
Â
'fields' => array(
|
411 |
+
'icon_color' => array(
|
412 |
+
'type' => 'color',
|
413 |
+
'label' => esc_html__( 'Icon color', 'themeisle-companion' ),
|
414 |
+
'preview' => array(
|
415 |
+
'type' => 'css',
|
416 |
+
'rules' => array(
|
417 |
Â
array(
|
418 |
+
'selector' => '.obfx-pricing-feature-content i',
|
419 |
+
'property' => 'color',
|
420 |
Â
),
|
421 |
Â
),
|
422 |
Â
),
|
423 |
Â
),
|
424 |
+
'bold_color' => array(
|
425 |
+
'type' => 'color',
|
426 |
+
'label' => esc_html__( 'Bold text color', 'themeisle-companion' ),
|
427 |
+
'preview' => array(
|
428 |
+
'type' => 'css',
|
429 |
+
'rules' => array(
|
430 |
Â
array(
|
431 |
+
'selector' => '.obfx-pricing-feature-content strong',
|
432 |
+
'property' => 'color',
|
433 |
Â
),
|
434 |
Â
),
|
435 |
Â
),
|
436 |
Â
),
|
437 |
Â
'feature_color' => array(
|
438 |
+
'type' => 'color',
|
439 |
+
'label' => esc_html__( 'Text color', 'themeisle-companion' ),
|
440 |
+
'preview' => array(
|
441 |
+
'type' => 'css',
|
442 |
+
'rules' => array(
|
443 |
Â
array(
|
444 |
+
'selector' => '.obfx-pricing-feature-content:not(i):not(strong)',
|
445 |
+
'property' => 'color',
|
446 |
Â
),
|
447 |
Â
),
|
448 |
Â
),
|
451 |
Â
),
|
452 |
Â
'feature_typography' => themeisle_typography_settings(
|
453 |
Â
array(
|
454 |
+
'prefix' => 'feature_',
|
455 |
+
'selector' => '.obfx-pricing-feature-content *',
|
456 |
Â
'font_size_default' => 17,
|
457 |
Â
)
|
458 |
Â
),
|
459 |
Â
),
|
460 |
Â
),
|
461 |
+
'button_style' => array(
|
462 |
+
'title' => esc_html__( 'Button Style', 'themeisle-companion' ),
|
463 |
Â
'sections' => array(
|
464 |
+
'button_margins' => themeisle_four_fields_control(
|
465 |
Â
array(
|
466 |
+
'default' => array(
|
467 |
+
'top' => 15,
|
468 |
Â
'bottom' => 15,
|
469 |
+
'left' => 0,
|
470 |
+
'right' => 0,
|
471 |
Â
),
|
472 |
+
'selector' => '.obfx-plan-bottom',
|
473 |
Â
'field_name_prefix' => 'button_margin_',
|
474 |
+
'type' => 'margin',
|
475 |
Â
)
|
476 |
Â
),
|
477 |
+
'button_padding' => themeisle_four_fields_control(
|
478 |
Â
array(
|
479 |
+
'default' => array(
|
480 |
+
'top' => 6,
|
481 |
Â
'bottom' => 6,
|
482 |
+
'left' => 12,
|
483 |
+
'right' => 12,
|
484 |
Â
),
|
485 |
+
'selector' => '.obfx-plan-button',
|
486 |
Â
'field_name_prefix' => 'button_padding_',
|
487 |
Â
)
|
488 |
Â
),
|
489 |
+
'button_colors' => array(
|
490 |
+
'title' => esc_html__( 'Colors', 'themeisle-companion' ),
|
491 |
Â
'fields' => array(
|
492 |
+
'button_text_color' => array(
|
493 |
+
'type' => 'color',
|
494 |
+
'label' => esc_html__( 'Text', 'themeisle-companion' ),
|
495 |
+
'preview' => array(
|
496 |
+
'type' => 'css',
|
497 |
+
'rules' => array(
|
498 |
Â
array(
|
499 |
+
'selector' => '.obfx-plan-button',
|
500 |
+
'property' => 'color',
|
501 |
Â
),
|
502 |
Â
),
|
503 |
Â
),
|
504 |
Â
),
|
505 |
Â
'button_text_color_hover' => array(
|
506 |
+
'type' => 'color',
|
507 |
+
'label' => esc_html__( 'Text on hover', 'themeisle-companion' ),
|
508 |
+
'preview' => array(
|
509 |
+
'type' => 'css',
|
510 |
+
'rules' => array(
|
511 |
Â
array(
|
512 |
+
'selector' => '.obfx-plan-button:hover',
|
513 |
+
'property' => 'color',
|
514 |
Â
),
|
515 |
Â
),
|
516 |
Â
),
|
517 |
Â
),
|
518 |
+
'button_bg_color' => array(
|
519 |
+
'type' => 'color',
|
520 |
+
'label' => esc_html__( 'Button background', 'themeisle-companion' ),
|
521 |
+
'preview' => array(
|
522 |
+
'type' => 'css',
|
523 |
+
'rules' => array(
|
524 |
Â
array(
|
525 |
+
'selector' => '.obfx-plan-button',
|
526 |
+
'property' => 'background-color',
|
527 |
Â
),
|
528 |
Â
),
|
529 |
Â
),
|
530 |
Â
),
|
531 |
+
'button_bg_color_hover' => array(
|
532 |
+
'type' => 'color',
|
533 |
+
'label' => esc_html__( 'Button background on hover', 'themeisle-companion' ),
|
534 |
+
'preview' => array(
|
535 |
+
'type' => 'css',
|
536 |
+
'rules' => array(
|
537 |
Â
array(
|
538 |
+
'selector' => '.obfx-plan-button:hover',
|
539 |
+
'property' => 'background-color',
|
540 |
Â
),
|
541 |
Â
),
|
542 |
Â
),
|
545 |
Â
),
|
546 |
Â
'button_typography' => themeisle_typography_settings(
|
547 |
Â
array(
|
548 |
+
'prefix' => 'button_',
|
549 |
+
'selector' => '.obfx-plan-button',
|
550 |
Â
'font_size_default' => 15,
|
551 |
Â
)
|
552 |
Â
),
|
561 |
Â
array(
|
562 |
Â
'title' => __( 'Feature', 'themeisle-companion' ),
|
563 |
Â
'tabs' => array(
|
564 |
+
'general' => array(
|
565 |
+
'title' => esc_html__( 'General', 'themeisle-companion' ),
|
566 |
+
'sections' => array(
|
567 |
+
'general' => array(
|
568 |
+
'title' => '',
|
569 |
+
'fields' => array(
|
570 |
Â
'bold_text' => array(
|
571 |
Â
'type' => 'text',
|
572 |
Â
'label' => esc_html__( 'Bold text', 'themeisle-companion' ),
|
573 |
Â
),
|
574 |
+
'text' => array(
|
575 |
Â
'type' => 'text',
|
576 |
Â
'label' => esc_html__( 'Text', 'themeisle-companion' ),
|
577 |
Â
),
|
578 |
+
'icon' => array(
|
579 |
+
'type' => 'icon',
|
580 |
+
'label' => esc_html__( 'Icon', 'themeisle-companion' ),
|
581 |
+
'show_remove' => true,
|
582 |
Â
),
|
583 |
Â
),
|
584 |
Â
),
|
obfx_modules/beaver-widgets/modules/services/includes/frontend.css.php
CHANGED
@@ -1,124 +1,124 @@
|
|
1 |
Â
<?php
|
2 |
-
$columns
|
3 |
Â
$column_width = 100 / (int) $columns;
|
4 |
Â
|
5 |
-
echo '.fl-node-' . $id . ' .obfx-service-wrapper{';
|
6 |
Â
echo 'display:inline-block;';
|
7 |
Â
if ( ! empty( $column_width ) ) {
|
8 |
-
echo 'width:' . $column_width . '%;';
|
9 |
Â
}
|
10 |
Â
echo 'padding: 0 10px;';
|
11 |
Â
echo '}';
|
12 |
Â
|
13 |
Â
$bg_color = $settings->background_color;
|
14 |
-
echo '.fl-node-' . $id . ' .obfx-service{';
|
15 |
Â
if ( ! empty( $bg_color ) ) {
|
16 |
-
echo 'background:#' . $bg_color . ';';
|
17 |
Â
}
|
18 |
Â
echo '}';
|
19 |
Â
|
20 |
Â
|
21 |
-
$icon_size
|
22 |
-
$padding_top
|
23 |
Â
$padding_bottom = $settings->icon_bottom;
|
24 |
-
$padding_left
|
25 |
-
$padding_right
|
26 |
-
$icon_position
|
27 |
Â
|
28 |
-
echo '.fl-node-' . $id . ' .obfx-service-icon{';
|
29 |
Â
if ( ! empty( $icon_size ) ) {
|
30 |
-
echo 'font-size:' . $icon_size . 'px;';
|
31 |
Â
}
|
32 |
Â
if ( ! empty( $padding_top ) ) {
|
33 |
-
echo 'padding-top:' . $padding_top . 'px;';
|
34 |
Â
}
|
35 |
Â
if ( ! empty( $padding_bottom ) ) {
|
36 |
-
echo 'padding-bottom:' . $padding_bottom . 'px;';
|
37 |
Â
}
|
38 |
Â
if ( ! empty( $padding_left ) ) {
|
39 |
-
echo 'padding-left:' . $padding_left . 'px;';
|
40 |
Â
}
|
41 |
Â
if ( ! empty( $padding_right ) ) {
|
42 |
-
echo 'padding-right:' . $padding_right . 'px;';
|
43 |
Â
}
|
44 |
Â
if ( ! empty( $icon_position ) && $icon_position !== 'center' ) {
|
45 |
-
echo 'float:' . $icon_position . ';';
|
46 |
Â
}
|
47 |
Â
|
48 |
Â
echo '}';
|
49 |
Â
|
50 |
Â
|
51 |
-
$title_color
|
52 |
-
$title_size
|
53 |
-
$font_family
|
54 |
-
$font_weight
|
55 |
-
$font_style
|
56 |
-
$transform
|
57 |
-
$line_height
|
58 |
Â
$letter_spacing = $settings->title_letter_spacing;
|
59 |
-
echo '.fl-node-' . $id . ' .obfx-service-title{';
|
60 |
Â
if ( ! empty( $title_color ) ) {
|
61 |
-
echo 'color: #' . $title_color . ';';
|
62 |
Â
}
|
63 |
Â
if ( ! empty( $title_size ) ) {
|
64 |
-
echo 'font-size:' . $title_size . 'px;';
|
65 |
Â
}
|
66 |
Â
if ( ! empty( $font_family ) ) {
|
67 |
-
echo 'font-family:' . $font_family . ';';
|
68 |
Â
}
|
69 |
Â
if ( ! empty( $font_weight ) ) {
|
70 |
-
echo 'font-weight:' . $font_weight . ';';
|
71 |
Â
}
|
72 |
Â
if ( ! empty( $font_style ) ) {
|
73 |
-
echo 'font-style:' . $font_style . ';';
|
74 |
Â
}
|
75 |
Â
if ( ! empty( $transform ) ) {
|
76 |
-
echo 'text-transform:' . $transform . ';';
|
77 |
Â
}
|
78 |
Â
if ( ! empty( $line_height ) ) {
|
79 |
-
echo 'line-height:' . $line_height . 'px;';
|
80 |
Â
}
|
81 |
Â
if ( ! empty( $letter_spacing ) ) {
|
82 |
-
echo 'letter-spacing:' . $letter_spacing . 'px;';
|
83 |
Â
}
|
84 |
Â
echo '}';
|
85 |
Â
|
86 |
Â
|
87 |
-
$content_color
|
88 |
-
$content_size
|
89 |
-
$font_family
|
90 |
-
$font_weight
|
91 |
-
$font_style
|
92 |
-
$transform
|
93 |
-
$line_height
|
94 |
-
$alignment
|
95 |
Â
$letter_spacing = $settings->content_letter_spacing;
|
96 |
-
echo '.fl-node-' . $id . ' .obfx-service-content{';
|
97 |
Â
if ( ! empty( $content_color ) ) {
|
98 |
-
echo 'color: #' . $content_color . ';';
|
99 |
Â
}
|
100 |
Â
if ( ! empty( $content_size ) ) {
|
101 |
-
echo 'font-size:' . $content_size . 'px;';
|
102 |
Â
}
|
103 |
Â
if ( ! empty( $font_family ) ) {
|
104 |
-
echo 'font-family:' . $font_family . ';';
|
105 |
Â
}
|
106 |
Â
if ( ! empty( $font_weight ) ) {
|
107 |
-
echo 'font-weight:' . $font_weight . ';';
|
108 |
Â
}
|
109 |
Â
if ( ! empty( $font_style ) ) {
|
110 |
-
echo 'font-style:' . $font_style . ';';
|
111 |
Â
}
|
112 |
Â
if ( ! empty( $transform ) ) {
|
113 |
-
echo 'text-transform:' . $transform . ';';
|
114 |
Â
}
|
115 |
Â
if ( ! empty( $line_height ) ) {
|
116 |
-
echo 'line-height:' . $line_height . 'px;';
|
117 |
Â
}
|
118 |
Â
if ( ! empty( $alignment ) ) {
|
119 |
-
echo 'text-align:' . $alignment . ';';
|
120 |
Â
}
|
121 |
Â
if ( ! empty( $letter_spacing ) ) {
|
122 |
-
echo 'letter-spacing:' . $letter_spacing . 'px;';
|
123 |
Â
}
|
124 |
Â
echo '}';
|
1 |
Â
<?php
|
2 |
+
$columns = $settings->column_number;
|
3 |
Â
$column_width = 100 / (int) $columns;
|
4 |
Â
|
5 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-service-wrapper{';
|
6 |
Â
echo 'display:inline-block;';
|
7 |
Â
if ( ! empty( $column_width ) ) {
|
8 |
+
echo 'width:' . esc_attr( $column_width ) . '%;';
|
9 |
Â
}
|
10 |
Â
echo 'padding: 0 10px;';
|
11 |
Â
echo '}';
|
12 |
Â
|
13 |
Â
$bg_color = $settings->background_color;
|
14 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-service{';
|
15 |
Â
if ( ! empty( $bg_color ) ) {
|
16 |
+
echo 'background:#' . esc_attr( $bg_color ) . ';';
|
17 |
Â
}
|
18 |
Â
echo '}';
|
19 |
Â
|
20 |
Â
|
21 |
+
$icon_size = $settings->icon_size;
|
22 |
+
$padding_top = $settings->icon_top;
|
23 |
Â
$padding_bottom = $settings->icon_bottom;
|
24 |
+
$padding_left = $settings->icon_left;
|
25 |
+
$padding_right = $settings->icon_right;
|
26 |
+
$icon_position = $settings->icon_position;
|
27 |
Â
|
28 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-service-icon{';
|
29 |
Â
if ( ! empty( $icon_size ) ) {
|
30 |
+
echo 'font-size:' . esc_attr( $icon_size ) . 'px;';
|
31 |
Â
}
|
32 |
Â
if ( ! empty( $padding_top ) ) {
|
33 |
+
echo 'padding-top:' . esc_attr( $padding_top ) . 'px;';
|
34 |
Â
}
|
35 |
Â
if ( ! empty( $padding_bottom ) ) {
|
36 |
+
echo 'padding-bottom:' . esc_attr( $padding_bottom ) . 'px;';
|
37 |
Â
}
|
38 |
Â
if ( ! empty( $padding_left ) ) {
|
39 |
+
echo 'padding-left:' . esc_attr( $padding_left ) . 'px;';
|
40 |
Â
}
|
41 |
Â
if ( ! empty( $padding_right ) ) {
|
42 |
+
echo 'padding-right:' . esc_attr( $padding_right ) . 'px;';
|
43 |
Â
}
|
44 |
Â
if ( ! empty( $icon_position ) && $icon_position !== 'center' ) {
|
45 |
+
echo 'float:' . esc_attr( $icon_position ) . ';';
|
46 |
Â
}
|
47 |
Â
|
48 |
Â
echo '}';
|
49 |
Â
|
50 |
Â
|
51 |
+
$title_color = $settings->title_color;
|
52 |
+
$title_size = $settings->title_font_size;
|
53 |
+
$font_family = $settings->title_font_family['family'];
|
54 |
+
$font_weight = $settings->title_font_family['weight'];
|
55 |
+
$font_style = $settings->title_font_style;
|
56 |
+
$transform = $settings->title_transform;
|
57 |
+
$line_height = $settings->title_line_height;
|
58 |
Â
$letter_spacing = $settings->title_letter_spacing;
|
59 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-service-title{';
|
60 |
Â
if ( ! empty( $title_color ) ) {
|
61 |
+
echo 'color: #' . esc_attr( $title_color ) . ';';
|
62 |
Â
}
|
63 |
Â
if ( ! empty( $title_size ) ) {
|
64 |
+
echo 'font-size:' . esc_attr( $title_size ) . 'px;';
|
65 |
Â
}
|
66 |
Â
if ( ! empty( $font_family ) ) {
|
67 |
+
echo 'font-family:' . esc_attr( $font_family ) . ';';
|
68 |
Â
}
|
69 |
Â
if ( ! empty( $font_weight ) ) {
|
70 |
+
echo 'font-weight:' . esc_attr( $font_weight ) . ';';
|
71 |
Â
}
|
72 |
Â
if ( ! empty( $font_style ) ) {
|
73 |
+
echo 'font-style:' . esc_attr( $font_style ) . ';';
|
74 |
Â
}
|
75 |
Â
if ( ! empty( $transform ) ) {
|
76 |
+
echo 'text-transform:' . esc_attr( $transform ) . ';';
|
77 |
Â
}
|
78 |
Â
if ( ! empty( $line_height ) ) {
|
79 |
+
echo 'line-height:' . esc_attr( $line_height ) . 'px;';
|
80 |
Â
}
|
81 |
Â
if ( ! empty( $letter_spacing ) ) {
|
82 |
+
echo 'letter-spacing:' . esc_attr( $letter_spacing ) . 'px;';
|
83 |
Â
}
|
84 |
Â
echo '}';
|
85 |
Â
|
86 |
Â
|
87 |
+
$content_color = $settings->content_color;
|
88 |
+
$content_size = $settings->content_font_size;
|
89 |
+
$font_family = $settings->content_font_family['family'];
|
90 |
+
$font_weight = $settings->content_font_family['weight'];
|
91 |
+
$font_style = $settings->content_font_style;
|
92 |
+
$transform = $settings->content_transform;
|
93 |
+
$line_height = $settings->content_line_height;
|
94 |
+
$alignment = $settings->content_alignment;
|
95 |
Â
$letter_spacing = $settings->content_letter_spacing;
|
96 |
+
echo '.fl-node-' . esc_attr( $id ) . ' .obfx-service-content{';
|
97 |
Â
if ( ! empty( $content_color ) ) {
|
98 |
+
echo 'color: #' . esc_attr( $content_color ) . ';';
|
99 |
Â
}
|
100 |
Â
if ( ! empty( $content_size ) ) {
|
101 |
+
echo 'font-size:' . esc_attr( $content_size ) . 'px;';
|
102 |
Â
}
|
103 |
Â
if ( ! empty( $font_family ) ) {
|
104 |
+
echo 'font-family:' . esc_attr( $font_family ) . ';';
|
105 |
Â
}
|
106 |
Â
if ( ! empty( $font_weight ) ) {
|
107 |
+
echo 'font-weight:' . esc_attr( $font_weight ) . ';';
|
108 |
Â
}
|
109 |
Â
if ( ! empty( $font_style ) ) {
|
110 |
+
echo 'font-style:' . esc_attr( $font_style ) . ';';
|
111 |
Â
}
|
112 |
Â
if ( ! empty( $transform ) ) {
|
113 |
+
echo 'text-transform:' . esc_attr( $transform ) . ';';
|
114 |
Â
}
|
115 |
Â
if ( ! empty( $line_height ) ) {
|
116 |
+
echo 'line-height:' . esc_attr( $line_height ) . 'px;';
|
117 |
Â
}
|
118 |
Â
if ( ! empty( $alignment ) ) {
|
119 |
+
echo 'text-align:' . esc_attr( $alignment ) . ';';
|
120 |
Â
}
|
121 |
Â
if ( ! empty( $letter_spacing ) ) {
|
122 |
+
echo 'letter-spacing:' . esc_attr( $letter_spacing ) . 'px;';
|
123 |
Â
}
|
124 |
Â
echo '}';
|
obfx_modules/beaver-widgets/modules/services/includes/frontend.php
CHANGED
@@ -7,20 +7,20 @@
|
|
7 |
Â
* $settings The module's settings.
|
8 |
Â
*/
|
9 |
Â
|
10 |
-
$columns
|
11 |
-
$services
|
12 |
-
$services_nb
|
13 |
-
$card_layout
|
14 |
Â
$container_class = $card_layout === 'yes' ? 'obfx-card obfx-service' : 'obfx-service';
|
15 |
Â
if ( ! empty( $columns ) ) {
|
16 |
Â
echo '<div class="obfx-services-section">';
|
17 |
Â
foreach ( $services as $service ) {
|
18 |
Â
echo '<div class="obfx-service-wrapper">';
|
19 |
Â
echo '<div class="' . esc_attr( $container_class ) . '">';
|
20 |
-
$title = $service->title;
|
21 |
-
$text
|
22 |
-
$icon
|
23 |
-
$link
|
24 |
Â
|
25 |
Â
if ( ! empty( $icon ) ) {
|
26 |
Â
$icon_color = ! empty( $service->icon_color ) ? '#' . $service->icon_color : '#d6d6d6';
|
7 |
Â
* $settings The module's settings.
|
8 |
Â
*/
|
9 |
Â
|
10 |
+
$columns = $settings->column_number;
|
11 |
+
$services = $settings->services;
|
12 |
+
$services_nb = count( $services );
|
13 |
+
$card_layout = $settings->card_layout;
|
14 |
Â
$container_class = $card_layout === 'yes' ? 'obfx-card obfx-service' : 'obfx-service';
|
15 |
Â
if ( ! empty( $columns ) ) {
|
16 |
Â
echo '<div class="obfx-services-section">';
|
17 |
Â
foreach ( $services as $service ) {
|
18 |
Â
echo '<div class="obfx-service-wrapper">';
|
19 |
Â
echo '<div class="' . esc_attr( $container_class ) . '">';
|
20 |
+
$title = $service->title; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
21 |
+
$text = $service->text;
|
22 |
+
$icon = $service->icon;
|
23 |
+
$link = $service->link; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
|
24 |
Â
|
25 |
Â
if ( ! empty( $icon ) ) {
|
26 |
Â
$icon_color = ! empty( $service->icon_color ) ? '#' . $service->icon_color : '#d6d6d6';
|
obfx_modules/beaver-widgets/modules/services/services.php
CHANGED
@@ -9,10 +9,10 @@
|
|
9 |
Â
$module_directory = $this->get_dir();
|
10 |
Â
|
11 |
Â
// Include common functions file.
|
12 |
-
require_once
|
13 |
Â
|
14 |
Â
// Include custom fields
|
15 |
-
require_once
|
16 |
Â
|
17 |
Â
/**
|
18 |
Â
* Class PricingTableModule
|
@@ -28,11 +28,11 @@ class ServicesModule extends FLBuilderModule {
|
|
28 |
Â
public function __construct() {
|
29 |
Â
parent::__construct(
|
30 |
Â
array(
|
31 |
-
'name'
|
32 |
-
'description'
|
33 |
-
'category'
|
34 |
-
'dir'
|
35 |
-
'url'
|
36 |
Â
)
|
37 |
Â
);
|
38 |
Â
}
|
@@ -44,20 +44,20 @@ class ServicesModule extends FLBuilderModule {
|
|
44 |
Â
FLBuilder::register_module(
|
45 |
Â
'ServicesModule',
|
46 |
Â
array(
|
47 |
-
'content'
|
48 |
-
'title'
|
49 |
Â
'sections' => array(
|
50 |
Â
'content' => array(
|
51 |
-
'title'
|
52 |
Â
'fields' => array(
|
53 |
-
'services'
|
54 |
-
'multiple'
|
55 |
-
'type'
|
56 |
-
'label'
|
57 |
-
'form'
|
58 |
-
'preview_text'
|
59 |
Â
),
|
60 |
-
'column_number'
|
61 |
Â
'type' => 'select',
|
62 |
Â
'label' => esc_html__( 'Number of columns', 'themeisle-companion' ),
|
63 |
Â
'default' => '3',
|
@@ -69,21 +69,21 @@ FLBuilder::register_module(
|
|
69 |
Â
'5' => esc_html__( '5', 'themeisle-companion' ),
|
70 |
Â
),
|
71 |
Â
),
|
72 |
-
'card_layout'
|
73 |
-
'type'
|
74 |
-
'label'
|
75 |
-
'default'
|
76 |
Â
),
|
77 |
Â
'background_color' => array(
|
78 |
-
'type'
|
79 |
-
'label'
|
80 |
Â
'default' => 'ffffff',
|
81 |
Â
'preview' => array(
|
82 |
-
'type'
|
83 |
Â
'rules' => array(
|
84 |
Â
array(
|
85 |
Â
'selector' => '.obfx-service',
|
86 |
-
'property'
|
87 |
Â
),
|
88 |
Â
),
|
89 |
Â
),
|
@@ -93,36 +93,36 @@ FLBuilder::register_module(
|
|
93 |
Â
),
|
94 |
Â
),
|
95 |
Â
),
|
96 |
-
'icon_style'
|
97 |
-
'title'
|
98 |
Â
'sections' => array(
|
99 |
-
'font'
|
100 |
-
'title'
|
101 |
Â
'fields' => array(
|
102 |
Â
'icon_position' => array(
|
103 |
Â
'type' => 'select',
|
104 |
Â
'label' => esc_html__( 'Position', 'themeisle-companion' ),
|
105 |
Â
'default' => 'center',
|
106 |
Â
'options' => array(
|
107 |
-
'left'
|
108 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
109 |
-
'right'
|
110 |
Â
),
|
111 |
Â
),
|
112 |
-
'icon_size'
|
113 |
Â
'type' => 'text',
|
114 |
-
'label'
|
115 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
116 |
-
'default'
|
117 |
-
'maxlength'
|
118 |
-
'size'
|
119 |
-
'preview'
|
120 |
-
'type'
|
121 |
Â
'rules' => array(
|
122 |
Â
array(
|
123 |
Â
'selector' => '.obfx-service-icon',
|
124 |
-
'property'
|
125 |
-
'unit'
|
126 |
Â
),
|
127 |
Â
),
|
128 |
Â
),
|
@@ -131,33 +131,33 @@ FLBuilder::register_module(
|
|
131 |
Â
),
|
132 |
Â
'icon_padding' => themeisle_four_fields_control(
|
133 |
Â
array(
|
134 |
-
'default'
|
135 |
-
'top'
|
136 |
Â
'bottom' => 15,
|
137 |
-
'left'
|
138 |
-
'right'
|
139 |
Â
),
|
140 |
-
'selector'
|
141 |
Â
'field_name_prefix' => 'icon_',
|
142 |
Â
)
|
143 |
Â
),
|
144 |
Â
),
|
145 |
Â
),
|
146 |
-
'title_style'
|
147 |
-
'title'
|
148 |
Â
'sections' => array(
|
149 |
-
'general'
|
150 |
-
'title'
|
151 |
Â
'fields' => array(
|
152 |
Â
'title_color' => array(
|
153 |
-
'type'
|
154 |
-
'label'
|
155 |
Â
'preview' => array(
|
156 |
-
'type'
|
157 |
Â
'rules' => array(
|
158 |
Â
array(
|
159 |
Â
'selector' => '.obfx-service-title',
|
160 |
-
'property'
|
161 |
Â
),
|
162 |
Â
),
|
163 |
Â
),
|
@@ -166,37 +166,37 @@ FLBuilder::register_module(
|
|
166 |
Â
),
|
167 |
Â
'typography' => themeisle_typography_settings(
|
168 |
Â
array(
|
169 |
-
'prefix'
|
170 |
Â
'selector' => '.obfx-service-title',
|
171 |
Â
)
|
172 |
Â
),
|
173 |
Â
),
|
174 |
Â
),
|
175 |
Â
'content_style' => array(
|
176 |
-
'title'
|
177 |
Â
'sections' => array(
|
178 |
-
'general'
|
179 |
-
'title'
|
180 |
Â
'fields' => array(
|
181 |
Â
'content_alignment' => array(
|
182 |
Â
'type' => 'select',
|
183 |
Â
'label' => esc_html__( 'Alignment', 'themeisle-companion' ),
|
184 |
Â
'default' => 'center',
|
185 |
Â
'options' => array(
|
186 |
-
'left'
|
187 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
188 |
-
'right'
|
189 |
Â
),
|
190 |
Â
),
|
191 |
-
'content_color'
|
192 |
-
'type'
|
193 |
-
'label'
|
194 |
Â
'preview' => array(
|
195 |
-
'type'
|
196 |
Â
'rules' => array(
|
197 |
Â
array(
|
198 |
Â
'selector' => '.obfx-service-content',
|
199 |
-
'property'
|
200 |
Â
),
|
201 |
Â
),
|
202 |
Â
),
|
@@ -205,7 +205,7 @@ FLBuilder::register_module(
|
|
205 |
Â
),
|
206 |
Â
'typography' => themeisle_typography_settings(
|
207 |
Â
array(
|
208 |
-
'prefix'
|
209 |
Â
'selector' => '.obfx-service-content',
|
210 |
Â
)
|
211 |
Â
),
|
@@ -219,34 +219,34 @@ FLBuilder::register_settings_form(
|
|
219 |
Â
array(
|
220 |
Â
'title' => __( 'Service', 'themeisle-companion' ),
|
221 |
Â
'tabs' => array(
|
222 |
-
'general'
|
223 |
-
'title'
|
224 |
-
'sections'
|
225 |
-
'general'
|
226 |
-
'title'
|
227 |
-
'fields'
|
228 |
-
'title'
|
229 |
Â
'type' => 'text',
|
230 |
Â
'label' => esc_html__( 'Title', 'themeisle-companion' ),
|
231 |
Â
),
|
232 |
-
'text'
|
233 |
-
'type'
|
234 |
-
'label'
|
235 |
-
'rows'
|
236 |
Â
),
|
237 |
-
'icon'
|
238 |
-
'type'
|
239 |
-
'label'
|
240 |
-
'show_remove'
|
241 |
Â
),
|
242 |
Â
'icon_color' => array(
|
243 |
-
'type'
|
244 |
-
'label'
|
245 |
Â
'default' => 'd6d6d6',
|
246 |
Â
),
|
247 |
-
'link'
|
248 |
-
'type'
|
249 |
-
'label'
|
250 |
Â
),
|
251 |
Â
),
|
252 |
Â
),
|
9 |
Â
$module_directory = $this->get_dir();
|
10 |
Â
|
11 |
Â
// Include common functions file.
|
12 |
+
require_once $module_directory . '/inc/common-functions.php';
|
13 |
Â
|
14 |
Â
// Include custom fields
|
15 |
+
require_once $module_directory . '/custom-fields/toggle-field/toggle_field.php';
|
16 |
Â
|
17 |
Â
/**
|
18 |
Â
* Class PricingTableModule
|
28 |
Â
public function __construct() {
|
29 |
Â
parent::__construct(
|
30 |
Â
array(
|
31 |
+
'name' => esc_html__( 'Services', 'themeisle-companion' ),
|
32 |
+
'description' => esc_html__( 'An overview of the products or services.', 'themeisle-companion' ),
|
33 |
+
'category' => esc_html__( 'Orbit Fox Modules', 'themeisle-companion' ),
|
34 |
+
'dir' => BEAVER_WIDGETS_PATH . 'modules/services/',
|
35 |
+
'url' => BEAVER_WIDGETS_URL . 'modules/services/',
|
36 |
Â
)
|
37 |
Â
);
|
38 |
Â
}
|
44 |
Â
FLBuilder::register_module(
|
45 |
Â
'ServicesModule',
|
46 |
Â
array(
|
47 |
+
'content' => array(
|
48 |
+
'title' => esc_html__( 'Content', 'themeisle-companion' ), // Tab title
|
49 |
Â
'sections' => array(
|
50 |
Â
'content' => array(
|
51 |
+
'title' => '',
|
52 |
Â
'fields' => array(
|
53 |
+
'services' => array(
|
54 |
+
'multiple' => true,
|
55 |
+
'type' => 'form',
|
56 |
+
'label' => esc_html__( 'Service', 'themeisle-companion' ),
|
57 |
+
'form' => 'service_content', // ID of a registered form.
|
58 |
+
'preview_text' => 'title', // ID of a field to use for the preview text.
|
59 |
Â
),
|
60 |
+
'column_number' => array(
|
61 |
Â
'type' => 'select',
|
62 |
Â
'label' => esc_html__( 'Number of columns', 'themeisle-companion' ),
|
63 |
Â
'default' => '3',
|
69 |
Â
'5' => esc_html__( '5', 'themeisle-companion' ),
|
70 |
Â
),
|
71 |
Â
),
|
72 |
+
'card_layout' => array(
|
73 |
+
'type' => 'obfx_toggle',
|
74 |
+
'label' => esc_html__( 'Card layout', 'themeisle-companion' ),
|
75 |
+
'default' => 'yes',
|
76 |
Â
),
|
77 |
Â
'background_color' => array(
|
78 |
+
'type' => 'color',
|
79 |
+
'label' => esc_html__( 'Background color', 'themeisle-companion' ),
|
80 |
Â
'default' => 'ffffff',
|
81 |
Â
'preview' => array(
|
82 |
+
'type' => 'css',
|
83 |
Â
'rules' => array(
|
84 |
Â
array(
|
85 |
Â
'selector' => '.obfx-service',
|
86 |
+
'property' => 'background',
|
87 |
Â
),
|
88 |
Â
),
|
89 |
Â
),
|
93 |
Â
),
|
94 |
Â
),
|
95 |
Â
),
|
96 |
+
'icon_style' => array(
|
97 |
+
'title' => esc_html__( 'Icon style', 'themeisle-companion' ), // Tab title
|
98 |
Â
'sections' => array(
|
99 |
+
'font' => array(
|
100 |
+
'title' => esc_html__( 'General', 'themeisle-companion' ),
|
101 |
Â
'fields' => array(
|
102 |
Â
'icon_position' => array(
|
103 |
Â
'type' => 'select',
|
104 |
Â
'label' => esc_html__( 'Position', 'themeisle-companion' ),
|
105 |
Â
'default' => 'center',
|
106 |
Â
'options' => array(
|
107 |
+
'left' => esc_html__( 'Left', 'themeisle-companion' ),
|
108 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
109 |
+
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
110 |
Â
),
|
111 |
Â
),
|
112 |
+
'icon_size' => array(
|
113 |
Â
'type' => 'text',
|
114 |
+
'label' => esc_html__( 'Size', 'themeisle-companion' ),
|
115 |
Â
'description' => esc_html__( 'px', 'themeisle-companion' ),
|
116 |
+
'default' => '45',
|
117 |
+
'maxlength' => '3',
|
118 |
+
'size' => '4',
|
119 |
+
'preview' => array(
|
120 |
+
'type' => 'css',
|
121 |
Â
'rules' => array(
|
122 |
Â
array(
|
123 |
Â
'selector' => '.obfx-service-icon',
|
124 |
+
'property' => 'font-size',
|
125 |
+
'unit' => 'px',
|
126 |
Â
),
|
127 |
Â
),
|
128 |
Â
),
|
131 |
Â
),
|
132 |
Â
'icon_padding' => themeisle_four_fields_control(
|
133 |
Â
array(
|
134 |
+
'default' => array(
|
135 |
+
'top' => 30,
|
136 |
Â
'bottom' => 15,
|
137 |
+
'left' => 25,
|
138 |
+
'right' => 25,
|
139 |
Â
),
|
140 |
+
'selector' => '.obfx-service-icon',
|
141 |
Â
'field_name_prefix' => 'icon_',
|
142 |
Â
)
|
143 |
Â
),
|
144 |
Â
),
|
145 |
Â
),
|
146 |
+
'title_style' => array(
|
147 |
+
'title' => esc_html__( 'Title style', 'themeisle-companion' ),
|
148 |
Â
'sections' => array(
|
149 |
+
'general' => array(
|
150 |
+
'title' => esc_html__( 'General', 'themeisle-companion' ),
|
151 |
Â
'fields' => array(
|
152 |
Â
'title_color' => array(
|
153 |
+
'type' => 'color',
|
154 |
+
'label' => esc_html__( 'Color', 'themeisle-companion' ),
|
155 |
Â
'preview' => array(
|
156 |
+
'type' => 'css',
|
157 |
Â
'rules' => array(
|
158 |
Â
array(
|
159 |
Â
'selector' => '.obfx-service-title',
|
160 |
+
'property' => 'color',
|
161 |
Â
),
|
162 |
Â
),
|
163 |
Â
),
|
166 |
Â
),
|
167 |
Â
'typography' => themeisle_typography_settings(
|
168 |
Â
array(
|
169 |
+
'prefix' => 'title_',
|
170 |
Â
'selector' => '.obfx-service-title',
|
171 |
Â
)
|
172 |
Â
),
|
173 |
Â
),
|
174 |
Â
),
|
175 |
Â
'content_style' => array(
|
176 |
+
'title' => esc_html__( 'Content style', 'themeisle-companion' ),
|
177 |
Â
'sections' => array(
|
178 |
+
'general' => array(
|
179 |
+
'title' => esc_html__( 'General', 'themeisle-companion' ),
|
180 |
Â
'fields' => array(
|
181 |
Â
'content_alignment' => array(
|
182 |
Â
'type' => 'select',
|
183 |
Â
'label' => esc_html__( 'Alignment', 'themeisle-companion' ),
|
184 |
Â
'default' => 'center',
|
185 |
Â
'options' => array(
|
186 |
+
'left' => esc_html__( 'Left', 'themeisle-companion' ),
|
187 |
Â
'center' => esc_html__( 'Center', 'themeisle-companion' ),
|
188 |
+
'right' => esc_html__( 'Right', 'themeisle-companion' ),
|
189 |
Â
),
|
190 |
Â
),
|
191 |
+
'content_color' => array(
|
192 |
+
'type' => 'color',
|
193 |
+
'label' => esc_html__( 'Color', 'themeisle-companion' ),
|
194 |
Â
'preview' => array(
|
195 |
+
'type' => 'css',
|
196 |
Â
'rules' => array(
|
197 |
Â
array(
|
198 |
Â
'selector' => '.obfx-service-content',
|
199 |
+
'property' => 'color',
|
200 |
Â
),
|
201 |
Â
),
|
202 |
Â
),
|
205 |
Â
),
|
206 |
Â
'typography' => themeisle_typography_settings(
|
207 |
Â
array(
|
208 |
+
'prefix' => 'content_',
|
209 |
Â
'selector' => '.obfx-service-content',
|
210 |
Â
)
|
211 |
Â
),
|
219 |
Â
array(
|
220 |
Â
'title' => __( 'Service', 'themeisle-companion' ),
|
221 |
Â
'tabs' => array(
|
222 |
+
'general' => array(
|
223 |
+
'title' => esc_html__( 'General', 'themeisle-companion' ),
|
224 |
+
'sections' => array(
|
225 |
+
'general' => array(
|
226 |
+
'title' => '',
|
227 |
+
'fields' => array(
|
228 |
+
'title' => array(
|
229 |
Â
'type' => 'text',
|
230 |
Â
'label' => esc_html__( 'Title', 'themeisle-companion' ),
|
231 |
Â
),
|
232 |
+
'text' => array(
|
233 |
+
'type' => 'textarea',
|
234 |
+
'label' => esc_html__( 'Text', 'themeisle-companion' ),
|
235 |
+
'rows' => '6',
|
236 |
Â
),
|
237 |
+
'icon' => array(
|
238 |
+
'type' => 'icon',
|
239 |
+
'label' => esc_html__( 'Icon', 'themeisle-companion' ),
|
240 |
+
'show_remove' => true,
|
241 |
Â
),
|
242 |
Â
'icon_color' => array(
|
243 |
+
'type' => 'color',
|
244 |
+
'label' => esc_html__( 'Icon color', 'themeisle-companion' ),
|
245 |
Â
'default' => 'd6d6d6',
|
246 |
Â
),
|
247 |
+
'link' => array(
|
248 |
+
'type' => 'link',
|
249 |
+
'label' => esc_html__( 'Link to', 'themeisle-companion' ),
|
250 |
Â
),
|
251 |
Â
),
|
252 |
Â
),
|
obfx_modules/companion-legacy/inc/azera-shop/css/style.css
DELETED
@@ -1,312 +0,0 @@
|
|
1 |
-
.azea_shop_only_customizer {
|
2 |
-
display: none;
|
3 |
-
}
|
4 |
-
|
5 |
-
|
6 |
-
/*---------------------------------------
|
7 |
-
SECTION: SERVICES
|
8 |
-
-----------------------------------------*/
|
9 |
-
|
10 |
-
.services-wrap {
|
11 |
-
position: relative;
|
12 |
-
padding-bottom: 50px;
|
13 |
-
text-align: center;
|
14 |
-
}
|
15 |
-
|
16 |
-
.services {
|
17 |
-
border-bottom: 1px solid #eaebec;
|
18 |
-
background-color: #fff;
|
19 |
-
}
|
20 |
-
|
21 |
-
.single-service {
|
22 |
-
padding: 40px 20px 40px 20px;
|
23 |
-
border-radius: 3px;
|
24 |
-
background: #fff;
|
25 |
-
-webkit-transition: all ease 0.55s;
|
26 |
-
transition: all ease 0.55s;
|
27 |
-
}
|
28 |
-
|
29 |
-
.services-wrap .service-box {
|
30 |
-
display: inline-block;
|
31 |
-
width: 100%;
|
32 |
-
text-align: center;
|
33 |
-
}
|
34 |
-
|
35 |
-
.single-service > h3 > a:hover,
|
36 |
-
.service-icon > a:hover {
|
37 |
-
text-decoration: none;
|
38 |
-
}
|
39 |
-
|
40 |
-
.services-wrap > .service-box {
|
41 |
-
width: 31.5%;
|
42 |
-
margin: 0 1.25% 0 1.25%;
|
43 |
-
margin-bottom: 30px;
|
44 |
-
vertical-align: top;
|
45 |
-
}
|
46 |
-
|
47 |
-
.services-wrap > .service-box:nth-child(3n+1) {
|
48 |
-
clear: left;
|
49 |
-
margin-left: 0;
|
50 |
-
}
|
51 |
-
|
52 |
-
.services-wrap > .service-box:nth-child(3n) {
|
53 |
-
clear: right;
|
54 |
-
margin-right: 0;
|
55 |
-
}
|
56 |
-
|
57 |
-
.single-service .service-icon {
|
58 |
-
margin-bottom: 35px;
|
59 |
-
font-size: 60px;
|
60 |
-
}
|
61 |
-
|
62 |
-
.single-service h3 {
|
63 |
-
margin-bottom: 15px;
|
64 |
-
padding-top: 5px;
|
65 |
-
color: #454545;
|
66 |
-
}
|
67 |
-
|
68 |
-
.galcolumn .single-service {
|
69 |
-
width: 100%;
|
70 |
-
}
|
71 |
-
|
72 |
-
.display-none {
|
73 |
-
display: none !important;
|
74 |
-
}
|
75 |
-
|
76 |
-
|
77 |
-
/*---------------------------------------
|
78 |
-
SECTION: TESTIMONIALS
|
79 |
-
-----------------------------------------*/
|
80 |
-
|
81 |
-
.testimonials {
|
82 |
-
border-bottom: 1px solid #eaebec;
|
83 |
-
background-color: #fff;
|
84 |
-
text-align: center;
|
85 |
-
}
|
86 |
-
|
87 |
-
.testimonials .section-overlay-layer {
|
88 |
-
padding-bottom: 20px;
|
89 |
-
}
|
90 |
-
|
91 |
-
.feedback {
|
92 |
-
margin-bottom: 45px;
|
93 |
-
padding: 0 30px;
|
94 |
-
}
|
95 |
-
|
96 |
-
.feedback .pic-container {
|
97 |
-
position: absolute;
|
98 |
-
top: -40px;
|
99 |
-
width: 100%;
|
100 |
-
}
|
101 |
-
|
102 |
-
.feedback .pic-container-inner {
|
103 |
-
display: inline-block;
|
104 |
-
overflow: hidden;
|
105 |
-
width: 170px;
|
106 |
-
height: 170px;
|
107 |
-
border: 5px solid #e5e5e5;
|
108 |
-
border-radius: 50%;
|
109 |
-
background-color: #f5f5f5;
|
110 |
-
background-clip: padding-box;
|
111 |
-
box-shadow: 0 0 0 5px #f5f5f5;
|
112 |
-
}
|
113 |
-
|
114 |
-
.feedback .pic-container img {
|
115 |
-
width: 100%;
|
116 |
-
}
|
117 |
-
|
118 |
-
.feedback p {
|
119 |
-
margin-top: 20px;
|
120 |
-
margin-bottom: 0;
|
121 |
-
font-style: italic;
|
122 |
-
}
|
123 |
-
|
124 |
-
.feedback h5 {
|
125 |
-
margin-bottom: 0;
|
126 |
-
}
|
127 |
-
|
128 |
-
.feedback-text-wrap {
|
129 |
-
padding: 0 20px;
|
130 |
-
}
|
131 |
-
|
132 |
-
.testimonials-box {
|
133 |
-
width: 100%;
|
134 |
-
text-align: center;
|
135 |
-
}
|
136 |
-
|
137 |
-
.testimonials-wrap {
|
138 |
-
position: relative;
|
139 |
-
}
|
140 |
-
|
141 |
-
.testimonials-wrap .testimonials-box {
|
142 |
-
display: inline-block;
|
143 |
-
-webkit-transition: all 0.2s ease;
|
144 |
-
transition: all 0.2s ease;
|
145 |
-
}
|
146 |
-
|
147 |
-
.testimonials-box .feedback {
|
148 |
-
position: relative;
|
149 |
-
margin: 40px 0 30px 0;
|
150 |
-
padding: 145px 0 40px 0;
|
151 |
-
border-radius: 3px;
|
152 |
-
background: #fff;
|
153 |
-
-webkit-transition: all ease 0.55s;
|
154 |
-
transition: all ease 0.55s;
|
155 |
-
}
|
156 |
-
|
157 |
-
.testimonials-box .feedback:hover {
|
158 |
-
border-bottom-color: rgba(255,162,0,1.00);
|
159 |
-
}
|
160 |
-
|
161 |
-
.galcolumn .testimonials-box {
|
162 |
-
width: 100%;
|
163 |
-
}
|
164 |
-
|
165 |
-
.testimonials-wrap > .testimonials-box {
|
166 |
-
width: 31.5%;
|
167 |
-
margin: 0 1.15% 0 1.15%;
|
168 |
-
margin-bottom: 30px;
|
169 |
-
vertical-align: top;
|
170 |
-
}
|
171 |
-
|
172 |
-
.testimonials-wrap > .testimonials-box:nth-child(3n+1) {
|
173 |
-
clear: left;
|
174 |
-
margin-left: 0;
|
175 |
-
}
|
176 |
-
|
177 |
-
.testimonials-wrap > .testimonials-box:nth-child(3n) {
|
178 |
-
clear: right;
|
179 |
-
margin-right: 0;
|
180 |
-
}
|
181 |
-
|
182 |
-
|
183 |
-
/*---------------------------------------
|
184 |
-
SECTION: TEAM
|
185 |
-
-----------------------------------------*/
|
186 |
-
|
187 |
-
.team {
|
188 |
-
border-bottom: 1px solid #eaebec;
|
189 |
-
border-bottom: 1px solid #f3f3f3;
|
190 |
-
background-color: #fff;
|
191 |
-
background-repeat: no-repeat;
|
192 |
-
background-attachment: fixed;
|
193 |
-
background-position: 50% 50%;
|
194 |
-
background-size: cover;
|
195 |
-
}
|
196 |
-
|
197 |
-
.team .section-overlay-layer {
|
198 |
-
padding-bottom: 50px;
|
199 |
-
background: rgba(13, 60, 85, 0.8);
|
200 |
-
}
|
201 |
-
|
202 |
-
.team .sub-heading {
|
203 |
-
color: #fff;
|
204 |
-
}
|
205 |
-
|
206 |
-
.team .dark-text {
|
207 |
-
color: #fff;
|
208 |
-
}
|
209 |
-
|
210 |
-
.team-member {
|
211 |
-
overflow: hidden;
|
212 |
-
position: relative;
|
213 |
-
min-height: 100px;
|
214 |
-
margin-bottom: 25px;
|
215 |
-
border-radius: 50%;
|
216 |
-
}
|
217 |
-
|
218 |
-
.team-member .social-icons {
|
219 |
-
position: relative;
|
220 |
-
margin-top: 5px;
|
221 |
-
margin-top: 0;
|
222 |
-
margin-bottom: 0;
|
223 |
-
opacity: 1;
|
224 |
-
-webkit-transition: all ease 0.55s;
|
225 |
-
transition: all ease 0.55s;
|
226 |
-
}
|
227 |
-
|
228 |
-
.team-member .social-icons li {
|
229 |
-
display: inline-block;
|
230 |
-
padding-top: 3px;
|
231 |
-
padding-right: 5px;
|
232 |
-
padding-left: 5px;
|
233 |
-
}
|
234 |
-
|
235 |
-
.team-member .social-icons li a {
|
236 |
-
opacity: 0.9;
|
237 |
-
}
|
238 |
-
|
239 |
-
.team-member .social-icons li a:hover {
|
240 |
-
opacity: 1;
|
241 |
-
text-decoration: none;
|
242 |
-
}
|
243 |
-
|
244 |
-
.team-member:hover .social-icons {
|
245 |
-
opacity: 1;
|
246 |
-
}
|
247 |
-
|
248 |
-
.member-pic {
|
249 |
-
width: 183px;
|
250 |
-
height: 183px;
|
251 |
-
border: none;
|
252 |
-
border-radius: 0;
|
253 |
-
}
|
254 |
-
|
255 |
-
.member-pic img {
|
256 |
-
width: 183px;
|
257 |
-
height: 183px;
|
258 |
-
}
|
259 |
-
|
260 |
-
.member-details {
|
261 |
-
display: table;
|
262 |
-
overflow: hidden;
|
263 |
-
position: absolute;
|
264 |
-
bottom: 100%;
|
265 |
-
left: 0;
|
266 |
-
width: 183px;
|
267 |
-
height: 183px;
|
268 |
-
color: #fff;
|
269 |
-
background: rgba(0,0,0,0);
|
270 |
-
text-align: center;
|
271 |
-
-webkit-transition: all 0.3s;
|
272 |
-
transition: all 0.3s;
|
273 |
-
}
|
274 |
-
|
275 |
-
.member-details h5 {
|
276 |
-
margin: 0;
|
277 |
-
margin-bottom: 5px;
|
278 |
-
color: #fff;
|
279 |
-
}
|
280 |
-
|
281 |
-
.team-member-wrap {
|
282 |
-
text-align: center;
|
283 |
-
}
|
284 |
-
|
285 |
-
.team-member-wrap .team-member-box {
|
286 |
-
display: inline-block;
|
287 |
-
float: none;
|
288 |
-
margin-right: -4px;
|
289 |
-
padding-right: 55px;
|
290 |
-
padding-bottom: 30px;
|
291 |
-
padding-left: 55px;
|
292 |
-
vertical-align: top;
|
293 |
-
}
|
294 |
-
|
295 |
-
.member-details-inner {
|
296 |
-
display: table-cell;
|
297 |
-
vertical-align: middle;
|
298 |
-
}
|
299 |
-
|
300 |
-
.team-member:hover .member-details {
|
301 |
-
bottom: 0;
|
302 |
-
background: rgba(255,162,0,0.7);
|
303 |
-
-webkit-transition: all 0.3s;
|
304 |
-
transition: all 0.3s;
|
305 |
-
}
|
306 |
-
|
307 |
-
@media (min-width: 992px) and (max-width: 1200px) {
|
308 |
-
.team-member-wrap .team-member-box {
|
309 |
-
padding-right: 30px;
|
310 |
-
padding-left: 30px;
|
311 |
-
}
|
312 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/functions.php
DELETED
@@ -1,63 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/*
|
3 |
-
* Azera Shop Companion
|
4 |
-
*/
|
5 |
-
|
6 |
-
if ( ! function_exists( 'add_action' ) ) {
|
7 |
-
die( 'Nothing to do...' );
|
8 |
-
}
|
9 |
-
|
10 |
-
/* Important constants */
|
11 |
-
define( 'AZERA_SHOP_COMPANION_VERSION', '1.0.7' );
|
12 |
-
define( 'AZERA_SHOP_COMPANION_URL', plugin_dir_url( __FILE__ ) );
|
13 |
-
define( 'AZERA_SHOP_COMPANION_PATH', plugin_dir_path( __FILE__ ) );
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Require section translations
|
17 |
-
*/
|
18 |
-
require AZERA_SHOP_COMPANION_PATH . 'inc/translations/general.php';
|
19 |
-
|
20 |
-
/* Required helper functions */
|
21 |
-
include_once( dirname( __FILE__ ) . '/inc/settings.php' );
|
22 |
-
|
23 |
-
|
24 |
-
/* Add new sections in Azera Shop */
|
25 |
-
function azera_shop_companion_sections() {
|
26 |
-
return array(
|
27 |
-
|
28 |
-
'sections/azera_shop_logos_section',
|
29 |
-
'azera_shop_our_services_section',
|
30 |
-
'sections/azera_shop_shop_section',
|
31 |
-
'azera_shop_our_team_section',
|
32 |
-
'azera_shop_happy_customers_section',
|
33 |
-
'sections/azera_shop_shortcodes_section',
|
34 |
-
'sections/azera_shop_ribbon_section',
|
35 |
-
'sections/azera_shop_contact_info_section',
|
36 |
-
'sections/azera_shop_map_section'
|
37 |
-
|
38 |
-
);
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Load sections form the plugin
|
43 |
-
*
|
44 |
-
* @since 1.0.0
|
45 |
-
*/
|
46 |
-
function azera_shop_companion_load_sections() {
|
47 |
-
|
48 |
-
add_filter('azera_shop_companion_sections_filter', 'azera_shop_companion_sections');
|
49 |
-
}
|
50 |
-
|
51 |
-
add_action( 'plugins_loaded', 'azera_shop_companion_load_sections' );
|
52 |
-
|
53 |
-
/*
|
54 |
-
* Enqueue styles
|
55 |
-
*/
|
56 |
-
function azera_shop_companion_register_plugin_styles() {
|
57 |
-
|
58 |
-
wp_enqueue_style( 'azera-shop-companion-style', trailingslashit( AZERA_SHOP_COMPANION_URL ) . 'css/style.css' );
|
59 |
-
|
60 |
-
}
|
61 |
-
|
62 |
-
/* Register style sheet. */
|
63 |
-
add_action( 'wp_enqueue_scripts', 'azera_shop_companion_register_plugin_styles' );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/images/client-no-image.jpg
DELETED
Binary file
|
obfx_modules/companion-legacy/inc/azera-shop/images/team-img.jpg
DELETED
Binary file
|
obfx_modules/companion-legacy/inc/azera-shop/inc/settings.php
DELETED
@@ -1,207 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function azera_shop_companion_customize_register( $wp_customize ) {
|
4 |
-
|
5 |
-
if( class_exists('Azera_Shop_General_Repeater') ) {
|
6 |
-
|
7 |
-
/********************************************************/
|
8 |
-
/****************** SERVICES OPTIONS *******************/
|
9 |
-
/********************************************************/
|
10 |
-
|
11 |
-
/* SERVICES SECTION */
|
12 |
-
$wp_customize->add_section( 'azera_shop_services_section' , array(
|
13 |
-
'title' => esc_html__( 'Services section', 'themeisle-companion' ),
|
14 |
-
'priority' => 4,
|
15 |
-
'panel' => 'azera_shop_front_page_sections',
|
16 |
-
'active_callback' => 'azera_shop_show_on_front',
|
17 |
-
));
|
18 |
-
|
19 |
-
/* Services show/hide */
|
20 |
-
$wp_customize->add_setting( 'azera_shop_our_services_show', array(
|
21 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
22 |
-
));
|
23 |
-
|
24 |
-
$wp_customize->add_control( 'azera_shop_our_services_show', array(
|
25 |
-
'type' => 'checkbox',
|
26 |
-
'label' => __('Disable the Services section?','themeisle-companion'),
|
27 |
-
'section' => 'azera_shop_services_section',
|
28 |
-
'priority' => 1,
|
29 |
-
));
|
30 |
-
|
31 |
-
/* Services title */
|
32 |
-
$wp_customize->add_setting( 'azera_shop_our_services_title', array(
|
33 |
-
'default' => esc_html__('Our Services','themeisle-companion'),
|
34 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
35 |
-
));
|
36 |
-
$wp_customize->add_control( 'azera_shop_our_services_title', array(
|
37 |
-
'label' => esc_html__( 'Main title', 'themeisle-companion' ),
|
38 |
-
'section' => 'azera_shop_services_section',
|
39 |
-
'priority' => 10
|
40 |
-
));
|
41 |
-
|
42 |
-
/* Services subtitle */
|
43 |
-
$wp_customize->add_setting( 'azera_shop_our_services_subtitle', array(
|
44 |
-
'default' => esc_html__('Lorem ipsum dolor sit amet, consectetur adipiscing elit.','themeisle-companion'),
|
45 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
46 |
-
));
|
47 |
-
$wp_customize->add_control( 'azera_shop_our_services_subtitle', array(
|
48 |
-
'label' => esc_html__( 'Subtitle', 'themeisle-companion' ),
|
49 |
-
'section' => 'azera_shop_services_section',
|
50 |
-
'priority' => 20
|
51 |
-
));
|
52 |
-
|
53 |
-
|
54 |
-
/* Services content */
|
55 |
-
$default = azera_shop_companion_sevices_get_default_content();
|
56 |
-
$wp_customize->add_setting( 'azera_shop_services_content', array(
|
57 |
-
'sanitize_callback' => 'azera_shop_sanitize_repeater',
|
58 |
-
'default' => $default,
|
59 |
-
) );
|
60 |
-
$wp_customize->add_control( new Azera_Shop_General_Repeater( $wp_customize, 'azera_shop_services_content', array(
|
61 |
-
'label' => esc_html__('Add new service box','themeisle-companion'),
|
62 |
-
'section' => 'azera_shop_services_section',
|
63 |
-
'priority' => 30,
|
64 |
-
'azera_shop_image_control' => true,
|
65 |
-
'azera_shop_icon_control' => true,
|
66 |
-
'azera_shop_title_control' => true,
|
67 |
-
'azera_shop_text_control' => true,
|
68 |
-
'azera_shop_link_control' => true
|
69 |
-
) ) );
|
70 |
-
|
71 |
-
/********************************************************/
|
72 |
-
/******************* TEAM OPTIONS *********************/
|
73 |
-
/********************************************************/
|
74 |
-
|
75 |
-
$wp_customize->add_section( 'azera_shop_team_section' , array(
|
76 |
-
'title' => esc_html__( 'Team section', 'themeisle-companion' ),
|
77 |
-
'priority' => 6,
|
78 |
-
'panel' => 'azera_shop_front_page_sections',
|
79 |
-
'active_callback' => 'azera_shop_show_on_front',
|
80 |
-
));
|
81 |
-
|
82 |
-
/* Team show/hide */
|
83 |
-
$wp_customize->add_setting( 'azera_shop_our_team_show', array(
|
84 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
85 |
-
));
|
86 |
-
|
87 |
-
$wp_customize->add_control( 'azera_shop_our_team_show', array(
|
88 |
-
'type' => 'checkbox',
|
89 |
-
'label' => __('Disable the Team section?','themeisle-companion'),
|
90 |
-
'section' => 'azera_shop_team_section',
|
91 |
-
'priority' => 1,
|
92 |
-
));
|
93 |
-
|
94 |
-
/* Team title */
|
95 |
-
$wp_customize->add_setting( 'azera_shop_our_team_title', array(
|
96 |
-
'default' => esc_html__('Our Team','themeisle-companion'),
|
97 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
98 |
-
));
|
99 |
-
$wp_customize->add_control( 'azera_shop_our_team_title', array(
|
100 |
-
'label' => esc_html__( 'Main title', 'themeisle-companion' ),
|
101 |
-
'section' => 'azera_shop_team_section',
|
102 |
-
'priority' => 10,
|
103 |
-
));
|
104 |
-
|
105 |
-
/* Team subtitle */
|
106 |
-
$wp_customize->add_setting( 'azera_shop_our_team_subtitle', array(
|
107 |
-
'default' => esc_html__('Lorem ipsum dolor sit amet, consectetur adipiscing elit.','themeisle-companion'),
|
108 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
109 |
-
));
|
110 |
-
$wp_customize->add_control( 'azera_shop_our_team_subtitle', array(
|
111 |
-
'label' => esc_html__( 'Subtitle', 'themeisle-companion' ),
|
112 |
-
'section' => 'azera_shop_team_section',
|
113 |
-
'priority' => 20,
|
114 |
-
));
|
115 |
-
|
116 |
-
/* Team Background */
|
117 |
-
$wp_customize->add_setting( 'azera_shop_our_team_background', array(
|
118 |
-
'default' => azera_shop_get_file('/images/background-images/parallax-img/team-img.jpg'),
|
119 |
-
'sanitize_callback' => 'esc_url',
|
120 |
-
));
|
121 |
-
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'azera_shop_our_team_background', array(
|
122 |
-
'label' => esc_html__( 'Team Background', 'themeisle-companion' ),
|
123 |
-
'section' => 'azera_shop_team_section',
|
124 |
-
'priority' => 30
|
125 |
-
)));
|
126 |
-
|
127 |
-
/* Team content */
|
128 |
-
$default = azera_shop_companion_team_get_default_content();
|
129 |
-
$wp_customize->add_setting( 'azera_shop_team_content', array(
|
130 |
-
'sanitize_callback' => 'azera_shop_sanitize_repeater',
|
131 |
-
'default' => $default,
|
132 |
-
) );
|
133 |
-
$wp_customize->add_control( new Azera_Shop_General_Repeater( $wp_customize, 'azera_shop_team_content', array(
|
134 |
-
'label' => esc_html__('Add new team member','themeisle-companion'),
|
135 |
-
'section' => 'azera_shop_team_section',
|
136 |
-
'priority' => 40,
|
137 |
-
'azera_shop_image_control' => true,
|
138 |
-
'azera_shop_title_control' => true,
|
139 |
-
'azera_shop_subtitle_control' => true
|
140 |
-
) ) );
|
141 |
-
|
142 |
-
/********************************************************/
|
143 |
-
/********** TESTIMONIALS OPTIONS ***********************/
|
144 |
-
/********************************************************/
|
145 |
-
|
146 |
-
$wp_customize->add_section( 'azera_shop_testimonials_section' , array(
|
147 |
-
'title' => esc_html__( 'Testimonials section', 'themeisle-companion' ),
|
148 |
-
'priority' => 7,
|
149 |
-
'panel' => 'azera_shop_front_page_sections',
|
150 |
-
'active_callback' => 'azera_shop_show_on_front',
|
151 |
-
));
|
152 |
-
|
153 |
-
/* Testimonials show/hide */
|
154 |
-
$wp_customize->add_setting( 'azera_shop_happy_customers_show', array(
|
155 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
156 |
-
));
|
157 |
-
|
158 |
-
$wp_customize->add_control( 'azera_shop_happy_customers_show', array(
|
159 |
-
'type' => 'checkbox',
|
160 |
-
'label' => __('Disable the Testimonials section?','themeisle-companion'),
|
161 |
-
'section' => 'azera_shop_testimonials_section',
|
162 |
-
'priority' => 1,
|
163 |
-
));
|
164 |
-
|
165 |
-
/* Testimonials title */
|
166 |
-
$wp_customize->add_setting( 'azera_shop_happy_customers_title', array(
|
167 |
-
'default' => esc_html__('Happy Customers','themeisle-companion'),
|
168 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
169 |
-
));
|
170 |
-
$wp_customize->add_control( 'azera_shop_happy_customers_title', array(
|
171 |
-
'label' => esc_html__( 'Main title', 'themeisle-companion' ),
|
172 |
-
'section' => 'azera_shop_testimonials_section',
|
173 |
-
'priority' => 10,
|
174 |
-
));
|
175 |
-
|
176 |
-
/* Testimonials subtitle */
|
177 |
-
$wp_customize->add_setting( 'azera_shop_happy_customers_subtitle', array(
|
178 |
-
'default' => esc_html__('Cloud computing subscription model out of the box proactive solution.','themeisle-companion'),
|
179 |
-
'sanitize_callback' => 'azera_shop_sanitize_text',
|
180 |
-
));
|
181 |
-
$wp_customize->add_control( 'azera_shop_happy_customers_subtitle', array(
|
182 |
-
'label' => esc_html__( 'Subtitle', 'themeisle-companion' ),
|
183 |
-
'section' => 'azera_shop_testimonials_section',
|
184 |
-
'priority' => 20,
|
185 |
-
));
|
186 |
-
|
187 |
-
|
188 |
-
/* Testimonials content */
|
189 |
-
$default = azera_shop_companion_testimonials_get_default_content();
|
190 |
-
$wp_customize->add_setting( 'azera_shop_testimonials_content', array(
|
191 |
-
'sanitize_callback' => 'azera_shop_sanitize_repeater',
|
192 |
-
'default' => $default,
|
193 |
-
));
|
194 |
-
$wp_customize->add_control( new Azera_Shop_General_Repeater( $wp_customize, 'azera_shop_testimonials_content', array(
|
195 |
-
'label' => esc_html__('Add new testimonial','themeisle-companion'),
|
196 |
-
'section' => 'azera_shop_testimonials_section',
|
197 |
-
'priority' => 30,
|
198 |
-
'azera_shop_image_control' => true,
|
199 |
-
'azera_shop_title_control' => true,
|
200 |
-
'azera_shop_subtitle_control' => true,
|
201 |
-
'azera_shop_text_control' => true
|
202 |
-
) ) );
|
203 |
-
|
204 |
-
}
|
205 |
-
}
|
206 |
-
add_action( 'customize_register', 'azera_shop_companion_customize_register', 999 );
|
207 |
-
?>
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/inc/translations/general.php
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* General functions for translation.
|
4 |
-
*
|
5 |
-
* @package azera-shop-companion
|
6 |
-
*/
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Define Allowed Files to be included.
|
10 |
-
*/
|
11 |
-
function azera_shop_companion_filter_translations( $array ) {
|
12 |
-
return array_merge( $array, array(
|
13 |
-
'translations/translations-services-section',
|
14 |
-
'translations/translations-team-section',
|
15 |
-
'translations/translations-testimonials-section',
|
16 |
-
) );
|
17 |
-
}
|
18 |
-
add_filter( 'azera_shop_filter_translations', 'azera_shop_companion_filter_translations' );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/inc/translations/translations-services-section.php
DELETED
@@ -1,44 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Translation functions for services section
|
4 |
-
*
|
5 |
-
* @package azera-shop-companion
|
6 |
-
*/
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Get services section default content.
|
10 |
-
*/
|
11 |
-
function azera_shop_companion_sevices_get_default_content() {
|
12 |
-
return json_encode( array(
|
13 |
-
array(
|
14 |
-
'choice' => 'azera_shop_icon',
|
15 |
-
'icon_value' => 'fa-cogs',
|
16 |
-
'title' => esc_html__( 'Lorem Ipsum', 'themeisle-companion' ),
|
17 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo.', 'themeisle-companion' )
|
18 |
-
),
|
19 |
-
array( 'choice' => 'azera_shop_icon',
|
20 |
-
'icon_value' => 'fa-bar-chart-o',
|
21 |
-
'title' => esc_html__( 'Lorem Ipsum', 'themeisle-companion' ),
|
22 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo.', 'themeisle-companion' )
|
23 |
-
),
|
24 |
-
array( 'choice' => 'azera_shop_icon',
|
25 |
-
'icon_value' => 'fa-globe',
|
26 |
-
'title' => esc_html__( 'Lorem Ipsum', 'themeisle-companion' ),
|
27 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo.', 'themeisle-companion' )
|
28 |
-
)
|
29 |
-
)
|
30 |
-
);
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Register strings for polylang.
|
35 |
-
*/
|
36 |
-
function azera_shop_companion_sevices_register_strings() {
|
37 |
-
if ( ! defined( 'POLYLANG_VERSION' ) || ! function_exists( 'azera_shop_pll_string_register_helper' ) ) {
|
38 |
-
return;
|
39 |
-
}
|
40 |
-
|
41 |
-
$default = azera_shop_companion_sevices_get_default_content();
|
42 |
-
azera_shop_pll_string_register_helper( 'azera_shop_services_content', $default, 'Services section' );
|
43 |
-
}
|
44 |
-
add_action( 'after_setup_theme', 'azera_shop_companion_sevices_register_strings', 11 );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/inc/translations/translations-team-section.php
DELETED
@@ -1,44 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Translation functions for team section
|
4 |
-
*
|
5 |
-
* @package azera-shop-companion
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Get team section default content.
|
11 |
-
*/
|
12 |
-
function azera_shop_companion_team_get_default_content() {
|
13 |
-
return json_encode( array(
|
14 |
-
array(
|
15 |
-
'image_url' => azera_shop_get_file( '/images/team/1.jpg' ),
|
16 |
-
'title' => esc_html__( 'Albert Jacobs', 'themeisle-companion' ),
|
17 |
-
'subtitle' => esc_html__( 'Founder & CEO', 'themeisle-companion' )
|
18 |
-
),
|
19 |
-
array(
|
20 |
-
'image_url' => azera_shop_get_file( '/images/team/2.jpg' ),
|
21 |
-
'title' => esc_html__( 'Tonya Garcia', 'themeisle-companion' ),
|
22 |
-
'subtitle' => esc_html__( 'Account Manager', 'themeisle-companion' )
|
23 |
-
),
|
24 |
-
array(
|
25 |
-
'image_url' => azera_shop_get_file( '/images/team/3.jpg' ),
|
26 |
-
'title' => esc_html__( 'Linda Guthrie', 'themeisle-companion' ),
|
27 |
-
'subtitle' => esc_html__( 'Business Development', 'themeisle-companion' )
|
28 |
-
)
|
29 |
-
) );
|
30 |
-
}
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Register strings for polylang.
|
34 |
-
*/
|
35 |
-
function azera_shop_companion_team_register_strings() {
|
36 |
-
if ( ! defined( 'POLYLANG_VERSION' ) || ! function_exists( 'azera_shop_pll_string_register_helper' ) ) {
|
37 |
-
return;
|
38 |
-
}
|
39 |
-
|
40 |
-
$default = azera_shop_companion_team_get_default_content();
|
41 |
-
azera_shop_pll_string_register_helper( 'azera_shop_team_content', $default, 'Team section' );
|
42 |
-
}
|
43 |
-
|
44 |
-
add_action( 'after_setup_theme', 'azera_shop_companion_team_register_strings', 11 );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/inc/translations/translations-testimonials-section.php
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Translation functions for testimonials section
|
4 |
-
*
|
5 |
-
* @package llorix-one-companion
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Get testimonials section default content.
|
11 |
-
*/
|
12 |
-
function azera_shop_companion_testimonials_get_default_content() {
|
13 |
-
return json_encode(
|
14 |
-
array(
|
15 |
-
array(
|
16 |
-
'image_url' => azera_shop_get_file( '/images/clients/1.jpg' ),
|
17 |
-
'title' => esc_html__( 'Happy Customer', 'themeisle-companion' ),
|
18 |
-
'subtitle' => esc_html__( 'Lorem ipsum', 'themeisle-companion' ),
|
19 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo. Fusce malesuada vulputate faucibus. Integer in hendrerit nisi. Praesent a hendrerit urna. In non imperdiet elit, sed molestie odio. Fusce ac metus non purus sollicitudin laoreet.', 'themeisle-companion' )
|
20 |
-
),
|
21 |
-
array(
|
22 |
-
'image_url' => azera_shop_get_file( '/images/clients/2.jpg' ),
|
23 |
-
'title' => esc_html__( 'Happy Customer', 'themeisle-companion' ),
|
24 |
-
'subtitle' => esc_html__( 'Lorem ipsum', 'themeisle-companion' ),
|
25 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo. Fusce malesuada vulputate faucibus. Integer in hendrerit nisi. Praesent a hendrerit urna. In non imperdiet elit, sed molestie odio. Fusce ac metus non purus sollicitudin laoreet.', 'themeisle-companion' )
|
26 |
-
),
|
27 |
-
array(
|
28 |
-
'image_url' => azera_shop_get_file( '/images/clients/3.jpg' ),
|
29 |
-
'title' => esc_html__( 'Happy Customer', 'themeisle-companion' ),
|
30 |
-
'subtitle' => esc_html__( 'Lorem ipsum', 'themeisle-companion' ),
|
31 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo. Fusce malesuada vulputate faucibus. Integer in hendrerit nisi. Praesent a hendrerit urna. In non imperdiet elit, sed molestie odio. Fusce ac metus non purus sollicitudin laoreet.', 'themeisle-companion' )
|
32 |
-
)
|
33 |
-
)
|
34 |
-
);
|
35 |
-
}
|
36 |
-
|
37 |
-
/**
|
38 |
-
* Register strings for polylang.
|
39 |
-
*/
|
40 |
-
function azera_shop_companion_testimonials_register_strings() {
|
41 |
-
if ( ! defined( 'POLYLANG_VERSION' ) || ! function_exists( 'azera_shop_pll_string_register_helper' ) ) {
|
42 |
-
return;
|
43 |
-
}
|
44 |
-
|
45 |
-
$default = azera_shop_companion_testimonials_get_default_content();
|
46 |
-
azera_shop_pll_string_register_helper( 'azera_shop_testimonials_content', $default, 'Testimonials section' );
|
47 |
-
}
|
48 |
-
|
49 |
-
add_action( 'after_setup_theme', 'azera_shop_companion_testimonials_register_strings', 11 );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/sections/azera_shop_happy_customers_section.php
DELETED
@@ -1,126 +0,0 @@
|
|
1 |
-
<!-- =========================
|
2 |
-
SECTION: CUSTOMERS
|
3 |
-
============================== -->
|
4 |
-
<?php
|
5 |
-
$azera_shop_happy_customers_show = get_theme_mod( 'azera_shop_happy_customers_show' );
|
6 |
-
$azera_shop_happy_customers_title = get_theme_mod( 'azera_shop_happy_customers_title', esc_html__( 'Happy Customers', 'themeisle-companion' ) );
|
7 |
-
$azera_shop_happy_customers_subtitle = get_theme_mod( 'azera_shop_happy_customers_subtitle', esc_html__( 'Cloud computing subscription model out of the box proactive solution.', 'themeisle-companion' ) );
|
8 |
-
$default = '';
|
9 |
-
if( function_exists('azera_shop_companion_testimonials_get_default_content')){
|
10 |
-
$default = azera_shop_companion_testimonials_get_default_content();
|
11 |
-
}
|
12 |
-
$azera_shop_testimonials_content = get_theme_mod( 'azera_shop_testimonials_content', $default );
|
13 |
-
if ( function_exists( 'azera_shop_general_repeater_is_empty' ) ){
|
14 |
-
$content_is_empty = azera_shop_general_repeater_is_empty( $azera_shop_testimonials_content );
|
15 |
-
} else {
|
16 |
-
$content_is_empty = empty( $azera_shop_testimonials_content );
|
17 |
-
}
|
18 |
-
$section_is_empty = ! isset( $azera_shop_happy_customers_show ) || $azera_shop_happy_customers_show == 1 || ( empty( $azera_shop_happy_customers_title ) && empty( $azera_shop_happy_customers_subtitle ) && $content_is_empty );
|
19 |
-
if( !$section_is_empty) { ?>
|
20 |
-
|
21 |
-
<section class="testimonials <?php if ($section_is_empty) {
|
22 |
-
echo 'azera_shop_only_customizer';
|
23 |
-
} ?>" id="customers" role="region" aria-label="<?php esc_attr_e('Testimonials', 'themeisle-companion') ?>">
|
24 |
-
<div class="section-overlay-layer">
|
25 |
-
<div class="container">
|
26 |
-
|
27 |
-
<!-- SECTION HEADER -->
|
28 |
-
<?php
|
29 |
-
if (!empty($azera_shop_happy_customers_title) || !empty($azera_shop_happy_customers_subtitle)) { ?>
|
30 |
-
<div class="section-header">
|
31 |
-
<?php
|
32 |
-
if (!empty($azera_shop_happy_customers_title)) { ?>
|
33 |
-
<h2 class="dark-text"><?php echo wp_kses_post($azera_shop_happy_customers_title); ?></h2>
|
34 |
-
<div class="colored-line"></div>
|
35 |
-
<?php
|
36 |
-
} elseif (is_customize_preview()) { ?>
|
37 |
-
<h2 class="dark-text azera_shop_only_customizer"></h2>
|
38 |
-
<div class="colored-line azera_shop_only_customizer"></div>
|
39 |
-
<?php
|
40 |
-
}
|
41 |
-
|
42 |
-
if (!empty($azera_shop_happy_customers_subtitle)) { ?>
|
43 |
-
<div class="sub-heading"><?php echo wp_kses_post($azera_shop_happy_customers_subtitle); ?></div>
|
44 |
-
<?php
|
45 |
-
} elseif (is_customize_preview()) { ?>
|
46 |
-
<div class="sub-heading azera_shop_only_customizer"></div>
|
47 |
-
<?php
|
48 |
-
} ?>
|
49 |
-
</div>
|
50 |
-
<?php
|
51 |
-
}
|
52 |
-
|
53 |
-
|
54 |
-
if (!empty($azera_shop_testimonials_content)) { ?>
|
55 |
-
<div id="happy_customers_wrap" class="testimonials-wrap">
|
56 |
-
<?php
|
57 |
-
$azera_shop_testimonials_content_decoded = json_decode($azera_shop_testimonials_content);
|
58 |
-
foreach ($azera_shop_testimonials_content_decoded as $azera_shop_testimonial) {
|
59 |
-
$image = !empty($azera_shop_testimonial->image_url) ? apply_filters('azera_shop_translate_single_string', $azera_shop_testimonial->image_url, 'Testimonials section') : '';
|
60 |
-
$title = !empty($azera_shop_testimonial->title) ? apply_filters('azera_shop_translate_single_string', $azera_shop_testimonial->title, 'Testimonials section') : '';
|
61 |
-
$subtitle = !empty($azera_shop_testimonial->subtitle) ? apply_filters('azera_shop_translate_single_string', $azera_shop_testimonial->subtitle, 'Testimonials section') : '';
|
62 |
-
$text = !empty($azera_shop_testimonial->text) ? apply_filters('azera_shop_translate_single_string', $azera_shop_testimonial->text, 'Testimonials section') : '';
|
63 |
-
$section_is_empty = empty($image) && empty($title) && empty($subtitle) && empty($text);
|
64 |
-
|
65 |
-
if (!$section_is_empty) { ?>
|
66 |
-
<!-- SINGLE FEEDBACK -->
|
67 |
-
<div class="testimonials-box">
|
68 |
-
<div class="feedback border-bottom-hover">
|
69 |
-
<div class="pic-container">
|
70 |
-
<div class="pic-container-inner">
|
71 |
-
<?php
|
72 |
-
if (!empty($image)) { ?>
|
73 |
-
<img src="<?php echo esc_url($image); ?>"
|
74 |
-
alt="<?php echo(!empty($title) ? esc_attr($title) : esc_attr('Avatar', 'themeisle-companion')); ?>">
|
75 |
-
<?php
|
76 |
-
} else {
|
77 |
-
$default_image = azera_shop_get_file('/images/clients/client-no-image.jpg'); ?>
|
78 |
-
<img src="<?php echo esc_url($default_image); ?>"
|
79 |
-
alt="<?php esc_attr_e('Avatar', 'themeisle-companion'); ?>">
|
80 |
-
<?php
|
81 |
-
} ?>
|
82 |
-
</div>
|
83 |
-
</div>
|
84 |
-
<?php
|
85 |
-
if (!empty($title) || !empty($subtitle) || !empty($text)) { ?>
|
86 |
-
<div class="feedback-text-wrap">
|
87 |
-
<?php
|
88 |
-
if (!empty($title)) { ?>
|
89 |
-
<h5 class="colored-text">
|
90 |
-
<?php
|
91 |
-
echo wp_kses_post($title); ?>
|
92 |
-
</h5>
|
93 |
-
<?php
|
94 |
-
}
|
95 |
-
|
96 |
-
if (!empty($subtitle)) { ?>
|
97 |
-
<div class="small-text">
|
98 |
-
<?php
|
99 |
-
echo wp_kses_post($subtitle); ?>
|
100 |
-
</div>
|
101 |
-
<?php
|
102 |
-
}
|
103 |
-
|
104 |
-
if (!empty($text)) { ?>
|
105 |
-
<p>
|
106 |
-
<?php
|
107 |
-
echo wp_kses_post($text); ?>
|
108 |
-
</p>
|
109 |
-
<?php
|
110 |
-
} ?>
|
111 |
-
</div>
|
112 |
-
<?php
|
113 |
-
} ?>
|
114 |
-
</div>
|
115 |
-
</div><!-- .testimonials-box -->
|
116 |
-
<?php
|
117 |
-
}
|
118 |
-
} ?>
|
119 |
-
</div>
|
120 |
-
<?php
|
121 |
-
} ?>
|
122 |
-
</div>
|
123 |
-
</div>
|
124 |
-
</section>
|
125 |
-
<?php
|
126 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/sections/azera_shop_our_services_section.php
DELETED
@@ -1,125 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
$azera_shop_our_services_show = get_theme_mod( 'azera_shop_our_services_show' );
|
3 |
-
$azera_shop_our_services_title = get_theme_mod( 'azera_shop_our_services_title', esc_html__( 'Our Services', 'themeisle-companion' ) );
|
4 |
-
$azera_shop_our_services_subtitle = get_theme_mod( 'azera_shop_our_services_subtitle', esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' ) );
|
5 |
-
$default = '';
|
6 |
-
if( function_exists('azera_shop_companion_sevices_get_default_content')){
|
7 |
-
$default = azera_shop_companion_sevices_get_default_content();
|
8 |
-
}
|
9 |
-
$azera_shop_services = get_theme_mod( 'azera_shop_services_content', $default);
|
10 |
-
if ( function_exists( 'azera_shop_general_repeater_is_empty' ) ){
|
11 |
-
$content_is_empty = azera_shop_general_repeater_is_empty( $azera_shop_services );
|
12 |
-
} else {
|
13 |
-
$content_is_empty = empty( $azera_shop_services );
|
14 |
-
}
|
15 |
-
$section_is_empty = ! isset( $azera_shop_our_services_show ) || $azera_shop_our_services_show == 1 || ( empty( $azera_shop_our_services_title ) && empty( $azera_shop_our_services_subtitle ) && $content_is_empty );
|
16 |
-
if( !$section_is_empty ){ ?>
|
17 |
-
|
18 |
-
<section class="services <?php if ($section_is_empty) {
|
19 |
-
echo 'azera_shop_only_customizer';
|
20 |
-
} ?>" id="services" role="region" aria-label="<?php esc_attr_e('Services', 'themeisle-companion') ?>">
|
21 |
-
<div class="section-overlay-layer">
|
22 |
-
<div class="container">
|
23 |
-
<div class="section-header">
|
24 |
-
<?php
|
25 |
-
if (!empty($azera_shop_our_services_title)) { ?>
|
26 |
-
<h2 class="dark-text"><?php echo wp_kses_post($azera_shop_our_services_title); ?></h2>
|
27 |
-
<div class="colored-line"></div>
|
28 |
-
<?php
|
29 |
-
} elseif (is_customize_preview()) { ?>
|
30 |
-
<h2 class="dark-text azera_shop_only_customizer"></h2>
|
31 |
-
<div class="colored-line azera_shop_only_customizer"></div>
|
32 |
-
<?php
|
33 |
-
}
|
34 |
-
|
35 |
-
if (!empty($azera_shop_our_services_subtitle)) { ?>
|
36 |
-
<div class="sub-heading"><?php echo wp_kses_post($azera_shop_our_services_subtitle); ?></div>
|
37 |
-
<?php
|
38 |
-
} elseif (is_customize_preview()) { ?>
|
39 |
-
<div class="sub-heading azera_shop_only_customizer"></div>
|
40 |
-
<?php
|
41 |
-
} ?>
|
42 |
-
</div>
|
43 |
-
|
44 |
-
<?php
|
45 |
-
if (!$content_is_empty) {
|
46 |
-
$azera_shop_services_decoded = json_decode($azera_shop_services); ?>
|
47 |
-
<div id="our_services_wrap" class="services-wrap">
|
48 |
-
<?php
|
49 |
-
foreach ($azera_shop_services_decoded as $azera_shop_service_box) {
|
50 |
-
$choice = !empty($azera_shop_service_box->choice) ? $azera_shop_service_box->choice : '';
|
51 |
-
$icon = !empty($azera_shop_service_box->icon_value) ? apply_filters('azera_shop_translate_single_string', $azera_shop_service_box->icon_value, 'Services section') : '';
|
52 |
-
$image = !empty($azera_shop_service_box->image_url) ? apply_filters('azera_shop_translate_single_string', $azera_shop_service_box->image_url, 'Services section') : '';
|
53 |
-
$title = !empty($azera_shop_service_box->title) ? apply_filters('azera_shop_translate_single_string', $azera_shop_service_box->title, 'Services section') : '';
|
54 |
-
$text = !empty($azera_shop_service_box->text) ? apply_filters('azera_shop_translate_single_string', $azera_shop_service_box->text, 'Services section') : '';
|
55 |
-
$link = !empty($azera_shop_service_box->link) ? apply_filters('azera_shop_translate_single_string', $azera_shop_service_box->link, 'Services section') : '';
|
56 |
-
$section_is_empty = (empty($icon) || $icon === 'No Icon' && $choice === 'azera_shop_icon') && (empty($image) && $choice === 'azera_shop_image') && empty($title) && empty($text);
|
57 |
-
|
58 |
-
if (!$section_is_empty) { ?>
|
59 |
-
<div class="service-box">
|
60 |
-
<div class="single-service border-bottom-hover">
|
61 |
-
<?php
|
62 |
-
if (!empty($choice) && $choice !== 'azera_shop_none') {
|
63 |
-
|
64 |
-
if ($choice === 'azera_shop_icon') {
|
65 |
-
if (!empty($icon)) {
|
66 |
-
if (!empty($link)) { ?>
|
67 |
-
<div class="service-icon colored-text">
|
68 |
-
<a href="<?php echo esc_url($link); ?>">
|
69 |
-
<i class="fa <?php echo esc_attr($icon); ?>"></i>
|
70 |
-
</a>
|
71 |
-
</div>
|
72 |
-
<?php
|
73 |
-
} else { ?>
|
74 |
-
<div class="service-icon colored-text">
|
75 |
-
<i class="fa <?php echo esc_attr($icon); ?>"></i>
|
76 |
-
</div>
|
77 |
-
<?php
|
78 |
-
}
|
79 |
-
}
|
80 |
-
}
|
81 |
-
|
82 |
-
if ($choice === 'azera_shop_image') {
|
83 |
-
if (!empty($image)) {
|
84 |
-
if (!empty($link)) { ?>
|
85 |
-
<a href="<?php echo esc_url($link); ?>">
|
86 |
-
<img src="<?php echo esc_url($image); ?>" <?php echo(!empty($title) ? 'alt="' . esc_attr($title) . '"' : ''); ?> />
|
87 |
-
</a>
|
88 |
-
<?php
|
89 |
-
} else { ?>
|
90 |
-
<img src="<?php echo esc_url($image); ?>" <?php echo(!empty($title) ? 'alt="' . esc_attr($title) . '"' : ''); ?> />
|
91 |
-
<?php
|
92 |
-
}
|
93 |
-
}
|
94 |
-
}
|
95 |
-
}
|
96 |
-
|
97 |
-
if (!empty($title)) {
|
98 |
-
if (!empty($link)) { ?>
|
99 |
-
<h3 class="colored-text">
|
100 |
-
<a href="<?php echo esc_url($link); ?>"><?php echo wp_kses_post($title); ?></a>
|
101 |
-
</h3>
|
102 |
-
<?php
|
103 |
-
} else { ?>
|
104 |
-
<h3 class="colored-text"><?php echo wp_kses_post($title); ?></h3>
|
105 |
-
<?php
|
106 |
-
}
|
107 |
-
}
|
108 |
-
|
109 |
-
if (!empty($text)) { ?>
|
110 |
-
<p><?php echo wp_kses_post($text); ?></p>
|
111 |
-
<?php
|
112 |
-
} ?>
|
113 |
-
</div>
|
114 |
-
</div>
|
115 |
-
<?php
|
116 |
-
}
|
117 |
-
} ?>
|
118 |
-
</div>
|
119 |
-
<?php
|
120 |
-
} ?>
|
121 |
-
</div>
|
122 |
-
</div>
|
123 |
-
</section>
|
124 |
-
<?php
|
125 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/sections/azera_shop_our_team_section.php
DELETED
@@ -1,103 +0,0 @@
|
|
1 |
-
<!-- =========================
|
2 |
-
SECTION: TEAM
|
3 |
-
============================== -->
|
4 |
-
<?php
|
5 |
-
$azera_shop_our_team_show = get_theme_mod( 'azera_shop_our_team_show' );
|
6 |
-
$azera_shop_our_team_title = get_theme_mod( 'azera_shop_our_team_title', esc_html__( 'Our Team', 'themeisle-companion' ) );
|
7 |
-
$azera_shop_our_team_background = get_theme_mod( 'azera_shop_our_team_background', azera_shop_get_file( '/images/background-images/parallax-img/team-img.jpg' ) );
|
8 |
-
$azera_shop_our_team_subtitle = get_theme_mod( 'azera_shop_our_team_subtitle', esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' ) );
|
9 |
-
$default = '';
|
10 |
-
if( function_exists('azera_shop_companion_team_get_default_content') ){
|
11 |
-
$default = azera_shop_companion_team_get_default_content();
|
12 |
-
}
|
13 |
-
$azera_shop_team_content = get_theme_mod( 'azera_shop_team_content', $default );
|
14 |
-
if ( function_exists( 'azera_shop_general_repeater_is_empty' ) ){
|
15 |
-
$content_is_empty = azera_shop_general_repeater_is_empty( $azera_shop_team_content );
|
16 |
-
} else {
|
17 |
-
$content_is_empty = empty( $azera_shop_team_content );
|
18 |
-
}
|
19 |
-
$section_is_empty = ! isset( $azera_shop_our_team_show ) || $azera_shop_our_team_show == 1 || ( empty( $azera_shop_our_team_title ) && empty( $azera_shop_our_team_subtitle ) && $content_is_empty );
|
20 |
-
if( !$section_is_empty){ ?>
|
21 |
-
<section class="team" id="team" role="region" aria-label="'<?php esc_attr_e( 'Team', 'themeisle-companion' ); ?>" <?php echo ! empty( $azera_shop_our_team_background ) ? 'style="background:url(' . esc_url( $azera_shop_our_team_background ) . ');"' : ''; ?>>
|
22 |
-
<div class="section-overlay-layer">
|
23 |
-
<div class="container">
|
24 |
-
<?php
|
25 |
-
if ( ! empty( $azera_shop_our_team_title ) || ! empty( $azera_shop_our_team_subtitle ) ) { ?>
|
26 |
-
<div class="section-header">
|
27 |
-
<?php
|
28 |
-
if ( ! empty( $azera_shop_our_team_title ) ) { ?>
|
29 |
-
<h2 class="dark-text"><?php echo esc_attr( $azera_shop_our_team_title ); ?></h2>
|
30 |
-
<div class="colored-line"></div>
|
31 |
-
<?php
|
32 |
-
} elseif ( is_customize_preview() ) { ?>
|
33 |
-
<h2 class="dark-text azera_shop_only_customizer"></h2>
|
34 |
-
<div class="colored-line azera_shop_only_customizer"></div>
|
35 |
-
<?php
|
36 |
-
}
|
37 |
-
|
38 |
-
if ( ! empty( $azera_shop_our_team_subtitle ) ) { ?>
|
39 |
-
<div class="sub-heading"><?php echo esc_attr( $azera_shop_our_team_subtitle ); ?></div>
|
40 |
-
<?php
|
41 |
-
} elseif ( is_customize_preview() ) { ?>
|
42 |
-
<div class="sub-heading azera_shop_only_customizer"></div>
|
43 |
-
<?php
|
44 |
-
} ?>
|
45 |
-
</div>
|
46 |
-
<?php
|
47 |
-
}
|
48 |
-
if ( ! $content_is_empty ) { ?>
|
49 |
-
<div class="row team-member-wrap">
|
50 |
-
<?php
|
51 |
-
$azera_shop_team_decoded = json_decode( $azera_shop_team_content );
|
52 |
-
foreach ( $azera_shop_team_decoded as $azera_shop_team_member ) {
|
53 |
-
$title = ! empty( $azera_shop_team_member->title ) ? apply_filters( 'azera_shop_translate_single_string', $azera_shop_team_member->title, 'Team section' ) : '';
|
54 |
-
$subtitle = ! empty( $azera_shop_team_member->subtitle ) ? apply_filters( 'azera_shop_translate_single_string', $azera_shop_team_member->subtitle, 'Team section' ) : '';
|
55 |
-
$image = ! empty( $azera_shop_team_member->image_url ) ? apply_filters( 'azera_shop_translate_single_string', $azera_shop_team_member->image_url, 'Team section' ) : '';
|
56 |
-
$section_is_empty = empty( $image ) && empty( $title ) && empty( $subtitle );
|
57 |
-
if ( ! $section_is_empty ) { ?>
|
58 |
-
<div class="col-md-3 team-member-box">
|
59 |
-
<div class="team-member border-bottom-hover">
|
60 |
-
<div class="member-pic">
|
61 |
-
<?php
|
62 |
-
if ( ! empty( $image ) ) { ?>
|
63 |
-
<img src="<?php echo esc_url( $image ); ?>" <?php echo( ! empty( $title ) ? 'alt="' . esc_attr( $title ) . '"' : esc_html__( 'Avatar', 'themeisle-companion' ) ); ?>>
|
64 |
-
<?php
|
65 |
-
} else {
|
66 |
-
$default_url = azera_shop_get_file( '/images/team/default.png' ); ?>
|
67 |
-
<img src="<?php echo esc_url( $default_url ); ?>" alt="<?php esc_attr_e( 'Avatar', 'themeisle-companion' ); ?>">
|
68 |
-
<?php
|
69 |
-
} ?>
|
70 |
-
</div><!-- .member-pic -->
|
71 |
-
|
72 |
-
<?php
|
73 |
-
if ( ! empty( $title ) || ! empty( $subtitle ) ) { ?>
|
74 |
-
<div class="member-details">
|
75 |
-
<div class="member-details-inner">
|
76 |
-
<?php
|
77 |
-
if ( ! empty( $title ) ) { ?>
|
78 |
-
<h5 class="colored-text"> <?php echo wp_kses_post( $title ); ?></h5>
|
79 |
-
<?php
|
80 |
-
}
|
81 |
-
|
82 |
-
if ( ! empty( $subtitle ) ) { ?>
|
83 |
-
<div class="small-text"><?php echo wp_kses_post( $subtitle ); ?></div>
|
84 |
-
<?php
|
85 |
-
} ?>
|
86 |
-
</div><!-- .member-details-inner -->
|
87 |
-
</div><!-- .member-details -->
|
88 |
-
<?php
|
89 |
-
} ?>
|
90 |
-
</div><!-- .team-member -->
|
91 |
-
</div><!-- .team-member -->
|
92 |
-
<!-- MEMBER -->
|
93 |
-
<?php
|
94 |
-
}
|
95 |
-
} ?>
|
96 |
-
</div>
|
97 |
-
<?php
|
98 |
-
} ?>
|
99 |
-
</div>
|
100 |
-
</div><!-- container -->
|
101 |
-
</section><!-- #section9 -->
|
102 |
-
<?php
|
103 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/azera-shop/wpml-config.xml
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
<wpml-config>
|
2 |
-
<admin-texts>
|
3 |
-
<key name="theme_mods_themeisle-companion">
|
4 |
-
<key name="azera_shop_our_services_title" />
|
5 |
-
<key name="azera_shop_our_services_subtitle" />
|
6 |
-
<key name="azera_shop_our_team_title" />
|
7 |
-
<key name="azera_shop_our_team_subtitle" />
|
8 |
-
<key name="azera_shop_our_team_background" />
|
9 |
-
<key name="azera_shop_happy_customers_title" />
|
10 |
-
<key name="azera_shop_happy_customers_subttle" />
|
11 |
-
</key>
|
12 |
-
</admin-texts>
|
13 |
-
</wpml-config>
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/hestia/common-functions.php
CHANGED
@@ -9,22 +9,37 @@
|
|
9 |
Â
/**
|
10 |
Â
* Change default alignment for top bar.
|
11 |
Â
*/
|
12 |
-
function themeisle_hestia_top_bar_default_alignment(){
|
13 |
Â
return 'left';
|
14 |
Â
}
|
15 |
Â
|
16 |
Â
/**
|
17 |
Â
* Add default content to clients section;
|
18 |
Â
*/
|
19 |
-
function themeisle_hestia_clients_default_content(){
|
20 |
Â
$plugin_path = plugins_url( 'inc/img/', __FILE__ );
|
21 |
Â
return json_encode(
|
22 |
Â
array(
|
23 |
-
array(
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
array(
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
28 |
Â
)
|
29 |
Â
);
|
30 |
Â
}
|
@@ -47,30 +62,30 @@ function themeisle_hestia_fix_duplicate_widgets() {
|
|
47 |
Â
$current_sidebars = get_option( 'sidebars_widgets' );
|
48 |
Â
|
49 |
Â
$duplicates = themeisle_hestia_get_duplicate_widgets();
|
50 |
-
if(empty($duplicates)){
|
51 |
Â
return;
|
52 |
Â
}
|
53 |
-
foreach ($duplicates as $widget){
|
54 |
-
$old_widget_id
|
55 |
Â
$old_widget_sidebar = $widget['sidebar'];
|
56 |
-
$old_widget_index
|
57 |
-
if( empty($old_widget_index)){
|
58 |
Â
return;
|
59 |
Â
}
|
60 |
Â
|
61 |
Â
/* Remove the widget id and obtain the widget name */
|
62 |
Â
$old_widget_name = explode( '-', $old_widget_id );
|
63 |
Â
array_pop( $old_widget_name );
|
64 |
-
$widget_name = implode('-', $old_widget_name);
|
65 |
Â
|
66 |
Â
/* Get the id of new widget */
|
67 |
-
$new_widget_name
|
68 |
-
$new_widget_index
|
69 |
Â
|
70 |
Â
|
71 |
Â
/* Get the options of old widget and update its id */
|
72 |
-
$old_widget_options = $wp_registered_widgets[$old_widget_id];
|
73 |
-
if(!empty($old_widget_options)) {
|
74 |
Â
if ( ! empty( $old_widget_options['params'] ) ) {
|
75 |
Â
unset( $old_widget_options['params'] );
|
76 |
Â
}
|
@@ -84,10 +99,10 @@ function themeisle_hestia_fix_duplicate_widgets() {
|
|
84 |
Â
$old_widget_options = array();
|
85 |
Â
}
|
86 |
Â
|
87 |
-
$current_sidebars[$old_widget_sidebar][$old_widget_index] = $new_widget_name;
|
88 |
-
$new_widget[ $new_widget_index ]
|
89 |
Â
|
90 |
-
update_option( 'widget_'
|
91 |
Â
}
|
92 |
Â
update_option( 'sidebars_widgets', $current_sidebars );
|
93 |
Â
|
@@ -128,22 +143,22 @@ function themeisle_hestia_generate_unique_widget_name( $widget_name ) {
|
|
128 |
Â
*/
|
129 |
Â
function themeisle_hestia_get_duplicate_widgets() {
|
130 |
Â
|
131 |
-
$current_sidebars
|
132 |
-
$all_widget_array
|
133 |
Â
$duplicate_widgets = array();
|
134 |
Â
foreach ( $current_sidebars as $sidebar => $widgets ) {
|
135 |
Â
if ( ! empty( $widgets ) && is_array( $widgets ) && $sidebar != 'wp_inactive_widgets' ) {
|
136 |
Â
foreach ( $widgets as $widget ) {
|
137 |
-
if( in_array($widget
|
138 |
Â
$duplicate_widgets[] = array(
|
139 |
Â
'widget_id' => $widget,
|
140 |
-
'sidebar'
|
141 |
Â
);
|
142 |
-
} else{
|
143 |
Â
$all_widget_array[] = $widget;
|
144 |
Â
}
|
145 |
Â
}
|
146 |
Â
}
|
147 |
Â
}
|
148 |
Â
return $duplicate_widgets;
|
149 |
-
}
|
9 |
Â
/**
|
10 |
Â
* Change default alignment for top bar.
|
11 |
Â
*/
|
12 |
+
function themeisle_hestia_top_bar_default_alignment() {
|
13 |
Â
return 'left';
|
14 |
Â
}
|
15 |
Â
|
16 |
Â
/**
|
17 |
Â
* Add default content to clients section;
|
18 |
Â
*/
|
19 |
+
function themeisle_hestia_clients_default_content() {
|
20 |
Â
$plugin_path = plugins_url( 'inc/img/', __FILE__ );
|
21 |
Â
return json_encode(
|
22 |
Â
array(
|
23 |
+
array(
|
24 |
+
'image_url' => $plugin_path . 'clients1.png',
|
25 |
+
'link' => '#',
|
26 |
+
),
|
27 |
+
array(
|
28 |
+
'image_url' => $plugin_path . 'clients2.png',
|
29 |
+
'link' => '#',
|
30 |
+
),
|
31 |
+
array(
|
32 |
+
'image_url' => $plugin_path . 'clients3.png',
|
33 |
+
'link' => '#',
|
34 |
+
),
|
35 |
+
array(
|
36 |
+
'image_url' => $plugin_path . 'clients4.png',
|
37 |
+
'link' => '#',
|
38 |
+
),
|
39 |
+
array(
|
40 |
+
'image_url' => $plugin_path . 'clients5.png',
|
41 |
+
'link' => '#',
|
42 |
+
),
|
43 |
Â
)
|
44 |
Â
);
|
45 |
Â
}
|
62 |
Â
$current_sidebars = get_option( 'sidebars_widgets' );
|
63 |
Â
|
64 |
Â
$duplicates = themeisle_hestia_get_duplicate_widgets();
|
65 |
+
if ( empty( $duplicates ) ) {
|
66 |
Â
return;
|
67 |
Â
}
|
68 |
+
foreach ( $duplicates as $widget ) {
|
69 |
+
$old_widget_id = $widget['widget_id'];
|
70 |
Â
$old_widget_sidebar = $widget['sidebar'];
|
71 |
+
$old_widget_index = array_search( $old_widget_id, $current_sidebars[ $old_widget_sidebar ] );
|
72 |
+
if ( empty( $old_widget_index ) ) {
|
73 |
Â
return;
|
74 |
Â
}
|
75 |
Â
|
76 |
Â
/* Remove the widget id and obtain the widget name */
|
77 |
Â
$old_widget_name = explode( '-', $old_widget_id );
|
78 |
Â
array_pop( $old_widget_name );
|
79 |
+
$widget_name = implode( '-', $old_widget_name );
|
80 |
Â
|
81 |
Â
/* Get the id of new widget */
|
82 |
+
$new_widget_name = themeisle_hestia_generate_unique_widget_name( $widget_name );
|
83 |
+
$new_widget_index = trim( substr( $new_widget_name, strrpos( $new_widget_name, '-' ) + 1 ) );
|
84 |
Â
|
85 |
Â
|
86 |
Â
/* Get the options of old widget and update its id */
|
87 |
+
$old_widget_options = $wp_registered_widgets[ $old_widget_id ];
|
88 |
+
if ( ! empty( $old_widget_options ) ) {
|
89 |
Â
if ( ! empty( $old_widget_options['params'] ) ) {
|
90 |
Â
unset( $old_widget_options['params'] );
|
91 |
Â
}
|
99 |
Â
$old_widget_options = array();
|
100 |
Â
}
|
101 |
Â
|
102 |
+
$current_sidebars[ $old_widget_sidebar ][ $old_widget_index ] = $new_widget_name;
|
103 |
+
$new_widget[ $new_widget_index ] = $old_widget_options;
|
104 |
Â
|
105 |
+
update_option( 'widget_' . $widget_name, $new_widget );
|
106 |
Â
}
|
107 |
Â
update_option( 'sidebars_widgets', $current_sidebars );
|
108 |
Â
|
143 |
Â
*/
|
144 |
Â
function themeisle_hestia_get_duplicate_widgets() {
|
145 |
Â
|
146 |
+
$current_sidebars = get_option( 'sidebars_widgets' );
|
147 |
+
$all_widget_array = array();
|
148 |
Â
$duplicate_widgets = array();
|
149 |
Â
foreach ( $current_sidebars as $sidebar => $widgets ) {
|
150 |
Â
if ( ! empty( $widgets ) && is_array( $widgets ) && $sidebar != 'wp_inactive_widgets' ) {
|
151 |
Â
foreach ( $widgets as $widget ) {
|
152 |
+
if ( in_array( $widget, $all_widget_array ) ) {
|
153 |
Â
$duplicate_widgets[] = array(
|
154 |
Â
'widget_id' => $widget,
|
155 |
+
'sidebar' => $sidebar,
|
156 |
Â
);
|
157 |
+
} else {
|
158 |
Â
$all_widget_array[] = $widget;
|
159 |
Â
}
|
160 |
Â
}
|
161 |
Â
}
|
162 |
Â
}
|
163 |
Â
return $duplicate_widgets;
|
164 |
+
}
|
obfx_modules/companion-legacy/inc/hestia/functions.php
CHANGED
@@ -11,14 +11,17 @@
|
|
11 |
Â
*/
|
12 |
Â
function themeisle_hestia_require() {
|
13 |
Â
if ( function_exists( 'hestia_setup_theme' ) ) {
|
14 |
-
$sections_paths = apply_filters(
|
15 |
-
'
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
Â
|
|
Â
|
|
Â
|
|
22 |
Â
themeisle_hestia_require_files( $sections_paths );
|
23 |
Â
}
|
24 |
Â
}
|
@@ -29,14 +32,17 @@ function themeisle_hestia_require() {
|
|
29 |
Â
*/
|
30 |
Â
function themeisle_hestia_load_controls() {
|
31 |
Â
if ( function_exists( 'hestia_setup_theme' ) ) {
|
32 |
-
$features_paths = apply_filters(
|
33 |
-
'
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
Â
|
|
Â
|
|
Â
|
|
40 |
Â
themeisle_hestia_require_files( $features_paths );
|
41 |
Â
}
|
42 |
Â
}
|
@@ -51,7 +57,7 @@ function themeisle_hestia_require_files( $array ) {
|
|
51 |
Â
foreach ( $array as $path ) {
|
52 |
Â
$file_path = trailingslashit( THEMEISLE_COMPANION_PATH ) . $path;
|
53 |
Â
if ( file_exists( $file_path ) ) {
|
54 |
-
require_once
|
55 |
Â
}
|
56 |
Â
}
|
57 |
Â
}
|
@@ -64,10 +70,10 @@ function themeisle_hestia_set_frontpage() {
|
|
64 |
Â
$is_fresh_site = get_option( 'fresh_site' );
|
65 |
Â
if ( (bool) $is_fresh_site === false ) {
|
66 |
Â
$frontpage_title = esc_html__( 'Front Page', 'themeisle-companion' );
|
67 |
-
$front_id
|
68 |
-
$blogpage_title
|
69 |
-
$blog_id
|
70 |
-
set_theme_mod( 'show_on_front','page' );
|
71 |
Â
update_option( 'show_on_front', 'page' );
|
72 |
Â
if ( ! empty( $front_id ) ) {
|
73 |
Â
update_option( 'page_on_front', $front_id );
|
@@ -100,11 +106,11 @@ function themeisle_hestia_create_page( $slug, $page_title ) {
|
|
100 |
Â
} else {
|
101 |
Â
// Page doesn't exist. Create one.
|
102 |
Â
$postargs = array(
|
103 |
-
'post_type'
|
104 |
-
'post_name'
|
105 |
-
'post_title'
|
106 |
-
'post_status'
|
107 |
-
'post_author'
|
108 |
Â
);
|
109 |
Â
// Insert the post into the database
|
110 |
Â
$page_id = wp_insert_post( $postargs );
|
@@ -117,6 +123,6 @@ function themeisle_hestia_create_page( $slug, $page_title ) {
|
|
117 |
Â
* Note: this can be deleted in a future version. It's just for maintaining compatibility, if user updates plugin but
|
118 |
Â
* not the theme.
|
119 |
Â
*/
|
120 |
-
function themeisle_hestia_enqueue_clients_style(){
|
121 |
Â
wp_enqueue_style( 'hestia-clients-bar', trailingslashit( THEMEISLE_COMPANION_URL ) . 'assets/css/hestia/clients-bar.css' );
|
122 |
-
}
|
11 |
Â
*/
|
12 |
Â
function themeisle_hestia_require() {
|
13 |
Â
if ( function_exists( 'hestia_setup_theme' ) ) {
|
14 |
+
$sections_paths = apply_filters(
|
15 |
+
'themeisle_companion_hestia_sections',
|
16 |
+
array(
|
17 |
+
'hestia/inc/features/import-zerif-content.php',
|
18 |
+
'hestia/inc/sections/hestia-features-section.php',
|
19 |
+
'hestia/inc/sections/hestia-testimonials-section.php',
|
20 |
+
'hestia/inc/sections/hestia-team-section.php',
|
21 |
+
'hestia/inc/sections/hestia-ribbon-section.php',
|
22 |
+
'hestia/inc/sections/hestia-clients-bar-section.php',
|
23 |
+
)
|
24 |
+
);
|
25 |
Â
themeisle_hestia_require_files( $sections_paths );
|
26 |
Â
}
|
27 |
Â
}
|
32 |
Â
*/
|
33 |
Â
function themeisle_hestia_load_controls() {
|
34 |
Â
if ( function_exists( 'hestia_setup_theme' ) ) {
|
35 |
+
$features_paths = apply_filters(
|
36 |
+
'themeisle_companion_hestia_controls',
|
37 |
+
array(
|
38 |
+
'hestia/inc/features/feature-features-section.php',
|
39 |
+
'hestia/inc/features/feature-testimonials-section.php',
|
40 |
+
'hestia/inc/features/feature-team-section.php',
|
41 |
+
'hestia/inc/features/feature-ribbon-section.php',
|
42 |
+
'hestia/inc/features/feature-clients-bar-section.php',
|
43 |
+
'hestia/inc/customizer.php',
|
44 |
+
)
|
45 |
+
);
|
46 |
Â
themeisle_hestia_require_files( $features_paths );
|
47 |
Â
}
|
48 |
Â
}
|
57 |
Â
foreach ( $array as $path ) {
|
58 |
Â
$file_path = trailingslashit( THEMEISLE_COMPANION_PATH ) . $path;
|
59 |
Â
if ( file_exists( $file_path ) ) {
|
60 |
+
require_once $file_path;
|
61 |
Â
}
|
62 |
Â
}
|
63 |
Â
}
|
70 |
Â
$is_fresh_site = get_option( 'fresh_site' );
|
71 |
Â
if ( (bool) $is_fresh_site === false ) {
|
72 |
Â
$frontpage_title = esc_html__( 'Front Page', 'themeisle-companion' );
|
73 |
+
$front_id = themeisle_hestia_create_page( 'hestia-front', $frontpage_title );
|
74 |
+
$blogpage_title = esc_html__( 'Blog', 'themeisle-companion' );
|
75 |
+
$blog_id = themeisle_hestia_create_page( 'blog', $blogpage_title );
|
76 |
+
set_theme_mod( 'show_on_front', 'page' );
|
77 |
Â
update_option( 'show_on_front', 'page' );
|
78 |
Â
if ( ! empty( $front_id ) ) {
|
79 |
Â
update_option( 'page_on_front', $front_id );
|
106 |
Â
} else {
|
107 |
Â
// Page doesn't exist. Create one.
|
108 |
Â
$postargs = array(
|
109 |
+
'post_type' => 'page',
|
110 |
+
'post_name' => $slug,
|
111 |
+
'post_title' => $page_title,
|
112 |
+
'post_status' => 'publish',
|
113 |
+
'post_author' => 1,
|
114 |
Â
);
|
115 |
Â
// Insert the post into the database
|
116 |
Â
$page_id = wp_insert_post( $postargs );
|
123 |
Â
* Note: this can be deleted in a future version. It's just for maintaining compatibility, if user updates plugin but
|
124 |
Â
* not the theme.
|
125 |
Â
*/
|
126 |
+
function themeisle_hestia_enqueue_clients_style() {
|
127 |
Â
wp_enqueue_style( 'hestia-clients-bar', trailingslashit( THEMEISLE_COMPANION_URL ) . 'assets/css/hestia/clients-bar.css' );
|
128 |
+
}
|
obfx_modules/companion-legacy/inc/hestia/inc/features/feature-clients-bar-section.php
CHANGED
@@ -15,12 +15,14 @@ if ( ! function_exists( 'hestia_clients_bar_customize_register' ) ) :
|
|
15 |
Â
*/
|
16 |
Â
function hestia_clients_bar_customize_register( $wp_customize ) {
|
17 |
Â
|
18 |
-
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists('hestia_display_customizer_shortcut') ? 'postMessage' : 'refresh';
|
19 |
Â
|
20 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
21 |
Â
$wp_customize->add_section(
|
22 |
Â
new Hestia_Hiding_Section(
|
23 |
-
$wp_customize,
|
Â
|
|
Â
|
|
24 |
Â
'title' => esc_html__( 'Clients Bar', 'themeisle-companion' ),
|
25 |
Â
'panel' => 'hestia_frontpage_sections',
|
26 |
Â
'priority' => apply_filters( 'hestia_section_priority', 50, 'hestia_clients_bar' ),
|
@@ -30,7 +32,8 @@ if ( ! function_exists( 'hestia_clients_bar_customize_register' ) ) :
|
|
30 |
Â
);
|
31 |
Â
} else {
|
32 |
Â
$wp_customize->add_section(
|
33 |
-
'hestia_clients_bar',
|
Â
|
|
34 |
Â
'title' => esc_html__( 'Clients Bar', 'themeisle-companion' ),
|
35 |
Â
'panel' => 'hestia_frontpage_sections',
|
36 |
Â
'priority' => apply_filters( 'hestia_section_priority', 50, 'hestia_clients_bar' ),
|
@@ -39,7 +42,8 @@ if ( ! function_exists( 'hestia_clients_bar_customize_register' ) ) :
|
|
39 |
Â
}
|
40 |
Â
|
41 |
Â
$wp_customize->add_setting(
|
42 |
-
'hestia_clients_bar_hide',
|
Â
|
|
43 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
44 |
Â
'default' => true,
|
45 |
Â
'transport' => $selective_refresh,
|
@@ -47,7 +51,8 @@ if ( ! function_exists( 'hestia_clients_bar_customize_register' ) ) :
|
|
47 |
Â
);
|
48 |
Â
|
49 |
Â
$wp_customize->add_control(
|
50 |
-
'hestia_clients_bar_hide',
|
Â
|
|
51 |
Â
'type' => 'checkbox',
|
52 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
53 |
Â
'section' => 'hestia_clients_bar',
|
@@ -57,7 +62,8 @@ if ( ! function_exists( 'hestia_clients_bar_customize_register' ) ) :
|
|
57 |
Â
|
58 |
Â
if ( class_exists( 'Hestia_Repeater' ) ) {
|
59 |
Â
$wp_customize->add_setting(
|
60 |
-
'hestia_clients_bar_content',
|
Â
|
|
61 |
Â
'sanitize_callback' => 'hestia_repeater_sanitize',
|
62 |
Â
'transport' => $selective_refresh,
|
63 |
Â
'default' => apply_filters( 'hestia_clients_bar_default_content', false ),
|
@@ -66,7 +72,9 @@ if ( ! function_exists( 'hestia_clients_bar_customize_register' ) ) :
|
|
66 |
Â
|
67 |
Â
$wp_customize->add_control(
|
68 |
Â
new Hestia_Repeater(
|
69 |
-
$wp_customize,
|
Â
|
|
Â
|
|
70 |
Â
'label' => esc_html__( 'Clients Bar Content', 'themeisle-companion' ),
|
71 |
Â
'section' => 'hestia_clients_bar',
|
72 |
Â
'priority' => 5,
|
@@ -96,7 +104,8 @@ function hestia_register_clients_bar_partials( $wp_customize ) {
|
|
96 |
Â
}
|
97 |
Â
|
98 |
Â
$wp_customize->selective_refresh->add_partial(
|
99 |
-
'hestia_clients_bar_content',
|
Â
|
|
100 |
Â
'selector' => '.hestia-clients-bar',
|
101 |
Â
'container_inclusive' => true,
|
102 |
Â
'render_callback' => 'hestia_clients_bar',
|
15 |
Â
*/
|
16 |
Â
function hestia_clients_bar_customize_register( $wp_customize ) {
|
17 |
Â
|
18 |
+
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists( 'hestia_display_customizer_shortcut' ) ? 'postMessage' : 'refresh';
|
19 |
Â
|
20 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
21 |
Â
$wp_customize->add_section(
|
22 |
Â
new Hestia_Hiding_Section(
|
23 |
+
$wp_customize,
|
24 |
+
'hestia_clients_bar',
|
25 |
+
array(
|
26 |
Â
'title' => esc_html__( 'Clients Bar', 'themeisle-companion' ),
|
27 |
Â
'panel' => 'hestia_frontpage_sections',
|
28 |
Â
'priority' => apply_filters( 'hestia_section_priority', 50, 'hestia_clients_bar' ),
|
32 |
Â
);
|
33 |
Â
} else {
|
34 |
Â
$wp_customize->add_section(
|
35 |
+
'hestia_clients_bar',
|
36 |
+
array(
|
37 |
Â
'title' => esc_html__( 'Clients Bar', 'themeisle-companion' ),
|
38 |
Â
'panel' => 'hestia_frontpage_sections',
|
39 |
Â
'priority' => apply_filters( 'hestia_section_priority', 50, 'hestia_clients_bar' ),
|
42 |
Â
}
|
43 |
Â
|
44 |
Â
$wp_customize->add_setting(
|
45 |
+
'hestia_clients_bar_hide',
|
46 |
+
array(
|
47 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
48 |
Â
'default' => true,
|
49 |
Â
'transport' => $selective_refresh,
|
51 |
Â
);
|
52 |
Â
|
53 |
Â
$wp_customize->add_control(
|
54 |
+
'hestia_clients_bar_hide',
|
55 |
+
array(
|
56 |
Â
'type' => 'checkbox',
|
57 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
58 |
Â
'section' => 'hestia_clients_bar',
|
62 |
Â
|
63 |
Â
if ( class_exists( 'Hestia_Repeater' ) ) {
|
64 |
Â
$wp_customize->add_setting(
|
65 |
+
'hestia_clients_bar_content',
|
66 |
+
array(
|
67 |
Â
'sanitize_callback' => 'hestia_repeater_sanitize',
|
68 |
Â
'transport' => $selective_refresh,
|
69 |
Â
'default' => apply_filters( 'hestia_clients_bar_default_content', false ),
|
72 |
Â
|
73 |
Â
$wp_customize->add_control(
|
74 |
Â
new Hestia_Repeater(
|
75 |
+
$wp_customize,
|
76 |
+
'hestia_clients_bar_content',
|
77 |
+
array(
|
78 |
Â
'label' => esc_html__( 'Clients Bar Content', 'themeisle-companion' ),
|
79 |
Â
'section' => 'hestia_clients_bar',
|
80 |
Â
'priority' => 5,
|
104 |
Â
}
|
105 |
Â
|
106 |
Â
$wp_customize->selective_refresh->add_partial(
|
107 |
+
'hestia_clients_bar_content',
|
108 |
+
array(
|
109 |
Â
'selector' => '.hestia-clients-bar',
|
110 |
Â
'container_inclusive' => true,
|
111 |
Â
'render_callback' => 'hestia_clients_bar',
|
obfx_modules/companion-legacy/inc/hestia/inc/features/feature-features-section.php
CHANGED
@@ -15,12 +15,14 @@ if ( ! function_exists( 'hestia_features_customize_register' ) ) :
|
|
15 |
Â
*/
|
16 |
Â
function hestia_features_customize_register( $wp_customize ) {
|
17 |
Â
|
18 |
-
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists('hestia_display_customizer_shortcut') ? 'postMessage' : 'refresh';
|
19 |
Â
|
20 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
21 |
Â
$wp_customize->add_section(
|
22 |
Â
new Hestia_Hiding_Section(
|
23 |
-
$wp_customize,
|
Â
|
|
Â
|
|
24 |
Â
'title' => esc_html__( 'Features', 'themeisle-companion' ),
|
25 |
Â
'panel' => 'hestia_frontpage_sections',
|
26 |
Â
'priority' => apply_filters( 'hestia_section_priority', 10, 'hestia_features' ),
|
@@ -30,7 +32,8 @@ if ( ! function_exists( 'hestia_features_customize_register' ) ) :
|
|
30 |
Â
);
|
31 |
Â
} else {
|
32 |
Â
$wp_customize->add_section(
|
33 |
-
'hestia_features',
|
Â
|
|
34 |
Â
'title' => esc_html__( 'Features', 'themeisle-companion' ),
|
35 |
Â
'panel' => 'hestia_frontpage_sections',
|
36 |
Â
'priority' => apply_filters( 'hestia_section_priority', 10, 'hestia_features' ),
|
@@ -39,7 +42,8 @@ if ( ! function_exists( 'hestia_features_customize_register' ) ) :
|
|
39 |
Â
}
|
40 |
Â
|
41 |
Â
$wp_customize->add_setting(
|
42 |
-
'hestia_features_hide',
|
Â
|
|
43 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
44 |
Â
'default' => false,
|
45 |
Â
'transport' => $selective_refresh,
|
@@ -47,7 +51,8 @@ if ( ! function_exists( 'hestia_features_customize_register' ) ) :
|
|
47 |
Â
);
|
48 |
Â
|
49 |
Â
$wp_customize->add_control(
|
50 |
-
'hestia_features_hide',
|
Â
|
|
51 |
Â
'type' => 'checkbox',
|
52 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
53 |
Â
'section' => 'hestia_features',
|
@@ -56,14 +61,16 @@ if ( ! function_exists( 'hestia_features_customize_register' ) ) :
|
|
56 |
Â
);
|
57 |
Â
|
58 |
Â
$wp_customize->add_setting(
|
59 |
-
'hestia_features_title',
|
Â
|
|
60 |
Â
'sanitize_callback' => 'wp_kses_post',
|
61 |
Â
'transport' => $selective_refresh,
|
62 |
Â
)
|
63 |
Â
);
|
64 |
Â
|
65 |
Â
$wp_customize->add_control(
|
66 |
-
'hestia_features_title',
|
Â
|
|
67 |
Â
'label' => esc_html__( 'Section Title', 'themeisle-companion' ),
|
68 |
Â
'section' => 'hestia_features',
|
69 |
Â
'priority' => 5,
|
@@ -71,14 +78,16 @@ if ( ! function_exists( 'hestia_features_customize_register' ) ) :
|
|
71 |
Â
);
|
72 |
Â
|
73 |
Â
$wp_customize->add_setting(
|
74 |
-
'hestia_features_subtitle',
|
Â
|
|
75 |
Â
'sanitize_callback' => 'wp_kses_post',
|
76 |
Â
'transport' => $selective_refresh,
|
77 |
Â
)
|
78 |
Â
);
|
79 |
Â
|
80 |
Â
$wp_customize->add_control(
|
81 |
-
'hestia_features_subtitle',
|
Â
|
|
82 |
Â
'label' => esc_html__( 'Section Subtitle', 'themeisle-companion' ),
|
83 |
Â
'section' => 'hestia_features',
|
84 |
Â
'priority' => 10,
|
@@ -87,7 +96,8 @@ if ( ! function_exists( 'hestia_features_customize_register' ) ) :
|
|
87 |
Â
|
88 |
Â
if ( class_exists( 'Hestia_Repeater' ) ) {
|
89 |
Â
$wp_customize->add_setting(
|
90 |
-
'hestia_features_content',
|
Â
|
|
91 |
Â
'sanitize_callback' => 'hestia_repeater_sanitize',
|
92 |
Â
'transport' => $selective_refresh,
|
93 |
Â
)
|
@@ -95,16 +105,18 @@ if ( ! function_exists( 'hestia_features_customize_register' ) ) :
|
|
95 |
Â
|
96 |
Â
$wp_customize->add_control(
|
97 |
Â
new Hestia_Repeater(
|
98 |
-
$wp_customize,
|
99 |
-
|
100 |
-
|
101 |
-
'
|
102 |
-
'
|
103 |
-
'
|
104 |
-
'
|
Â
|
|
Â
|
|
105 |
Â
'customizer_repeater_title_control' => true,
|
106 |
-
'customizer_repeater_text_control'
|
107 |
-
'customizer_repeater_link_control'
|
108 |
Â
'customizer_repeater_color_control' => true,
|
109 |
Â
)
|
110 |
Â
)
|
@@ -131,9 +143,10 @@ function hestia_register_features_partials( $wp_customize ) {
|
|
131 |
Â
}
|
132 |
Â
|
133 |
Â
$wp_customize->selective_refresh->add_partial(
|
134 |
-
'hestia_features_content',
|
135 |
-
|
136 |
-
'
|
Â
|
|
137 |
Â
'render_callback' => 'hestia_features_content_callback',
|
138 |
Â
)
|
139 |
Â
);
|
15 |
Â
*/
|
16 |
Â
function hestia_features_customize_register( $wp_customize ) {
|
17 |
Â
|
18 |
+
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists( 'hestia_display_customizer_shortcut' ) ? 'postMessage' : 'refresh';
|
19 |
Â
|
20 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
21 |
Â
$wp_customize->add_section(
|
22 |
Â
new Hestia_Hiding_Section(
|
23 |
+
$wp_customize,
|
24 |
+
'hestia_features',
|
25 |
+
array(
|
26 |
Â
'title' => esc_html__( 'Features', 'themeisle-companion' ),
|
27 |
Â
'panel' => 'hestia_frontpage_sections',
|
28 |
Â
'priority' => apply_filters( 'hestia_section_priority', 10, 'hestia_features' ),
|
32 |
Â
);
|
33 |
Â
} else {
|
34 |
Â
$wp_customize->add_section(
|
35 |
+
'hestia_features',
|
36 |
+
array(
|
37 |
Â
'title' => esc_html__( 'Features', 'themeisle-companion' ),
|
38 |
Â
'panel' => 'hestia_frontpage_sections',
|
39 |
Â
'priority' => apply_filters( 'hestia_section_priority', 10, 'hestia_features' ),
|
42 |
Â
}
|
43 |
Â
|
44 |
Â
$wp_customize->add_setting(
|
45 |
+
'hestia_features_hide',
|
46 |
+
array(
|
47 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
48 |
Â
'default' => false,
|
49 |
Â
'transport' => $selective_refresh,
|
51 |
Â
);
|
52 |
Â
|
53 |
Â
$wp_customize->add_control(
|
54 |
+
'hestia_features_hide',
|
55 |
+
array(
|
56 |
Â
'type' => 'checkbox',
|
57 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
58 |
Â
'section' => 'hestia_features',
|
61 |
Â
);
|
62 |
Â
|
63 |
Â
$wp_customize->add_setting(
|
64 |
+
'hestia_features_title',
|
65 |
+
array(
|
66 |
Â
'sanitize_callback' => 'wp_kses_post',
|
67 |
Â
'transport' => $selective_refresh,
|
68 |
Â
)
|
69 |
Â
);
|
70 |
Â
|
71 |
Â
$wp_customize->add_control(
|
72 |
+
'hestia_features_title',
|
73 |
+
array(
|
74 |
Â
'label' => esc_html__( 'Section Title', 'themeisle-companion' ),
|
75 |
Â
'section' => 'hestia_features',
|
76 |
Â
'priority' => 5,
|
78 |
Â
);
|
79 |
Â
|
80 |
Â
$wp_customize->add_setting(
|
81 |
+
'hestia_features_subtitle',
|
82 |
+
array(
|
83 |
Â
'sanitize_callback' => 'wp_kses_post',
|
84 |
Â
'transport' => $selective_refresh,
|
85 |
Â
)
|
86 |
Â
);
|
87 |
Â
|
88 |
Â
$wp_customize->add_control(
|
89 |
+
'hestia_features_subtitle',
|
90 |
+
array(
|
91 |
Â
'label' => esc_html__( 'Section Subtitle', 'themeisle-companion' ),
|
92 |
Â
'section' => 'hestia_features',
|
93 |
Â
'priority' => 10,
|
96 |
Â
|
97 |
Â
if ( class_exists( 'Hestia_Repeater' ) ) {
|
98 |
Â
$wp_customize->add_setting(
|
99 |
+
'hestia_features_content',
|
100 |
+
array(
|
101 |
Â
'sanitize_callback' => 'hestia_repeater_sanitize',
|
102 |
Â
'transport' => $selective_refresh,
|
103 |
Â
)
|
105 |
Â
|
106 |
Â
$wp_customize->add_control(
|
107 |
Â
new Hestia_Repeater(
|
108 |
+
$wp_customize,
|
109 |
+
'hestia_features_content',
|
110 |
+
array(
|
111 |
+
'label' => esc_html__( 'Features Content', 'themeisle-companion' ),
|
112 |
+
'section' => 'hestia_features',
|
113 |
+
'priority' => 15,
|
114 |
+
'add_field_label' => esc_html__( 'Add new Feature', 'themeisle-companion' ),
|
115 |
+
'item_name' => esc_html__( 'Feature', 'themeisle-companion' ),
|
116 |
+
'customizer_repeater_icon_control' => true,
|
117 |
Â
'customizer_repeater_title_control' => true,
|
118 |
+
'customizer_repeater_text_control' => true,
|
119 |
+
'customizer_repeater_link_control' => true,
|
120 |
Â
'customizer_repeater_color_control' => true,
|
121 |
Â
)
|
122 |
Â
)
|
143 |
Â
}
|
144 |
Â
|
145 |
Â
$wp_customize->selective_refresh->add_partial(
|
146 |
+
'hestia_features_content',
|
147 |
+
array(
|
148 |
+
'selector' => '.hestia-features-content',
|
149 |
+
'settings' => 'hestia_features_content',
|
150 |
Â
'render_callback' => 'hestia_features_content_callback',
|
151 |
Â
)
|
152 |
Â
);
|
obfx_modules/companion-legacy/inc/hestia/inc/features/feature-ribbon-section.php
CHANGED
@@ -18,12 +18,14 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
18 |
Â
*/
|
19 |
Â
function hestia_ribbon_customize_register( $wp_customize ) {
|
20 |
Â
|
21 |
-
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists('hestia_display_customizer_shortcut') ? 'postMessage' : 'refresh';
|
22 |
Â
|
23 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
24 |
Â
$wp_customize->add_section(
|
25 |
Â
new Hestia_Hiding_Section(
|
26 |
-
$wp_customize,
|
Â
|
|
Â
|
|
27 |
Â
'title' => esc_html__( 'Ribbon', 'themeisle-companion' ),
|
28 |
Â
'panel' => 'hestia_frontpage_sections',
|
29 |
Â
'priority' => apply_filters( 'hestia_section_priority', 35, 'hestia_ribbon' ),
|
@@ -33,7 +35,8 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
33 |
Â
);
|
34 |
Â
} else {
|
35 |
Â
$wp_customize->add_section(
|
36 |
-
'hestia_ribbon',
|
Â
|
|
37 |
Â
'title' => esc_html__( 'Ribbon', 'themeisle-companion' ),
|
38 |
Â
'panel' => 'hestia_frontpage_sections',
|
39 |
Â
'priority' => apply_filters( 'hestia_section_priority', 35, 'hestia_ribbon' ),
|
@@ -42,7 +45,8 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
42 |
Â
}
|
43 |
Â
|
44 |
Â
$wp_customize->add_setting(
|
45 |
-
'hestia_ribbon_hide',
|
Â
|
|
46 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
47 |
Â
'default' => true,
|
48 |
Â
'transport' => $selective_refresh,
|
@@ -50,7 +54,8 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
50 |
Â
);
|
51 |
Â
|
52 |
Â
$wp_customize->add_control(
|
53 |
-
'hestia_ribbon_hide',
|
Â
|
|
54 |
Â
'type' => 'checkbox',
|
55 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
56 |
Â
'section' => 'hestia_ribbon',
|
@@ -60,7 +65,8 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
60 |
Â
|
61 |
Â
$default = ( current_user_can( 'edit_theme_options' ) ? get_template_directory_uri() . '/assets/img/contact.jpg' : '' );
|
62 |
Â
$wp_customize->add_setting(
|
63 |
-
'hestia_ribbon_background',
|
Â
|
|
64 |
Â
'sanitize_callback' => 'esc_url_raw',
|
65 |
Â
'default' => $default,
|
66 |
Â
'transport' => $selective_refresh,
|
@@ -69,17 +75,20 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
69 |
Â
|
70 |
Â
$wp_customize->add_control(
|
71 |
Â
new WP_Customize_Image_Control(
|
72 |
-
$wp_customize,
|
73 |
-
|
74 |
-
|
75 |
-
'
|
Â
|
|
Â
|
|
76 |
Â
)
|
77 |
Â
)
|
78 |
Â
);
|
79 |
Â
|
80 |
Â
$default = ( current_user_can( 'edit_theme_options' ) ? esc_html__( 'Subscribe to our Newsletter', 'themeisle-companion' ) : false );
|
81 |
Â
$wp_customize->add_setting(
|
82 |
-
'hestia_ribbon_text',
|
Â
|
|
83 |
Â
'sanitize_callback' => 'wp_kses_post',
|
84 |
Â
'default' => $default,
|
85 |
Â
'transport' => $selective_refresh,
|
@@ -87,8 +96,9 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
87 |
Â
);
|
88 |
Â
|
89 |
Â
$wp_customize->add_control(
|
90 |
-
'hestia_ribbon_text',
|
91 |
-
|
Â
|
|
92 |
Â
'label' => esc_html__( 'Text', 'themeisle-companion' ),
|
93 |
Â
'section' => 'hestia_ribbon',
|
94 |
Â
'priority' => 10,
|
@@ -97,15 +107,17 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
97 |
Â
|
98 |
Â
$default = ( current_user_can( 'edit_theme_options' ) ? esc_html__( 'Subscribe', 'themeisle-companion' ) : false );
|
99 |
Â
$wp_customize->add_setting(
|
100 |
-
'hestia_ribbon_button_text',
|
Â
|
|
101 |
Â
'sanitize_callback' => 'sanitize_text_field',
|
102 |
-
'default'
|
103 |
-
'transport'
|
104 |
Â
)
|
105 |
Â
);
|
106 |
Â
|
107 |
Â
$wp_customize->add_control(
|
108 |
-
'hestia_ribbon_button_text',
|
Â
|
|
109 |
Â
'label' => esc_html__( 'Button Text', 'themeisle-companion' ),
|
110 |
Â
'section' => 'hestia_ribbon',
|
111 |
Â
'priority' => 15,
|
@@ -114,15 +126,17 @@ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
|
|
114 |
Â
|
115 |
Â
$default = ( current_user_can( 'edit_theme_options' ) ? '#' : false );
|
116 |
Â
$wp_customize->add_setting(
|
117 |
-
'hestia_ribbon_button_url',
|
Â
|
|
118 |
Â
'sanitize_callback' => 'esc_url_raw',
|
119 |
Â
'transport' => $selective_refresh,
|
120 |
-
'default'
|
121 |
Â
)
|
122 |
Â
);
|
123 |
Â
|
124 |
Â
$wp_customize->add_control(
|
125 |
-
'hestia_ribbon_button_url',
|
Â
|
|
126 |
Â
'label' => esc_html__( 'Link', 'themeisle-companion' ),
|
127 |
Â
'section' => 'hestia_ribbon',
|
128 |
Â
'priority' => 20,
|
18 |
Â
*/
|
19 |
Â
function hestia_ribbon_customize_register( $wp_customize ) {
|
20 |
Â
|
21 |
+
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists( 'hestia_display_customizer_shortcut' ) ? 'postMessage' : 'refresh';
|
22 |
Â
|
23 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
24 |
Â
$wp_customize->add_section(
|
25 |
Â
new Hestia_Hiding_Section(
|
26 |
+
$wp_customize,
|
27 |
+
'hestia_ribbon',
|
28 |
+
array(
|
29 |
Â
'title' => esc_html__( 'Ribbon', 'themeisle-companion' ),
|
30 |
Â
'panel' => 'hestia_frontpage_sections',
|
31 |
Â
'priority' => apply_filters( 'hestia_section_priority', 35, 'hestia_ribbon' ),
|
35 |
Â
);
|
36 |
Â
} else {
|
37 |
Â
$wp_customize->add_section(
|
38 |
+
'hestia_ribbon',
|
39 |
+
array(
|
40 |
Â
'title' => esc_html__( 'Ribbon', 'themeisle-companion' ),
|
41 |
Â
'panel' => 'hestia_frontpage_sections',
|
42 |
Â
'priority' => apply_filters( 'hestia_section_priority', 35, 'hestia_ribbon' ),
|
45 |
Â
}
|
46 |
Â
|
47 |
Â
$wp_customize->add_setting(
|
48 |
+
'hestia_ribbon_hide',
|
49 |
+
array(
|
50 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
51 |
Â
'default' => true,
|
52 |
Â
'transport' => $selective_refresh,
|
54 |
Â
);
|
55 |
Â
|
56 |
Â
$wp_customize->add_control(
|
57 |
+
'hestia_ribbon_hide',
|
58 |
+
array(
|
59 |
Â
'type' => 'checkbox',
|
60 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
61 |
Â
'section' => 'hestia_ribbon',
|
65 |
Â
|
66 |
Â
$default = ( current_user_can( 'edit_theme_options' ) ? get_template_directory_uri() . '/assets/img/contact.jpg' : '' );
|
67 |
Â
$wp_customize->add_setting(
|
68 |
+
'hestia_ribbon_background',
|
69 |
+
array(
|
70 |
Â
'sanitize_callback' => 'esc_url_raw',
|
71 |
Â
'default' => $default,
|
72 |
Â
'transport' => $selective_refresh,
|
75 |
Â
|
76 |
Â
$wp_customize->add_control(
|
77 |
Â
new WP_Customize_Image_Control(
|
78 |
+
$wp_customize,
|
79 |
+
'hestia_ribbon_background',
|
80 |
+
array(
|
81 |
+
'label' => esc_html__( 'Background Image', 'themeisle-companion' ),
|
82 |
+
'section' => 'hestia_ribbon',
|
83 |
+
'priority' => 5,
|
84 |
Â
)
|
85 |
Â
)
|
86 |
Â
);
|
87 |
Â
|
88 |
Â
$default = ( current_user_can( 'edit_theme_options' ) ? esc_html__( 'Subscribe to our Newsletter', 'themeisle-companion' ) : false );
|
89 |
Â
$wp_customize->add_setting(
|
90 |
+
'hestia_ribbon_text',
|
91 |
+
array(
|
92 |
Â
'sanitize_callback' => 'wp_kses_post',
|
93 |
Â
'default' => $default,
|
94 |
Â
'transport' => $selective_refresh,
|
96 |
Â
);
|
97 |
Â
|
98 |
Â
$wp_customize->add_control(
|
99 |
+
'hestia_ribbon_text',
|
100 |
+
array(
|
101 |
+
'type' => 'textarea',
|
102 |
Â
'label' => esc_html__( 'Text', 'themeisle-companion' ),
|
103 |
Â
'section' => 'hestia_ribbon',
|
104 |
Â
'priority' => 10,
|
107 |
Â
|
108 |
Â
$default = ( current_user_can( 'edit_theme_options' ) ? esc_html__( 'Subscribe', 'themeisle-companion' ) : false );
|
109 |
Â
$wp_customize->add_setting(
|
110 |
+
'hestia_ribbon_button_text',
|
111 |
+
array(
|
112 |
Â
'sanitize_callback' => 'sanitize_text_field',
|
113 |
+
'default' => $default,
|
114 |
+
'transport' => $selective_refresh,
|
115 |
Â
)
|
116 |
Â
);
|
117 |
Â
|
118 |
Â
$wp_customize->add_control(
|
119 |
+
'hestia_ribbon_button_text',
|
120 |
+
array(
|
121 |
Â
'label' => esc_html__( 'Button Text', 'themeisle-companion' ),
|
122 |
Â
'section' => 'hestia_ribbon',
|
123 |
Â
'priority' => 15,
|
126 |
Â
|
127 |
Â
$default = ( current_user_can( 'edit_theme_options' ) ? '#' : false );
|
128 |
Â
$wp_customize->add_setting(
|
129 |
+
'hestia_ribbon_button_url',
|
130 |
+
array(
|
131 |
Â
'sanitize_callback' => 'esc_url_raw',
|
132 |
Â
'transport' => $selective_refresh,
|
133 |
+
'default' => $default,
|
134 |
Â
)
|
135 |
Â
);
|
136 |
Â
|
137 |
Â
$wp_customize->add_control(
|
138 |
+
'hestia_ribbon_button_url',
|
139 |
+
array(
|
140 |
Â
'label' => esc_html__( 'Link', 'themeisle-companion' ),
|
141 |
Â
'section' => 'hestia_ribbon',
|
142 |
Â
'priority' => 20,
|
obfx_modules/companion-legacy/inc/hestia/inc/features/feature-team-section.php
CHANGED
@@ -15,12 +15,14 @@ if ( ! function_exists( 'hestia_team_customize_register' ) ) :
|
|
15 |
Â
*/
|
16 |
Â
function hestia_team_customize_register( $wp_customize ) {
|
17 |
Â
|
18 |
-
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists('hestia_display_customizer_shortcut') ? 'postMessage' : 'refresh';
|
19 |
Â
|
20 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
21 |
Â
$wp_customize->add_section(
|
22 |
Â
new Hestia_Hiding_Section(
|
23 |
-
$wp_customize,
|
Â
|
|
Â
|
|
24 |
Â
'title' => esc_html__( 'Team', 'themeisle-companion' ),
|
25 |
Â
'panel' => 'hestia_frontpage_sections',
|
26 |
Â
'priority' => apply_filters( 'hestia_section_priority', 30, 'hestia_team' ),
|
@@ -30,7 +32,8 @@ if ( ! function_exists( 'hestia_team_customize_register' ) ) :
|
|
30 |
Â
);
|
31 |
Â
} else {
|
32 |
Â
$wp_customize->add_section(
|
33 |
-
'hestia_team',
|
Â
|
|
34 |
Â
'title' => esc_html__( 'Team', 'themeisle-companion' ),
|
35 |
Â
'panel' => 'hestia_frontpage_sections',
|
36 |
Â
'priority' => apply_filters( 'hestia_section_priority', 30, 'hestia_team' ),
|
@@ -39,7 +42,8 @@ if ( ! function_exists( 'hestia_team_customize_register' ) ) :
|
|
39 |
Â
}
|
40 |
Â
|
41 |
Â
$wp_customize->add_setting(
|
42 |
-
'hestia_team_hide',
|
Â
|
|
43 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
44 |
Â
'default' => false,
|
45 |
Â
'transport' => $selective_refresh,
|
@@ -47,7 +51,8 @@ if ( ! function_exists( 'hestia_team_customize_register' ) ) :
|
|
47 |
Â
);
|
48 |
Â
|
49 |
Â
$wp_customize->add_control(
|
50 |
-
'hestia_team_hide',
|
Â
|
|
51 |
Â
'type' => 'checkbox',
|
52 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
53 |
Â
'section' => 'hestia_team',
|
@@ -56,14 +61,16 @@ if ( ! function_exists( 'hestia_team_customize_register' ) ) :
|
|
56 |
Â
);
|
57 |
Â
|
58 |
Â
$wp_customize->add_setting(
|
59 |
-
'hestia_team_title',
|
Â
|
|
60 |
Â
'sanitize_callback' => 'wp_kses_post',
|
61 |
Â
'transport' => $selective_refresh,
|
62 |
Â
)
|
63 |
Â
);
|
64 |
Â
|
65 |
Â
$wp_customize->add_control(
|
66 |
-
'hestia_team_title',
|
Â
|
|
67 |
Â
'label' => esc_html__( 'Section Title', 'themeisle-companion' ),
|
68 |
Â
'section' => 'hestia_team',
|
69 |
Â
'priority' => 5,
|
@@ -71,14 +78,16 @@ if ( ! function_exists( 'hestia_team_customize_register' ) ) :
|
|
71 |
Â
);
|
72 |
Â
|
73 |
Â
$wp_customize->add_setting(
|
74 |
-
'hestia_team_subtitle',
|
Â
|
|
75 |
Â
'sanitize_callback' => 'wp_kses_post',
|
76 |
Â
'transport' => $selective_refresh,
|
77 |
Â
)
|
78 |
Â
);
|
79 |
Â
|
80 |
Â
$wp_customize->add_control(
|
81 |
-
'hestia_team_subtitle',
|
Â
|
|
82 |
Â
'label' => esc_html__( 'Section Subtitle', 'themeisle-companion' ),
|
83 |
Â
'section' => 'hestia_team',
|
84 |
Â
'priority' => 10,
|
@@ -87,7 +96,8 @@ if ( ! function_exists( 'hestia_team_customize_register' ) ) :
|
|
87 |
Â
|
88 |
Â
if ( class_exists( 'Hestia_Repeater' ) ) {
|
89 |
Â
$wp_customize->add_setting(
|
90 |
-
'hestia_team_content',
|
Â
|
|
91 |
Â
'sanitize_callback' => 'hestia_repeater_sanitize',
|
92 |
Â
'transport' => $selective_refresh,
|
93 |
Â
)
|
@@ -95,17 +105,19 @@ if ( ! function_exists( 'hestia_team_customize_register' ) ) :
|
|
95 |
Â
|
96 |
Â
$wp_customize->add_control(
|
97 |
Â
new Hestia_Repeater(
|
98 |
-
$wp_customize,
|
99 |
-
|
100 |
-
|
101 |
-
'
|
102 |
-
'
|
103 |
-
'
|
104 |
-
'
|
105 |
-
'
|
Â
|
|
Â
|
|
106 |
Â
'customizer_repeater_subtitle_control' => true,
|
107 |
-
'customizer_repeater_text_control'
|
108 |
-
'customizer_repeater_link_control'
|
109 |
Â
'customizer_repeater_repeater_control' => true,
|
110 |
Â
)
|
111 |
Â
)
|
@@ -132,9 +144,10 @@ function hestia_register_team_partials( $wp_customize ) {
|
|
132 |
Â
}
|
133 |
Â
|
134 |
Â
$wp_customize->selective_refresh->add_partial(
|
135 |
-
'hestia_team_content',
|
136 |
-
|
137 |
-
'
|
Â
|
|
138 |
Â
'render_callback' => 'hestia_team_content_callback',
|
139 |
Â
)
|
140 |
Â
);
|
15 |
Â
*/
|
16 |
Â
function hestia_team_customize_register( $wp_customize ) {
|
17 |
Â
|
18 |
+
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists( 'hestia_display_customizer_shortcut' ) ? 'postMessage' : 'refresh';
|
19 |
Â
|
20 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
21 |
Â
$wp_customize->add_section(
|
22 |
Â
new Hestia_Hiding_Section(
|
23 |
+
$wp_customize,
|
24 |
+
'hestia_team',
|
25 |
+
array(
|
26 |
Â
'title' => esc_html__( 'Team', 'themeisle-companion' ),
|
27 |
Â
'panel' => 'hestia_frontpage_sections',
|
28 |
Â
'priority' => apply_filters( 'hestia_section_priority', 30, 'hestia_team' ),
|
32 |
Â
);
|
33 |
Â
} else {
|
34 |
Â
$wp_customize->add_section(
|
35 |
+
'hestia_team',
|
36 |
+
array(
|
37 |
Â
'title' => esc_html__( 'Team', 'themeisle-companion' ),
|
38 |
Â
'panel' => 'hestia_frontpage_sections',
|
39 |
Â
'priority' => apply_filters( 'hestia_section_priority', 30, 'hestia_team' ),
|
42 |
Â
}
|
43 |
Â
|
44 |
Â
$wp_customize->add_setting(
|
45 |
+
'hestia_team_hide',
|
46 |
+
array(
|
47 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
48 |
Â
'default' => false,
|
49 |
Â
'transport' => $selective_refresh,
|
51 |
Â
);
|
52 |
Â
|
53 |
Â
$wp_customize->add_control(
|
54 |
+
'hestia_team_hide',
|
55 |
+
array(
|
56 |
Â
'type' => 'checkbox',
|
57 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
58 |
Â
'section' => 'hestia_team',
|
61 |
Â
);
|
62 |
Â
|
63 |
Â
$wp_customize->add_setting(
|
64 |
+
'hestia_team_title',
|
65 |
+
array(
|
66 |
Â
'sanitize_callback' => 'wp_kses_post',
|
67 |
Â
'transport' => $selective_refresh,
|
68 |
Â
)
|
69 |
Â
);
|
70 |
Â
|
71 |
Â
$wp_customize->add_control(
|
72 |
+
'hestia_team_title',
|
73 |
+
array(
|
74 |
Â
'label' => esc_html__( 'Section Title', 'themeisle-companion' ),
|
75 |
Â
'section' => 'hestia_team',
|
76 |
Â
'priority' => 5,
|
78 |
Â
);
|
79 |
Â
|
80 |
Â
$wp_customize->add_setting(
|
81 |
+
'hestia_team_subtitle',
|
82 |
+
array(
|
83 |
Â
'sanitize_callback' => 'wp_kses_post',
|
84 |
Â
'transport' => $selective_refresh,
|
85 |
Â
)
|
86 |
Â
);
|
87 |
Â
|
88 |
Â
$wp_customize->add_control(
|
89 |
+
'hestia_team_subtitle',
|
90 |
+
array(
|
91 |
Â
'label' => esc_html__( 'Section Subtitle', 'themeisle-companion' ),
|
92 |
Â
'section' => 'hestia_team',
|
93 |
Â
'priority' => 10,
|
96 |
Â
|
97 |
Â
if ( class_exists( 'Hestia_Repeater' ) ) {
|
98 |
Â
$wp_customize->add_setting(
|
99 |
+
'hestia_team_content',
|
100 |
+
array(
|
101 |
Â
'sanitize_callback' => 'hestia_repeater_sanitize',
|
102 |
Â
'transport' => $selective_refresh,
|
103 |
Â
)
|
105 |
Â
|
106 |
Â
$wp_customize->add_control(
|
107 |
Â
new Hestia_Repeater(
|
108 |
+
$wp_customize,
|
109 |
+
'hestia_team_content',
|
110 |
+
array(
|
111 |
+
'label' => esc_html__( 'Team Content', 'themeisle-companion' ),
|
112 |
+
'section' => 'hestia_team',
|
113 |
+
'priority' => 15,
|
114 |
+
'add_field_label' => esc_html__( 'Add new Team Member', 'themeisle-companion' ),
|
115 |
+
'item_name' => esc_html__( 'Team Member', 'themeisle-companion' ),
|
116 |
+
'customizer_repeater_image_control' => true,
|
117 |
+
'customizer_repeater_title_control' => true,
|
118 |
Â
'customizer_repeater_subtitle_control' => true,
|
119 |
+
'customizer_repeater_text_control' => true,
|
120 |
+
'customizer_repeater_link_control' => true,
|
121 |
Â
'customizer_repeater_repeater_control' => true,
|
122 |
Â
)
|
123 |
Â
)
|
144 |
Â
}
|
145 |
Â
|
146 |
Â
$wp_customize->selective_refresh->add_partial(
|
147 |
+
'hestia_team_content',
|
148 |
+
array(
|
149 |
+
'selector' => '.hestia-team-content',
|
150 |
+
'settings' => 'hestia_team_content',
|
151 |
Â
'render_callback' => 'hestia_team_content_callback',
|
152 |
Â
)
|
153 |
Â
);
|
obfx_modules/companion-legacy/inc/hestia/inc/features/feature-testimonials-section.php
CHANGED
@@ -15,12 +15,14 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
|
|
15 |
Â
*/
|
16 |
Â
function hestia_testimonials_customize_register( $wp_customize ) {
|
17 |
Â
|
18 |
-
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists('hestia_display_customizer_shortcut') ? 'postMessage' : 'refresh';
|
19 |
Â
|
20 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
21 |
Â
$wp_customize->add_section(
|
22 |
Â
new Hestia_Hiding_Section(
|
23 |
-
$wp_customize,
|
Â
|
|
Â
|
|
24 |
Â
'title' => esc_html__( 'Testimonials', 'themeisle-companion' ),
|
25 |
Â
'panel' => 'hestia_frontpage_sections',
|
26 |
Â
'priority' => apply_filters( 'hestia_section_priority', 40, 'hestia_testimonials' ),
|
@@ -30,7 +32,8 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
|
|
30 |
Â
);
|
31 |
Â
} else {
|
32 |
Â
$wp_customize->add_section(
|
33 |
-
'hestia_testimonials',
|
Â
|
|
34 |
Â
'title' => esc_html__( 'Testimonials', 'themeisle-companion' ),
|
35 |
Â
'panel' => 'hestia_frontpage_sections',
|
36 |
Â
'priority' => apply_filters( 'hestia_section_priority', 45, 'hestia_testimonials' ),
|
@@ -39,7 +42,8 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
|
|
39 |
Â
}
|
40 |
Â
|
41 |
Â
$wp_customize->add_setting(
|
42 |
-
'hestia_testimonials_hide',
|
Â
|
|
43 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
44 |
Â
'default' => false,
|
45 |
Â
'transport' => $selective_refresh,
|
@@ -47,7 +51,8 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
|
|
47 |
Â
);
|
48 |
Â
|
49 |
Â
$wp_customize->add_control(
|
50 |
-
'hestia_testimonials_hide',
|
Â
|
|
51 |
Â
'type' => 'checkbox',
|
52 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
53 |
Â
'section' => 'hestia_testimonials',
|
@@ -56,14 +61,16 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
|
|
56 |
Â
);
|
57 |
Â
|
58 |
Â
$wp_customize->add_setting(
|
59 |
-
'hestia_testimonials_title',
|
Â
|
|
60 |
Â
'sanitize_callback' => 'wp_kses_post',
|
61 |
Â
'transport' => $selective_refresh,
|
62 |
Â
)
|
63 |
Â
);
|
64 |
Â
|
65 |
Â
$wp_customize->add_control(
|
66 |
-
'hestia_testimonials_title',
|
Â
|
|
67 |
Â
'label' => esc_html__( 'Section Title', 'themeisle-companion' ),
|
68 |
Â
'section' => 'hestia_testimonials',
|
69 |
Â
'priority' => 5,
|
@@ -71,14 +78,16 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
|
|
71 |
Â
);
|
72 |
Â
|
73 |
Â
$wp_customize->add_setting(
|
74 |
-
'hestia_testimonials_subtitle',
|
Â
|
|
75 |
Â
'sanitize_callback' => 'wp_kses_post',
|
76 |
Â
'transport' => $selective_refresh,
|
77 |
Â
)
|
78 |
Â
);
|
79 |
Â
|
80 |
Â
$wp_customize->add_control(
|
81 |
-
'hestia_testimonials_subtitle',
|
Â
|
|
82 |
Â
'label' => esc_html__( 'Section Subtitle', 'themeisle-companion' ),
|
83 |
Â
'section' => 'hestia_testimonials',
|
84 |
Â
'priority' => 10,
|
@@ -87,7 +96,8 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
|
|
87 |
Â
|
88 |
Â
if ( class_exists( 'Hestia_Repeater' ) ) {
|
89 |
Â
$wp_customize->add_setting(
|
90 |
-
'hestia_testimonials_content',
|
Â
|
|
91 |
Â
'sanitize_callback' => 'hestia_repeater_sanitize',
|
92 |
Â
'transport' => $selective_refresh,
|
93 |
Â
)
|
@@ -95,17 +105,19 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
|
|
95 |
Â
|
96 |
Â
$wp_customize->add_control(
|
97 |
Â
new Hestia_Repeater(
|
98 |
-
$wp_customize,
|
99 |
-
|
100 |
-
|
101 |
-
'
|
102 |
-
'
|
103 |
-
'
|
104 |
-
'
|
105 |
-
'
|
Â
|
|
Â
|
|
106 |
Â
'customizer_repeater_subtitle_control' => true,
|
107 |
-
'customizer_repeater_text_control'
|
108 |
-
'customizer_repeater_link_control'
|
109 |
Â
)
|
110 |
Â
)
|
111 |
Â
);
|
@@ -131,9 +143,10 @@ function hestia_register_testimonials_partials( $wp_customize ) {
|
|
131 |
Â
}
|
132 |
Â
|
133 |
Â
$wp_customize->selective_refresh->add_partial(
|
134 |
-
'hestia_testimonials_content',
|
135 |
-
|
136 |
-
'
|
Â
|
|
137 |
Â
'render_callback' => 'hestia_testimonials_content_callback',
|
138 |
Â
)
|
139 |
Â
);
|
15 |
Â
*/
|
16 |
Â
function hestia_testimonials_customize_register( $wp_customize ) {
|
17 |
Â
|
18 |
+
$selective_refresh = isset( $wp_customize->selective_refresh ) && function_exists( 'hestia_display_customizer_shortcut' ) ? 'postMessage' : 'refresh';
|
19 |
Â
|
20 |
Â
if ( class_exists( 'Hestia_Hiding_Section' ) ) {
|
21 |
Â
$wp_customize->add_section(
|
22 |
Â
new Hestia_Hiding_Section(
|
23 |
+
$wp_customize,
|
24 |
+
'hestia_testimonials',
|
25 |
+
array(
|
26 |
Â
'title' => esc_html__( 'Testimonials', 'themeisle-companion' ),
|
27 |
Â
'panel' => 'hestia_frontpage_sections',
|
28 |
Â
'priority' => apply_filters( 'hestia_section_priority', 40, 'hestia_testimonials' ),
|
32 |
Â
);
|
33 |
Â
} else {
|
34 |
Â
$wp_customize->add_section(
|
35 |
+
'hestia_testimonials',
|
36 |
+
array(
|
37 |
Â
'title' => esc_html__( 'Testimonials', 'themeisle-companion' ),
|
38 |
Â
'panel' => 'hestia_frontpage_sections',
|
39 |
Â
'priority' => apply_filters( 'hestia_section_priority', 45, 'hestia_testimonials' ),
|
42 |
Â
}
|
43 |
Â
|
44 |
Â
$wp_customize->add_setting(
|
45 |
+
'hestia_testimonials_hide',
|
46 |
+
array(
|
47 |
Â
'sanitize_callback' => 'hestia_sanitize_checkbox',
|
48 |
Â
'default' => false,
|
49 |
Â
'transport' => $selective_refresh,
|
51 |
Â
);
|
52 |
Â
|
53 |
Â
$wp_customize->add_control(
|
54 |
+
'hestia_testimonials_hide',
|
55 |
+
array(
|
56 |
Â
'type' => 'checkbox',
|
57 |
Â
'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
|
58 |
Â
'section' => 'hestia_testimonials',
|
61 |
Â
);
|
62 |
Â
|
63 |
Â
$wp_customize->add_setting(
|
64 |
+
'hestia_testimonials_title',
|
65 |
+
array(
|
66 |
Â
'sanitize_callback' => 'wp_kses_post',
|
67 |
Â
'transport' => $selective_refresh,
|
68 |
Â
)
|
69 |
Â
);
|
70 |
Â
|
71 |
Â
$wp_customize->add_control(
|
72 |
+
'hestia_testimonials_title',
|
73 |
+
array(
|
74 |
Â
'label' => esc_html__( 'Section Title', 'themeisle-companion' ),
|
75 |
Â
'section' => 'hestia_testimonials',
|
76 |
Â
'priority' => 5,
|
78 |
Â
);
|
79 |
Â
|
80 |
Â
$wp_customize->add_setting(
|
81 |
+
'hestia_testimonials_subtitle',
|
82 |
+
array(
|
83 |
Â
'sanitize_callback' => 'wp_kses_post',
|
84 |
Â
'transport' => $selective_refresh,
|
85 |
Â
)
|
86 |
Â
);
|
87 |
Â
|
88 |
Â
$wp_customize->add_control(
|
89 |
+
'hestia_testimonials_subtitle',
|
90 |
+
array(
|
91 |
Â
'label' => esc_html__( 'Section Subtitle', 'themeisle-companion' ),
|
92 |
Â
'section' => 'hestia_testimonials',
|
93 |
Â
'priority' => 10,
|
96 |
Â
|
97 |
Â
if ( class_exists( 'Hestia_Repeater' ) ) {
|
98 |
Â
$wp_customize->add_setting(
|
99 |
+
'hestia_testimonials_content',
|
100 |
+
array(
|
101 |
Â
'sanitize_callback' => 'hestia_repeater_sanitize',
|
102 |
Â
'transport' => $selective_refresh,
|
103 |
Â
)
|
105 |
Â
|
106 |
Â
$wp_customize->add_control(
|
107 |
Â
new Hestia_Repeater(
|
108 |
+
$wp_customize,
|
109 |
+
'hestia_testimonials_content',
|
110 |
+
array(
|
111 |
+
'label' => esc_html__( 'Testimonials Content', 'themeisle-companion' ),
|
112 |
+
'section' => 'hestia_testimonials',
|
113 |
+
'priority' => 15,
|
114 |
+
'add_field_label' => esc_html__( 'Add new Testimonial', 'themeisle-companion' ),
|
115 |
+
'item_name' => esc_html__( 'Testimonial', 'themeisle-companion' ),
|
116 |
+
'customizer_repeater_image_control' => true,
|
117 |
+
'customizer_repeater_title_control' => true,
|
118 |
Â
'customizer_repeater_subtitle_control' => true,
|
119 |
+
'customizer_repeater_text_control' => true,
|
120 |
+
'customizer_repeater_link_control' => true,
|
121 |
Â
)
|
122 |
Â
)
|
123 |
Â
);
|
143 |
Â
}
|
144 |
Â
|
145 |
Â
$wp_customize->selective_refresh->add_partial(
|
146 |
+
'hestia_testimonials_content',
|
147 |
+
array(
|
148 |
+
'selector' => '.hestia-testimonials-content',
|
149 |
+
'settings' => 'hestia_testimonials_content',
|
150 |
Â
'render_callback' => 'hestia_testimonials_content_callback',
|
151 |
Â
)
|
152 |
Â
);
|
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-clients-bar-section.php
CHANGED
@@ -45,19 +45,19 @@ if ( ! function_exists( 'hestia_clients_bar' ) ) :
|
|
45 |
Â
$wrapper_class = $is_shortcode === true ? 'is-shortcode' : '';
|
46 |
Â
|
47 |
Â
hestia_before_clients_bar_section_trigger(); ?>
|
48 |
-
|
49 |
Â
<?php
|
50 |
-
if ( $is_shortcode === false && function_exists('hestia_display_customizer_shortcut') ) {
|
51 |
Â
hestia_display_customizer_shortcut( 'hestia_clients_bar_hide', true );
|
52 |
Â
}
|
53 |
Â
?>
|
54 |
-
|
55 |
Â
<?php
|
56 |
Â
if ( function_exists( 'hestia_clients_bar_section_content_trigger' ) ) {
|
57 |
Â
hestia_clients_bar_section_content_trigger();
|
58 |
Â
}
|
59 |
Â
?>
|
60 |
-
|
61 |
Â
<?php
|
62 |
Â
if ( ! empty( $hestia_clients_bar_content_decoded ) ) {
|
63 |
Â
foreach ( $hestia_clients_bar_content_decoded as $client ) {
|
@@ -89,9 +89,9 @@ if ( ! function_exists( 'hestia_clients_bar' ) ) :
|
|
89 |
Â
}
|
90 |
Â
}
|
91 |
Â
?>
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
Â
<?php
|
96 |
Â
|
97 |
Â
hestia_after_clients_bar_section_trigger();
|
45 |
Â
$wrapper_class = $is_shortcode === true ? 'is-shortcode' : '';
|
46 |
Â
|
47 |
Â
hestia_before_clients_bar_section_trigger(); ?>
|
48 |
+
<section class="hestia-clients-bar text-center <?php echo esc_attr( $wrapper_class ); ?>" id="clients" data-sorder="hestia_clients_bar" <?php echo wp_kses_post( $section_style ); ?>>
|
49 |
Â
<?php
|
50 |
+
if ( $is_shortcode === false && function_exists( 'hestia_display_customizer_shortcut' ) ) {
|
51 |
Â
hestia_display_customizer_shortcut( 'hestia_clients_bar_hide', true );
|
52 |
Â
}
|
53 |
Â
?>
|
54 |
+
<div class="container">
|
55 |
Â
<?php
|
56 |
Â
if ( function_exists( 'hestia_clients_bar_section_content_trigger' ) ) {
|
57 |
Â
hestia_clients_bar_section_content_trigger();
|
58 |
Â
}
|
59 |
Â
?>
|
60 |
+
<ul class="clients-bar-wrapper" <?php echo hestia_add_animationation( 'fade-up' ); ?>>
|
61 |
Â
<?php
|
62 |
Â
if ( ! empty( $hestia_clients_bar_content_decoded ) ) {
|
63 |
Â
foreach ( $hestia_clients_bar_content_decoded as $client ) {
|
89 |
Â
}
|
90 |
Â
}
|
91 |
Â
?>
|
92 |
+
</ul>
|
93 |
+
</div>
|
94 |
+
</section>
|
95 |
Â
<?php
|
96 |
Â
|
97 |
Â
hestia_after_clients_bar_section_trigger();
|
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php
CHANGED
@@ -24,14 +24,14 @@ if ( ! function_exists( 'hestia_features' ) ) :
|
|
24 |
Â
$is_shortcode = false;
|
25 |
Â
}
|
26 |
Â
|
27 |
-
$hide_section
|
28 |
-
$default_title
|
29 |
-
$default_subtitle
|
30 |
-
$default_content
|
31 |
Â
$hestia_features_title = get_theme_mod( 'hestia_features_title', $default_title );
|
32 |
Â
$hestia_features_subtitle = get_theme_mod( 'hestia_features_subtitle', $default_subtitle );
|
33 |
Â
$hestia_features_content = get_theme_mod( 'hestia_features_content', $default_content );
|
34 |
-
$section_is_empty
|
35 |
Â
|
36 |
Â
/* Don't show section if Disable section is checked or it doesn't have any content. Show it if it's called as a shortcode */
|
37 |
Â
if ( $is_shortcode === false && ( $section_is_empty || (bool) $hide_section === true ) ) {
|
@@ -41,15 +41,15 @@ if ( ! function_exists( 'hestia_features' ) ) :
|
|
41 |
Â
return;
|
42 |
Â
}
|
43 |
Â
|
44 |
-
$wrapper_class
|
45 |
Â
$container_class = $is_shortcode === true ? '' : 'container';
|
46 |
Â
|
47 |
Â
hestia_before_features_section_trigger();
|
48 |
Â
?>
|
49 |
Â
<section class="hestia-features <?php echo esc_attr( $wrapper_class ); ?>" id="features" data-sorder="hestia_features">
|
50 |
Â
<?php
|
51 |
-
|
52 |
-
if ( $is_shortcode === false && function_exists('hestia_display_customizer_shortcut') ) {
|
53 |
Â
hestia_display_customizer_shortcut( 'hestia_features_hide', true );
|
54 |
Â
}
|
55 |
Â
?>
|
@@ -57,11 +57,11 @@ if ( ! function_exists( 'hestia_features' ) ) :
|
|
57 |
Â
<?php
|
58 |
Â
hestia_top_features_section_content_trigger();
|
59 |
Â
if ( $is_shortcode === false ) {
|
60 |
-
|
61 |
Â
<div class="row">
|
62 |
Â
<div class="col-md-8 col-md-offset-2 hestia-features-title-area">
|
63 |
Â
<?php
|
64 |
-
if ( function_exists('hestia_display_customizer_shortcut') && ! empty( $hestia_features_title ) && ! empty( $hestia_features_subtitle ) ) {
|
65 |
Â
hestia_display_customizer_shortcut( 'hestia_features_title' );
|
66 |
Â
}
|
67 |
Â
if ( ! empty( $hestia_features_title ) || is_customize_preview() ) {
|
@@ -97,7 +97,7 @@ endif;
|
|
97 |
Â
*/
|
98 |
Â
function hestia_features_content( $hestia_features_content, $is_callback = false ) {
|
99 |
Â
if ( ! $is_callback ) {
|
100 |
-
|
101 |
Â
<div class="hestia-features-content">
|
102 |
Â
<?php
|
103 |
Â
}
|
@@ -107,15 +107,15 @@ function hestia_features_content( $hestia_features_content, $is_callback = false
|
|
107 |
Â
if ( ! empty( $hestia_features_content ) ) {
|
108 |
Â
echo '<div class="row">';
|
109 |
Â
foreach ( $hestia_features_content as $features_item ) :
|
110 |
-
$icon
|
111 |
-
$image
|
112 |
-
$title
|
113 |
-
$text
|
114 |
-
$link
|
115 |
-
$color
|
116 |
Â
$choice = ! empty( $features_item->choice ) ? $features_item->choice : 'customizer_repeater_icon';
|
117 |
Â
?>
|
118 |
-
<div class="col-xs-12 <?php echo apply_filters( 'hestia_features_per_row_class','col-md-4' ); ?> feature-box">
|
119 |
Â
<div class="hestia-info">
|
120 |
Â
<?php
|
121 |
Â
if ( ! empty( $link ) ) {
|
@@ -147,14 +147,14 @@ function hestia_features_content( $hestia_features_content, $is_callback = false
|
|
147 |
Â
}
|
148 |
Â
break;
|
149 |
Â
}
|
150 |
-
|
151 |
Â
<?php if ( ! empty( $title ) ) : ?>
|
152 |
Â
<h4 class="info-title"><?php echo esc_html( $title ); ?></h4>
|
153 |
Â
<?php endif; ?>
|
154 |
Â
<?php if ( ! empty( $link ) ) : ?>
|
155 |
Â
</a>
|
156 |
Â
<?php endif; ?>
|
157 |
-
|
158 |
Â
<p><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
|
159 |
Â
<?php endif; ?>
|
160 |
Â
</div>
|
@@ -165,7 +165,7 @@ function hestia_features_content( $hestia_features_content, $is_callback = false
|
|
165 |
Â
}// End if().
|
166 |
Â
endif;
|
167 |
Â
if ( ! $is_callback ) {
|
168 |
-
|
169 |
Â
</div>
|
170 |
Â
<?php
|
171 |
Â
}
|
@@ -179,7 +179,8 @@ function hestia_features_content( $hestia_features_content, $is_callback = false
|
|
179 |
Â
*/
|
180 |
Â
function hestia_get_features_default() {
|
181 |
Â
return apply_filters(
|
182 |
-
'hestia_features_default_content',
|
Â
|
|
183 |
Â
array(
|
184 |
Â
array(
|
185 |
Â
'icon_value' => 'fa-wechat',
|
24 |
Â
$is_shortcode = false;
|
25 |
Â
}
|
26 |
Â
|
27 |
+
$hide_section = get_theme_mod( 'hestia_features_hide', false );
|
28 |
+
$default_title = current_user_can( 'edit_theme_options' ) ? esc_html__( 'Why our product is the best', 'themeisle-companion' ) : false;
|
29 |
+
$default_subtitle = current_user_can( 'edit_theme_options' ) ? esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'themeisle-companion' ) : false;
|
30 |
+
$default_content = current_user_can( 'edit_theme_options' ) ? hestia_get_features_default() : false;
|
31 |
Â
$hestia_features_title = get_theme_mod( 'hestia_features_title', $default_title );
|
32 |
Â
$hestia_features_subtitle = get_theme_mod( 'hestia_features_subtitle', $default_subtitle );
|
33 |
Â
$hestia_features_content = get_theme_mod( 'hestia_features_content', $default_content );
|
34 |
+
$section_is_empty = empty( $hestia_features_content ) && empty( $hestia_features_subtitle ) && empty( $hestia_features_title );
|
35 |
Â
|
36 |
Â
/* Don't show section if Disable section is checked or it doesn't have any content. Show it if it's called as a shortcode */
|
37 |
Â
if ( $is_shortcode === false && ( $section_is_empty || (bool) $hide_section === true ) ) {
|
41 |
Â
return;
|
42 |
Â
}
|
43 |
Â
|
44 |
+
$wrapper_class = $is_shortcode === true ? 'is-shortcode' : '';
|
45 |
Â
$container_class = $is_shortcode === true ? '' : 'container';
|
46 |
Â
|
47 |
Â
hestia_before_features_section_trigger();
|
48 |
Â
?>
|
49 |
Â
<section class="hestia-features <?php echo esc_attr( $wrapper_class ); ?>" id="features" data-sorder="hestia_features">
|
50 |
Â
<?php
|
51 |
+
hestia_before_features_section_content_trigger();
|
52 |
+
if ( $is_shortcode === false && function_exists( 'hestia_display_customizer_shortcut' ) ) {
|
53 |
Â
hestia_display_customizer_shortcut( 'hestia_features_hide', true );
|
54 |
Â
}
|
55 |
Â
?>
|
57 |
Â
<?php
|
58 |
Â
hestia_top_features_section_content_trigger();
|
59 |
Â
if ( $is_shortcode === false ) {
|
60 |
+
?>
|
61 |
Â
<div class="row">
|
62 |
Â
<div class="col-md-8 col-md-offset-2 hestia-features-title-area">
|
63 |
Â
<?php
|
64 |
+
if ( function_exists( 'hestia_display_customizer_shortcut' ) && ! empty( $hestia_features_title ) && ! empty( $hestia_features_subtitle ) ) {
|
65 |
Â
hestia_display_customizer_shortcut( 'hestia_features_title' );
|
66 |
Â
}
|
67 |
Â
if ( ! empty( $hestia_features_title ) || is_customize_preview() ) {
|
97 |
Â
*/
|
98 |
Â
function hestia_features_content( $hestia_features_content, $is_callback = false ) {
|
99 |
Â
if ( ! $is_callback ) {
|
100 |
+
?>
|
101 |
Â
<div class="hestia-features-content">
|
102 |
Â
<?php
|
103 |
Â
}
|
107 |
Â
if ( ! empty( $hestia_features_content ) ) {
|
108 |
Â
echo '<div class="row">';
|
109 |
Â
foreach ( $hestia_features_content as $features_item ) :
|
110 |
+
$icon = ! empty( $features_item->icon_value ) ? apply_filters( 'hestia_translate_single_string', $features_item->icon_value, 'Features section' ) : '';
|
111 |
+
$image = ! empty( $features_item->image_url ) ? apply_filters( 'hestia_translate_single_string', $features_item->image_url, 'Features section' ) : '';
|
112 |
+
$title = ! empty( $features_item->title ) ? apply_filters( 'hestia_translate_single_string', $features_item->title, 'Features section' ) : '';
|
113 |
+
$text = ! empty( $features_item->text ) ? apply_filters( 'hestia_translate_single_string', $features_item->text, 'Features section' ) : '';
|
114 |
+
$link = ! empty( $features_item->link ) ? apply_filters( 'hestia_translate_single_string', $features_item->link, 'Features section' ) : '';
|
115 |
+
$color = ! empty( $features_item->color ) ? $features_item->color : '';
|
116 |
Â
$choice = ! empty( $features_item->choice ) ? $features_item->choice : 'customizer_repeater_icon';
|
117 |
Â
?>
|
118 |
+
<div class="col-xs-12 <?php echo apply_filters( 'hestia_features_per_row_class', 'col-md-4' ); ?> feature-box">
|
119 |
Â
<div class="hestia-info">
|
120 |
Â
<?php
|
121 |
Â
if ( ! empty( $link ) ) {
|
147 |
Â
}
|
148 |
Â
break;
|
149 |
Â
}
|
150 |
+
?>
|
151 |
Â
<?php if ( ! empty( $title ) ) : ?>
|
152 |
Â
<h4 class="info-title"><?php echo esc_html( $title ); ?></h4>
|
153 |
Â
<?php endif; ?>
|
154 |
Â
<?php if ( ! empty( $link ) ) : ?>
|
155 |
Â
</a>
|
156 |
Â
<?php endif; ?>
|
157 |
+
<?php if ( ! empty( $text ) ) : ?>
|
158 |
Â
<p><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
|
159 |
Â
<?php endif; ?>
|
160 |
Â
</div>
|
165 |
Â
}// End if().
|
166 |
Â
endif;
|
167 |
Â
if ( ! $is_callback ) {
|
168 |
+
?>
|
169 |
Â
</div>
|
170 |
Â
<?php
|
171 |
Â
}
|
179 |
Â
*/
|
180 |
Â
function hestia_get_features_default() {
|
181 |
Â
return apply_filters(
|
182 |
+
'hestia_features_default_content',
|
183 |
+
json_encode(
|
184 |
Â
array(
|
185 |
Â
array(
|
186 |
Â
'icon_value' => 'fa-wechat',
|
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-ribbon-section.php
CHANGED
@@ -59,30 +59,31 @@ if ( ! function_exists( 'hestia_ribbon' ) ) :
|
|
59 |
Â
$class_to_add .= ! empty( $hestia_ribbon_background ) ? 'section-image' : '';
|
60 |
Â
|
61 |
Â
hestia_before_ribbon_section_trigger(); ?>
|
62 |
-
|
63 |
Â
<?php
|
64 |
-
if ( function_exists('hestia_display_customizer_shortcut') && $is_shortcode === false ) {
|
65 |
Â
hestia_display_customizer_shortcut( 'hestia_ribbon_hide', true );
|
66 |
Â
}
|
67 |
Â
?>
|
68 |
-
|
69 |
-
|
70 |
Â
<?php
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
Â
|
|
75 |
Â
<?php
|
76 |
Â
if ( ! empty( $hestia_ribbon_text ) || is_customize_preview() ) {
|
77 |
Â
?>
|
78 |
-
|
79 |
Â
<?php echo hestia_sanitize_string( $hestia_ribbon_text ); ?>
|
80 |
-
|
81 |
Â
<?php
|
82 |
Â
}
|
83 |
Â
?>
|
84 |
-
|
85 |
-
|
86 |
Â
<?php
|
87 |
Â
|
88 |
Â
if ( ( ! empty( $hestia_ribbon_button_text ) && ! empty( $hestia_ribbon_button_url ) ) || is_customize_preview() ) {
|
@@ -97,10 +98,10 @@ if ( ! function_exists( 'hestia_ribbon' ) ) :
|
|
97 |
Â
echo wp_kses_post( $link_html );
|
98 |
Â
}
|
99 |
Â
?>
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
Â
<?php
|
105 |
Â
hestia_after_ribbon_section_trigger();
|
106 |
Â
}
|
59 |
Â
$class_to_add .= ! empty( $hestia_ribbon_background ) ? 'section-image' : '';
|
60 |
Â
|
61 |
Â
hestia_before_ribbon_section_trigger(); ?>
|
62 |
+
<section class="hestia-ribbon section <?php echo esc_attr( $class_to_add ); ?>" id="ribbon" data-sorder="hestia_ribbon" <?php echo wp_kses_post( $section_style ); ?>>
|
63 |
Â
<?php
|
64 |
+
if ( function_exists( 'hestia_display_customizer_shortcut' ) && $is_shortcode === false ) {
|
65 |
Â
hestia_display_customizer_shortcut( 'hestia_ribbon_hide', true );
|
66 |
Â
}
|
67 |
Â
?>
|
68 |
+
<div class="container">
|
69 |
+
<div class="row hestia-xs-text-center hestia-like-table hestia-ribbon-content">
|
70 |
Â
<?php
|
71 |
+
if ( function_exists( 'hestia_display_customizer_shortcut' ) ) {
|
72 |
+
hestia_display_customizer_shortcut( 'hestia_ribbon_text' );
|
73 |
+
}
|
74 |
+
?>
|
75 |
+
<div class="col-md-8 hestia-ribbon-content-left" <?php echo hestia_add_animationation( 'fade-right' ); ?>>
|
76 |
Â
<?php
|
77 |
Â
if ( ! empty( $hestia_ribbon_text ) || is_customize_preview() ) {
|
78 |
Â
?>
|
79 |
+
<h2 class="hestia-title" style="margin:0;">
|
80 |
Â
<?php echo hestia_sanitize_string( $hestia_ribbon_text ); ?>
|
81 |
+
</h2>
|
82 |
Â
<?php
|
83 |
Â
}
|
84 |
Â
?>
|
85 |
+
</div>
|
86 |
+
<div class="col-md-4 text-center hestia-ribbon-content-right" <?php echo hestia_add_animationation( 'fade-left' ); ?>>
|
87 |
Â
<?php
|
88 |
Â
|
89 |
Â
if ( ( ! empty( $hestia_ribbon_button_text ) && ! empty( $hestia_ribbon_button_url ) ) || is_customize_preview() ) {
|
98 |
Â
echo wp_kses_post( $link_html );
|
99 |
Â
}
|
100 |
Â
?>
|
101 |
+
</div>
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
</section>
|
105 |
Â
<?php
|
106 |
Â
hestia_after_ribbon_section_trigger();
|
107 |
Â
}
|
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php
CHANGED
@@ -23,20 +23,20 @@ if ( ! function_exists( 'hestia_team' ) ) :
|
|
23 |
Â
$is_shortcode = false;
|
24 |
Â
}
|
25 |
Â
|
26 |
-
$default_title
|
27 |
Â
$default_subtitle = false;
|
28 |
-
$default_content
|
29 |
Â
|
30 |
Â
if ( current_user_can( 'edit_theme_options' ) ) {
|
31 |
-
$default_title
|
32 |
Â
$default_subtitle = esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'themeisle-companion' );
|
33 |
-
$default_content
|
34 |
Â
}
|
35 |
Â
|
36 |
Â
$hestia_team_title = get_theme_mod( 'hestia_team_title', $default_title );
|
37 |
Â
$hestia_team_subtitle = get_theme_mod( 'hestia_team_subtitle', $default_subtitle );
|
38 |
Â
$hestia_team_content = get_theme_mod( 'hestia_team_content', $default_content );
|
39 |
-
$section_is_empty
|
40 |
Â
|
41 |
Â
$hide_section = get_theme_mod( 'hestia_team_hide', false );
|
42 |
Â
|
@@ -48,7 +48,7 @@ if ( ! function_exists( 'hestia_team' ) ) :
|
|
48 |
Â
return;
|
49 |
Â
}
|
50 |
Â
|
51 |
-
$wrapper_class
|
52 |
Â
$container_class = $is_shortcode === true ? '' : 'container';
|
53 |
Â
|
54 |
Â
hestia_before_team_section_trigger();
|
@@ -56,7 +56,7 @@ if ( ! function_exists( 'hestia_team' ) ) :
|
|
56 |
Â
<section class="hestia-team <?php echo esc_attr( $wrapper_class ); ?>" id="team" data-sorder="hestia_team">
|
57 |
Â
<?php
|
58 |
Â
hestia_before_team_section_content_trigger();
|
59 |
-
if ( function_exists('hestia_display_customizer_shortcut') && $is_shortcode === false ) {
|
60 |
Â
hestia_display_customizer_shortcut( 'hestia_team_hide', true );
|
61 |
Â
}
|
62 |
Â
?>
|
@@ -64,13 +64,13 @@ if ( ! function_exists( 'hestia_team' ) ) :
|
|
64 |
Â
<?php
|
65 |
Â
hestia_top_team_section_content_trigger();
|
66 |
Â
if ( $is_shortcode === false ) {
|
67 |
-
|
68 |
Â
<div class="row">
|
69 |
Â
<div class="col-md-8 col-md-offset-2 text-center hestia-team-title-area">
|
70 |
Â
<?php
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
Â
if ( ! empty( $hestia_team_title ) || is_customize_preview() ) {
|
75 |
Â
echo '<h2 class="hestia-title">' . wp_kses_post( $hestia_team_title ) . '</h2>';
|
76 |
Â
}
|
@@ -104,7 +104,7 @@ endif;
|
|
104 |
Â
*/
|
105 |
Â
function hestia_team_content( $hestia_team_content, $is_callback = false ) {
|
106 |
Â
if ( ! $is_callback ) {
|
107 |
-
|
108 |
Â
<div class="hestia-team-content">
|
109 |
Â
<?php
|
110 |
Â
}
|
@@ -116,33 +116,33 @@ function hestia_team_content( $hestia_team_content, $is_callback = false ) {
|
|
116 |
Â
if ( ! empty( $hestia_team_content ) ) {
|
117 |
Â
echo '<div class="row">';
|
118 |
Â
foreach ( $hestia_team_content as $team_item ) :
|
119 |
-
$image
|
120 |
-
$title
|
121 |
Â
$subtitle = ! empty( $team_item->subtitle ) ? apply_filters( 'hestia_translate_single_string', $team_item->subtitle, 'Team section' ) : '';
|
122 |
-
$text
|
123 |
-
$link
|
124 |
Â
?>
|
125 |
Â
<div class="col-xs-12 col-ms-6 col-sm-6">
|
126 |
Â
<div class="card card-profile card-plain">
|
127 |
Â
<div class="col-md-5">
|
128 |
Â
<div class="card-image">
|
129 |
Â
<?php
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
Â
if ( ! empty( $link ) ) :
|
147 |
Â
$link_html = '<a href="' . esc_url( $link ) . '"';
|
148 |
Â
if ( function_exists( 'hestia_is_external_url' ) ) {
|
@@ -152,32 +152,32 @@ function hestia_team_content( $hestia_team_content, $is_callback = false ) {
|
|
152 |
Â
echo wp_kses_post( $link_html );
|
153 |
Â
endif;
|
154 |
Â
echo '<img class="img" src="' . esc_url( $image ) . '" ';
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
Â
<?php endif; ?>
|
167 |
Â
</div>
|
168 |
Â
</div>
|
169 |
Â
<div class="col-md-7">
|
170 |
Â
<div class="content">
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
Â
<?php if ( ! empty( $title ) ) : ?>
|
182 |
Â
<h4 class="card-title"><?php echo esc_html( $title ); ?></h4>
|
183 |
Â
<?php endif; ?>
|
@@ -187,14 +187,14 @@ function hestia_team_content( $hestia_team_content, $is_callback = false ) {
|
|
187 |
Â
<?php if ( ! empty( $text ) ) : ?>
|
188 |
Â
<p class="card-description"><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
|
189 |
Â
<?php endif; ?>
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
Â
<?php
|
196 |
Â
if ( ! empty( $team_item->social_repeater ) ) :
|
197 |
-
$icons
|
198 |
Â
$icons_decoded = json_decode( $icons, true );
|
199 |
Â
if ( ! empty( $icons_decoded ) ) :
|
200 |
Â
?>
|
@@ -229,7 +229,7 @@ function hestia_team_content( $hestia_team_content, $is_callback = false ) {
|
|
229 |
Â
}// End if().
|
230 |
Â
endif;
|
231 |
Â
if ( ! $is_callback ) {
|
232 |
-
|
233 |
Â
</div>
|
234 |
Â
<?php
|
235 |
Â
}
|
@@ -245,7 +245,8 @@ function hestia_team_content( $hestia_team_content, $is_callback = false ) {
|
|
245 |
Â
*/
|
246 |
Â
function hestia_get_team_default() {
|
247 |
Â
return apply_filters(
|
248 |
-
'hestia_team_default_content',
|
Â
|
|
249 |
Â
array(
|
250 |
Â
array(
|
251 |
Â
'image_url' => get_template_directory_uri() . '/assets/img/1.jpg',
|
23 |
Â
$is_shortcode = false;
|
24 |
Â
}
|
25 |
Â
|
26 |
+
$default_title = false;
|
27 |
Â
$default_subtitle = false;
|
28 |
+
$default_content = false;
|
29 |
Â
|
30 |
Â
if ( current_user_can( 'edit_theme_options' ) ) {
|
31 |
+
$default_title = esc_html__( 'Meet our team', 'themeisle-companion' );
|
32 |
Â
$default_subtitle = esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'themeisle-companion' );
|
33 |
+
$default_content = hestia_get_team_default();
|
34 |
Â
}
|
35 |
Â
|
36 |
Â
$hestia_team_title = get_theme_mod( 'hestia_team_title', $default_title );
|
37 |
Â
$hestia_team_subtitle = get_theme_mod( 'hestia_team_subtitle', $default_subtitle );
|
38 |
Â
$hestia_team_content = get_theme_mod( 'hestia_team_content', $default_content );
|
39 |
+
$section_is_empty = empty( $hestia_team_title ) && empty( $hestia_team_subtitle ) && empty( $hestia_team_content );
|
40 |
Â
|
41 |
Â
$hide_section = get_theme_mod( 'hestia_team_hide', false );
|
42 |
Â
|
48 |
Â
return;
|
49 |
Â
}
|
50 |
Â
|
51 |
+
$wrapper_class = $is_shortcode === true ? 'is-shortcode' : '';
|
52 |
Â
$container_class = $is_shortcode === true ? '' : 'container';
|
53 |
Â
|
54 |
Â
hestia_before_team_section_trigger();
|
56 |
Â
<section class="hestia-team <?php echo esc_attr( $wrapper_class ); ?>" id="team" data-sorder="hestia_team">
|
57 |
Â
<?php
|
58 |
Â
hestia_before_team_section_content_trigger();
|
59 |
+
if ( function_exists( 'hestia_display_customizer_shortcut' ) && $is_shortcode === false ) {
|
60 |
Â
hestia_display_customizer_shortcut( 'hestia_team_hide', true );
|
61 |
Â
}
|
62 |
Â
?>
|
64 |
Â
<?php
|
65 |
Â
hestia_top_team_section_content_trigger();
|
66 |
Â
if ( $is_shortcode === false ) {
|
67 |
+
?>
|
68 |
Â
<div class="row">
|
69 |
Â
<div class="col-md-8 col-md-offset-2 text-center hestia-team-title-area">
|
70 |
Â
<?php
|
71 |
+
if ( function_exists( 'hestia_display_customizer_shortcut' ) ) {
|
72 |
+
hestia_display_customizer_shortcut( 'hestia_team_title' );
|
73 |
+
}
|
74 |
Â
if ( ! empty( $hestia_team_title ) || is_customize_preview() ) {
|
75 |
Â
echo '<h2 class="hestia-title">' . wp_kses_post( $hestia_team_title ) . '</h2>';
|
76 |
Â
}
|
104 |
Â
*/
|
105 |
Â
function hestia_team_content( $hestia_team_content, $is_callback = false ) {
|
106 |
Â
if ( ! $is_callback ) {
|
107 |
+
?>
|
108 |
Â
<div class="hestia-team-content">
|
109 |
Â
<?php
|
110 |
Â
}
|
116 |
Â
if ( ! empty( $hestia_team_content ) ) {
|
117 |
Â
echo '<div class="row">';
|
118 |
Â
foreach ( $hestia_team_content as $team_item ) :
|
119 |
+
$image = ! empty( $team_item->image_url ) ? apply_filters( 'hestia_translate_single_string', $team_item->image_url, 'Team section' ) : '';
|
120 |
+
$title = ! empty( $team_item->title ) ? apply_filters( 'hestia_translate_single_string', $team_item->title, 'Team section' ) : '';
|
121 |
Â
$subtitle = ! empty( $team_item->subtitle ) ? apply_filters( 'hestia_translate_single_string', $team_item->subtitle, 'Team section' ) : '';
|
122 |
+
$text = ! empty( $team_item->text ) ? apply_filters( 'hestia_translate_single_string', $team_item->text, 'Team section' ) : '';
|
123 |
+
$link = ! empty( $team_item->link ) ? apply_filters( 'hestia_translate_single_string', $team_item->link, 'Team section' ) : '';
|
124 |
Â
?>
|
125 |
Â
<div class="col-xs-12 col-ms-6 col-sm-6">
|
126 |
Â
<div class="card card-profile card-plain">
|
127 |
Â
<div class="col-md-5">
|
128 |
Â
<div class="card-image">
|
129 |
Â
<?php
|
130 |
+
if ( ! empty( $image ) ) :
|
131 |
+
/**
|
132 |
+
* Alternative text for the Team box image
|
133 |
+
* It first checks for the Alt Text option of the attachment
|
134 |
+
* If that field is empty, uses the Title of the Testimonial box as alt text
|
135 |
+
*/
|
136 |
+
$alt_image = '';
|
137 |
+
$image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
|
138 |
+
if ( ! empty( $image_id ) && $image_id !== 0 ) {
|
139 |
+
$alt_image = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
|
140 |
+
}
|
141 |
+
if ( empty( $alt_image ) ) {
|
142 |
+
if ( ! empty( $title ) ) {
|
143 |
+
$alt_image = $title;
|
144 |
+
}
|
145 |
+
}
|
146 |
Â
if ( ! empty( $link ) ) :
|
147 |
Â
$link_html = '<a href="' . esc_url( $link ) . '"';
|
148 |
Â
if ( function_exists( 'hestia_is_external_url' ) ) {
|
152 |
Â
echo wp_kses_post( $link_html );
|
153 |
Â
endif;
|
154 |
Â
echo '<img class="img" src="' . esc_url( $image ) . '" ';
|
155 |
+
if ( ! empty( $alt_image ) ) {
|
156 |
+
echo ' alt="' . esc_attr( $alt_image ) . '" ';
|
157 |
+
}
|
158 |
+
if ( ! empty( $title ) ) {
|
159 |
+
echo ' title="' . esc_attr( $title ) . '" ';
|
160 |
+
}
|
161 |
+
echo '/>';
|
162 |
+
if ( ! empty( $link ) ) {
|
163 |
+
echo '</a>';
|
164 |
+
}
|
165 |
+
?>
|
166 |
Â
<?php endif; ?>
|
167 |
Â
</div>
|
168 |
Â
</div>
|
169 |
Â
<div class="col-md-7">
|
170 |
Â
<div class="content">
|
171 |
+
<?php
|
172 |
+
if ( ! empty( $link ) ) :
|
173 |
+
$link_html = '<a href="' . esc_url( $link ) . '"';
|
174 |
+
if ( function_exists( 'hestia_is_external_url' ) ) {
|
175 |
+
$link_html .= hestia_is_external_url( $link );
|
176 |
+
}
|
177 |
+
$link_html .= '>';
|
178 |
+
echo wp_kses_post( $link_html );
|
179 |
+
endif;
|
180 |
+
?>
|
181 |
Â
<?php if ( ! empty( $title ) ) : ?>
|
182 |
Â
<h4 class="card-title"><?php echo esc_html( $title ); ?></h4>
|
183 |
Â
<?php endif; ?>
|
187 |
Â
<?php if ( ! empty( $text ) ) : ?>
|
188 |
Â
<p class="card-description"><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
|
189 |
Â
<?php endif; ?>
|
190 |
+
<?php
|
191 |
+
if ( ! empty( $link ) ) {
|
192 |
+
echo '</a>';
|
193 |
+
}
|
194 |
+
?>
|
195 |
Â
<?php
|
196 |
Â
if ( ! empty( $team_item->social_repeater ) ) :
|
197 |
+
$icons = html_entity_decode( $team_item->social_repeater );
|
198 |
Â
$icons_decoded = json_decode( $icons, true );
|
199 |
Â
if ( ! empty( $icons_decoded ) ) :
|
200 |
Â
?>
|
229 |
Â
}// End if().
|
230 |
Â
endif;
|
231 |
Â
if ( ! $is_callback ) {
|
232 |
+
?>
|
233 |
Â
</div>
|
234 |
Â
<?php
|
235 |
Â
}
|
245 |
Â
*/
|
246 |
Â
function hestia_get_team_default() {
|
247 |
Â
return apply_filters(
|
248 |
+
'hestia_team_default_content',
|
249 |
+
json_encode(
|
250 |
Â
array(
|
251 |
Â
array(
|
252 |
Â
'image_url' => get_template_directory_uri() . '/assets/img/1.jpg',
|
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php
CHANGED
@@ -59,24 +59,24 @@ if ( ! function_exists( 'hestia_testimonials' ) ) :
|
|
59 |
Â
$container_class = $is_shortcode === true ? '' : 'container';
|
60 |
Â
|
61 |
Â
hestia_before_testimonials_section_trigger(); ?>
|
62 |
-
|
63 |
Â
<?php
|
64 |
Â
hestia_before_testimonials_section_content_trigger();
|
65 |
-
if ( function_exists('hestia_display_customizer_shortcut') && $is_shortcode === false ) {
|
66 |
Â
hestia_display_customizer_shortcut( 'hestia_testimonials_hide', true );
|
67 |
Â
}
|
68 |
Â
?>
|
69 |
-
|
70 |
Â
<?php
|
71 |
Â
hestia_top_testimonials_section_content_trigger();
|
72 |
Â
if ( $is_shortcode === false ) {
|
73 |
Â
?>
|
74 |
-
|
75 |
-
|
76 |
Â
<?php
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
Â
if ( ! empty( $hestia_testimonials_title ) || is_customize_preview() ) {
|
81 |
Â
echo '<h2 class="hestia-title">' . wp_kses_post( $hestia_testimonials_title ) . '</h2>';
|
82 |
Â
}
|
@@ -84,16 +84,16 @@ if ( ! function_exists( 'hestia_testimonials' ) ) :
|
|
84 |
Â
echo '<h5 class="description">' . wp_kses_post( $hestia_testimonials_subtitle ) . '</h5>';
|
85 |
Â
}
|
86 |
Â
?>
|
87 |
-
|
88 |
-
|
89 |
Â
<?php
|
90 |
Â
}
|
91 |
Â
hestia_testimonials_content( $hestia_testimonials_content );
|
92 |
Â
hestia_bottom_testimonials_section_content_trigger();
|
93 |
Â
?>
|
94 |
-
|
95 |
Â
<?php hestia_after_testimonials_section_content_trigger(); ?>
|
96 |
-
|
97 |
Â
<?php
|
98 |
Â
hestia_after_testimonials_section_trigger();
|
99 |
Â
}
|
@@ -112,7 +112,7 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
|
|
112 |
Â
|
113 |
Â
if ( ! $is_callback ) {
|
114 |
Â
?>
|
115 |
-
|
116 |
Â
<?php
|
117 |
Â
}
|
118 |
Â
if ( ! empty( $hestia_testimonials_content ) ) :
|
@@ -126,8 +126,8 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
|
|
126 |
Â
$text = ! empty( $testimonial_item->text ) ? apply_filters( 'hestia_translate_single_string', $testimonial_item->text, 'Testimonials section' ) : '';
|
127 |
Â
$link = ! empty( $testimonial_item->link ) ? apply_filters( 'hestia_translate_single_string', $testimonial_item->link, 'Testimonials section' ) : '';
|
128 |
Â
?>
|
129 |
-
|
130 |
-
|
131 |
Â
<?php
|
132 |
Â
if ( ! empty( $image ) ) :
|
133 |
Â
/**
|
@@ -146,7 +146,7 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
|
|
146 |
Â
}
|
147 |
Â
}
|
148 |
Â
?>
|
149 |
-
|
150 |
Â
<?php
|
151 |
Â
if ( ! empty( $link ) ) {
|
152 |
Â
$link_html = '<a href="' . esc_url( $link ) . '"';
|
@@ -170,21 +170,21 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
|
|
170 |
Â
echo '</a>';
|
171 |
Â
}
|
172 |
Â
?>
|
173 |
-
|
174 |
Â
<?php endif; ?>
|
175 |
-
|
176 |
Â
<?php if ( ! empty( $title ) ) : ?>
|
177 |
-
|
178 |
Â
<?php endif; ?>
|
179 |
Â
<?php if ( ! empty( $subtitle ) ) : ?>
|
180 |
-
|
181 |
Â
<?php endif; ?>
|
182 |
Â
<?php if ( ! empty( $text ) ) : ?>
|
183 |
-
|
184 |
Â
<?php endif; ?>
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
Â
<?php
|
189 |
Â
endforeach;
|
190 |
Â
echo '</div>';
|
@@ -192,7 +192,7 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
|
|
192 |
Â
endif;
|
193 |
Â
if ( ! $is_callback ) {
|
194 |
Â
?>
|
195 |
-
|
196 |
Â
<?php
|
197 |
Â
}
|
198 |
Â
}
|
@@ -206,7 +206,8 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
|
|
206 |
Â
*/
|
207 |
Â
function hestia_get_testimonials_default() {
|
208 |
Â
return apply_filters(
|
209 |
-
'hestia_testimonials_default_content',
|
Â
|
|
210 |
Â
array(
|
211 |
Â
array(
|
212 |
Â
'image_url' => get_template_directory_uri() . '/assets/img/5.jpg',
|
59 |
Â
$container_class = $is_shortcode === true ? '' : 'container';
|
60 |
Â
|
61 |
Â
hestia_before_testimonials_section_trigger(); ?>
|
62 |
+
<section class="hestia-testimonials <?php echo esc_attr( $wrapper_class ); ?>" id="testimonials" data-sorder="hestia_testimonials" <?php echo wp_kses_post( $section_style ); ?>>
|
63 |
Â
<?php
|
64 |
Â
hestia_before_testimonials_section_content_trigger();
|
65 |
+
if ( function_exists( 'hestia_display_customizer_shortcut' ) && $is_shortcode === false ) {
|
66 |
Â
hestia_display_customizer_shortcut( 'hestia_testimonials_hide', true );
|
67 |
Â
}
|
68 |
Â
?>
|
69 |
+
<div class="<?php echo esc_attr( $container_class ); ?>">
|
70 |
Â
<?php
|
71 |
Â
hestia_top_testimonials_section_content_trigger();
|
72 |
Â
if ( $is_shortcode === false ) {
|
73 |
Â
?>
|
74 |
+
<div class="row">
|
75 |
+
<div class="col-md-8 col-md-offset-2 text-center hestia-testimonials-title-area">
|
76 |
Â
<?php
|
77 |
+
if ( function_exists( 'hestia_display_customizer_shortcut' ) ) {
|
78 |
+
hestia_display_customizer_shortcut( 'hestia_testimonials_title' );
|
79 |
+
}
|
80 |
Â
if ( ! empty( $hestia_testimonials_title ) || is_customize_preview() ) {
|
81 |
Â
echo '<h2 class="hestia-title">' . wp_kses_post( $hestia_testimonials_title ) . '</h2>';
|
82 |
Â
}
|
84 |
Â
echo '<h5 class="description">' . wp_kses_post( $hestia_testimonials_subtitle ) . '</h5>';
|
85 |
Â
}
|
86 |
Â
?>
|
87 |
+
</div>
|
88 |
+
</div>
|
89 |
Â
<?php
|
90 |
Â
}
|
91 |
Â
hestia_testimonials_content( $hestia_testimonials_content );
|
92 |
Â
hestia_bottom_testimonials_section_content_trigger();
|
93 |
Â
?>
|
94 |
+
</div>
|
95 |
Â
<?php hestia_after_testimonials_section_content_trigger(); ?>
|
96 |
+
</section>
|
97 |
Â
<?php
|
98 |
Â
hestia_after_testimonials_section_trigger();
|
99 |
Â
}
|
112 |
Â
|
113 |
Â
if ( ! $is_callback ) {
|
114 |
Â
?>
|
115 |
+
<div class="hestia-testimonials-content">
|
116 |
Â
<?php
|
117 |
Â
}
|
118 |
Â
if ( ! empty( $hestia_testimonials_content ) ) :
|
126 |
Â
$text = ! empty( $testimonial_item->text ) ? apply_filters( 'hestia_translate_single_string', $testimonial_item->text, 'Testimonials section' ) : '';
|
127 |
Â
$link = ! empty( $testimonial_item->link ) ? apply_filters( 'hestia_translate_single_string', $testimonial_item->link, 'Testimonials section' ) : '';
|
128 |
Â
?>
|
129 |
+
<div class="col-xs-12 col-ms-6 col-sm-6 <?php echo apply_filters( 'hestia_testimonials_per_row_class', 'col-md-4' ); ?>">
|
130 |
+
<div class="card card-testimonial card-plain" <?php echo hestia_add_animationation( 'fade-right' ); ?>>
|
131 |
Â
<?php
|
132 |
Â
if ( ! empty( $image ) ) :
|
133 |
Â
/**
|
146 |
Â
}
|
147 |
Â
}
|
148 |
Â
?>
|
149 |
+
<div class="card-avatar">
|
150 |
Â
<?php
|
151 |
Â
if ( ! empty( $link ) ) {
|
152 |
Â
$link_html = '<a href="' . esc_url( $link ) . '"';
|
170 |
Â
echo '</a>';
|
171 |
Â
}
|
172 |
Â
?>
|
173 |
+
</div>
|
174 |
Â
<?php endif; ?>
|
175 |
+
<div class="content">
|
176 |
Â
<?php if ( ! empty( $title ) ) : ?>
|
177 |
+
<h4 class="card-title"><?php echo esc_html( $title ); ?></h4>
|
178 |
Â
<?php endif; ?>
|
179 |
Â
<?php if ( ! empty( $subtitle ) ) : ?>
|
180 |
+
<h6 class="category text-muted"><?php echo esc_html( $subtitle ); ?></h6>
|
181 |
Â
<?php endif; ?>
|
182 |
Â
<?php if ( ! empty( $text ) ) : ?>
|
183 |
+
<p class="card-description"><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
|
184 |
Â
<?php endif; ?>
|
185 |
+
</div>
|
186 |
+
</div>
|
187 |
+
</div>
|
188 |
Â
<?php
|
189 |
Â
endforeach;
|
190 |
Â
echo '</div>';
|
192 |
Â
endif;
|
193 |
Â
if ( ! $is_callback ) {
|
194 |
Â
?>
|
195 |
+
</div>
|
196 |
Â
<?php
|
197 |
Â
}
|
198 |
Â
}
|
206 |
Â
*/
|
207 |
Â
function hestia_get_testimonials_default() {
|
208 |
Â
return apply_filters(
|
209 |
+
'hestia_testimonials_default_content',
|
210 |
+
json_encode(
|
211 |
Â
array(
|
212 |
Â
array(
|
213 |
Â
'image_url' => get_template_directory_uri() . '/assets/img/5.jpg',
|
obfx_modules/companion-legacy/inc/llorix-one-companion/css/style.css
DELETED
@@ -1,307 +0,0 @@
|
|
1 |
-
/*---------------------------------------
|
2 |
-
SECTION: SERVICES
|
3 |
-
-----------------------------------------*/
|
4 |
-
|
5 |
-
.services-wrap {
|
6 |
-
position: relative;
|
7 |
-
padding-bottom: 50px;
|
8 |
-
text-align: center;
|
9 |
-
}
|
10 |
-
|
11 |
-
.services {
|
12 |
-
border-bottom: 1px solid #eaebec;
|
13 |
-
background-color: #fff;
|
14 |
-
}
|
15 |
-
|
16 |
-
.single-service {
|
17 |
-
padding: 40px 20px 40px 20px;
|
18 |
-
border-radius: 3px;
|
19 |
-
background: #fff;
|
20 |
-
-webkit-transition: all ease 0.55s;
|
21 |
-
transition: all ease 0.55s;
|
22 |
-
}
|
23 |
-
|
24 |
-
.services-wrap .service-box {
|
25 |
-
display: inline-block;
|
26 |
-
width: 100%;
|
27 |
-
text-align: center;
|
28 |
-
}
|
29 |
-
|
30 |
-
.single-service > h3 > a:hover,
|
31 |
-
.service-icon > a:hover {
|
32 |
-
text-decoration: none;
|
33 |
-
}
|
34 |
-
|
35 |
-
.services-wrap > .service-box {
|
36 |
-
width: 31.5%;
|
37 |
-
margin: 0 1%;
|
38 |
-
margin-bottom: 30px;
|
39 |
-
vertical-align: top;
|
40 |
-
}
|
41 |
-
|
42 |
-
.services-wrap > .service-box:nth-child(3n+1) {
|
43 |
-
clear: left;
|
44 |
-
margin-left: 0;
|
45 |
-
}
|
46 |
-
|
47 |
-
.services-wrap > .service-box:nth-child(3n) {
|
48 |
-
clear: right;
|
49 |
-
margin-right: 0;
|
50 |
-
}
|
51 |
-
|
52 |
-
.service-icon {
|
53 |
-
margin-bottom: 35px;
|
54 |
-
font-size: 60px;
|
55 |
-
}
|
56 |
-
|
57 |
-
.single-service h3 {
|
58 |
-
margin-bottom: 15px;
|
59 |
-
padding-top: 5px;
|
60 |
-
color: #1395ba;
|
61 |
-
}
|
62 |
-
|
63 |
-
.galcolumn .single-service {
|
64 |
-
width: 100%;
|
65 |
-
}
|
66 |
-
|
67 |
-
.display-none {
|
68 |
-
display: none !important;
|
69 |
-
}
|
70 |
-
|
71 |
-
|
72 |
-
/*---------------------------------------
|
73 |
-
SECTION: TESTIMONIALS
|
74 |
-
-----------------------------------------*/
|
75 |
-
|
76 |
-
.testimonials {
|
77 |
-
border-bottom: 1px solid #eaebec;
|
78 |
-
background-color: #fff;
|
79 |
-
text-align: center;
|
80 |
-
}
|
81 |
-
|
82 |
-
.testimonials .section-overlay-layer {
|
83 |
-
padding-bottom: 20px;
|
84 |
-
}
|
85 |
-
|
86 |
-
.feedback {
|
87 |
-
margin-bottom: 45px;
|
88 |
-
padding: 0 30px;
|
89 |
-
}
|
90 |
-
|
91 |
-
.feedback .pic-container {
|
92 |
-
position: absolute;
|
93 |
-
top: -40px;
|
94 |
-
width: 100%;
|
95 |
-
}
|
96 |
-
|
97 |
-
.feedback .pic-container-inner {
|
98 |
-
display: inline-block;
|
99 |
-
overflow: hidden;
|
100 |
-
width: 170px;
|
101 |
-
height: 170px;
|
102 |
-
border: 5px solid #e5e5e5;
|
103 |
-
border-radius: 50%;
|
104 |
-
background-color: #f5f5f5;
|
105 |
-
background-clip: padding-box;
|
106 |
-
box-shadow: 0 0 0 5px #f5f5f5;
|
107 |
-
}
|
108 |
-
|
109 |
-
.feedback .pic-container img {
|
110 |
-
width: 100%;
|
111 |
-
}
|
112 |
-
|
113 |
-
.feedback p {
|
114 |
-
margin-top: 20px;
|
115 |
-
margin-bottom: 0;
|
116 |
-
font-style: italic;
|
117 |
-
}
|
118 |
-
|
119 |
-
.feedback h5 {
|
120 |
-
margin-bottom: 0;
|
121 |
-
}
|
122 |
-
|
123 |
-
.feedback-text-wrap {
|
124 |
-
padding: 0 20px;
|
125 |
-
}
|
126 |
-
|
127 |
-
.testimonials-box {
|
128 |
-
width: 100%;
|
129 |
-
text-align: center;
|
130 |
-
}
|
131 |
-
|
132 |
-
.testimonials-wrap {
|
133 |
-
position: relative;
|
134 |
-
}
|
135 |
-
|
136 |
-
.testimonials-wrap .testimonials-box {
|
137 |
-
display: inline-block;
|
138 |
-
-webkit-transition: all 0.2s ease;
|
139 |
-
transition: all 0.2s ease;
|
140 |
-
}
|
141 |
-
|
142 |
-
.testimonials-box .feedback {
|
143 |
-
position: relative;
|
144 |
-
margin: 40px 0 30px 0;
|
145 |
-
padding: 145px 0 40px 0;
|
146 |
-
border-radius: 3px;
|
147 |
-
background: #fff;
|
148 |
-
-webkit-transition: all ease 0.55s;
|
149 |
-
transition: all ease 0.55s;
|
150 |
-
}
|
151 |
-
|
152 |
-
.testimonials-box .feedback:hover {
|
153 |
-
border-bottom-color: #f16c20;
|
154 |
-
}
|
155 |
-
|
156 |
-
.galcolumn .testimonials-box {
|
157 |
-
width: 100%;
|
158 |
-
}
|
159 |
-
|
160 |
-
.testimonials-wrap > .testimonials-box {
|
161 |
-
width: 31.5%;
|
162 |
-
margin: 0 1.15% 0 1.15%;
|
163 |
-
margin-bottom: 30px;
|
164 |
-
vertical-align: top;
|
165 |
-
}
|
166 |
-
|
167 |
-
.testimonials-wrap > .testimonials-box:nth-child(3n+1) {
|
168 |
-
clear: left;
|
169 |
-
margin-left: 0;
|
170 |
-
}
|
171 |
-
|
172 |
-
.testimonials-wrap > .testimonials-box:nth-child(3n) {
|
173 |
-
clear: right;
|
174 |
-
margin-right: 0;
|
175 |
-
}
|
176 |
-
|
177 |
-
|
178 |
-
/*---------------------------------------
|
179 |
-
SECTION: TEAM
|
180 |
-
-----------------------------------------*/
|
181 |
-
|
182 |
-
.team {
|
183 |
-
border-bottom: 1px solid #eaebec;
|
184 |
-
border-bottom: 1px solid #f3f3f3;
|
185 |
-
background-color: #fff;
|
186 |
-
background-repeat: no-repeat;
|
187 |
-
background-attachment: fixed;
|
188 |
-
background-position: 50% 50%;
|
189 |
-
background-size: cover;
|
190 |
-
}
|
191 |
-
|
192 |
-
.team .section-overlay-layer {
|
193 |
-
padding-bottom: 50px;
|
194 |
-
background: rgba(13, 60, 85, 0.8);
|
195 |
-
}
|
196 |
-
|
197 |
-
.team .sub-heading {
|
198 |
-
color: #fff;
|
199 |
-
}
|
200 |
-
|
201 |
-
.team .dark-text {
|
202 |
-
color: #fff;
|
203 |
-
}
|
204 |
-
|
205 |
-
.team-member {
|
206 |
-
overflow: hidden;
|
207 |
-
position: relative;
|
208 |
-
min-height: 100px;
|
209 |
-
margin-bottom: 25px;
|
210 |
-
border-radius: 50%;
|
211 |
-
}
|
212 |
-
|
213 |
-
.team-member .social-icons {
|
214 |
-
position: relative;
|
215 |
-
margin-top: 5px;
|
216 |
-
margin-top: 0;
|
217 |
-
margin-bottom: 0;
|
218 |
-
opacity: 1;
|
219 |
-
-webkit-transition: all ease 0.55s;
|
220 |
-
transition: all ease 0.55s;
|
221 |
-
}
|
222 |
-
|
223 |
-
.team-member .social-icons li {
|
224 |
-
display: inline-block;
|
225 |
-
padding-top: 3px;
|
226 |
-
padding-right: 5px;
|
227 |
-
padding-left: 5px;
|
228 |
-
}
|
229 |
-
|
230 |
-
.team-member .social-icons li a {
|
231 |
-
opacity: 0.9;
|
232 |
-
}
|
233 |
-
|
234 |
-
.team-member .social-icons li a:hover {
|
235 |
-
opacity: 1;
|
236 |
-
text-decoration: none;
|
237 |
-
}
|
238 |
-
|
239 |
-
.team-member:hover .social-icons {
|
240 |
-
opacity: 1;
|
241 |
-
}
|
242 |
-
|
243 |
-
.member-pic {
|
244 |
-
width: 183px;
|
245 |
-
height: 183px;
|
246 |
-
border: none;
|
247 |
-
border-radius: 0;
|
248 |
-
}
|
249 |
-
|
250 |
-
.member-pic img {
|
251 |
-
width: 183px;
|
252 |
-
height: 183px;
|
253 |
-
}
|
254 |
-
|
255 |
-
.member-details {
|
256 |
-
display: table;
|
257 |
-
overflow: hidden;
|
258 |
-
position: absolute;
|
259 |
-
bottom: 100%;
|
260 |
-
left: 0;
|
261 |
-
width: 183px;
|
262 |
-
height: 183px;
|
263 |
-
color: #fff;
|
264 |
-
background: rgba(0,0,0,0);
|
265 |
-
text-align: center;
|
266 |
-
-webkit-transition: all 0.3s;
|
267 |
-
transition: all 0.3s;
|
268 |
-
}
|
269 |
-
|
270 |
-
.member-details h5 {
|
271 |
-
margin: 0;
|
272 |
-
margin-bottom: 5px;
|
273 |
-
color: #fff;
|
274 |
-
}
|
275 |
-
|
276 |
-
.team-member-wrap {
|
277 |
-
text-align: center;
|
278 |
-
}
|
279 |
-
|
280 |
-
.team-member-wrap .team-member-box {
|
281 |
-
display: inline-block;
|
282 |
-
float: none;
|
283 |
-
margin-right: -4px;
|
284 |
-
padding-right: 55px;
|
285 |
-
padding-bottom: 30px;
|
286 |
-
padding-left: 55px;
|
287 |
-
vertical-align: top;
|
288 |
-
}
|
289 |
-
|
290 |
-
.member-details-inner {
|
291 |
-
display: table-cell;
|
292 |
-
vertical-align: middle;
|
293 |
-
}
|
294 |
-
|
295 |
-
.team-member:hover .member-details {
|
296 |
-
bottom: 0;
|
297 |
-
background: rgba(241,108,32,0.7);
|
298 |
-
-webkit-transition: all 0.3s;
|
299 |
-
transition: all 0.3s;
|
300 |
-
}
|
301 |
-
|
302 |
-
@media (min-width: 992px) and (max-width: 1200px) {
|
303 |
-
.team-member-wrap .team-member-box {
|
304 |
-
padding-right: 30px;
|
305 |
-
padding-left: 30px;
|
306 |
-
}
|
307 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/functions.php
DELETED
@@ -1,62 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/*
|
3 |
-
Plugin Name: Llorix One Companion
|
4 |
-
Plugin URI: https://github.com/Codeinwp/llorix-one-companion
|
5 |
-
Description: Add Our team, Our Services and Testimonials sections to Llorix One Lite theme.
|
6 |
-
Version: 1.1.4
|
7 |
-
Author: Themeisle
|
8 |
-
Author URI: http://themeisle.com
|
9 |
-
Text Domain: llorix-one-companion
|
10 |
-
Domain Path: /languages
|
11 |
-
License: GPLv2
|
12 |
-
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
13 |
-
*/
|
14 |
-
|
15 |
-
if ( ! function_exists( 'add_action' ) ) {
|
16 |
-
die( 'Nothing to do...' );
|
17 |
-
}
|
18 |
-
|
19 |
-
/* Important constants */
|
20 |
-
define( 'LLORIX_ONE_COMPANION_VERSION', '1.1.4' );
|
21 |
-
define( 'LLORIX_ONE_COMPANION_URL', plugin_dir_url( __FILE__ ) );
|
22 |
-
define( 'LLORIX_ONE_COMPANION_PATH', plugin_dir_path( __FILE__ ) );
|
23 |
-
|
24 |
-
/**
|
25 |
-
* Require section translations
|
26 |
-
*/
|
27 |
-
require LLORIX_ONE_COMPANION_PATH . 'inc/translations/general.php';
|
28 |
-
|
29 |
-
/* Required helper functions */
|
30 |
-
include_once( dirname( __FILE__ ) . '/inc/settings.php' );
|
31 |
-
|
32 |
-
|
33 |
-
/* Add new sections in Llorix One */
|
34 |
-
function llorix_one_companion_sections() {
|
35 |
-
return array(
|
36 |
-
'sections/llorix_one_lite_logos_section',
|
37 |
-
'our-services-section',
|
38 |
-
'sections/llorix_one_lite_our_story_section',
|
39 |
-
'our-team-section',
|
40 |
-
'happy-customers-section',
|
41 |
-
'sections/llorix_one_lite_content_section',
|
42 |
-
'sections/llorix_one_lite_ribbon_section',
|
43 |
-
'sections/llorix_one_lite_latest_news_section',
|
44 |
-
'sections/llorix_one_lite_contact_info_section',
|
45 |
-
'sections/llorix_one_lite_map_section'
|
46 |
-
);
|
47 |
-
}
|
48 |
-
|
49 |
-
/**
|
50 |
-
* Load sections
|
51 |
-
*/
|
52 |
-
function llorix_one_companion_load_sections() {
|
53 |
-
|
54 |
-
add_filter('llorix_one_companion_sections_filter', 'llorix_one_companion_sections');
|
55 |
-
}
|
56 |
-
|
57 |
-
/* Register style sheet. */
|
58 |
-
function llorix_one_companion_register_plugin_styles() {
|
59 |
-
|
60 |
-
wp_enqueue_style( 'llorix-one-companion-style', LLORIX_ONE_COMPANION_URL.'css/style.css' );
|
61 |
-
|
62 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/images/team-img.jpg
DELETED
Binary file
|
obfx_modules/companion-legacy/inc/llorix-one-companion/inc/settings.php
DELETED
@@ -1,207 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function llorix_one_companion_customize_register( $wp_customize ) {
|
4 |
-
|
5 |
-
if( class_exists('Llorix_One_Lite_General_Repeater') ) {
|
6 |
-
|
7 |
-
/********************************************************/
|
8 |
-
/****************** SERVICES OPTIONS *******************/
|
9 |
-
/********************************************************/
|
10 |
-
|
11 |
-
/* SERVICES SECTION */
|
12 |
-
$wp_customize->add_section( 'llorix_one_lite_services_section' , array(
|
13 |
-
'title' => esc_html__( 'Services section', 'themeisle-companion' ),
|
14 |
-
'priority' => 40,
|
15 |
-
'panel' => 'llorix_one_lite_front_page_sections',
|
16 |
-
'active_callback' => 'llorix_one_lite_show_on_front',
|
17 |
-
));
|
18 |
-
|
19 |
-
/* Services show/hide */
|
20 |
-
$wp_customize->add_setting( 'llorix_one_lite_our_services_show', array(
|
21 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
22 |
-
));
|
23 |
-
|
24 |
-
$wp_customize->add_control( 'llorix_one_lite_our_services_show', array(
|
25 |
-
'type' => 'checkbox',
|
26 |
-
'label' => __('Disable the Services section?','themeisle-companion'),
|
27 |
-
'section' => 'llorix_one_lite_services_section',
|
28 |
-
'priority' => 1,
|
29 |
-
));
|
30 |
-
|
31 |
-
/* Services title */
|
32 |
-
$wp_customize->add_setting( 'llorix_one_lite_our_services_title', array(
|
33 |
-
'default' => esc_html__('Our Services','themeisle-companion'),
|
34 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
35 |
-
));
|
36 |
-
$wp_customize->add_control( 'llorix_one_lite_our_services_title', array(
|
37 |
-
'label' => esc_html__( 'Main title', 'themeisle-companion' ),
|
38 |
-
'section' => 'llorix_one_lite_services_section',
|
39 |
-
'priority' => 10
|
40 |
-
));
|
41 |
-
|
42 |
-
/* Services subtitle */
|
43 |
-
$wp_customize->add_setting( 'llorix_one_lite_our_services_subtitle', array(
|
44 |
-
'default' => esc_html__('Lorem ipsum dolor sit amet, consectetur adipiscing elit.','themeisle-companion'),
|
45 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
46 |
-
));
|
47 |
-
$wp_customize->add_control( 'llorix_one_lite_our_services_subtitle', array(
|
48 |
-
'label' => esc_html__( 'Subtitle', 'themeisle-companion' ),
|
49 |
-
'section' => 'llorix_one_lite_services_section',
|
50 |
-
'priority' => 20
|
51 |
-
));
|
52 |
-
|
53 |
-
|
54 |
-
/* Services content */
|
55 |
-
$default = llorix_one_companion_sevices_get_default_content();
|
56 |
-
$wp_customize->add_setting( 'llorix_one_lite_services_content', array(
|
57 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_repeater',
|
58 |
-
'default' => $default,
|
59 |
-
));
|
60 |
-
$wp_customize->add_control( new Llorix_One_Lite_General_Repeater( $wp_customize, 'llorix_one_lite_services_content', array(
|
61 |
-
'label' => esc_html__('Add new service box','themeisle-companion'),
|
62 |
-
'section' => 'llorix_one_lite_services_section',
|
63 |
-
'priority' => 30,
|
64 |
-
'llorix_one_lite_image_control' => true,
|
65 |
-
'llorix_one_lite_icon_control' => true,
|
66 |
-
'llorix_one_lite_title_control' => true,
|
67 |
-
'llorix_one_lite_text_control' => true,
|
68 |
-
'llorix_one_lite_link_control' => true
|
69 |
-
) ) );
|
70 |
-
|
71 |
-
/********************************************************/
|
72 |
-
/******************* TEAM OPTIONS *********************/
|
73 |
-
/********************************************************/
|
74 |
-
|
75 |
-
$wp_customize->add_section( 'llorix_one_lite_team_section' , array(
|
76 |
-
'title' => esc_html__( 'Team section', 'themeisle-companion' ),
|
77 |
-
'priority' => 60,
|
78 |
-
'panel' => 'llorix_one_lite_front_page_sections',
|
79 |
-
'active_callback' => 'llorix_one_lite_show_on_front',
|
80 |
-
));
|
81 |
-
|
82 |
-
/* Team show/hide */
|
83 |
-
$wp_customize->add_setting( 'llorix_one_lite_our_team_show', array(
|
84 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
85 |
-
));
|
86 |
-
|
87 |
-
$wp_customize->add_control( 'llorix_one_lite_our_team_show', array(
|
88 |
-
'type' => 'checkbox',
|
89 |
-
'label' => __('Disable the Team section?','themeisle-companion'),
|
90 |
-
'section' => 'llorix_one_lite_team_section',
|
91 |
-
'priority' => 1,
|
92 |
-
));
|
93 |
-
|
94 |
-
/* Team title */
|
95 |
-
$wp_customize->add_setting( 'llorix_one_lite_our_team_title', array(
|
96 |
-
'default' => esc_html__('Our Team','themeisle-companion'),
|
97 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
98 |
-
));
|
99 |
-
$wp_customize->add_control( 'llorix_one_lite_our_team_title', array(
|
100 |
-
'label' => esc_html__( 'Main title', 'themeisle-companion' ),
|
101 |
-
'section' => 'llorix_one_lite_team_section',
|
102 |
-
'priority' => 10,
|
103 |
-
));
|
104 |
-
|
105 |
-
/* Team subtitle */
|
106 |
-
$wp_customize->add_setting( 'llorix_one_lite_our_team_subtitle', array(
|
107 |
-
'default' => esc_html__('Lorem ipsum dolor sit amet, consectetur adipiscing elit.','themeisle-companion'),
|
108 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
109 |
-
));
|
110 |
-
$wp_customize->add_control( 'llorix_one_lite_our_team_subtitle', array(
|
111 |
-
'label' => esc_html__( 'Subtitle', 'themeisle-companion' ),
|
112 |
-
'section' => 'llorix_one_lite_team_section',
|
113 |
-
'priority' => 20,
|
114 |
-
));
|
115 |
-
|
116 |
-
/* Team Background */
|
117 |
-
$wp_customize->add_setting( 'llorix_one_lite_our_team_background', array(
|
118 |
-
'default' => llorix_one_lite_get_file('/images/background-images/parallax-img/team-img.jpg'),
|
119 |
-
'sanitize_callback' => 'esc_url',
|
120 |
-
));
|
121 |
-
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'llorix_one_lite_our_team_background', array(
|
122 |
-
'label' => esc_html__( 'Team Background', 'themeisle-companion' ),
|
123 |
-
'section' => 'llorix_one_lite_team_section',
|
124 |
-
'priority' => 30
|
125 |
-
)));
|
126 |
-
|
127 |
-
/* Team content */
|
128 |
-
$default = llorix_one_companion_team_get_default_content();
|
129 |
-
$wp_customize->add_setting( 'llorix_one_lite_team_content', array(
|
130 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_repeater',
|
131 |
-
'default' => $default,
|
132 |
-
) );
|
133 |
-
$wp_customize->add_control( new Llorix_One_Lite_General_Repeater( $wp_customize, 'llorix_one_lite_team_content', array(
|
134 |
-
'label' => esc_html__('Add new team member','themeisle-companion'),
|
135 |
-
'section' => 'llorix_one_lite_team_section',
|
136 |
-
'priority' => 40,
|
137 |
-
'llorix_one_lite_image_control' => true,
|
138 |
-
'llorix_one_lite_title_control' => true,
|
139 |
-
'llorix_one_lite_subtitle_control' => true
|
140 |
-
) ) );
|
141 |
-
|
142 |
-
/********************************************************/
|
143 |
-
/********** TESTIMONIALS OPTIONS ***********************/
|
144 |
-
/********************************************************/
|
145 |
-
|
146 |
-
$wp_customize->add_section( 'llorix_one_lite_testimonials_section' , array(
|
147 |
-
'title' => esc_html__( 'Testimonials section', 'themeisle-companion' ),
|
148 |
-
'priority' => 70,
|
149 |
-
'panel' => 'llorix_one_lite_front_page_sections',
|
150 |
-
'active_callback' => 'llorix_one_lite_show_on_front',
|
151 |
-
));
|
152 |
-
|
153 |
-
/* Testimonials show/hide */
|
154 |
-
$wp_customize->add_setting( 'llorix_one_lite_happy_customers_show', array(
|
155 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
156 |
-
));
|
157 |
-
|
158 |
-
$wp_customize->add_control( 'llorix_one_lite_happy_customers_show', array(
|
159 |
-
'type' => 'checkbox',
|
160 |
-
'label' => __('Disable the Testimonials section?','themeisle-companion'),
|
161 |
-
'section' => 'llorix_one_lite_testimonials_section',
|
162 |
-
'priority' => 1,
|
163 |
-
));
|
164 |
-
|
165 |
-
/* Testimonials title */
|
166 |
-
$wp_customize->add_setting( 'llorix_one_lite_happy_customers_title', array(
|
167 |
-
'default' => esc_html__('Happy Customers','themeisle-companion'),
|
168 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
169 |
-
));
|
170 |
-
$wp_customize->add_control( 'llorix_one_lite_happy_customers_title', array(
|
171 |
-
'label' => esc_html__( 'Main title', 'themeisle-companion' ),
|
172 |
-
'section' => 'llorix_one_lite_testimonials_section',
|
173 |
-
'priority' => 10,
|
174 |
-
));
|
175 |
-
|
176 |
-
/* Testimonials subtitle */
|
177 |
-
$wp_customize->add_setting( 'llorix_one_lite_happy_customers_subtitle', array(
|
178 |
-
'default' => esc_html__('Cloud computing subscription model out of the box proactive solution.','themeisle-companion'),
|
179 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_text',
|
180 |
-
));
|
181 |
-
$wp_customize->add_control( 'llorix_one_lite_happy_customers_subtitle', array(
|
182 |
-
'label' => esc_html__( 'Subtitle', 'themeisle-companion' ),
|
183 |
-
'section' => 'llorix_one_lite_testimonials_section',
|
184 |
-
'priority' => 20,
|
185 |
-
));
|
186 |
-
|
187 |
-
|
188 |
-
/* Testimonials content */
|
189 |
-
$default = llorix_one_companion_testimonials_get_default_content();
|
190 |
-
$wp_customize->add_setting( 'llorix_one_lite_testimonials_content', array(
|
191 |
-
'sanitize_callback' => 'llorix_one_lite_sanitize_repeater',
|
192 |
-
'default' => $default,
|
193 |
-
));
|
194 |
-
$wp_customize->add_control( new Llorix_One_Lite_General_Repeater( $wp_customize, 'llorix_one_lite_testimonials_content', array(
|
195 |
-
'label' => esc_html__('Add new testimonial','themeisle-companion'),
|
196 |
-
'section' => 'llorix_one_lite_testimonials_section',
|
197 |
-
'priority' => 30,
|
198 |
-
'llorix_one_lite_image_control' => true,
|
199 |
-
'llorix_one_lite_title_control' => true,
|
200 |
-
'llorix_one_lite_subtitle_control' => true,
|
201 |
-
'llorix_one_lite_text_control' => true
|
202 |
-
) ) );
|
203 |
-
|
204 |
-
}
|
205 |
-
}
|
206 |
-
add_action( 'customize_register', 'llorix_one_companion_customize_register', 999 );
|
207 |
-
?>
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/inc/translations/general.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* General functions for translation.
|
4 |
-
*
|
5 |
-
* @package llorix-one-lite
|
6 |
-
*/
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Define Allowed Files to be included.
|
10 |
-
*/
|
11 |
-
function llorix_one_companion_filter_translations( $array ) {
|
12 |
-
return array_merge( $array, array(
|
13 |
-
'translations/translations-services-section',
|
14 |
-
'translations/translations-team-section',
|
15 |
-
'translations/translations-testimonials-section',
|
16 |
-
) );
|
17 |
-
}
|
18 |
-
|
19 |
-
add_filter( 'llorix_one_lite_filter_translations', 'llorix_one_companion_filter_translations' );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/inc/translations/translations-services-section.php
DELETED
@@ -1,50 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Translation functions for services section
|
4 |
-
*
|
5 |
-
* @package llorix-one-companion
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Get services section default content.
|
11 |
-
*/
|
12 |
-
function llorix_one_companion_sevices_get_default_content() {
|
13 |
-
return json_encode(
|
14 |
-
array(
|
15 |
-
array(
|
16 |
-
'choice' => 'llorix_one_lite_icon',
|
17 |
-
'icon_value' => 'fa-cogs',
|
18 |
-
'title' => esc_html__( 'Lorem Ipsum', 'themeisle-companion' ),
|
19 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo.', 'themeisle-companion' )
|
20 |
-
),
|
21 |
-
array(
|
22 |
-
'choice' => 'llorix_one_lite_icon',
|
23 |
-
'icon_value' => 'fa-bar-chart-o',
|
24 |
-
'title' => esc_html__( 'Lorem Ipsum', 'themeisle-companion' ),
|
25 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo.', 'themeisle-companion' )
|
26 |
-
),
|
27 |
-
array(
|
28 |
-
'choice' => 'llorix_one_lite_icon',
|
29 |
-
'icon_value' => 'fa-globe',
|
30 |
-
'title' => esc_html__( 'Lorem Ipsum', 'themeisle-companion' ),
|
31 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo.', 'themeisle-companion' )
|
32 |
-
)
|
33 |
-
)
|
34 |
-
);
|
35 |
-
}
|
36 |
-
|
37 |
-
|
38 |
-
/**
|
39 |
-
* Register strings for polylang.
|
40 |
-
*/
|
41 |
-
function llorix_one_companion_sevices_register_strings() {
|
42 |
-
if ( ! defined( 'POLYLANG_VERSION' ) || ! function_exists( 'llorix_one_lite_pll_string_register_helper' ) ) {
|
43 |
-
return;
|
44 |
-
}
|
45 |
-
|
46 |
-
$default = llorix_one_companion_sevices_get_default_content();
|
47 |
-
llorix_one_lite_pll_string_register_helper( 'llorix_one_lite_services_content', $default, 'Services section' );
|
48 |
-
}
|
49 |
-
|
50 |
-
add_action( 'after_setup_theme', 'llorix_one_companion_sevices_register_strings', 11 );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/inc/translations/translations-team-section.php
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Translation functions for team section
|
4 |
-
*
|
5 |
-
* @package llorix-one-companion
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Get team section default content.
|
11 |
-
*/
|
12 |
-
function llorix_one_companion_team_get_default_content() {
|
13 |
-
return json_encode( array(
|
14 |
-
array(
|
15 |
-
'image_url' => llorix_one_lite_get_file( '/images/team/1.jpg' ),
|
16 |
-
'title' => esc_html__( 'Albert Jacobs', 'themeisle-companion' ),
|
17 |
-
'subtitle' => esc_html__( 'Founder & CEO', 'themeisle-companion' )
|
18 |
-
),
|
19 |
-
array(
|
20 |
-
'image_url' => llorix_one_lite_get_file( '/images/team/2.jpg' ),
|
21 |
-
'title' => esc_html__( 'Tonya Garcia', 'themeisle-companion' ),
|
22 |
-
'subtitle' => esc_html__( 'Account Manager', 'themeisle-companion' )
|
23 |
-
),
|
24 |
-
array(
|
25 |
-
'image_url' => llorix_one_lite_get_file( '/images/team/3.jpg' ),
|
26 |
-
'title' => esc_html__( 'Linda Guthrie', 'themeisle-companion' ),
|
27 |
-
'subtitle' => esc_html__( 'Business Development', 'themeisle-companion' )
|
28 |
-
)
|
29 |
-
)
|
30 |
-
);
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Register strings for polylang.
|
35 |
-
*/
|
36 |
-
function llorix_one_companion_team_register_strings() {
|
37 |
-
if ( ! defined( 'POLYLANG_VERSION' ) || ! function_exists( 'llorix_one_lite_pll_string_register_helper' ) ) {
|
38 |
-
return;
|
39 |
-
}
|
40 |
-
|
41 |
-
$default = llorix_one_companion_team_get_default_content();
|
42 |
-
llorix_one_lite_pll_string_register_helper( 'llorix_one_lite_team_content', $default, 'Team section' );
|
43 |
-
}
|
44 |
-
|
45 |
-
add_action( 'after_setup_theme', 'llorix_one_companion_team_register_strings', 11 );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/inc/translations/translations-testimonials-section.php
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Translation functions for testimonials section
|
4 |
-
*
|
5 |
-
* @package llorix-one-companion
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Get testimonials section default content.
|
11 |
-
*/
|
12 |
-
function llorix_one_companion_testimonials_get_default_content() {
|
13 |
-
return json_encode( array(
|
14 |
-
array(
|
15 |
-
'image_url' => llorix_one_lite_get_file( '/images/clients/1.jpg' ),
|
16 |
-
'title' => esc_html__( 'Happy Customer', 'themeisle-companion' ),
|
17 |
-
'subtitle' => esc_html__( 'Lorem ipsum', 'themeisle-companion' ),
|
18 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo. Fusce malesuada vulputate faucibus. Integer in hendrerit nisi. Praesent a hendrerit urna. In non imperdiet elit, sed molestie odio. Fusce ac metus non purus sollicitudin laoreet.', 'themeisle-companion' )
|
19 |
-
),
|
20 |
-
array(
|
21 |
-
'image_url' => llorix_one_lite_get_file( '/images/clients/2.jpg' ),
|
22 |
-
'title' => esc_html__( 'Happy Customer', 'themeisle-companion' ),
|
23 |
-
'subtitle' => esc_html__( 'Lorem ipsum', 'themeisle-companion' ),
|
24 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo. Fusce malesuada vulputate faucibus. Integer in hendrerit nisi. Praesent a hendrerit urna. In non imperdiet elit, sed molestie odio. Fusce ac metus non purus sollicitudin laoreet.', 'themeisle-companion' )
|
25 |
-
),
|
26 |
-
array(
|
27 |
-
'image_url' => llorix_one_lite_get_file( '/images/clients/3.jpg' ),
|
28 |
-
'title' => esc_html__( 'Happy Customer', 'themeisle-companion' ),
|
29 |
-
'subtitle' => esc_html__( 'Lorem ipsum', 'themeisle-companion' ),
|
30 |
-
'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, consequat nibh. Etiam non elit dui. Nullam vel eros sit amet arcu vestibulum accumsan in in leo. Fusce malesuada vulputate faucibus. Integer in hendrerit nisi. Praesent a hendrerit urna. In non imperdiet elit, sed molestie odio. Fusce ac metus non purus sollicitudin laoreet.', 'themeisle-companion' )
|
31 |
-
)
|
32 |
-
)
|
33 |
-
);
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Register strings for polylang.
|
38 |
-
*/
|
39 |
-
function llorix_one_companion_testimonials_register_strings() {
|
40 |
-
if ( ! defined( 'POLYLANG_VERSION' ) || ! function_exists( 'llorix_one_lite_pll_string_register_helper' ) ) {
|
41 |
-
return;
|
42 |
-
}
|
43 |
-
|
44 |
-
$default = llorix_one_companion_testimonials_get_default_content();
|
45 |
-
llorix_one_lite_pll_string_register_helper( 'llorix_one_lite_testimonials_content', $default, 'Testimonials section' );
|
46 |
-
}
|
47 |
-
|
48 |
-
add_action( 'after_setup_theme', 'llorix_one_companion_testimonials_register_strings', 11 );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/sections/happy-customers-section.php
DELETED
@@ -1,124 +0,0 @@
|
|
1 |
-
<!-- =========================
|
2 |
-
SECTION: CUSTOMERS
|
3 |
-
============================== -->
|
4 |
-
<?php
|
5 |
-
|
6 |
-
$llorix_one_lite_happy_customers_show = get_theme_mod( 'llorix_one_lite_happy_customers_show' );
|
7 |
-
$llorix_one_lite_happy_customers_title = get_theme_mod( 'llorix_one_lite_happy_customers_title', esc_html__( 'Happy Customers', 'themeisle-companion' ) );
|
8 |
-
$llorix_one_lite_happy_customers_subtitle = get_theme_mod( 'llorix_one_lite_happy_customers_subtitle', esc_html__( 'Cloud computing subscription model out of the box proactive solution.', 'themeisle-companion' ) );
|
9 |
-
$default = '';
|
10 |
-
if( function_exists('llorix_one_companion_testimonials_get_default_content')){
|
11 |
-
$default = llorix_one_companion_testimonials_get_default_content();
|
12 |
-
}
|
13 |
-
$llorix_one_lite_testimonials_content = get_theme_mod( 'llorix_one_lite_testimonials_content', $default );
|
14 |
-
if ( function_exists( 'llorix_one_lite_general_repeater_is_empty' ) ){
|
15 |
-
$content_is_empty = llorix_one_lite_general_repeater_is_empty( $llorix_one_lite_testimonials_content );
|
16 |
-
} else {
|
17 |
-
$content_is_empty = empty( $llorix_one_lite_testimonials_content );
|
18 |
-
}
|
19 |
-
$section_is_empty = ! isset( $llorix_one_lite_happy_customers_show ) || $llorix_one_lite_happy_customers_show == 1 || ( empty( $llorix_one_lite_happy_customers_title ) && empty( $llorix_one_lite_happy_customers_subtitle ) && $content_is_empty );
|
20 |
-
if( !$section_is_empty) { ?>
|
21 |
-
<section class="testimonials <?php if ($section_is_empty) {
|
22 |
-
echo 'llorix_one_lite_only_customizer';
|
23 |
-
} ?>" id="customers" role="region" aria-label="<?php esc_attr_e('Testimonials', 'themeisle-companion') ?>">
|
24 |
-
<div class="section-overlay-layer">
|
25 |
-
<div class="container">
|
26 |
-
<!-- SECTION HEADER -->
|
27 |
-
<?php
|
28 |
-
if (!empty($llorix_one_lite_happy_customers_title) || !empty($llorix_one_lite_happy_customers_subtitle)) { ?>
|
29 |
-
<div class="section-header">
|
30 |
-
<?php
|
31 |
-
if (!empty($llorix_one_lite_happy_customers_title)) { ?>
|
32 |
-
<h2 class="dark-text"><?php echo wp_kses_post($llorix_one_lite_happy_customers_title); ?></h2>
|
33 |
-
<div class="colored-line"></div>
|
34 |
-
<?php
|
35 |
-
} elseif (is_customize_preview()) { ?>
|
36 |
-
<h2 class="dark-text llorix_one_lite_only_customizer"></h2>
|
37 |
-
<div class="colored-line llorix_one_lite_only_customizer"></div>
|
38 |
-
<?php
|
39 |
-
}
|
40 |
-
|
41 |
-
if (!empty($llorix_one_lite_happy_customers_subtitle)) { ?>
|
42 |
-
<div class="sub-heading"><?php echo wp_kses_post($llorix_one_lite_happy_customers_subtitle); ?></div>
|
43 |
-
<?php
|
44 |
-
} elseif (is_customize_preview()) { ?>
|
45 |
-
<div class="sub-heading llorix_one_lite_only_customizer"></div>
|
46 |
-
<?php
|
47 |
-
} ?>
|
48 |
-
</div>
|
49 |
-
<?php
|
50 |
-
}
|
51 |
-
|
52 |
-
if (!$content_is_empty) { ?>
|
53 |
-
<div id="happy_customers_wrap" class="testimonials-wrap">
|
54 |
-
<?php
|
55 |
-
$llorix_one_lite_testimonials_content_decoded = json_decode($llorix_one_lite_testimonials_content);
|
56 |
-
foreach ($llorix_one_lite_testimonials_content_decoded as $llorix_one_lite_testimonial) {
|
57 |
-
$image = !empty($llorix_one_lite_testimonial->image_url) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_testimonial->image_url, 'Testimonials section') : '';
|
58 |
-
$title = !empty($llorix_one_lite_testimonial->title) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_testimonial->title, 'Testimonials section') : '';
|
59 |
-
$subtitle = !empty($llorix_one_lite_testimonial->subtitle) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_testimonial->subtitle, 'Testimonials section') : '';
|
60 |
-
$text = !empty($llorix_one_lite_testimonial->text) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_testimonial->text, 'Testimonials section') : '';
|
61 |
-
$section_is_empty = empty($image) && empty($title) && empty($subtitle) && empty($text);
|
62 |
-
|
63 |
-
if (!$section_is_empty) { ?>
|
64 |
-
<!-- SINGLE FEEDBACK -->
|
65 |
-
<div class="testimonials-box">
|
66 |
-
<div class="feedback border-bottom-hover">
|
67 |
-
<div class="pic-container">
|
68 |
-
<div class="pic-container-inner">
|
69 |
-
<?php
|
70 |
-
if (!empty($image)) { ?>
|
71 |
-
<img src="<?php echo esc_url($image); ?>"
|
72 |
-
alt="<?php echo(!empty($title) ? esc_attr($title) : esc_attr('Avatar', 'llorix-one-companion')); ?>">
|
73 |
-
<?php
|
74 |
-
} else {
|
75 |
-
$default_image = llorix_one_lite_get_file('/images/clients/client-no-image.jpg'); ?>
|
76 |
-
<img src="<?php echo esc_url($default_image); ?>"
|
77 |
-
alt="<?php esc_attr_e('Avatar', 'themeisle-companion'); ?>">
|
78 |
-
<?php
|
79 |
-
} ?>
|
80 |
-
</div>
|
81 |
-
</div>
|
82 |
-
<?php
|
83 |
-
if (!empty($title) || !empty($subtitle) || !empty($text)) { ?>
|
84 |
-
<div class="feedback-text-wrap">
|
85 |
-
<?php
|
86 |
-
if (!empty($title)) { ?>
|
87 |
-
<h5 class="colored-text">
|
88 |
-
<?php
|
89 |
-
echo wp_kses_post($title); ?>
|
90 |
-
</h5>
|
91 |
-
<?php
|
92 |
-
}
|
93 |
-
|
94 |
-
if (!empty($subtitle)) { ?>
|
95 |
-
<div class="small-text">
|
96 |
-
<?php
|
97 |
-
echo wp_kses_post($subtitle); ?>
|
98 |
-
</div>
|
99 |
-
<?php
|
100 |
-
}
|
101 |
-
|
102 |
-
if (!empty($text)) { ?>
|
103 |
-
<p>
|
104 |
-
<?php
|
105 |
-
echo wp_kses_post($text); ?>
|
106 |
-
</p>
|
107 |
-
<?php
|
108 |
-
} ?>
|
109 |
-
</div>
|
110 |
-
<?php
|
111 |
-
} ?>
|
112 |
-
</div>
|
113 |
-
</div><!-- .testimonials-box -->
|
114 |
-
<?php
|
115 |
-
}
|
116 |
-
} ?>
|
117 |
-
</div>
|
118 |
-
<?php
|
119 |
-
} ?>
|
120 |
-
</div>
|
121 |
-
</div>
|
122 |
-
</section><!-- customers -->
|
123 |
-
<?php
|
124 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/sections/our-services-section.php
DELETED
@@ -1,133 +0,0 @@
|
|
1 |
-
<!-- =========================
|
2 |
-
SECTION: SERVICES
|
3 |
-
============================== -->
|
4 |
-
<?php
|
5 |
-
|
6 |
-
$llorix_one_lite_our_services_show = get_theme_mod( 'llorix_one_lite_our_services_show' );
|
7 |
-
$llorix_one_lite_our_services_title = get_theme_mod( 'llorix_one_lite_our_services_title', esc_html__( 'Our Services', 'themeisle-companion' ) );
|
8 |
-
$llorix_one_lite_our_services_subtitle = get_theme_mod( 'llorix_one_lite_our_services_subtitle', esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' ) );
|
9 |
-
$default = '';
|
10 |
-
if( function_exists('llorix_one_companion_sevices_get_default_content')){
|
11 |
-
$default = llorix_one_companion_sevices_get_default_content();
|
12 |
-
}
|
13 |
-
$llorix_one_lite_services = get_theme_mod( 'llorix_one_lite_services_content', $default );
|
14 |
-
if ( function_exists( 'llorix_one_lite_general_repeater_is_empty' ) ){
|
15 |
-
$content_is_empty = llorix_one_lite_general_repeater_is_empty( $llorix_one_lite_services );
|
16 |
-
} else {
|
17 |
-
$content_is_empty = empty( $llorix_one_lite_services );
|
18 |
-
}
|
19 |
-
$section_is_empty = ! isset( $llorix_one_lite_our_services_show ) || $llorix_one_lite_our_services_show == 1 || ( empty( $llorix_one_lite_our_services_title ) && empty( $llorix_one_lite_our_services_subtitle ) && $content_is_empty );
|
20 |
-
if(!$section_is_empty) { ?>
|
21 |
-
|
22 |
-
<section class="services <?php if ($section_is_empty) {
|
23 |
-
echo 'llorix_one_lite_only_customizer';
|
24 |
-
} ?>" id="services" role="region" aria-label="<?php esc_html_e('Services', 'themeisle-companion') ?>">
|
25 |
-
<div class="section-overlay-layer">
|
26 |
-
<div class="container">
|
27 |
-
|
28 |
-
<!-- SECTION HEADER -->
|
29 |
-
<div class="section-header">
|
30 |
-
<?php
|
31 |
-
if (!empty($llorix_one_lite_our_services_title)) { ?>
|
32 |
-
<h2 class="dark-text"><?php echo wp_kses_post($llorix_one_lite_our_services_title); ?></h2>
|
33 |
-
<div class="colored-line"></div>
|
34 |
-
<?php
|
35 |
-
} elseif (is_customize_preview()) { ?>
|
36 |
-
<h2 class="dark-text llorix_one_lite_only_customizer"></h2>
|
37 |
-
<div class="colored-line llorix_one_lite_only_customizer"></div>
|
38 |
-
<?php
|
39 |
-
}
|
40 |
-
|
41 |
-
if (!empty($llorix_one_lite_our_services_subtitle)) { ?>
|
42 |
-
<div class="sub-heading"><?php echo wp_kses_post($llorix_one_lite_our_services_subtitle); ?></div>
|
43 |
-
<?php
|
44 |
-
} elseif (is_customize_preview()) { ?>
|
45 |
-
<div class="sub-heading llorix_one_lite_only_customizer"></div>
|
46 |
-
<?php
|
47 |
-
} ?>
|
48 |
-
</div>
|
49 |
-
|
50 |
-
|
51 |
-
<?php
|
52 |
-
if (!$content_is_empty) {
|
53 |
-
$llorix_one_lite_services_decoded = json_decode($llorix_one_lite_services); ?>
|
54 |
-
<div id="our_services_wrap" class="services-wrap">
|
55 |
-
<?php
|
56 |
-
foreach ($llorix_one_lite_services_decoded as $llorix_one_lite_service_box) {
|
57 |
-
|
58 |
-
$choice = !empty($llorix_one_lite_service_box->choice) ? $llorix_one_lite_service_box->choice : '';
|
59 |
-
$icon = !empty($llorix_one_lite_service_box->icon_value) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_service_box->icon_value, 'Services section') : '';
|
60 |
-
$image = !empty($llorix_one_lite_service_box->image_url) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_service_box->image_url, 'Services section') : '';
|
61 |
-
$title = !empty($llorix_one_lite_service_box->title) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_service_box->title, 'Services section') : '';
|
62 |
-
$text = !empty($llorix_one_lite_service_box->text) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_service_box->text, 'Services section') : '';
|
63 |
-
$link = !empty($llorix_one_lite_service_box->link) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_service_box->link, 'Services section') : '';
|
64 |
-
$section_is_empty = (empty($icon) || $icon === 'No Icon' && $choice === 'llorix_one_lite_icon') && (empty($image) && $choice === 'llorix_one_lite_image') && empty($title) && empty($text);
|
65 |
-
|
66 |
-
if (!$section_is_empty) { ?>
|
67 |
-
<div class="service-box">
|
68 |
-
<div class="single-service border-bottom-hover">
|
69 |
-
<?php
|
70 |
-
if (!empty($choice) && $choice !== 'llorix_one_lite_none') {
|
71 |
-
|
72 |
-
if ($choice === 'llorix_one_lite_icon') {
|
73 |
-
if (!empty($icon)) {
|
74 |
-
if (!empty($link)) { ?>
|
75 |
-
<div class="service-icon colored-text">
|
76 |
-
<a href="<?php echo esc_url($link); ?>">
|
77 |
-
<i class="fa <?php echo esc_attr($icon); ?>"></i>
|
78 |
-
</a>
|
79 |
-
</div>
|
80 |
-
<?php
|
81 |
-
} else { ?>
|
82 |
-
<div class="service-icon colored-text">
|
83 |
-
<i class="fa <?php echo esc_attr($icon); ?>"></i>
|
84 |
-
</div>
|
85 |
-
<?php
|
86 |
-
}
|
87 |
-
}
|
88 |
-
}
|
89 |
-
|
90 |
-
if ($choice === 'llorix_one_lite_image') {
|
91 |
-
if (!empty($image)) {
|
92 |
-
if (!empty($link)) { ?>
|
93 |
-
<a href="<?php echo esc_url($link); ?>">
|
94 |
-
<img src="<?php echo esc_url($image); ?>" <?php echo(!empty($title) ? 'alt="' . esc_attr($title) . '"' : ''); ?> />
|
95 |
-
</a>
|
96 |
-
<?php
|
97 |
-
} else { ?>
|
98 |
-
<img src="<?php echo esc_url($image); ?>" <?php echo(!empty($title) ? 'alt="' . esc_attr($title) . '"' : ''); ?> />
|
99 |
-
<?php
|
100 |
-
}
|
101 |
-
}
|
102 |
-
}
|
103 |
-
}
|
104 |
-
|
105 |
-
if (!empty($title)) {
|
106 |
-
if (!empty($link)) { ?>
|
107 |
-
<h3 class="colored-text">
|
108 |
-
<a href="<?php echo esc_url($link); ?>"><?php echo wp_kses_post($title); ?></a>
|
109 |
-
</h3>
|
110 |
-
<?php
|
111 |
-
} else { ?>
|
112 |
-
<h3 class="colored-text"><?php echo wp_kses_post($title); ?></h3>
|
113 |
-
<?php
|
114 |
-
}
|
115 |
-
}
|
116 |
-
|
117 |
-
if (!empty($text)) { ?>
|
118 |
-
<p><?php echo wp_kses_post($text); ?></p>
|
119 |
-
<?php
|
120 |
-
} ?>
|
121 |
-
</div>
|
122 |
-
</div>
|
123 |
-
<?php
|
124 |
-
}
|
125 |
-
} ?>
|
126 |
-
</div>
|
127 |
-
<?php
|
128 |
-
} ?>
|
129 |
-
</div>
|
130 |
-
</div>
|
131 |
-
</section>
|
132 |
-
<?php
|
133 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/sections/our-team-section.php
DELETED
@@ -1,113 +0,0 @@
|
|
1 |
-
<!-- =========================
|
2 |
-
SECTION: TEAM
|
3 |
-
============================== -->
|
4 |
-
<?php
|
5 |
-
|
6 |
-
$llorix_one_lite_our_team_show = get_theme_mod( 'llorix_one_lite_our_team_show' );
|
7 |
-
$llorix_one_lite_our_team_title = get_theme_mod( 'llorix_one_lite_our_team_title', esc_html__( 'Our Team', 'themeisle-companion' ) );
|
8 |
-
$llorix_one_lite_our_team_background = get_theme_mod( 'llorix_one_lite_our_team_background', llorix_one_lite_get_file( '/images/background-images/parallax-img/team-img.jpg' ) );
|
9 |
-
$llorix_one_lite_our_team_subtitle = get_theme_mod( 'llorix_one_lite_our_team_subtitle', esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' ) );
|
10 |
-
$default = '';
|
11 |
-
if(function_exists( 'llorix_one_companion_team_get_default_content') ){
|
12 |
-
$default = llorix_one_companion_team_get_default_content();
|
13 |
-
}
|
14 |
-
$llorix_one_lite_team_content = get_theme_mod( 'llorix_one_lite_team_content', $default );
|
15 |
-
if ( function_exists( 'llorix_one_lite_general_repeater_is_empty' ) ){
|
16 |
-
$content_is_empty = llorix_one_lite_general_repeater_is_empty( $llorix_one_lite_team_content );
|
17 |
-
} else {
|
18 |
-
$content_is_empty = empty( $llorix_one_lite_team_content );
|
19 |
-
}
|
20 |
-
$section_is_empty = ! isset( $llorix_one_lite_our_team_show ) || $llorix_one_lite_our_team_show == 1 || ( empty( $llorix_one_lite_our_team_title ) && empty( $llorix_one_lite_our_team_subtitle ) && $content_is_empty );
|
21 |
-
if(!$section_is_empty) { ?>
|
22 |
-
|
23 |
-
|
24 |
-
<section class="team <?php if ($section_is_empty) {
|
25 |
-
echo 'llorix_one_lite_only_customizer';
|
26 |
-
} ?>" id="team" role="region"
|
27 |
-
aria-label="<?php esc_attr_e('Team', 'themeisle-companion'); ?>" <?php echo !empty($llorix_one_lite_our_team_background) ? 'style="background-image:url(' . esc_url($llorix_one_lite_our_team_background) . ');"' : ''; ?>>
|
28 |
-
<div class="section-overlay-layer">
|
29 |
-
<div class="container">
|
30 |
-
<!-- SECTION HEADER -->
|
31 |
-
<?php
|
32 |
-
if (!empty($llorix_one_lite_our_team_title) || !empty($llorix_one_lite_our_team_subtitle)) { ?>
|
33 |
-
<div class="section-header">
|
34 |
-
<?php
|
35 |
-
if (!empty($llorix_one_lite_our_team_title)) { ?>
|
36 |
-
<h2 class="dark-text"><?php echo wp_kses_post($llorix_one_lite_our_team_title); ?></h2>
|
37 |
-
<div class="colored-line"></div>
|
38 |
-
<?php
|
39 |
-
} elseif (is_customize_preview()) { ?>
|
40 |
-
<h2 class="dark-text llorix_one_lite_only_customizer"></h2>
|
41 |
-
<div class="colored-line llorix_one_lite_only_customizer"></div>
|
42 |
-
<?php
|
43 |
-
}
|
44 |
-
|
45 |
-
if (!empty($llorix_one_lite_our_team_subtitle)) { ?>
|
46 |
-
<div class="sub-heading"><?php echo wp_kses_post($llorix_one_lite_our_team_subtitle); ?></div>
|
47 |
-
<?php
|
48 |
-
} elseif (is_customize_preview()) { ?>
|
49 |
-
<div class="sub-heading llorix_one_lite_only_customizer"></div>
|
50 |
-
<?php
|
51 |
-
} ?>
|
52 |
-
</div>
|
53 |
-
<?php
|
54 |
-
}
|
55 |
-
|
56 |
-
|
57 |
-
if (!$content_is_empty) { ?>
|
58 |
-
<div class="row team-member-wrap">
|
59 |
-
<?php
|
60 |
-
$llorix_one_lite_team_decoded = json_decode($llorix_one_lite_team_content);
|
61 |
-
foreach ($llorix_one_lite_team_decoded as $llorix_one_lite_team_member) {
|
62 |
-
$title = !empty($llorix_one_lite_team_member->title) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_team_member->title, 'Team section') : '';
|
63 |
-
$subtitle = !empty($llorix_one_lite_team_member->subtitle) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_team_member->subtitle, 'Team section') : '';
|
64 |
-
$image = !empty($llorix_one_lite_team_member->image_url) ? apply_filters('llorix_one_lite_translate_single_string', $llorix_one_lite_team_member->image_url, 'Team section') : '';
|
65 |
-
$section_is_empty = empty($image) && empty($title) && empty($subtitle);
|
66 |
-
if (!$section_is_empty) { ?>
|
67 |
-
<div class="col-md-3 team-member-box">
|
68 |
-
<div class="team-member border-bottom-hover">
|
69 |
-
<div class="member-pic">
|
70 |
-
<?php
|
71 |
-
if (!empty($image)) { ?>
|
72 |
-
<img src="<?php echo esc_url($image); ?>" <?php echo(!empty($title) ? 'alt="' . esc_attr($title) . '"' : esc_attr__('Avatar', 'themeisle-companion')); ?>>
|
73 |
-
<?php
|
74 |
-
} else {
|
75 |
-
$default_url = llorix_one_lite_get_file('/images/team/default.png'); ?>
|
76 |
-
<img src="<?php echo esc_url($default_url); ?>"
|
77 |
-
alt="<?php esc_attr_e('Avatar', 'themeisle-companion'); ?>">
|
78 |
-
<?php
|
79 |
-
} ?>
|
80 |
-
</div><!-- .member-pic -->
|
81 |
-
|
82 |
-
<?php
|
83 |
-
if (!empty($title) || !empty($subtitle)) { ?>
|
84 |
-
<div class="member-details">
|
85 |
-
<div class="member-details-inner">
|
86 |
-
<?php
|
87 |
-
if (!empty($title)) { ?>
|
88 |
-
<h5 class="colored-text"> <?php echo wp_kses_post($title); ?></h5>
|
89 |
-
<?php
|
90 |
-
}
|
91 |
-
|
92 |
-
if (!empty($subtitle)) { ?>
|
93 |
-
<div class="small-text"><?php echo wp_kses_post($subtitle); ?></div>
|
94 |
-
<?php
|
95 |
-
} ?>
|
96 |
-
</div><!-- .member-details-inner -->
|
97 |
-
</div><!-- .member-details -->
|
98 |
-
<?php
|
99 |
-
} ?>
|
100 |
-
</div><!-- .team-member -->
|
101 |
-
</div><!-- .team-member -->
|
102 |
-
<!-- MEMBER -->
|
103 |
-
<?php
|
104 |
-
}
|
105 |
-
} ?>
|
106 |
-
</div>
|
107 |
-
<?php
|
108 |
-
} ?>
|
109 |
-
</div>
|
110 |
-
</div><!-- container -->
|
111 |
-
</section><!-- #section9 -->
|
112 |
-
<?php
|
113 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/llorix-one-companion/wpml-config.xml
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
<wpml-config>
|
2 |
-
<admin-texts>
|
3 |
-
<key name="theme_mods_themeisle-companion">
|
4 |
-
<key name="llorix_one_lite_our_services_title" />
|
5 |
-
<key name="llorix_one_lite_our_services_subtitle" />
|
6 |
-
<key name="llorix_one_lite_our_team_title" />
|
7 |
-
<key name="llorix_one_lite_our_team_subtitle" />
|
8 |
-
<key name="llorix_one_lite_our_team_background" />
|
9 |
-
<key name="llorix_one_lite_happy_customers_title" />
|
10 |
-
<key name="llorix_one_lite_happy_customers_subtitle" />
|
11 |
-
</key>
|
12 |
-
</admin-texts>
|
13 |
-
</wpml-config>
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/assets/css/admin-style.css
DELETED
@@ -1,143 +0,0 @@
|
|
1 |
-
#fontawesome-popup {
|
2 |
-
display: none;
|
3 |
-
height: 520px;
|
4 |
-
}
|
5 |
-
|
6 |
-
#fontawesome-popup:after {
|
7 |
-
display: block;
|
8 |
-
clear: both;
|
9 |
-
content: "";
|
10 |
-
}
|
11 |
-
|
12 |
-
.ui-widget-overlay {
|
13 |
-
position: fixed;
|
14 |
-
z-index: 999998;
|
15 |
-
top: 0;
|
16 |
-
width: 100%;
|
17 |
-
height: 100%;
|
18 |
-
background: rgba( 0,0,0,0.4 );
|
19 |
-
}
|
20 |
-
|
21 |
-
.rhea-fontawesome-dialog {
|
22 |
-
z-index: 999999;
|
23 |
-
background: #fcfcfc;
|
24 |
-
box-shadow: 0 5px 15px rgba(0,0,0,0.7);
|
25 |
-
}
|
26 |
-
|
27 |
-
.rhea-fontawesome-dialog .ui-dialog-titlebar {
|
28 |
-
margin: 0;
|
29 |
-
padding: 0 15px;
|
30 |
-
border-bottom: 1px solid #ddd;
|
31 |
-
color: #23282d;
|
32 |
-
font-size: 22px;
|
33 |
-
font-weight: 600;
|
34 |
-
line-height: 50px;
|
35 |
-
}
|
36 |
-
|
37 |
-
.rhea-fontawesome-dialog .ui-dialog-titlebar .ui-button {
|
38 |
-
float: right;
|
39 |
-
}
|
40 |
-
|
41 |
-
#fontawesome-popup .left-side {
|
42 |
-
float: left;
|
43 |
-
box-sizing: border-box;
|
44 |
-
width: 20%;
|
45 |
-
padding: 15px;
|
46 |
-
}
|
47 |
-
|
48 |
-
#fontawesome-popup .right-side {
|
49 |
-
float: left;
|
50 |
-
overflow-y: scroll;
|
51 |
-
box-sizing: border-box;
|
52 |
-
width: 80%;
|
53 |
-
height: 507px;
|
54 |
-
padding: 15px;
|
55 |
-
border-left: 1px solid #ccc;
|
56 |
-
background: #fff;
|
57 |
-
}
|
58 |
-
|
59 |
-
.ui-dialog.rhea-fontawesome-dialog .ui-dialog-titlebar-close {
|
60 |
-
margin: 14px 0;
|
61 |
-
padding-right: 0;
|
62 |
-
border: 0 none;
|
63 |
-
background: transparent;
|
64 |
-
box-shadow: none;
|
65 |
-
cursor: pointer;
|
66 |
-
}
|
67 |
-
|
68 |
-
.ui-dialog.rhea-fontawesome-dialog .ui-button-icon-only .ui-icon:after {
|
69 |
-
display: block;
|
70 |
-
top: 0;
|
71 |
-
left: 0;
|
72 |
-
width: 20px;
|
73 |
-
height: 20px;
|
74 |
-
color: #23282d;
|
75 |
-
font-family: "dashicons";
|
76 |
-
font-size: 20px;
|
77 |
-
text-indent: 1px;
|
78 |
-
content: "\f158";
|
79 |
-
}
|
80 |
-
|
81 |
-
.ui-dialog.rhea-fontawesome-dialog .ui-button-text {
|
82 |
-
display: none;
|
83 |
-
}
|
84 |
-
|
85 |
-
.filter-icons li {
|
86 |
-
cursor: pointer;
|
87 |
-
}
|
88 |
-
|
89 |
-
.filter-icons li.active {
|
90 |
-
font-weight: bold;
|
91 |
-
}
|
92 |
-
|
93 |
-
a.rhea-fontawesome-icon {
|
94 |
-
display: inline-block;
|
95 |
-
width: 5%;
|
96 |
-
margin-bottom: 10px;
|
97 |
-
padding: 5px 0;
|
98 |
-
font-size: 20px;
|
99 |
-
text-align: center;
|
100 |
-
}
|
101 |
-
|
102 |
-
a.rhea-fontawesome-icon:hover {
|
103 |
-
color: #fff;
|
104 |
-
background-color: #ccc;
|
105 |
-
}
|
106 |
-
|
107 |
-
/* Style Input */
|
108 |
-
.icon-holder p {
|
109 |
-
margin: 0;
|
110 |
-
padding: 20px 0;
|
111 |
-
border: 1px dashed #ccc;
|
112 |
-
color: rgba( 0,0,0,0.6 );
|
113 |
-
text-align: center;
|
114 |
-
}
|
115 |
-
|
116 |
-
.empty-icon .change-icon-button,
|
117 |
-
.empty-icon .remove-icon-button,
|
118 |
-
.icon-holder p,
|
119 |
-
.empty-icon i,
|
120 |
-
.wp-core-ui .actions .button.add-icon-button {
|
121 |
-
display: none;
|
122 |
-
}
|
123 |
-
|
124 |
-
.empty-icon .icon-holder p {
|
125 |
-
display: block;
|
126 |
-
}
|
127 |
-
|
128 |
-
.wp-core-ui .empty-icon .actions .button.add-icon-button {
|
129 |
-
display: inline-block;
|
130 |
-
}
|
131 |
-
|
132 |
-
.fontawesome-icon-container .actions {
|
133 |
-
text-align: right;
|
134 |
-
}
|
135 |
-
|
136 |
-
.icon-holder {
|
137 |
-
margin: 20px 0;
|
138 |
-
text-align: center;
|
139 |
-
}
|
140 |
-
|
141 |
-
.icon-holder i {
|
142 |
-
font-size: 50px;
|
143 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/assets/js/fontawesome.jquery.js
DELETED
@@ -1,97 +0,0 @@
|
|
1 |
-
jQuery( document ).ready(function($){
|
2 |
-
|
3 |
-
var currentCategories = [];
|
4 |
-
|
5 |
-
$.each( icons.icons, function(index,el){
|
6 |
-
|
7 |
-
var currentIconCategories = '';
|
8 |
-
|
9 |
-
// collect all icons' categories
|
10 |
-
$.each(el.categories, function(c_index,category){
|
11 |
-
var aux = category.toLowerCase();
|
12 |
-
aux = aux.replace( /\s+/g, '-' );
|
13 |
-
currentIconCategories = currentIconCategories + aux + ' ';
|
14 |
-
if ( $.inArray( category, currentCategories ) < 0 ) {
|
15 |
-
currentCategories.push( category );
|
16 |
-
}
|
17 |
-
});
|
18 |
-
|
19 |
-
if ( el.filter != undefined ) {
|
20 |
-
var search = el.filter;
|
21 |
-
search.push( el.name );
|
22 |
-
search = search.join( ' ' );
|
23 |
-
} else {
|
24 |
-
var search = el.name;
|
25 |
-
}
|
26 |
-
|
27 |
-
var css_class = 'fa fa-' + el.id;
|
28 |
-
var icon_html = '<a href="#" data-search="' + search + '" data-class="' + css_class + '" class="' + currentIconCategories + 'rhea-fontawesome-icon"><i class="' + css_class + '"></i></a>';
|
29 |
-
$( '#fontawesome-popup .right-side' ).append( icon_html );
|
30 |
-
|
31 |
-
});
|
32 |
-
|
33 |
-
currentCategories.sort();
|
34 |
-
|
35 |
-
$.each(currentCategories, function( index, category ){
|
36 |
-
var aux = category.toLowerCase();
|
37 |
-
aux = aux.replace( /\s+/g, '-' );
|
38 |
-
$( '.filter-icons' ).append( '<li data-filter="' + aux + '">' + category + '</li>' );
|
39 |
-
});
|
40 |
-
|
41 |
-
$( '#fontawesome-popup .filter-icons li' ).live('click', function(){
|
42 |
-
$( '#fontawesome-popup .filter-icons li.active' ).removeClass( 'active' );
|
43 |
-
$( this ).addClass( 'active' );
|
44 |
-
var filter = $( this ).data( 'filter' );
|
45 |
-
if ( filter != 'all' ) {
|
46 |
-
$( '#fontawesome-popup .rhea-fontawesome-icon.' + filter ).show();
|
47 |
-
$( '#fontawesome-popup .rhea-fontawesome-icon' ).not( '.' + filter ).hide();
|
48 |
-
} else {
|
49 |
-
$( '#fontawesome-popup .rhea-fontawesome-icon' ).show();
|
50 |
-
}
|
51 |
-
});
|
52 |
-
|
53 |
-
var Rhea_FP = {'element':''};
|
54 |
-
|
55 |
-
Rhea_FP.open = function( element ){
|
56 |
-
Rhea_FP.element = element;
|
57 |
-
$( "#fontawesome-popup" ).dialog({
|
58 |
-
title: "Select Icon",
|
59 |
-
resizable: false,
|
60 |
-
minHeight: 520,
|
61 |
-
width: 980,
|
62 |
-
modal: true,
|
63 |
-
closeOnEscape: true,
|
64 |
-
dialogClass: 'rhea-fontawesome-dialog',
|
65 |
-
});
|
66 |
-
};
|
67 |
-
|
68 |
-
Rhea_FP.close = function(){
|
69 |
-
Rhea_FP.element = '';
|
70 |
-
$( "#fontawesome-popup" ).dialog( "close" );
|
71 |
-
};
|
72 |
-
|
73 |
-
$( '.add-icon-button' ).live('click', function(){
|
74 |
-
var parent = $( this ).parent().parent();
|
75 |
-
Rhea_FP.open( parent );
|
76 |
-
});
|
77 |
-
|
78 |
-
$( '.rhea-fontawesome-icon' ).live('click', function( evt ){
|
79 |
-
evt.preventDefault();
|
80 |
-
var icon = $( this ).data( 'class' );
|
81 |
-
Rhea_FP.element.removeClass( 'empty-icon' );
|
82 |
-
Rhea_FP.element.find( 'input' ).val( icon );
|
83 |
-
Rhea_FP.element.find( '.icon-holder i' ).attr( 'class', icon );
|
84 |
-
Rhea_FP.close();
|
85 |
-
});
|
86 |
-
|
87 |
-
$( '.change-icon-button' ).live('click', function(){
|
88 |
-
var parent = $( this ).parent().parent();
|
89 |
-
Rhea_FP.open( parent );
|
90 |
-
});
|
91 |
-
|
92 |
-
$( '.remove-icon-button' ).live('click', function(){
|
93 |
-
$( this ).parent().parent().addClass( 'empty-icon' );
|
94 |
-
$( this ).parent().parent().find( 'input' ).val( '' );
|
95 |
-
});
|
96 |
-
|
97 |
-
});
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/assets/js/icons.js
DELETED
@@ -1,3790 +0,0 @@
|
|
1 |
-
var icons = { icons:
|
2 |
-
[ { name: 'Glass',
|
3 |
-
id: 'glass',
|
4 |
-
unicode: 'f000',
|
5 |
-
created: 1,
|
6 |
-
filter: [ 'martini', 'drink', 'bar', 'alcohol', 'liquor' ],
|
7 |
-
categories: [ 'Web Application Icons' ] },
|
8 |
-
{ name: 'Music',
|
9 |
-
id: 'music',
|
10 |
-
unicode: 'f001',
|
11 |
-
created: 1,
|
12 |
-
filter: [ 'note', 'sound' ],
|
13 |
-
categories: [ 'Web Application Icons' ] },
|
14 |
-
{ name: 'Search',
|
15 |
-
id: 'search',
|
16 |
-
unicode: 'f002',
|
17 |
-
created: 1,
|
18 |
-
filter: [ 'magnify', 'zoom', 'enlarge', 'bigger' ],
|
19 |
-
categories: [ 'Web Application Icons' ] },
|
20 |
-
{ name: 'Envelope Outlined',
|
21 |
-
id: 'envelope-o',
|
22 |
-
unicode: 'f003',
|
23 |
-
created: 1,
|
24 |
-
filter: [ 'email', 'support', 'e-mail', 'letter', 'mail', 'notification' ],
|
25 |
-
categories: [ 'Web Application Icons' ] },
|
26 |
-
{ name: 'Heart',
|
27 |
-
id: 'heart',
|
28 |
-
unicode: 'f004',
|
29 |
-
created: 1,
|
30 |
-
filter: [ 'love', 'like', 'favorite' ],
|
31 |
-
categories: [ 'Web Application Icons', 'Medical Icons' ] },
|
32 |
-
{ name: 'Star',
|
33 |
-
id: 'star',
|
34 |
-
unicode: 'f005',
|
35 |
-
created: 1,
|
36 |
-
filter: [ 'award', 'achievement', 'night', 'rating', 'score', 'favorite' ],
|
37 |
-
categories: [ 'Web Application Icons' ] },
|
38 |
-
{ name: 'Star Outlined',
|
39 |
-
id: 'star-o',
|
40 |
-
unicode: 'f006',
|
41 |
-
created: 1,
|
42 |
-
filter: [ 'award', 'achievement', 'night', 'rating', 'score', 'favorite' ],
|
43 |
-
categories: [ 'Web Application Icons' ] },
|
44 |
-
{ name: 'User',
|
45 |
-
id: 'user',
|
46 |
-
unicode: 'f007',
|
47 |
-
created: 1,
|
48 |
-
filter: [ 'person', 'man', 'head', 'profile' ],
|
49 |
-
categories: [ 'Web Application Icons' ] },
|
50 |
-
{ name: 'Film',
|
51 |
-
id: 'film',
|
52 |
-
unicode: 'f008',
|
53 |
-
created: 1,
|
54 |
-
filter: [ 'movie' ],
|
55 |
-
categories: [ 'Web Application Icons' ] },
|
56 |
-
{ name: 'th-large',
|
57 |
-
id: 'th-large',
|
58 |
-
unicode: 'f009',
|
59 |
-
created: 1,
|
60 |
-
filter: [ 'blocks', 'squares', 'boxes', 'grid' ],
|
61 |
-
categories: [ 'Text Editor Icons' ] },
|
62 |
-
{ name: 'th',
|
63 |
-
id: 'th',
|
64 |
-
unicode: 'f00a',
|
65 |
-
created: 1,
|
66 |
-
filter: [ 'blocks', 'squares', 'boxes', 'grid' ],
|
67 |
-
categories: [ 'Text Editor Icons' ] },
|
68 |
-
{ name: 'th-list',
|
69 |
-
id: 'th-list',
|
70 |
-
unicode: 'f00b',
|
71 |
-
created: 1,
|
72 |
-
filter: [ 'ul', 'ol', 'checklist', 'finished', 'completed', 'done', 'todo' ],
|
73 |
-
categories: [ 'Text Editor Icons' ] },
|
74 |
-
{ name: 'Check',
|
75 |
-
id: 'check',
|
76 |
-
unicode: 'f00c',
|
77 |
-
created: 1,
|
78 |
-
filter:
|
79 |
-
[ 'checkmark',
|
80 |
-
'done',
|
81 |
-
'todo',
|
82 |
-
'agree',
|
83 |
-
'accept',
|
84 |
-
'confirm',
|
85 |
-
'tick',
|
86 |
-
'ok' ],
|
87 |
-
categories: [ 'Web Application Icons' ] },
|
88 |
-
{ name: 'Times',
|
89 |
-
id: 'times',
|
90 |
-
unicode: 'f00d',
|
91 |
-
created: 1,
|
92 |
-
aliases: [ 'remove', 'close' ],
|
93 |
-
filter: [ 'close', 'exit', 'x', 'cross' ],
|
94 |
-
categories: [ 'Web Application Icons' ] },
|
95 |
-
{ name: 'Search Plus',
|
96 |
-
id: 'search-plus',
|
97 |
-
unicode: 'f00e',
|
98 |
-
created: 1,
|
99 |
-
filter: [ 'magnify', 'zoom', 'enlarge', 'bigger' ],
|
100 |
-
categories: [ 'Web Application Icons' ] },
|
101 |
-
{ name: 'Search Minus',
|
102 |
-
id: 'search-minus',
|
103 |
-
unicode: 'f010',
|
104 |
-
created: 1,
|
105 |
-
filter: [ 'magnify', 'minify', 'zoom', 'smaller' ],
|
106 |
-
categories: [ 'Web Application Icons' ] },
|
107 |
-
{ name: 'Power Off',
|
108 |
-
id: 'power-off',
|
109 |
-
unicode: 'f011',
|
110 |
-
created: 1,
|
111 |
-
filter: [ 'on' ],
|
112 |
-
categories: [ 'Web Application Icons' ] },
|
113 |
-
{ name: 'signal',
|
114 |
-
id: 'signal',
|
115 |
-
unicode: 'f012',
|
116 |
-
created: 1,
|
117 |
-
filter: [ 'graph', 'bars' ],
|
118 |
-
categories: [ 'Web Application Icons' ] },
|
119 |
-
{ name: 'cog',
|
120 |
-
id: 'cog',
|
121 |
-
unicode: 'f013',
|
122 |
-
created: 1,
|
123 |
-
filter: [ 'settings' ],
|
124 |
-
aliases: [ 'gear' ],
|
125 |
-
categories: [ 'Web Application Icons', 'Spinner Icons' ] },
|
126 |
-
{ name: 'Trash Outlined',
|
127 |
-
id: 'trash-o',
|
128 |
-
unicode: 'f014',
|
129 |
-
created: 1,
|
130 |
-
filter: [ 'garbage', 'delete', 'remove', 'trash', 'hide' ],
|
131 |
-
categories: [ 'Web Application Icons' ] },
|
132 |
-
{ name: 'home',
|
133 |
-
id: 'home',
|
134 |
-
unicode: 'f015',
|
135 |
-
created: 1,
|
136 |
-
filter: [ 'main', 'house' ],
|
137 |
-
categories: [ 'Web Application Icons' ] },
|
138 |
-
{ name: 'File Outlined',
|
139 |
-
id: 'file-o',
|
140 |
-
unicode: 'f016',
|
141 |
-
created: 1,
|
142 |
-
filter: [ 'new', 'page', 'pdf', 'document' ],
|
143 |
-
categories: [ 'Text Editor Icons', 'File Type Icons' ] },
|
144 |
-
{ name: 'Clock Outlined',
|
145 |
-
id: 'clock-o',
|
146 |
-
unicode: 'f017',
|
147 |
-
created: 1,
|
148 |
-
filter: [ 'watch', 'timer', 'late', 'timestamp' ],
|
149 |
-
categories: [ 'Web Application Icons' ] },
|
150 |
-
{ name: 'road',
|
151 |
-
id: 'road',
|
152 |
-
unicode: 'f018',
|
153 |
-
created: 1,
|
154 |
-
filter: [ 'street' ],
|
155 |
-
categories: [ 'Web Application Icons' ] },
|
156 |
-
{ name: 'Download',
|
157 |
-
id: 'download',
|
158 |
-
unicode: 'f019',
|
159 |
-
created: 1,
|
160 |
-
filter: [ 'import' ],
|
161 |
-
categories: [ 'Web Application Icons' ] },
|
162 |
-
{ name: 'Arrow Circle Outlined Down',
|
163 |
-
id: 'arrow-circle-o-down',
|
164 |
-
unicode: 'f01a',
|
165 |
-
created: 1,
|
166 |
-
filter: [ 'download' ],
|
167 |
-
categories: [ 'Directional Icons' ] },
|
168 |
-
{ name: 'Arrow Circle Outlined Up',
|
169 |
-
id: 'arrow-circle-o-up',
|
170 |
-
unicode: 'f01b',
|
171 |
-
created: 1,
|
172 |
-
categories: [ 'Directional Icons' ] },
|
173 |
-
{ name: 'inbox',
|
174 |
-
id: 'inbox',
|
175 |
-
unicode: 'f01c',
|
176 |
-
created: 1,
|
177 |
-
categories: [ 'Web Application Icons' ] },
|
178 |
-
{ name: 'Play Circle Outlined',
|
179 |
-
id: 'play-circle-o',
|
180 |
-
unicode: 'f01d',
|
181 |
-
created: 1,
|
182 |
-
categories: [ 'Video Player Icons' ] },
|
183 |
-
{ name: 'Repeat',
|
184 |
-
id: 'repeat',
|
185 |
-
unicode: 'f01e',
|
186 |
-
created: 1,
|
187 |
-
filter: [ 'redo', 'forward' ],
|
188 |
-
aliases: [ 'rotate-right' ],
|
189 |
-
categories: [ 'Text Editor Icons' ] },
|
190 |
-
{ name: 'refresh',
|
191 |
-
id: 'refresh',
|
192 |
-
unicode: 'f021',
|
193 |
-
created: 1,
|
194 |
-
filter: [ 'reload', 'sync' ],
|
195 |
-
categories: [ 'Web Application Icons', 'Spinner Icons' ] },
|
196 |
-
{ name: 'list-alt',
|
197 |
-
id: 'list-alt',
|
198 |
-
unicode: 'f022',
|
199 |
-
created: 1,
|
200 |
-
filter: [ 'ul', 'ol', 'checklist', 'finished', 'completed', 'done', 'todo' ],
|
201 |
-
categories: [ 'Text Editor Icons' ] },
|
202 |
-
{ name: 'lock',
|
203 |
-
id: 'lock',
|
204 |
-
unicode: 'f023',
|
205 |
-
created: 1,
|
206 |
-
filter: [ 'protect', 'admin' ],
|
207 |
-
categories: [ 'Web Application Icons' ] },
|
208 |
-
{ name: 'flag',
|
209 |
-
id: 'flag',
|
210 |
-
unicode: 'f024',
|
211 |
-
created: 1,
|
212 |
-
filter: [ 'report', 'notification', 'notify' ],
|
213 |
-
categories: [ 'Web Application Icons' ] },
|
214 |
-
{ name: 'headphones',
|
215 |
-
id: 'headphones',
|
216 |
-
unicode: 'f025',
|
217 |
-
created: 1,
|
218 |
-
filter: [ 'sound', 'listen', 'music', 'audio' ],
|
219 |
-
categories: [ 'Web Application Icons' ] },
|
220 |
-
{ name: 'volume-off',
|
221 |
-
id: 'volume-off',
|
222 |
-
unicode: 'f026',
|
223 |
-
created: 1,
|
224 |
-
filter: [ 'audio', 'mute', 'sound', 'music' ],
|
225 |
-
categories: [ 'Web Application Icons' ] },
|
226 |
-
{ name: 'volume-down',
|
227 |
-
id: 'volume-down',
|
228 |
-
unicode: 'f027',
|
229 |
-
created: 1,
|
230 |
-
filter: [ 'audio', 'lower', 'quieter', 'sound', 'music' ],
|
231 |
-
categories: [ 'Web Application Icons' ] },
|
232 |
-
{ name: 'volume-up',
|
233 |
-
id: 'volume-up',
|
234 |
-
unicode: 'f028',
|
235 |
-
created: 1,
|
236 |
-
filter: [ 'audio', 'higher', 'louder', 'sound', 'music' ],
|
237 |
-
categories: [ 'Web Application Icons' ] },
|
238 |
-
{ name: 'qrcode',
|
239 |
-
id: 'qrcode',
|
240 |
-
unicode: 'f029',
|
241 |
-
created: 1,
|
242 |
-
filter: [ 'scan' ],
|
243 |
-
categories: [ 'Web Application Icons' ] },
|
244 |
-
{ name: 'barcode',
|
245 |
-
id: 'barcode',
|
246 |
-
unicode: 'f02a',
|
247 |
-
created: 1,
|
248 |
-
filter: [ 'scan' ],
|
249 |
-
categories: [ 'Web Application Icons' ] },
|
250 |
-
{ name: 'tag',
|
251 |
-
id: 'tag',
|
252 |
-
unicode: 'f02b',
|
253 |
-
created: 1,
|
254 |
-
filter: [ 'label' ],
|
255 |
-
categories: [ 'Web Application Icons' ] },
|
256 |
-
{ name: 'tags',
|
257 |
-
id: 'tags',
|
258 |
-
unicode: 'f02c',
|
259 |
-
created: 1,
|
260 |
-
filter: [ 'labels' ],
|
261 |
-
categories: [ 'Web Application Icons' ] },
|
262 |
-
{ name: 'book',
|
263 |
-
id: 'book',
|
264 |
-
unicode: 'f02d',
|
265 |
-
created: 1,
|
266 |
-
filter: [ 'read', 'documentation' ],
|
267 |
-
categories: [ 'Web Application Icons' ] },
|
268 |
-
{ name: 'bookmark',
|
269 |
-
id: 'bookmark',
|
270 |
-
unicode: 'f02e',
|
271 |
-
created: 1,
|
272 |
-
filter: [ 'save' ],
|
273 |
-
categories: [ 'Web Application Icons' ] },
|
274 |
-
{ name: 'print',
|
275 |
-
id: 'print',
|
276 |
-
unicode: 'f02f',
|
277 |
-
created: 1,
|
278 |
-
categories: [ 'Web Application Icons' ] },
|
279 |
-
{ name: 'camera',
|
280 |
-
id: 'camera',
|
281 |
-
unicode: 'f030',
|
282 |
-
created: 1,
|
283 |
-
filter: [ 'photo', 'picture', 'record' ],
|
284 |
-
categories: [ 'Web Application Icons' ] },
|
285 |
-
{ name: 'font',
|
286 |
-
id: 'font',
|
287 |
-
unicode: 'f031',
|
288 |
-
created: 1,
|
289 |
-
filter: [ 'text' ],
|
290 |
-
categories: [ 'Text Editor Icons' ] },
|
291 |
-
{ name: 'bold',
|
292 |
-
id: 'bold',
|
293 |
-
unicode: 'f032',
|
294 |
-
created: 1,
|
295 |
-
categories: [ 'Text Editor Icons' ] },
|
296 |
-
{ name: 'italic',
|
297 |
-
id: 'italic',
|
298 |
-
unicode: 'f033',
|
299 |
-
created: 1,
|
300 |
-
filter: [ 'italics' ],
|
301 |
-
categories: [ 'Text Editor Icons' ] },
|
302 |
-
{ name: 'text-height',
|
303 |
-
id: 'text-height',
|
304 |
-
unicode: 'f034',
|
305 |
-
created: 1,
|
306 |
-
categories: [ 'Text Editor Icons' ] },
|
307 |
-
{ name: 'text-width',
|
308 |
-
id: 'text-width',
|
309 |
-
unicode: 'f035',
|
310 |
-
created: 1,
|
311 |
-
categories: [ 'Text Editor Icons' ] },
|
312 |
-
{ name: 'align-left',
|
313 |
-
id: 'align-left',
|
314 |
-
unicode: 'f036',
|
315 |
-
created: 1,
|
316 |
-
filter: [ 'text' ],
|
317 |
-
categories: [ 'Text Editor Icons' ] },
|
318 |
-
{ name: 'align-center',
|
319 |
-
id: 'align-center',
|
320 |
-
unicode: 'f037',
|
321 |
-
created: 1,
|
322 |
-
filter: [ 'middle', 'text' ],
|
323 |
-
categories: [ 'Text Editor Icons' ] },
|
324 |
-
{ name: 'align-right',
|
325 |
-
id: 'align-right',
|
326 |
-
unicode: 'f038',
|
327 |
-
created: 1,
|
328 |
-
filter: [ 'text' ],
|
329 |
-
categories: [ 'Text Editor Icons' ] },
|
330 |
-
{ name: 'align-justify',
|
331 |
-
id: 'align-justify',
|
332 |
-
unicode: 'f039',
|
333 |
-
created: 1,
|
334 |
-
filter: [ 'text' ],
|
335 |
-
categories: [ 'Text Editor Icons' ] },
|
336 |
-
{ name: 'list',
|
337 |
-
id: 'list',
|
338 |
-
unicode: 'f03a',
|
339 |
-
created: 1,
|
340 |
-
filter: [ 'ul', 'ol', 'checklist', 'finished', 'completed', 'done', 'todo' ],
|
341 |
-
categories: [ 'Text Editor Icons' ] },
|
342 |
-
{ name: 'Outdent',
|
343 |
-
id: 'outdent',
|
344 |
-
unicode: 'f03b',
|
345 |
-
created: 1,
|
346 |
-
aliases: [ 'dedent' ],
|
347 |
-
categories: [ 'Text Editor Icons' ] },
|
348 |
-
{ name: 'Indent',
|
349 |
-
id: 'indent',
|
350 |
-
unicode: 'f03c',
|
351 |
-
created: 1,
|
352 |
-
categories: [ 'Text Editor Icons' ] },
|
353 |
-
{ name: 'Video Camera',
|
354 |
-
id: 'video-camera',
|
355 |
-
unicode: 'f03d',
|
356 |
-
created: 1,
|
357 |
-
filter: [ 'film', 'movie', 'record' ],
|
358 |
-
categories: [ 'Web Application Icons' ] },
|
359 |
-
{ name: 'Picture Outlined',
|
360 |
-
id: 'picture-o',
|
361 |
-
unicode: 'f03e',
|
362 |
-
created: 1,
|
363 |
-
aliases: [ 'photo', 'image' ],
|
364 |
-
categories: [ 'Web Application Icons' ] },
|
365 |
-
{ name: 'pencil',
|
366 |
-
id: 'pencil',
|
367 |
-
unicode: 'f040',
|
368 |
-
created: 1,
|
369 |
-
filter: [ 'write', 'edit', 'update' ],
|
370 |
-
categories: [ 'Web Application Icons' ] },
|
371 |
-
{ name: 'map-marker',
|
372 |
-
id: 'map-marker',
|
373 |
-
unicode: 'f041',
|
374 |
-
created: 1,
|
375 |
-
filter:
|
376 |
-
[ 'map',
|
377 |
-
'pin',
|
378 |
-
'location',
|
379 |
-
'coordinates',
|
380 |
-
'localize',
|
381 |
-
'address',
|
382 |
-
'travel',
|
383 |
-
'where',
|
384 |
-
'place' ],
|
385 |
-
categories: [ 'Web Application Icons' ] },
|
386 |
-
{ name: 'adjust',
|
387 |
-
id: 'adjust',
|
388 |
-
unicode: 'f042',
|
389 |
-
created: 1,
|
390 |
-
filter: [ 'contrast' ],
|
391 |
-
categories: [ 'Web Application Icons' ] },
|
392 |
-
{ name: 'tint',
|
393 |
-
id: 'tint',
|
394 |
-
unicode: 'f043',
|
395 |
-
created: 1,
|
396 |
-
filter: [ 'raindrop', 'waterdrop', 'drop', 'droplet' ],
|
397 |
-
categories: [ 'Web Application Icons' ] },
|
398 |
-
{ name: 'Pencil Square Outlined',
|
399 |
-
id: 'pencil-square-o',
|
400 |
-
unicode: 'f044',
|
401 |
-
created: 1,
|
402 |
-
filter: [ 'write', 'edit', 'update' ],
|
403 |
-
aliases: [ 'edit' ],
|
404 |
-
categories: [ 'Web Application Icons' ] },
|
405 |
-
{ name: 'Share Square Outlined',
|
406 |
-
id: 'share-square-o',
|
407 |
-
unicode: 'f045',
|
408 |
-
created: 1,
|
409 |
-
filter: [ 'social', 'send', 'arrow' ],
|
410 |
-
categories: [ 'Web Application Icons' ] },
|
411 |
-
{ name: 'Check Square Outlined',
|
412 |
-
id: 'check-square-o',
|
413 |
-
unicode: 'f046',
|
414 |
-
created: 1,
|
415 |
-
filter: [ 'todo', 'done', 'agree', 'accept', 'confirm', 'ok' ],
|
416 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
417 |
-
{ name: 'Arrows',
|
418 |
-
id: 'arrows',
|
419 |
-
unicode: 'f047',
|
420 |
-
created: 1,
|
421 |
-
filter: [ 'move', 'reorder', 'resize' ],
|
422 |
-
categories: [ 'Web Application Icons', 'Directional Icons' ] },
|
423 |
-
{ name: 'step-backward',
|
424 |
-
id: 'step-backward',
|
425 |
-
unicode: 'f048',
|
426 |
-
created: 1,
|
427 |
-
filter: [ 'rewind', 'previous', 'beginning', 'start', 'first' ],
|
428 |
-
categories: [ 'Video Player Icons' ] },
|
429 |
-
{ name: 'fast-backward',
|
430 |
-
id: 'fast-backward',
|
431 |
-
unicode: 'f049',
|
432 |
-
created: 1,
|
433 |
-
filter: [ 'rewind', 'previous', 'beginning', 'start', 'first' ],
|
434 |
-
categories: [ 'Video Player Icons' ] },
|
435 |
-
{ name: 'backward',
|
436 |
-
id: 'backward',
|
437 |
-
unicode: 'f04a',
|
438 |
-
created: 1,
|
439 |
-
filter: [ 'rewind', 'previous' ],
|
440 |
-
categories: [ 'Video Player Icons' ] },
|
441 |
-
{ name: 'play',
|
442 |
-
id: 'play',
|
443 |
-
unicode: 'f04b',
|
444 |
-
created: 1,
|
445 |
-
filter: [ 'start', 'playing', 'music', 'sound' ],
|
446 |
-
categories: [ 'Video Player Icons' ] },
|
447 |
-
{ name: 'pause',
|
448 |
-
id: 'pause',
|
449 |
-
unicode: 'f04c',
|
450 |
-
created: 1,
|
451 |
-
filter: [ 'wait' ],
|
452 |
-
categories: [ 'Video Player Icons' ] },
|
453 |
-
{ name: 'stop',
|
454 |
-
id: 'stop',
|
455 |
-
unicode: 'f04d',
|
456 |
-
created: 1,
|
457 |
-
filter: [ 'block', 'box', 'square' ],
|
458 |
-
categories: [ 'Video Player Icons' ] },
|
459 |
-
{ name: 'forward',
|
460 |
-
id: 'forward',
|
461 |
-
unicode: 'f04e',
|
462 |
-
created: 1,
|
463 |
-
filter: [ 'forward', 'next' ],
|
464 |
-
categories: [ 'Video Player Icons' ] },
|
465 |
-
{ name: 'fast-forward',
|
466 |
-
id: 'fast-forward',
|
467 |
-
unicode: 'f050',
|
468 |
-
created: 1,
|
469 |
-
filter: [ 'next', 'end', 'last' ],
|
470 |
-
categories: [ 'Video Player Icons' ] },
|
471 |
-
{ name: 'step-forward',
|
472 |
-
id: 'step-forward',
|
473 |
-
unicode: 'f051',
|
474 |
-
created: 1,
|
475 |
-
filter: [ 'next', 'end', 'last' ],
|
476 |
-
categories: [ 'Video Player Icons' ] },
|
477 |
-
{ name: 'eject',
|
478 |
-
id: 'eject',
|
479 |
-
unicode: 'f052',
|
480 |
-
created: 1,
|
481 |
-
categories: [ 'Video Player Icons' ] },
|
482 |
-
{ name: 'chevron-left',
|
483 |
-
id: 'chevron-left',
|
484 |
-
unicode: 'f053',
|
485 |
-
created: 1,
|
486 |
-
filter: [ 'bracket', 'previous', 'back' ],
|
487 |
-
categories: [ 'Directional Icons' ] },
|
488 |
-
{ name: 'chevron-right',
|
489 |
-
id: 'chevron-right',
|
490 |
-
unicode: 'f054',
|
491 |
-
created: 1,
|
492 |
-
filter: [ 'bracket', 'next', 'forward' ],
|
493 |
-
categories: [ 'Directional Icons' ] },
|
494 |
-
{ name: 'Plus Circle',
|
495 |
-
id: 'plus-circle',
|
496 |
-
unicode: 'f055',
|
497 |
-
created: 1,
|
498 |
-
filter: [ 'add', 'new', 'create', 'expand' ],
|
499 |
-
categories: [ 'Web Application Icons' ] },
|
500 |
-
{ name: 'Minus Circle',
|
501 |
-
id: 'minus-circle',
|
502 |
-
unicode: 'f056',
|
503 |
-
created: 1,
|
504 |
-
filter: [ 'delete', 'remove', 'trash', 'hide' ],
|
505 |
-
categories: [ 'Web Application Icons' ] },
|
506 |
-
{ name: 'Times Circle',
|
507 |
-
id: 'times-circle',
|
508 |
-
unicode: 'f057',
|
509 |
-
created: 1,
|
510 |
-
filter: [ 'close', 'exit', 'x' ],
|
511 |
-
categories: [ 'Web Application Icons' ] },
|
512 |
-
{ name: 'Check Circle',
|
513 |
-
id: 'check-circle',
|
514 |
-
unicode: 'f058',
|
515 |
-
created: 1,
|
516 |
-
filter: [ 'todo', 'done', 'agree', 'accept', 'confirm', 'ok' ],
|
517 |
-
categories: [ 'Web Application Icons' ] },
|
518 |
-
{ name: 'Question Circle',
|
519 |
-
id: 'question-circle',
|
520 |
-
unicode: 'f059',
|
521 |
-
filter: [ 'help', 'information', 'unknown', 'support' ],
|
522 |
-
created: 1,
|
523 |
-
categories: [ 'Web Application Icons' ] },
|
524 |
-
{ name: 'Info Circle',
|
525 |
-
id: 'info-circle',
|
526 |
-
unicode: 'f05a',
|
527 |
-
created: 1,
|
528 |
-
filter: [ 'help', 'information', 'more', 'details' ],
|
529 |
-
categories: [ 'Web Application Icons' ] },
|
530 |
-
{ name: 'Crosshairs',
|
531 |
-
id: 'crosshairs',
|
532 |
-
unicode: 'f05b',
|
533 |
-
created: 1,
|
534 |
-
filter: [ 'picker' ],
|
535 |
-
categories: [ 'Web Application Icons' ] },
|
536 |
-
{ name: 'Times Circle Outlined',
|
537 |
-
id: 'times-circle-o',
|
538 |
-
unicode: 'f05c',
|
539 |
-
created: 1,
|
540 |
-
filter: [ 'close', 'exit', 'x' ],
|
541 |
-
categories: [ 'Web Application Icons' ] },
|
542 |
-
{ name: 'Check Circle Outlined',
|
543 |
-
id: 'check-circle-o',
|
544 |
-
unicode: 'f05d',
|
545 |
-
created: 1,
|
546 |
-
filter: [ 'todo', 'done', 'agree', 'accept', 'confirm', 'ok' ],
|
547 |
-
categories: [ 'Web Application Icons' ] },
|
548 |
-
{ name: 'ban',
|
549 |
-
id: 'ban',
|
550 |
-
unicode: 'f05e',
|
551 |
-
created: 1,
|
552 |
-
filter:
|
553 |
-
[ 'delete',
|
554 |
-
'remove',
|
555 |
-
'trash',
|
556 |
-
'hide',
|
557 |
-
'block',
|
558 |
-
'stop',
|
559 |
-
'abort',
|
560 |
-
'cancel' ],
|
561 |
-
categories: [ 'Web Application Icons' ] },
|
562 |
-
{ name: 'arrow-left',
|
563 |
-
id: 'arrow-left',
|
564 |
-
unicode: 'f060',
|
565 |
-
created: 1,
|
566 |
-
filter: [ 'previous', 'back' ],
|
567 |
-
categories: [ 'Directional Icons' ] },
|
568 |
-
{ name: 'arrow-right',
|
569 |
-
id: 'arrow-right',
|
570 |
-
unicode: 'f061',
|
571 |
-
created: 1,
|
572 |
-
filter: [ 'next', 'forward' ],
|
573 |
-
categories: [ 'Directional Icons' ] },
|
574 |
-
{ name: 'arrow-up',
|
575 |
-
id: 'arrow-up',
|
576 |
-
unicode: 'f062',
|
577 |
-
created: 1,
|
578 |
-
categories: [ 'Directional Icons' ] },
|
579 |
-
{ name: 'arrow-down',
|
580 |
-
id: 'arrow-down',
|
581 |
-
unicode: 'f063',
|
582 |
-
created: 1,
|
583 |
-
filter: [ 'download' ],
|
584 |
-
categories: [ 'Directional Icons' ] },
|
585 |
-
{ name: 'Share',
|
586 |
-
id: 'share',
|
587 |
-
unicode: 'f064',
|
588 |
-
created: 1,
|
589 |
-
aliases: [ 'mail-forward' ],
|
590 |
-
categories: [ 'Web Application Icons' ] },
|
591 |
-
{ name: 'Expand',
|
592 |
-
id: 'expand',
|
593 |
-
unicode: 'f065',
|
594 |
-
created: 1,
|
595 |
-
filter: [ 'enlarge', 'bigger', 'resize' ],
|
596 |
-
categories: [ 'Video Player Icons' ] },
|
597 |
-
{ name: 'Compress',
|
598 |
-
id: 'compress',
|
599 |
-
unicode: 'f066',
|
600 |
-
created: 1,
|
601 |
-
filter: [ 'collapse', 'combine', 'contract', 'merge', 'smaller' ],
|
602 |
-
categories: [ 'Video Player Icons' ] },
|
603 |
-
{ name: 'plus',
|
604 |
-
id: 'plus',
|
605 |
-
unicode: 'f067',
|
606 |
-
created: 1,
|
607 |
-
filter: [ 'add', 'new', 'create', 'expand' ],
|
608 |
-
categories: [ 'Web Application Icons' ] },
|
609 |
-
{ name: 'minus',
|
610 |
-
id: 'minus',
|
611 |
-
unicode: 'f068',
|
612 |
-
created: 1,
|
613 |
-
filter: [ 'hide', 'minify', 'delete', 'remove', 'trash', 'hide', 'collapse' ],
|
614 |
-
categories: [ 'Web Application Icons' ] },
|
615 |
-
{ name: 'asterisk',
|
616 |
-
id: 'asterisk',
|
617 |
-
unicode: 'f069',
|
618 |
-
created: 1,
|
619 |
-
filter: [ 'details' ],
|
620 |
-
categories: [ 'Web Application Icons' ] },
|
621 |
-
{ name: 'Exclamation Circle',
|
622 |
-
id: 'exclamation-circle',
|
623 |
-
unicode: 'f06a',
|
624 |
-
created: 1,
|
625 |
-
filter: [ 'warning', 'error', 'problem', 'notification', 'alert' ],
|
626 |
-
categories: [ 'Web Application Icons' ] },
|
627 |
-
{ name: 'gift',
|
628 |
-
id: 'gift',
|
629 |
-
unicode: 'f06b',
|
630 |
-
created: 1,
|
631 |
-
filter: [ 'present' ],
|
632 |
-
categories: [ 'Web Application Icons' ] },
|
633 |
-
{ name: 'leaf',
|
634 |
-
id: 'leaf',
|
635 |
-
unicode: 'f06c',
|
636 |
-
created: 1,
|
637 |
-
filter: [ 'eco', 'nature', 'plant' ],
|
638 |
-
categories: [ 'Web Application Icons' ] },
|
639 |
-
{ name: 'fire',
|
640 |
-
id: 'fire',
|
641 |
-
unicode: 'f06d',
|
642 |
-
created: 1,
|
643 |
-
filter: [ 'flame', 'hot', 'popular' ],
|
644 |
-
categories: [ 'Web Application Icons' ] },
|
645 |
-
{ name: 'Eye',
|
646 |
-
id: 'eye',
|
647 |
-
unicode: 'f06e',
|
648 |
-
created: 1,
|
649 |
-
filter: [ 'show', 'visible', 'views' ],
|
650 |
-
categories: [ 'Web Application Icons' ] },
|
651 |
-
{ name: 'Eye Slash',
|
652 |
-
id: 'eye-slash',
|
653 |
-
unicode: 'f070',
|
654 |
-
created: 1,
|
655 |
-
filter: [ 'toggle', 'show', 'hide', 'visible', 'visiblity', 'views' ],
|
656 |
-
categories: [ 'Web Application Icons' ] },
|
657 |
-
{ name: 'Exclamation Triangle',
|
658 |
-
id: 'exclamation-triangle',
|
659 |
-
unicode: 'f071',
|
660 |
-
created: 1,
|
661 |
-
filter: [ 'warning', 'error', 'problem', 'notification', 'alert' ],
|
662 |
-
aliases: [ 'warning' ],
|
663 |
-
categories: [ 'Web Application Icons' ] },
|
664 |
-
{ name: 'plane',
|
665 |
-
id: 'plane',
|
666 |
-
unicode: 'f072',
|
667 |
-
created: 1,
|
668 |
-
filter:
|
669 |
-
[ 'travel',
|
670 |
-
'trip',
|
671 |
-
'location',
|
672 |
-
'destination',
|
673 |
-
'airplane',
|
674 |
-
'fly',
|
675 |
-
'mode' ],
|
676 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
677 |
-
{ name: 'calendar',
|
678 |
-
id: 'calendar',
|
679 |
-
unicode: 'f073',
|
680 |
-
created: 1,
|
681 |
-
filter: [ 'date', 'time', 'when', 'event' ],
|
682 |
-
categories: [ 'Web Application Icons' ] },
|
683 |
-
{ name: 'random',
|
684 |
-
id: 'random',
|
685 |
-
unicode: 'f074',
|
686 |
-
created: 1,
|
687 |
-
filter: [ 'sort', 'shuffle' ],
|
688 |
-
categories: [ 'Web Application Icons', 'Video Player Icons' ] },
|
689 |
-
{ name: 'comment',
|
690 |
-
id: 'comment',
|
691 |
-
unicode: 'f075',
|
692 |
-
created: 1,
|
693 |
-
filter:
|
694 |
-
[ 'speech',
|
695 |
-
'notification',
|
696 |
-
'note',
|
697 |
-
'chat',
|
698 |
-
'bubble',
|
699 |
-
'feedback',
|
700 |
-
'message',
|
701 |
-
'texting',
|
702 |
-
'sms',
|
703 |
-
'conversation' ],
|
704 |
-
categories: [ 'Web Application Icons' ] },
|
705 |
-
{ name: 'magnet',
|
706 |
-
id: 'magnet',
|
707 |
-
unicode: 'f076',
|
708 |
-
created: 1,
|
709 |
-
categories: [ 'Web Application Icons' ] },
|
710 |
-
{ name: 'chevron-up',
|
711 |
-
id: 'chevron-up',
|
712 |
-
unicode: 'f077',
|
713 |
-
created: 1,
|
714 |
-
categories: [ 'Directional Icons' ] },
|
715 |
-
{ name: 'chevron-down',
|
716 |
-
id: 'chevron-down',
|
717 |
-
unicode: 'f078',
|
718 |
-
created: 1,
|
719 |
-
categories: [ 'Directional Icons' ] },
|
720 |
-
{ name: 'retweet',
|
721 |
-
id: 'retweet',
|
722 |
-
unicode: 'f079',
|
723 |
-
created: 1,
|
724 |
-
filter: [ 'refresh', 'reload', 'share' ],
|
725 |
-
categories: [ 'Web Application Icons' ] },
|
726 |
-
{ name: 'shopping-cart',
|
727 |
-
id: 'shopping-cart',
|
728 |
-
unicode: 'f07a',
|
729 |
-
created: 1,
|
730 |
-
filter: [ 'checkout', 'buy', 'purchase', 'payment' ],
|
731 |
-
categories: [ 'Web Application Icons' ] },
|
732 |
-
{ name: 'Folder',
|
733 |
-
id: 'folder',
|
734 |
-
unicode: 'f07b',
|
735 |
-
created: 1,
|
736 |
-
categories: [ 'Web Application Icons' ] },
|
737 |
-
{ name: 'Folder Open',
|
738 |
-
id: 'folder-open',
|
739 |
-
unicode: 'f07c',
|
740 |
-
created: 1,
|
741 |
-
categories: [ 'Web Application Icons' ] },
|
742 |
-
{ name: 'Arrows Vertical',
|
743 |
-
id: 'arrows-v',
|
744 |
-
unicode: 'f07d',
|
745 |
-
created: 1,
|
746 |
-
filter: [ 'resize' ],
|
747 |
-
categories: [ 'Web Application Icons', 'Directional Icons' ] },
|
748 |
-
{ name: 'Arrows Horizontal',
|
749 |
-
id: 'arrows-h',
|
750 |
-
unicode: 'f07e',
|
751 |
-
created: 1,
|
752 |
-
filter: [ 'resize' ],
|
753 |
-
categories: [ 'Web Application Icons', 'Directional Icons' ] },
|
754 |
-
{ name: 'Bar Chart',
|
755 |
-
id: 'bar-chart',
|
756 |
-
unicode: 'f080',
|
757 |
-
created: 1,
|
758 |
-
aliases: [ 'bar-chart-o' ],
|
759 |
-
filter: [ 'graph', 'analytics' ],
|
760 |
-
categories: [ 'Web Application Icons', 'Chart Icons' ] },
|
761 |
-
{ name: 'Twitter Square',
|
762 |
-
id: 'twitter-square',
|
763 |
-
unicode: 'f081',
|
764 |
-
created: 1,
|
765 |
-
filter: [ 'tweet', 'social network' ],
|
766 |
-
categories: [ 'Brand Icons' ] },
|
767 |
-
{ name: 'Facebook Square',
|
768 |
-
id: 'facebook-square',
|
769 |
-
unicode: 'f082',
|
770 |
-
created: 1,
|
771 |
-
filter: [ 'social network' ],
|
772 |
-
categories: [ 'Brand Icons' ] },
|
773 |
-
{ name: 'camera-retro',
|
774 |
-
id: 'camera-retro',
|
775 |
-
unicode: 'f083',
|
776 |
-
created: 1,
|
777 |
-
filter: [ 'photo', 'picture', 'record' ],
|
778 |
-
categories: [ 'Web Application Icons' ] },
|
779 |
-
{ name: 'key',
|
780 |
-
id: 'key',
|
781 |
-
unicode: 'f084',
|
782 |
-
created: 1,
|
783 |
-
filter: [ 'unlock', 'password' ],
|
784 |
-
categories: [ 'Web Application Icons' ] },
|
785 |
-
{ name: 'cogs',
|
786 |
-
id: 'cogs',
|
787 |
-
unicode: 'f085',
|
788 |
-
created: 1,
|
789 |
-
aliases: [ 'gears' ],
|
790 |
-
filter: [ 'settings' ],
|
791 |
-
categories: [ 'Web Application Icons' ] },
|
792 |
-
{ name: 'comments',
|
793 |
-
id: 'comments',
|
794 |
-
unicode: 'f086',
|
795 |
-
created: 1,
|
796 |
-
filter:
|
797 |
-
[ 'speech',
|
798 |
-
'notification',
|
799 |
-
'note',
|
800 |
-
'chat',
|
801 |
-
'bubble',
|
802 |
-
'feedback',
|
803 |
-
'message',
|
804 |
-
'texting',
|
805 |
-
'sms',
|
806 |
-
'conversation' ],
|
807 |
-
categories: [ 'Web Application Icons' ] },
|
808 |
-
{ name: 'Thumbs Up Outlined',
|
809 |
-
id: 'thumbs-o-up',
|
810 |
-
unicode: 'f087',
|
811 |
-
created: 1,
|
812 |
-
filter: [ 'like', 'approve', 'favorite', 'agree', 'hand' ],
|
813 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
814 |
-
{ name: 'Thumbs Down Outlined',
|
815 |
-
id: 'thumbs-o-down',
|
816 |
-
unicode: 'f088',
|
817 |
-
created: 1,
|
818 |
-
filter: [ 'dislike', 'disapprove', 'disagree', 'hand' ],
|
819 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
820 |
-
{ name: 'star-half',
|
821 |
-
id: 'star-half',
|
822 |
-
unicode: 'f089',
|
823 |
-
created: 1,
|
824 |
-
filter: [ 'award', 'achievement', 'rating', 'score' ],
|
825 |
-
categories: [ 'Web Application Icons' ] },
|
826 |
-
{ name: 'Heart Outlined',
|
827 |
-
id: 'heart-o',
|
828 |
-
unicode: 'f08a',
|
829 |
-
created: 1,
|
830 |
-
filter: [ 'love', 'like', 'favorite' ],
|
831 |
-
categories: [ 'Web Application Icons', 'Medical Icons' ] },
|
832 |
-
{ name: 'Sign Out',
|
833 |
-
id: 'sign-out',
|
834 |
-
unicode: 'f08b',
|
835 |
-
created: 1,
|
836 |
-
filter: [ 'log out', 'logout', 'leave', 'exit', 'arrow' ],
|
837 |
-
categories: [ 'Web Application Icons' ] },
|
838 |
-
{ name: 'LinkedIn Square',
|
839 |
-
id: 'linkedin-square',
|
840 |
-
unicode: 'f08c',
|
841 |
-
created: 1,
|
842 |
-
categories: [ 'Brand Icons' ] },
|
843 |
-
{ name: 'Thumb Tack',
|
844 |
-
id: 'thumb-tack',
|
845 |
-
unicode: 'f08d',
|
846 |
-
created: 1,
|
847 |
-
filter: [ 'marker', 'pin', 'location', 'coordinates' ],
|
848 |
-
categories: [ 'Web Application Icons' ] },
|
849 |
-
{ name: 'External Link',
|
850 |
-
id: 'external-link',
|
851 |
-
unicode: 'f08e',
|
852 |
-
created: 1,
|
853 |
-
filter: [ 'open', 'new' ],
|
854 |
-
categories: [ 'Web Application Icons' ] },
|
855 |
-
{ name: 'Sign In',
|
856 |
-
id: 'sign-in',
|
857 |
-
unicode: 'f090',
|
858 |
-
created: 1,
|
859 |
-
filter:
|
860 |
-
[ 'enter',
|
861 |
-
'join',
|
862 |
-
'log in',
|
863 |
-
'login',
|
864 |
-
'sign up',
|
865 |
-
'sign in',
|
866 |
-
'signin',
|
867 |
-
'signup',
|
868 |
-
'arrow' ],
|
869 |
-
categories: [ 'Web Application Icons' ] },
|
870 |
-
{ name: 'trophy',
|
871 |
-
id: 'trophy',
|
872 |
-
unicode: 'f091',
|
873 |
-
created: 1,
|
874 |
-
filter: [ 'award', 'achievement', 'winner', 'game' ],
|
875 |
-
categories: [ 'Web Application Icons' ] },
|
876 |
-
{ name: 'GitHub Square',
|
877 |
-
id: 'github-square',
|
878 |
-
unicode: 'f092',
|
879 |
-
created: 1,
|
880 |
-
url: 'github.com/logos',
|
881 |
-
filter: [ 'octocat' ],
|
882 |
-
categories: [ 'Brand Icons' ] },
|
883 |
-
{ name: 'Upload',
|
884 |
-
id: 'upload',
|
885 |
-
unicode: 'f093',
|
886 |
-
created: 1,
|
887 |
-
filter: [ 'import' ],
|
888 |
-
categories: [ 'Web Application Icons' ] },
|
889 |
-
{ name: 'Lemon Outlined',
|
890 |
-
id: 'lemon-o',
|
891 |
-
unicode: 'f094',
|
892 |
-
created: 1,
|
893 |
-
filter: [ 'food' ],
|
894 |
-
categories: [ 'Web Application Icons' ] },
|
895 |
-
{ name: 'Phone',
|
896 |
-
id: 'phone',
|
897 |
-
unicode: 'f095',
|
898 |
-
created: 2,
|
899 |
-
filter: [ 'call', 'voice', 'number', 'support', 'earphone', 'telephone' ],
|
900 |
-
categories: [ 'Web Application Icons' ] },
|
901 |
-
{ name: 'Square Outlined',
|
902 |
-
id: 'square-o',
|
903 |
-
unicode: 'f096',
|
904 |
-
created: 2,
|
905 |
-
filter: [ 'block', 'square', 'box' ],
|
906 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
907 |
-
{ name: 'Bookmark Outlined',
|
908 |
-
id: 'bookmark-o',
|
909 |
-
unicode: 'f097',
|
910 |
-
created: 2,
|
911 |
-
filter: [ 'save' ],
|
912 |
-
categories: [ 'Web Application Icons' ] },
|
913 |
-
{ name: 'Phone Square',
|
914 |
-
id: 'phone-square',
|
915 |
-
unicode: 'f098',
|
916 |
-
created: 2,
|
917 |
-
filter: [ 'call', 'voice', 'number', 'support', 'telephone' ],
|
918 |
-
categories: [ 'Web Application Icons' ] },
|
919 |
-
{ name: 'Twitter',
|
920 |
-
id: 'twitter',
|
921 |
-
unicode: 'f099',
|
922 |
-
created: 2,
|
923 |
-
filter: [ 'tweet', 'social network' ],
|
924 |
-
categories: [ 'Brand Icons' ] },
|
925 |
-
{ name: 'Facebook',
|
926 |
-
id: 'facebook',
|
927 |
-
unicode: 'f09a',
|
928 |
-
created: 2,
|
929 |
-
aliases: [ 'facebook-f' ],
|
930 |
-
filter: [ 'social network' ],
|
931 |
-
categories: [ 'Brand Icons' ] },
|
932 |
-
{ name: 'GitHub',
|
933 |
-
id: 'github',
|
934 |
-
unicode: 'f09b',
|
935 |
-
created: 2,
|
936 |
-
url: 'github.com/logos',
|
937 |
-
filter: [ 'octocat' ],
|
938 |
-
categories: [ 'Brand Icons' ] },
|
939 |
-
{ name: 'unlock',
|
940 |
-
id: 'unlock',
|
941 |
-
unicode: 'f09c',
|
942 |
-
created: 2,
|
943 |
-
filter: [ 'protect', 'admin', 'password', 'lock' ],
|
944 |
-
categories: [ 'Web Application Icons' ] },
|
945 |
-
{ name: 'credit-card',
|
946 |
-
id: 'credit-card',
|
947 |
-
unicode: 'f09d',
|
948 |
-
created: 2,
|
949 |
-
filter: [ 'money', 'buy', 'debit', 'checkout', 'purchase', 'payment' ],
|
950 |
-
categories: [ 'Web Application Icons', 'Payment Icons' ] },
|
951 |
-
{ name: 'rss',
|
952 |
-
id: 'rss',
|
953 |
-
unicode: 'f09e',
|
954 |
-
created: 2,
|
955 |
-
filter: [ 'blog' ],
|
956 |
-
aliases: [ 'feed' ],
|
957 |
-
categories: [ 'Web Application Icons' ] },
|
958 |
-
{ name: 'HDD',
|
959 |
-
id: 'hdd-o',
|
960 |
-
unicode: 'f0a0',
|
961 |
-
created: 2,
|
962 |
-
filter: [ 'harddrive', 'hard drive', 'storage', 'save' ],
|
963 |
-
categories: [ 'Web Application Icons' ] },
|
964 |
-
{ name: 'bullhorn',
|
965 |
-
id: 'bullhorn',
|
966 |
-
unicode: 'f0a1',
|
967 |
-
created: 2,
|
968 |
-
filter: [ 'announcement', 'share', 'broadcast', 'louder', 'megaphone' ],
|
969 |
-
categories: [ 'Web Application Icons' ] },
|
970 |
-
{ name: 'bell',
|
971 |
-
id: 'bell',
|
972 |
-
unicode: 'f0f3',
|
973 |
-
created: 2,
|
974 |
-
filter: [ 'alert', 'reminder', 'notification' ],
|
975 |
-
categories: [ 'Web Application Icons' ] },
|
976 |
-
{ name: 'certificate',
|
977 |
-
id: 'certificate',
|
978 |
-
unicode: 'f0a3',
|
979 |
-
created: 2,
|
980 |
-
filter: [ 'badge', 'star' ],
|
981 |
-
categories: [ 'Web Application Icons' ] },
|
982 |
-
{ name: 'Hand Outlined Right',
|
983 |
-
id: 'hand-o-right',
|
984 |
-
unicode: 'f0a4',
|
985 |
-
created: 2,
|
986 |
-
filter: [ 'point', 'right', 'next', 'forward', 'finger' ],
|
987 |
-
categories: [ 'Directional Icons', 'Hand Icons' ] },
|
988 |
-
{ name: 'Hand Outlined Left',
|
989 |
-
id: 'hand-o-left',
|
990 |
-
unicode: 'f0a5',
|
991 |
-
created: 2,
|
992 |
-
filter: [ 'point', 'left', 'previous', 'back', 'finger' ],
|
993 |
-
categories: [ 'Directional Icons', 'Hand Icons' ] },
|
994 |
-
{ name: 'Hand Outlined Up',
|
995 |
-
id: 'hand-o-up',
|
996 |
-
unicode: 'f0a6',
|
997 |
-
created: 2,
|
998 |
-
filter: [ 'point', 'finger' ],
|
999 |
-
categories: [ 'Directional Icons', 'Hand Icons' ] },
|
1000 |
-
{ name: 'Hand Outlined Down',
|
1001 |
-
id: 'hand-o-down',
|
1002 |
-
unicode: 'f0a7',
|
1003 |
-
created: 2,
|
1004 |
-
filter: [ 'point', 'finger' ],
|
1005 |
-
categories: [ 'Directional Icons', 'Hand Icons' ] },
|
1006 |
-
{ name: 'Arrow Circle Left',
|
1007 |
-
id: 'arrow-circle-left',
|
1008 |
-
unicode: 'f0a8',
|
1009 |
-
created: 2,
|
1010 |
-
filter: [ 'previous', 'back' ],
|
1011 |
-
categories: [ 'Directional Icons' ] },
|
1012 |
-
{ name: 'Arrow Circle Right',
|
1013 |
-
id: 'arrow-circle-right',
|
1014 |
-
unicode: 'f0a9',
|
1015 |
-
created: 2,
|
1016 |
-
filter: [ 'next', 'forward' ],
|
1017 |
-
categories: [ 'Directional Icons' ] },
|
1018 |
-
{ name: 'Arrow Circle Up',
|
1019 |
-
id: 'arrow-circle-up',
|
1020 |
-
unicode: 'f0aa',
|
1021 |
-
created: 2,
|
1022 |
-
categories: [ 'Directional Icons' ] },
|
1023 |
-
{ name: 'Arrow Circle Down',
|
1024 |
-
id: 'arrow-circle-down',
|
1025 |
-
unicode: 'f0ab',
|
1026 |
-
created: 2,
|
1027 |
-
filter: [ 'download' ],
|
1028 |
-
categories: [ 'Directional Icons' ] },
|
1029 |
-
{ name: 'Globe',
|
1030 |
-
id: 'globe',
|
1031 |
-
unicode: 'f0ac',
|
1032 |
-
created: 2,
|
1033 |
-
filter:
|
1034 |
-
[ 'world',
|
1035 |
-
'planet',
|
1036 |
-
'map',
|
1037 |
-
'place',
|
1038 |
-
'travel',
|
1039 |
-
'earth',
|
1040 |
-
'global',
|
1041 |
-
'translate',
|
1042 |
-
'all',
|
1043 |
-
'language',
|
1044 |
-
'localize',
|
1045 |
-
'location',
|
1046 |
-
'coordinates',
|
1047 |
-
'country' ],
|
1048 |
-
categories: [ 'Web Application Icons' ] },
|
1049 |
-
{ name: 'Wrench',
|
1050 |
-
id: 'wrench',
|
1051 |
-
unicode: 'f0ad',
|
1052 |
-
created: 2,
|
1053 |
-
filter: [ 'settings', 'fix', 'update' ],
|
1054 |
-
categories: [ 'Web Application Icons' ] },
|
1055 |
-
{ name: 'Tasks',
|
1056 |
-
id: 'tasks',
|
1057 |
-
unicode: 'f0ae',
|
1058 |
-
created: 2,
|
1059 |
-
filter: [ 'progress', 'loading', 'downloading', 'downloads', 'settings' ],
|
1060 |
-
categories: [ 'Web Application Icons' ] },
|
1061 |
-
{ name: 'Filter',
|
1062 |
-
id: 'filter',
|
1063 |
-
unicode: 'f0b0',
|
1064 |
-
created: 2,
|
1065 |
-
filter: [ 'funnel', 'options' ],
|
1066 |
-
categories: [ 'Web Application Icons' ] },
|
1067 |
-
{ name: 'Briefcase',
|
1068 |
-
id: 'briefcase',
|
1069 |
-
unicode: 'f0b1',
|
1070 |
-
created: 2,
|
1071 |
-
filter: [ 'work', 'business', 'office', 'luggage', 'bag' ],
|
1072 |
-
categories: [ 'Web Application Icons' ] },
|
1073 |
-
{ name: 'Arrows Alt',
|
1074 |
-
id: 'arrows-alt',
|
1075 |
-
unicode: 'f0b2',
|
1076 |
-
created: 2,
|
1077 |
-
filter:
|
1078 |
-
[ 'expand',
|
1079 |
-
'enlarge',
|
1080 |
-
'fullscreen',
|
1081 |
-
'bigger',
|
1082 |
-
'move',
|
1083 |
-
'reorder',
|
1084 |
-
'resize',
|
1085 |
-
'arrow' ],
|
1086 |
-
categories: [ 'Video Player Icons', 'Directional Icons' ] },
|
1087 |
-
{ name: 'Users',
|
1088 |
-
id: 'users',
|
1089 |
-
unicode: 'f0c0',
|
1090 |
-
created: 2,
|
1091 |
-
filter: [ 'people', 'profiles', 'persons' ],
|
1092 |
-
aliases: [ 'group' ],
|
1093 |
-
categories: [ 'Web Application Icons' ] },
|
1094 |
-
{ name: 'Link',
|
1095 |
-
id: 'link',
|
1096 |
-
unicode: 'f0c1',
|
1097 |
-
created: 2,
|
1098 |
-
filter: [ 'chain' ],
|
1099 |
-
aliases: [ 'chain' ],
|
1100 |
-
categories: [ 'Text Editor Icons' ] },
|
1101 |
-
{ name: 'Cloud',
|
1102 |
-
id: 'cloud',
|
1103 |
-
filter: [ 'save' ],
|
1104 |
-
unicode: 'f0c2',
|
1105 |
-
created: 2,
|
1106 |
-
categories: [ 'Web Application Icons' ] },
|
1107 |
-
{ name: 'Flask',
|
1108 |
-
id: 'flask',
|
1109 |
-
unicode: 'f0c3',
|
1110 |
-
created: 2,
|
1111 |
-
filter: [ 'science', 'beaker', 'experimental', 'labs' ],
|
1112 |
-
categories: [ 'Web Application Icons' ] },
|
1113 |
-
{ name: 'Scissors',
|
1114 |
-
id: 'scissors',
|
1115 |
-
unicode: 'f0c4',
|
1116 |
-
created: 2,
|
1117 |
-
aliases: [ 'cut' ],
|
1118 |
-
categories: [ 'Text Editor Icons' ] },
|
1119 |
-
{ name: 'Files Outlined',
|
1120 |
-
id: 'files-o',
|
1121 |
-
unicode: 'f0c5',
|
1122 |
-
created: 2,
|
1123 |
-
filter: [ 'duplicate', 'clone', 'copy' ],
|
1124 |
-
aliases: [ 'copy' ],
|
1125 |
-
categories: [ 'Text Editor Icons' ] },
|
1126 |
-
{ name: 'Paperclip',
|
1127 |
-
id: 'paperclip',
|
1128 |
-
unicode: 'f0c6',
|
1129 |
-
created: 2,
|
1130 |
-
filter: [ 'attachment' ],
|
1131 |
-
categories: [ 'Text Editor Icons' ] },
|
1132 |
-
{ name: 'Floppy Outlined',
|
1133 |
-
id: 'floppy-o',
|
1134 |
-
unicode: 'f0c7',
|
1135 |
-
created: 2,
|
1136 |
-
aliases: [ 'save' ],
|
1137 |
-
categories: [ 'Text Editor Icons' ] },
|
1138 |
-
{ name: 'Square',
|
1139 |
-
id: 'square',
|
1140 |
-
unicode: 'f0c8',
|
1141 |
-
created: 2,
|
1142 |
-
filter: [ 'block', 'box' ],
|
1143 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
1144 |
-
{ name: 'Bars',
|
1145 |
-
id: 'bars',
|
1146 |
-
unicode: 'f0c9',
|
1147 |
-
created: 2,
|
1148 |
-
aliases: [ 'navicon', 'reorder' ],
|
1149 |
-
filter:
|
1150 |
-
[ 'menu',
|
1151 |
-
'drag',
|
1152 |
-
'reorder',
|
1153 |
-
'settings',
|
1154 |
-
'list',
|
1155 |
-
'ul',
|
1156 |
-
'ol',
|
1157 |
-
'checklist',
|
1158 |
-
'todo',
|
1159 |
-
'list',
|
1160 |
-
'hamburger' ],
|
1161 |
-
categories: [ 'Web Application Icons' ] },
|
1162 |
-
{ name: 'list-ul',
|
1163 |
-
id: 'list-ul',
|
1164 |
-
unicode: 'f0ca',
|
1165 |
-
created: 2,
|
1166 |
-
filter: [ 'ul', 'ol', 'checklist', 'todo', 'list' ],
|
1167 |
-
categories: [ 'Text Editor Icons' ] },
|
1168 |
-
{ name: 'list-ol',
|
1169 |
-
id: 'list-ol',
|
1170 |
-
unicode: 'f0cb',
|
1171 |
-
created: 2,
|
1172 |
-
filter: [ 'ul', 'ol', 'checklist', 'list', 'todo', 'list', 'numbers' ],
|
1173 |
-
categories: [ 'Text Editor Icons' ] },
|
1174 |
-
{ name: 'Strikethrough',
|
1175 |
-
id: 'strikethrough',
|
1176 |
-
unicode: 'f0cc',
|
1177 |
-
created: 2,
|
1178 |
-
categories: [ 'Text Editor Icons' ] },
|
1179 |
-
{ name: 'Underline',
|
1180 |
-
id: 'underline',
|
1181 |
-
unicode: 'f0cd',
|
1182 |
-
created: 2,
|
1183 |
-
categories: [ 'Text Editor Icons' ] },
|
1184 |
-
{ name: 'table',
|
1185 |
-
id: 'table',
|
1186 |
-
unicode: 'f0ce',
|
1187 |
-
created: 2,
|
1188 |
-
filter: [ 'data', 'excel', 'spreadsheet' ],
|
1189 |
-
categories: [ 'Text Editor Icons' ] },
|
1190 |
-
{ name: 'magic',
|
1191 |
-
id: 'magic',
|
1192 |
-
unicode: 'f0d0',
|
1193 |
-
created: 2,
|
1194 |
-
filter: [ 'wizard', 'automatic', 'autocomplete' ],
|
1195 |
-
categories: [ 'Web Application Icons' ] },
|
1196 |
-
{ name: 'truck',
|
1197 |
-
id: 'truck',
|
1198 |
-
unicode: 'f0d1',
|
1199 |
-
created: 2,
|
1200 |
-
filter: [ 'shipping' ],
|
1201 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
1202 |
-
{ name: 'Pinterest',
|
1203 |
-
id: 'pinterest',
|
1204 |
-
unicode: 'f0d2',
|
1205 |
-
created: 2,
|
1206 |
-
categories: [ 'Brand Icons' ] },
|
1207 |
-
{ name: 'Pinterest Square',
|
1208 |
-
id: 'pinterest-square',
|
1209 |
-
unicode: 'f0d3',
|
1210 |
-
created: 2,
|
1211 |
-
categories: [ 'Brand Icons' ] },
|
1212 |
-
{ name: 'Google Plus Square',
|
1213 |
-
id: 'google-plus-square',
|
1214 |
-
unicode: 'f0d4',
|
1215 |
-
created: 2,
|
1216 |
-
filter: [ 'social network' ],
|
1217 |
-
categories: [ 'Brand Icons' ] },
|
1218 |
-
{ name: 'Google Plus',
|
1219 |
-
id: 'google-plus',
|
1220 |
-
unicode: 'f0d5',
|
1221 |
-
created: 2,
|
1222 |
-
filter: [ 'social network' ],
|
1223 |
-
categories: [ 'Brand Icons' ] },
|
1224 |
-
{ name: 'Money',
|
1225 |
-
id: 'money',
|
1226 |
-
unicode: 'f0d6',
|
1227 |
-
created: 2,
|
1228 |
-
filter: [ 'cash', 'money', 'buy', 'checkout', 'purchase', 'payment' ],
|
1229 |
-
categories: [ 'Web Application Icons', 'Currency Icons' ] },
|
1230 |
-
{ name: 'Caret Down',
|
1231 |
-
id: 'caret-down',
|
1232 |
-
unicode: 'f0d7',
|
1233 |
-
created: 2,
|
1234 |
-
filter: [ 'more', 'dropdown', 'menu', 'triangle down', 'arrow' ],
|
1235 |
-
categories: [ 'Directional Icons' ] },
|
1236 |
-
{ name: 'Caret Up',
|
1237 |
-
id: 'caret-up',
|
1238 |
-
unicode: 'f0d8',
|
1239 |
-
created: 2,
|
1240 |
-
filter: [ 'triangle up', 'arrow' ],
|
1241 |
-
categories: [ 'Directional Icons' ] },
|
1242 |
-
{ name: 'Caret Left',
|
1243 |
-
id: 'caret-left',
|
1244 |
-
unicode: 'f0d9',
|
1245 |
-
created: 2,
|
1246 |
-
filter: [ 'previous', 'back', 'triangle left', 'arrow' ],
|
1247 |
-
categories: [ 'Directional Icons' ] },
|
1248 |
-
{ name: 'Caret Right',
|
1249 |
-
id: 'caret-right',
|
1250 |
-
unicode: 'f0da',
|
1251 |
-
created: 2,
|
1252 |
-
filter: [ 'next', 'forward', 'triangle right', 'arrow' ],
|
1253 |
-
categories: [ 'Directional Icons' ] },
|
1254 |
-
{ name: 'Columns',
|
1255 |
-
id: 'columns',
|
1256 |
-
unicode: 'f0db',
|
1257 |
-
created: 2,
|
1258 |
-
filter: [ 'split', 'panes' ],
|
1259 |
-
categories: [ 'Text Editor Icons' ] },
|
1260 |
-
{ name: 'Sort',
|
1261 |
-
id: 'sort',
|
1262 |
-
unicode: 'f0dc',
|
1263 |
-
created: 2,
|
1264 |
-
filter: [ 'order' ],
|
1265 |
-
aliases: [ 'unsorted' ],
|
1266 |
-
categories: [ 'Web Application Icons' ] },
|
1267 |
-
{ name: 'Sort Descending',
|
1268 |
-
id: 'sort-desc',
|
1269 |
-
unicode: 'f0dd',
|
1270 |
-
created: 2,
|
1271 |
-
filter: [ 'dropdown', 'more', 'menu', 'arrow' ],
|
1272 |
-
aliases: [ 'sort-down' ],
|
1273 |
-
categories: [ 'Web Application Icons' ] },
|
1274 |
-
{ name: 'Sort Ascending',
|
1275 |
-
id: 'sort-asc',
|
1276 |
-
unicode: 'f0de',
|
1277 |
-
created: 2,
|
1278 |
-
aliases: [ 'sort-up' ],
|
1279 |
-
filter: [ 'arrow' ],
|
1280 |
-
categories: [ 'Web Application Icons' ] },
|
1281 |
-
{ name: 'Envelope',
|
1282 |
-
id: 'envelope',
|
1283 |
-
unicode: 'f0e0',
|
1284 |
-
created: 2,
|
1285 |
-
filter: [ 'email', 'e-mail', 'letter', 'support', 'mail', 'notification' ],
|
1286 |
-
categories: [ 'Web Application Icons' ] },
|
1287 |
-
{ name: 'LinkedIn',
|
1288 |
-
id: 'linkedin',
|
1289 |
-
unicode: 'f0e1',
|
1290 |
-
created: 2,
|
1291 |
-
categories: [ 'Brand Icons' ] },
|
1292 |
-
{ name: 'Undo',
|
1293 |
-
id: 'undo',
|
1294 |
-
unicode: 'f0e2',
|
1295 |
-
created: 2,
|
1296 |
-
filter: [ 'back' ],
|
1297 |
-
aliases: [ 'rotate-left' ],
|
1298 |
-
categories: [ 'Text Editor Icons' ] },
|
1299 |
-
{ name: 'Gavel',
|
1300 |
-
id: 'gavel',
|
1301 |
-
unicode: 'f0e3',
|
1302 |
-
created: 2,
|
1303 |
-
label: [ 'judge', 'lawyer', 'opinion' ],
|
1304 |
-
aliases: [ 'legal' ],
|
1305 |
-
categories: [ 'Web Application Icons' ] },
|
1306 |
-
{ name: 'Tachometer',
|
1307 |
-
id: 'tachometer',
|
1308 |
-
unicode: 'f0e4',
|
1309 |
-
created: 2,
|
1310 |
-
label: [ 'speedometer', 'fast' ],
|
1311 |
-
aliases: [ 'dashboard' ],
|
1312 |
-
categories: [ 'Web Application Icons' ] },
|
1313 |
-
{ name: 'comment-o',
|
1314 |
-
id: 'comment-o',
|
1315 |
-
unicode: 'f0e5',
|
1316 |
-
created: 2,
|
1317 |
-
filter:
|
1318 |
-
[ 'speech',
|
1319 |
-
'notification',
|
1320 |
-
'note',
|
1321 |
-
'chat',
|
1322 |
-
'bubble',
|
1323 |
-
'feedback',
|
1324 |
-
'message',
|
1325 |
-
'texting',
|
1326 |
-
'sms',
|
1327 |
-
'conversation' ],
|
1328 |
-
categories: [ 'Web Application Icons' ] },
|
1329 |
-
{ name: 'comments-o',
|
1330 |
-
id: 'comments-o',
|
1331 |
-
unicode: 'f0e6',
|
1332 |
-
created: 2,
|
1333 |
-
filter:
|
1334 |
-
[ 'speech',
|
1335 |
-
'notification',
|
1336 |
-
'note',
|
1337 |
-
'chat',
|
1338 |
-
'bubble',
|
1339 |
-
'feedback',
|
1340 |
-
'message',
|
1341 |
-
'texting',
|
1342 |
-
'sms',
|
1343 |
-
'conversation' ],
|
1344 |
-
categories: [ 'Web Application Icons' ] },
|
1345 |
-
{ name: 'Lightning Bolt',
|
1346 |
-
id: 'bolt',
|
1347 |
-
unicode: 'f0e7',
|
1348 |
-
created: 2,
|
1349 |
-
filter: [ 'lightning', 'weather' ],
|
1350 |
-
aliases: [ 'flash' ],
|
1351 |
-
categories: [ 'Web Application Icons' ] },
|
1352 |
-
{ name: 'Sitemap',
|
1353 |
-
id: 'sitemap',
|
1354 |
-
unicode: 'f0e8',
|
1355 |
-
created: 2,
|
1356 |
-
filter: [ 'directory', 'hierarchy', 'organization' ],
|
1357 |
-
categories: [ 'Web Application Icons' ] },
|
1358 |
-
{ name: 'Umbrella',
|
1359 |
-
id: 'umbrella',
|
1360 |
-
unicode: 'f0e9',
|
1361 |
-
created: 2,
|
1362 |
-
categories: [ 'Web Application Icons' ] },
|
1363 |
-
{ name: 'Clipboard',
|
1364 |
-
id: 'clipboard',
|
1365 |
-
unicode: 'f0ea',
|
1366 |
-
created: 2,
|
1367 |
-
filter: [ 'copy' ],
|
1368 |
-
aliases: [ 'paste' ],
|
1369 |
-
categories: [ 'Text Editor Icons' ] },
|
1370 |
-
{ name: 'Lightbulb Outlined',
|
1371 |
-
id: 'lightbulb-o',
|
1372 |
-
unicode: 'f0eb',
|
1373 |
-
created: 3,
|
1374 |
-
filter: [ 'idea', 'inspiration' ],
|
1375 |
-
categories: [ 'Web Application Icons' ] },
|
1376 |
-
{ name: 'Exchange',
|
1377 |
-
id: 'exchange',
|
1378 |
-
unicode: 'f0ec',
|
1379 |
-
created: 3,
|
1380 |
-
filter: [ 'transfer', 'arrows', 'arrow' ],
|
1381 |
-
categories: [ 'Web Application Icons', 'Directional Icons' ] },
|
1382 |
-
{ name: 'Cloud Download',
|
1383 |
-
id: 'cloud-download',
|
1384 |
-
unicode: 'f0ed',
|
1385 |
-
created: 3,
|
1386 |
-
filter: [ 'import' ],
|
1387 |
-
categories: [ 'Web Application Icons' ] },
|
1388 |
-
{ name: 'Cloud Upload',
|
1389 |
-
id: 'cloud-upload',
|
1390 |
-
unicode: 'f0ee',
|
1391 |
-
created: 3,
|
1392 |
-
filter: [ 'import' ],
|
1393 |
-
categories: [ 'Web Application Icons' ] },
|
1394 |
-
{ name: 'user-md',
|
1395 |
-
id: 'user-md',
|
1396 |
-
unicode: 'f0f0',
|
1397 |
-
created: 2,
|
1398 |
-
filter: [ 'doctor', 'profile', 'medical', 'nurse' ],
|
1399 |
-
categories: [ 'Medical Icons' ] },
|
1400 |
-
{ name: 'Stethoscope',
|
1401 |
-
id: 'stethoscope',
|
1402 |
-
unicode: 'f0f1',
|
1403 |
-
created: 3,
|
1404 |
-
categories: [ 'Medical Icons' ] },
|
1405 |
-
{ name: 'Suitcase',
|
1406 |
-
id: 'suitcase',
|
1407 |
-
unicode: 'f0f2',
|
1408 |
-
created: 3,
|
1409 |
-
filter: [ 'trip', 'luggage', 'travel', 'move', 'baggage' ],
|
1410 |
-
categories: [ 'Web Application Icons' ] },
|
1411 |
-
{ name: 'Bell Outlined',
|
1412 |
-
id: 'bell-o',
|
1413 |
-
unicode: 'f0a2',
|
1414 |
-
created: 3,
|
1415 |
-
filter: [ 'alert', 'reminder', 'notification' ],
|
1416 |
-
categories: [ 'Web Application Icons' ] },
|
1417 |
-
{ name: 'Coffee',
|
1418 |
-
id: 'coffee',
|
1419 |
-
unicode: 'f0f4',
|
1420 |
-
created: 3,
|
1421 |
-
filter: [ 'morning', 'mug', 'breakfast', 'tea', 'drink', 'cafe' ],
|
1422 |
-
categories: [ 'Web Application Icons' ] },
|
1423 |
-
{ name: 'Cutlery',
|
1424 |
-
id: 'cutlery',
|
1425 |
-
unicode: 'f0f5',
|
1426 |
-
created: 3,
|
1427 |
-
filter: [ 'food', 'restaurant', 'spoon', 'knife', 'dinner', 'eat' ],
|
1428 |
-
categories: [ 'Web Application Icons' ] },
|
1429 |
-
{ name: 'File Text Outlined',
|
1430 |
-
id: 'file-text-o',
|
1431 |
-
unicode: 'f0f6',
|
1432 |
-
created: 3,
|
1433 |
-
filter: [ 'new', 'page', 'pdf', 'document' ],
|
1434 |
-
categories: [ 'Text Editor Icons', 'File Type Icons' ] },
|
1435 |
-
{ name: 'Building Outlined',
|
1436 |
-
id: 'building-o',
|
1437 |
-
unicode: 'f0f7',
|
1438 |
-
created: 3,
|
1439 |
-
filter: [ 'work', 'business', 'apartment', 'office', 'company' ],
|
1440 |
-
categories: [ 'Web Application Icons' ] },
|
1441 |
-
{ name: 'hospital Outlined',
|
1442 |
-
id: 'hospital-o',
|
1443 |
-
unicode: 'f0f8',
|
1444 |
-
created: 3,
|
1445 |
-
filter: [ 'building' ],
|
1446 |
-
categories: [ 'Medical Icons' ] },
|
1447 |
-
{ name: 'ambulance',
|
1448 |
-
id: 'ambulance',
|
1449 |
-
unicode: 'f0f9',
|
1450 |
-
created: 3,
|
1451 |
-
filter: [ 'vehicle', 'support', 'help' ],
|
1452 |
-
categories: [ 'Medical Icons', 'Transportation Icons' ] },
|
1453 |
-
{ name: 'medkit',
|
1454 |
-
id: 'medkit',
|
1455 |
-
unicode: 'f0fa',
|
1456 |
-
created: 3,
|
1457 |
-
filter: [ 'first aid', 'firstaid', 'help', 'support', 'health' ],
|
1458 |
-
categories: [ 'Medical Icons' ] },
|
1459 |
-
{ name: 'fighter-jet',
|
1460 |
-
id: 'fighter-jet',
|
1461 |
-
unicode: 'f0fb',
|
1462 |
-
created: 3,
|
1463 |
-
filter: [ 'fly', 'plane', 'airplane', 'quick', 'fast', 'travel' ],
|
1464 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
1465 |
-
{ name: 'beer',
|
1466 |
-
id: 'beer',
|
1467 |
-
unicode: 'f0fc',
|
1468 |
-
created: 3,
|
1469 |
-
filter: [ 'alcohol', 'stein', 'drink', 'mug', 'bar', 'liquor' ],
|
1470 |
-
categories: [ 'Web Application Icons' ] },
|
1471 |
-
{ name: 'H Square',
|
1472 |
-
id: 'h-square',
|
1473 |
-
unicode: 'f0fd',
|
1474 |
-
created: 3,
|
1475 |
-
filter: [ 'hospital', 'hotel' ],
|
1476 |
-
categories: [ 'Medical Icons' ] },
|
1477 |
-
{ name: 'Plus Square',
|
1478 |
-
id: 'plus-square',
|
1479 |
-
unicode: 'f0fe',
|
1480 |
-
created: 3,
|
1481 |
-
filter: [ 'add', 'new', 'create', 'expand' ],
|
1482 |
-
categories:
|
1483 |
-
[ 'Medical Icons',
|
1484 |
-
'Web Application Icons',
|
1485 |
-
'Form Control Icons' ] },
|
1486 |
-
{ name: 'Angle Double Left',
|
1487 |
-
id: 'angle-double-left',
|
1488 |
-
unicode: 'f100',
|
1489 |
-
created: 3,
|
1490 |
-
filter: [ 'laquo', 'quote', 'previous', 'back', 'arrows' ],
|
1491 |
-
categories: [ 'Directional Icons' ] },
|
1492 |
-
{ name: 'Angle Double Right',
|
1493 |
-
id: 'angle-double-right',
|
1494 |
-
unicode: 'f101',
|
1495 |
-
created: 3,
|
1496 |
-
filter: [ 'raquo', 'quote', 'next', 'forward', 'arrows' ],
|
1497 |
-
categories: [ 'Directional Icons' ] },
|
1498 |
-
{ name: 'Angle Double Up',
|
1499 |
-
id: 'angle-double-up',
|
1500 |
-
unicode: 'f102',
|
1501 |
-
created: 3,
|
1502 |
-
filter: [ 'arrows' ],
|
1503 |
-
categories: [ 'Directional Icons' ] },
|
1504 |
-
{ name: 'Angle Double Down',
|
1505 |
-
id: 'angle-double-down',
|
1506 |
-
unicode: 'f103',
|
1507 |
-
created: 3,
|
1508 |
-
filter: [ 'arrows' ],
|
1509 |
-
categories: [ 'Directional Icons' ] },
|
1510 |
-
{ name: 'angle-left',
|
1511 |
-
id: 'angle-left',
|
1512 |
-
unicode: 'f104',
|
1513 |
-
created: 3,
|
1514 |
-
filter: [ 'previous', 'back', 'arrow' ],
|
1515 |
-
categories: [ 'Directional Icons' ] },
|
1516 |
-
{ name: 'angle-right',
|
1517 |
-
id: 'angle-right',
|
1518 |
-
unicode: 'f105',
|
1519 |
-
created: 3,
|
1520 |
-
filter: [ 'next', 'forward', 'arrow' ],
|
1521 |
-
categories: [ 'Directional Icons' ] },
|
1522 |
-
{ name: 'angle-up',
|
1523 |
-
id: 'angle-up',
|
1524 |
-
unicode: 'f106',
|
1525 |
-
created: 3,
|
1526 |
-
filter: [ 'arrow' ],
|
1527 |
-
categories: [ 'Directional Icons' ] },
|
1528 |
-
{ name: 'angle-down',
|
1529 |
-
id: 'angle-down',
|
1530 |
-
unicode: 'f107',
|
1531 |
-
created: 3,
|
1532 |
-
filter: [ 'arrow' ],
|
1533 |
-
categories: [ 'Directional Icons' ] },
|
1534 |
-
{ name: 'Desktop',
|
1535 |
-
id: 'desktop',
|
1536 |
-
unicode: 'f108',
|
1537 |
-
created: 3,
|
1538 |
-
filter: [ 'monitor', 'screen', 'desktop', 'computer', 'demo', 'device' ],
|
1539 |
-
categories: [ 'Web Application Icons' ] },
|
1540 |
-
{ name: 'Laptop',
|
1541 |
-
id: 'laptop',
|
1542 |
-
unicode: 'f109',
|
1543 |
-
created: 3,
|
1544 |
-
filter: [ 'demo', 'computer', 'device' ],
|
1545 |
-
categories: [ 'Web Application Icons' ] },
|
1546 |
-
{ name: 'tablet',
|
1547 |
-
id: 'tablet',
|
1548 |
-
unicode: 'f10a',
|
1549 |
-
created: 3,
|
1550 |
-
filter: [ 'ipad', 'device' ],
|
1551 |
-
categories: [ 'Web Application Icons' ] },
|
1552 |
-
{ name: 'Mobile Phone',
|
1553 |
-
id: 'mobile',
|
1554 |
-
unicode: 'f10b',
|
1555 |
-
created: 3,
|
1556 |
-
filter:
|
1557 |
-
[ 'cell phone',
|
1558 |
-
'cellphone',
|
1559 |
-
'text',
|
1560 |
-
'call',
|
1561 |
-
'iphone',
|
1562 |
-
'number',
|
1563 |
-
'telephone' ],
|
1564 |
-
aliases: [ 'mobile-phone' ],
|
1565 |
-
categories: [ 'Web Application Icons' ] },
|
1566 |
-
{ name: 'Circle Outlined',
|
1567 |
-
id: 'circle-o',
|
1568 |
-
unicode: 'f10c',
|
1569 |
-
created: 3,
|
1570 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
1571 |
-
{ name: 'quote-left',
|
1572 |
-
id: 'quote-left',
|
1573 |
-
unicode: 'f10d',
|
1574 |
-
created: 3,
|
1575 |
-
categories: [ 'Web Application Icons' ] },
|
1576 |
-
{ name: 'quote-right',
|
1577 |
-
id: 'quote-right',
|
1578 |
-
unicode: 'f10e',
|
1579 |
-
created: 3,
|
1580 |
-
categories: [ 'Web Application Icons' ] },
|
1581 |
-
{ name: 'Spinner',
|
1582 |
-
id: 'spinner',
|
1583 |
-
unicode: 'f110',
|
1584 |
-
created: 3,
|
1585 |
-
filter: [ 'loading', 'progress' ],
|
1586 |
-
categories: [ 'Web Application Icons', 'Spinner Icons' ] },
|
1587 |
-
{ name: 'Circle',
|
1588 |
-
id: 'circle',
|
1589 |
-
unicode: 'f111',
|
1590 |
-
created: 3,
|
1591 |
-
filter: [ 'dot', 'notification' ],
|
1592 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
1593 |
-
{ name: 'Reply',
|
1594 |
-
id: 'reply',
|
1595 |
-
unicode: 'f112',
|
1596 |
-
created: 3,
|
1597 |
-
aliases: [ 'mail-reply' ],
|
1598 |
-
categories: [ 'Web Application Icons' ] },
|
1599 |
-
{ name: 'GitHub Alt',
|
1600 |
-
id: 'github-alt',
|
1601 |
-
unicode: 'f113',
|
1602 |
-
created: 3,
|
1603 |
-
url: 'github.com/logos',
|
1604 |
-
filter: [ 'octocat' ],
|
1605 |
-
categories: [ 'Brand Icons' ] },
|
1606 |
-
{ name: 'Folder Outlined',
|
1607 |
-
id: 'folder-o',
|
1608 |
-
unicode: 'f114',
|
1609 |
-
created: 3,
|
1610 |
-
categories: [ 'Web Application Icons' ] },
|
1611 |
-
{ name: 'Folder Open Outlined',
|
1612 |
-
id: 'folder-open-o',
|
1613 |
-
unicode: 'f115',
|
1614 |
-
created: 3,
|
1615 |
-
categories: [ 'Web Application Icons' ] },
|
1616 |
-
{ name: 'Smile Outlined',
|
1617 |
-
id: 'smile-o',
|
1618 |
-
unicode: 'f118',
|
1619 |
-
created: 3.1,
|
1620 |
-
filter: [ 'face', 'emoticon', 'happy', 'approve', 'satisfied', 'rating' ],
|
1621 |
-
categories: [ 'Web Application Icons' ] },
|
1622 |
-
{ name: 'Frown Outlined',
|
1623 |
-
id: 'frown-o',
|
1624 |
-
unicode: 'f119',
|
1625 |
-
created: 3.1,
|
1626 |
-
filter: [ 'face', 'emoticon', 'sad', 'disapprove', 'rating' ],
|
1627 |
-
categories: [ 'Web Application Icons' ] },
|
1628 |
-
{ name: 'Meh Outlined',
|
1629 |
-
id: 'meh-o',
|
1630 |
-
unicode: 'f11a',
|
1631 |
-
created: 3.1,
|
1632 |
-
filter: [ 'face', 'emoticon', 'rating', 'neutral' ],
|
1633 |
-
categories: [ 'Web Application Icons' ] },
|
1634 |
-
{ name: 'Gamepad',
|
1635 |
-
id: 'gamepad',
|
1636 |
-
unicode: 'f11b',
|
1637 |
-
created: 3.1,
|
1638 |
-
filter: [ 'controller' ],
|
1639 |
-
categories: [ 'Web Application Icons' ] },
|
1640 |
-
{ name: 'Keyboard Outlined',
|
1641 |
-
id: 'keyboard-o',
|
1642 |
-
unicode: 'f11c',
|
1643 |
-
created: 3.1,
|
1644 |
-
filter: [ 'type', 'input' ],
|
1645 |
-
categories: [ 'Web Application Icons' ] },
|
1646 |
-
{ name: 'Flag Outlined',
|
1647 |
-
id: 'flag-o',
|
1648 |
-
unicode: 'f11d',
|
1649 |
-
created: 3.1,
|
1650 |
-
filter: [ 'report', 'notification' ],
|
1651 |
-
categories: [ 'Web Application Icons' ] },
|
1652 |
-
{ name: 'flag-checkered',
|
1653 |
-
id: 'flag-checkered',
|
1654 |
-
unicode: 'f11e',
|
1655 |
-
created: 3.1,
|
1656 |
-
filter: [ 'report', 'notification', 'notify' ],
|
1657 |
-
categories: [ 'Web Application Icons' ] },
|
1658 |
-
{ name: 'Terminal',
|
1659 |
-
id: 'terminal',
|
1660 |
-
unicode: 'f120',
|
1661 |
-
created: 3.1,
|
1662 |
-
filter: [ 'command', 'prompt', 'code' ],
|
1663 |
-
categories: [ 'Web Application Icons' ] },
|
1664 |
-
{ name: 'Code',
|
1665 |
-
id: 'code',
|
1666 |
-
unicode: 'f121',
|
1667 |
-
created: 3.1,
|
1668 |
-
filter: [ 'html', 'brackets' ],
|
1669 |
-
categories: [ 'Web Application Icons' ] },
|
1670 |
-
{ name: 'reply-all',
|
1671 |
-
id: 'reply-all',
|
1672 |
-
unicode: 'f122',
|
1673 |
-
created: 3.1,
|
1674 |
-
aliases: [ 'mail-reply-all' ],
|
1675 |
-
categories: [ 'Web Application Icons' ] },
|
1676 |
-
{ name: 'Star Half Outlined',
|
1677 |
-
id: 'star-half-o',
|
1678 |
-
unicode: 'f123',
|
1679 |
-
created: 3.1,
|
1680 |
-
filter: [ 'award', 'achievement', 'rating', 'score' ],
|
1681 |
-
aliases: [ 'star-half-empty', 'star-half-full' ],
|
1682 |
-
categories: [ 'Web Application Icons' ] },
|
1683 |
-
{ name: 'location-arrow',
|
1684 |
-
id: 'location-arrow',
|
1685 |
-
unicode: 'f124',
|
1686 |
-
created: 3.1,
|
1687 |
-
filter: [ 'map', 'coordinates', 'location', 'address', 'place', 'where' ],
|
1688 |
-
categories: [ 'Web Application Icons' ] },
|
1689 |
-
{ name: 'crop',
|
1690 |
-
id: 'crop',
|
1691 |
-
unicode: 'f125',
|
1692 |
-
created: 3.1,
|
1693 |
-
categories: [ 'Web Application Icons' ] },
|
1694 |
-
{ name: 'code-fork',
|
1695 |
-
id: 'code-fork',
|
1696 |
-
unicode: 'f126',
|
1697 |
-
created: 3.1,
|
1698 |
-
filter:
|
1699 |
-
[ 'git',
|
1700 |
-
'fork',
|
1701 |
-
'vcs',
|
1702 |
-
'svn',
|
1703 |
-
'github',
|
1704 |
-
'rebase',
|
1705 |
-
'version',
|
1706 |
-
'merge' ],
|
1707 |
-
categories: [ 'Web Application Icons' ] },
|
1708 |
-
{ name: 'Chain Broken',
|
1709 |
-
id: 'chain-broken',
|
1710 |
-
unicode: 'f127',
|
1711 |
-
created: 3.1,
|
1712 |
-
filter: [ 'remove' ],
|
1713 |
-
aliases: [ 'unlink' ],
|
1714 |
-
categories: [ 'Text Editor Icons' ] },
|
1715 |
-
{ name: 'Question',
|
1716 |
-
id: 'question',
|
1717 |
-
unicode: 'f128',
|
1718 |
-
created: 3.1,
|
1719 |
-
filter: [ 'help', 'information', 'unknown', 'support' ],
|
1720 |
-
categories: [ 'Web Application Icons' ] },
|
1721 |
-
{ name: 'Info',
|
1722 |
-
id: 'info',
|
1723 |
-
unicode: 'f129',
|
1724 |
-
created: 3.1,
|
1725 |
-
filter: [ 'help', 'information', 'more', 'details' ],
|
1726 |
-
categories: [ 'Web Application Icons' ] },
|
1727 |
-
{ name: 'exclamation',
|
1728 |
-
id: 'exclamation',
|
1729 |
-
unicode: 'f12a',
|
1730 |
-
created: 3.1,
|
1731 |
-
filter: [ 'warning', 'error', 'problem', 'notification', 'notify', 'alert' ],
|
1732 |
-
categories: [ 'Web Application Icons' ] },
|
1733 |
-
{ name: 'superscript',
|
1734 |
-
id: 'superscript',
|
1735 |
-
unicode: 'f12b',
|
1736 |
-
created: 3.1,
|
1737 |
-
filter: [ 'exponential' ],
|
1738 |
-
categories: [ 'Text Editor Icons' ] },
|
1739 |
-
{ name: 'subscript',
|
1740 |
-
id: 'subscript',
|
1741 |
-
unicode: 'f12c',
|
1742 |
-
created: 3.1,
|
1743 |
-
categories: [ 'Text Editor Icons' ] },
|
1744 |
-
{ name: 'eraser',
|
1745 |
-
id: 'eraser',
|
1746 |
-
unicode: 'f12d',
|
1747 |
-
created: 3.1,
|
1748 |
-
filter: [ 'remove', 'delete' ],
|
1749 |
-
categories: [ 'Text Editor Icons', 'Web Application Icons' ] },
|
1750 |
-
{ name: 'Puzzle Piece',
|
1751 |
-
id: 'puzzle-piece',
|
1752 |
-
unicode: 'f12e',
|
1753 |
-
created: 3.1,
|
1754 |
-
filter: [ 'addon', 'add-on', 'section' ],
|
1755 |
-
categories: [ 'Web Application Icons' ] },
|
1756 |
-
{ name: 'microphone',
|
1757 |
-
id: 'microphone',
|
1758 |
-
unicode: 'f130',
|
1759 |
-
created: 3.1,
|
1760 |
-
filter: [ 'record', 'voice', 'sound' ],
|
1761 |
-
categories: [ 'Web Application Icons' ] },
|
1762 |
-
{ name: 'Microphone Slash',
|
1763 |
-
id: 'microphone-slash',
|
1764 |
-
unicode: 'f131',
|
1765 |
-
created: 3.1,
|
1766 |
-
filter: [ 'record', 'voice', 'sound', 'mute' ],
|
1767 |
-
categories: [ 'Web Application Icons' ] },
|
1768 |
-
{ name: 'shield',
|
1769 |
-
id: 'shield',
|
1770 |
-
unicode: 'f132',
|
1771 |
-
created: 3.1,
|
1772 |
-
filter: [ 'award', 'achievement', 'winner' ],
|
1773 |
-
categories: [ 'Web Application Icons' ] },
|
1774 |
-
{ name: 'calendar-o',
|
1775 |
-
id: 'calendar-o',
|
1776 |
-
unicode: 'f133',
|
1777 |
-
created: 3.1,
|
1778 |
-
filter: [ 'date', 'time', 'when', 'event' ],
|
1779 |
-
categories: [ 'Web Application Icons' ] },
|
1780 |
-
{ name: 'fire-extinguisher',
|
1781 |
-
id: 'fire-extinguisher',
|
1782 |
-
unicode: 'f134',
|
1783 |
-
created: 3.1,
|
1784 |
-
categories: [ 'Web Application Icons' ] },
|
1785 |
-
{ name: 'rocket',
|
1786 |
-
id: 'rocket',
|
1787 |
-
unicode: 'f135',
|
1788 |
-
created: 3.1,
|
1789 |
-
filter: [ 'app' ],
|
1790 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
1791 |
-
{ name: 'MaxCDN',
|
1792 |
-
id: 'maxcdn',
|
1793 |
-
unicode: 'f136',
|
1794 |
-
created: 3.1,
|
1795 |
-
categories: [ 'Brand Icons' ] },
|
1796 |
-
{ name: 'Chevron Circle Left',
|
1797 |
-
id: 'chevron-circle-left',
|
1798 |
-
unicode: 'f137',
|
1799 |
-
created: 3.1,
|
1800 |
-
filter: [ 'previous', 'back', 'arrow' ],
|
1801 |
-
categories: [ 'Directional Icons' ] },
|
1802 |
-
{ name: 'Chevron Circle Right',
|
1803 |
-
id: 'chevron-circle-right',
|
1804 |
-
unicode: 'f138',
|
1805 |
-
created: 3.1,
|
1806 |
-
filter: [ 'next', 'forward', 'arrow' ],
|
1807 |
-
categories: [ 'Directional Icons' ] },
|
1808 |
-
{ name: 'Chevron Circle Up',
|
1809 |
-
id: 'chevron-circle-up',
|
1810 |
-
unicode: 'f139',
|
1811 |
-
created: 3.1,
|
1812 |
-
filter: [ 'arrow' ],
|
1813 |
-
categories: [ 'Directional Icons' ] },
|
1814 |
-
{ name: 'Chevron Circle Down',
|
1815 |
-
id: 'chevron-circle-down',
|
1816 |
-
unicode: 'f13a',
|
1817 |
-
created: 3.1,
|
1818 |
-
filter: [ 'more', 'dropdown', 'menu', 'arrow' ],
|
1819 |
-
categories: [ 'Directional Icons' ] },
|
1820 |
-
{ name: 'HTML 5 Logo',
|
1821 |
-
id: 'html5',
|
1822 |
-
unicode: 'f13b',
|
1823 |
-
created: 3.1,
|
1824 |
-
code: [ 'code', 'html5' ],
|
1825 |
-
categories: [ 'Brand Icons' ] },
|
1826 |
-
{ name: 'CSS 3 Logo',
|
1827 |
-
id: 'css3',
|
1828 |
-
unicode: 'f13c',
|
1829 |
-
created: 3.1,
|
1830 |
-
filter: [ 'code' ],
|
1831 |
-
categories: [ 'Brand Icons' ] },
|
1832 |
-
{ name: 'Anchor',
|
1833 |
-
id: 'anchor',
|
1834 |
-
unicode: 'f13d',
|
1835 |
-
created: 3.1,
|
1836 |
-
filter: [ 'link' ],
|
1837 |
-
categories: [ 'Web Application Icons' ] },
|
1838 |
-
{ name: 'Unlock Alt',
|
1839 |
-
id: 'unlock-alt',
|
1840 |
-
unicode: 'f13e',
|
1841 |
-
created: 3.1,
|
1842 |
-
filter: [ 'protect', 'admin', 'password', 'lock' ],
|
1843 |
-
categories: [ 'Web Application Icons' ] },
|
1844 |
-
{ name: 'Bullseye',
|
1845 |
-
id: 'bullseye',
|
1846 |
-
unicode: 'f140',
|
1847 |
-
created: 3.1,
|
1848 |
-
filter: [ 'target' ],
|
1849 |
-
categories: [ 'Web Application Icons' ] },
|
1850 |
-
{ name: 'Ellipsis Horizontal',
|
1851 |
-
id: 'ellipsis-h',
|
1852 |
-
unicode: 'f141',
|
1853 |
-
created: 3.1,
|
1854 |
-
filter: [ 'dots' ],
|
1855 |
-
categories: [ 'Web Application Icons' ] },
|
1856 |
-
{ name: 'Ellipsis Vertical',
|
1857 |
-
id: 'ellipsis-v',
|
1858 |
-
unicode: 'f142',
|
1859 |
-
created: 3.1,
|
1860 |
-
filter: [ 'dots' ],
|
1861 |
-
categories: [ 'Web Application Icons' ] },
|
1862 |
-
{ name: 'RSS Square',
|
1863 |
-
id: 'rss-square',
|
1864 |
-
unicode: 'f143',
|
1865 |
-
created: 3.1,
|
1866 |
-
filter: [ 'feed', 'blog' ],
|
1867 |
-
categories: [ 'Web Application Icons' ] },
|
1868 |
-
{ name: 'Play Circle',
|
1869 |
-
id: 'play-circle',
|
1870 |
-
unicode: 'f144',
|
1871 |
-
created: 3.1,
|
1872 |
-
filter: [ 'start', 'playing' ],
|
1873 |
-
categories: [ 'Video Player Icons' ] },
|
1874 |
-
{ name: 'Ticket',
|
1875 |
-
id: 'ticket',
|
1876 |
-
unicode: 'f145',
|
1877 |
-
created: 3.1,
|
1878 |
-
filter: [ 'movie', 'pass', 'support' ],
|
1879 |
-
categories: [ 'Web Application Icons' ] },
|
1880 |
-
{ name: 'Minus Square',
|
1881 |
-
id: 'minus-square',
|
1882 |
-
unicode: 'f146',
|
1883 |
-
created: 3.1,
|
1884 |
-
filter: [ 'hide', 'minify', 'delete', 'remove', 'trash', 'hide', 'collapse' ],
|
1885 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
1886 |
-
{ name: 'Minus Square Outlined',
|
1887 |
-
id: 'minus-square-o',
|
1888 |
-
unicode: 'f147',
|
1889 |
-
created: 3.1,
|
1890 |
-
filter: [ 'hide', 'minify', 'delete', 'remove', 'trash', 'hide', 'collapse' ],
|
1891 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
1892 |
-
{ name: 'Level Up',
|
1893 |
-
id: 'level-up',
|
1894 |
-
unicode: 'f148',
|
1895 |
-
created: 3.1,
|
1896 |
-
filter: [ 'arrow' ],
|
1897 |
-
categories: [ 'Web Application Icons' ] },
|
1898 |
-
{ name: 'Level Down',
|
1899 |
-
id: 'level-down',
|
1900 |
-
unicode: 'f149',
|
1901 |
-
created: 3.1,
|
1902 |
-
filter: [ 'arrow' ],
|
1903 |
-
categories: [ 'Web Application Icons' ] },
|
1904 |
-
{ name: 'Check Square',
|
1905 |
-
id: 'check-square',
|
1906 |
-
unicode: 'f14a',
|
1907 |
-
created: 3.1,
|
1908 |
-
filter: [ 'checkmark', 'done', 'todo', 'agree', 'accept', 'confirm', 'ok' ],
|
1909 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
1910 |
-
{ name: 'Pencil Square',
|
1911 |
-
id: 'pencil-square',
|
1912 |
-
unicode: 'f14b',
|
1913 |
-
created: 3.1,
|
1914 |
-
filter: [ 'write', 'edit', 'update' ],
|
1915 |
-
categories: [ 'Web Application Icons' ] },
|
1916 |
-
{ name: 'External Link Square',
|
1917 |
-
id: 'external-link-square',
|
1918 |
-
unicode: 'f14c',
|
1919 |
-
created: 3.1,
|
1920 |
-
filter: [ 'open', 'new' ],
|
1921 |
-
categories: [ 'Web Application Icons' ] },
|
1922 |
-
{ name: 'Share Square',
|
1923 |
-
id: 'share-square',
|
1924 |
-
unicode: 'f14d',
|
1925 |
-
created: 3.1,
|
1926 |
-
filter: [ 'social', 'send' ],
|
1927 |
-
categories: [ 'Web Application Icons' ] },
|
1928 |
-
{ name: 'Compass',
|
1929 |
-
id: 'compass',
|
1930 |
-
unicode: 'f14e',
|
1931 |
-
created: 3.2,
|
1932 |
-
filter: [ 'safari', 'directory', 'menu', 'location' ],
|
1933 |
-
categories: [ 'Web Application Icons' ] },
|
1934 |
-
{ name: 'Caret Square Outlined Down',
|
1935 |
-
id: 'caret-square-o-down',
|
1936 |
-
unicode: 'f150',
|
1937 |
-
created: 3.2,
|
1938 |
-
aliases: [ 'toggle-down' ],
|
1939 |
-
filter: [ 'more', 'dropdown', 'menu' ],
|
1940 |
-
categories: [ 'Web Application Icons', 'Directional Icons' ] },
|
1941 |
-
{ name: 'Caret Square Outlined Up',
|
1942 |
-
id: 'caret-square-o-up',
|
1943 |
-
unicode: 'f151',
|
1944 |
-
created: 3.2,
|
1945 |
-
aliases: [ 'toggle-up' ],
|
1946 |
-
categories: [ 'Web Application Icons', 'Directional Icons' ] },
|
1947 |
-
{ name: 'Caret Square Outlined Right',
|
1948 |
-
id: 'caret-square-o-right',
|
1949 |
-
unicode: 'f152',
|
1950 |
-
created: 3.2,
|
1951 |
-
filter: [ 'next', 'forward' ],
|
1952 |
-
aliases: [ 'toggle-right' ],
|
1953 |
-
categories: [ 'Web Application Icons', 'Directional Icons' ] },
|
1954 |
-
{ name: 'Euro (EUR)',
|
1955 |
-
id: 'eur',
|
1956 |
-
unicode: 'f153',
|
1957 |
-
created: 3.2,
|
1958 |
-
aliases: [ 'euro' ],
|
1959 |
-
categories: [ 'Currency Icons' ] },
|
1960 |
-
{ name: 'GBP',
|
1961 |
-
id: 'gbp',
|
1962 |
-
unicode: 'f154',
|
1963 |
-
created: 3.2,
|
1964 |
-
categories: [ 'Currency Icons' ] },
|
1965 |
-
{ name: 'US Dollar',
|
1966 |
-
id: 'usd',
|
1967 |
-
unicode: 'f155',
|
1968 |
-
created: 3.2,
|
1969 |
-
aliases: [ 'dollar' ],
|
1970 |
-
categories: [ 'Currency Icons' ] },
|
1971 |
-
{ name: 'Indian Rupee (INR)',
|
1972 |
-
id: 'inr',
|
1973 |
-
unicode: 'f156',
|
1974 |
-
created: 3.2,
|
1975 |
-
aliases: [ 'rupee' ],
|
1976 |
-
categories: [ 'Currency Icons' ] },
|
1977 |
-
{ name: 'Japanese Yen (JPY)',
|
1978 |
-
id: 'jpy',
|
1979 |
-
unicode: 'f157',
|
1980 |
-
created: 3.2,
|
1981 |
-
aliases: [ 'cny', 'rmb', 'yen' ],
|
1982 |
-
categories: [ 'Currency Icons' ] },
|
1983 |
-
{ name: 'Russian Ruble (RUB)',
|
1984 |
-
id: 'rub',
|
1985 |
-
unicode: 'f158',
|
1986 |
-
created: 4,
|
1987 |
-
aliases: [ 'ruble', 'rouble' ],
|
1988 |
-
categories: [ 'Currency Icons' ] },
|
1989 |
-
{ name: 'Korean Won (KRW)',
|
1990 |
-
id: 'krw',
|
1991 |
-
unicode: 'f159',
|
1992 |
-
created: 3.2,
|
1993 |
-
aliases: [ 'won' ],
|
1994 |
-
categories: [ 'Currency Icons' ] },
|
1995 |
-
{ name: 'Bitcoin (BTC)',
|
1996 |
-
id: 'btc',
|
1997 |
-
unicode: 'f15a',
|
1998 |
-
created: 3.2,
|
1999 |
-
aliases: [ 'bitcoin' ],
|
2000 |
-
categories: [ 'Currency Icons', 'Brand Icons' ] },
|
2001 |
-
{ name: 'File',
|
2002 |
-
id: 'file',
|
2003 |
-
unicode: 'f15b',
|
2004 |
-
created: 3.2,
|
2005 |
-
filter: [ 'new', 'page', 'pdf', 'document' ],
|
2006 |
-
categories: [ 'Text Editor Icons', 'File Type Icons' ] },
|
2007 |
-
{ name: 'File Text',
|
2008 |
-
id: 'file-text',
|
2009 |
-
unicode: 'f15c',
|
2010 |
-
created: 3.2,
|
2011 |
-
filter: [ 'new', 'page', 'pdf', 'document' ],
|
2012 |
-
categories: [ 'Text Editor Icons', 'File Type Icons' ] },
|
2013 |
-
{ name: 'Sort Alpha Ascending',
|
2014 |
-
id: 'sort-alpha-asc',
|
2015 |
-
unicode: 'f15d',
|
2016 |
-
created: 3.2,
|
2017 |
-
categories: [ 'Web Application Icons' ] },
|
2018 |
-
{ name: 'Sort Alpha Descending',
|
2019 |
-
id: 'sort-alpha-desc',
|
2020 |
-
unicode: 'f15e',
|
2021 |
-
created: 3.2,
|
2022 |
-
categories: [ 'Web Application Icons' ] },
|
2023 |
-
{ name: 'Sort Amount Ascending',
|
2024 |
-
id: 'sort-amount-asc',
|
2025 |
-
unicode: 'f160',
|
2026 |
-
created: 3.2,
|
2027 |
-
categories: [ 'Web Application Icons' ] },
|
2028 |
-
{ name: 'Sort Amount Descending',
|
2029 |
-
id: 'sort-amount-desc',
|
2030 |
-
unicode: 'f161',
|
2031 |
-
created: 3.2,
|
2032 |
-
categories: [ 'Web Application Icons' ] },
|
2033 |
-
{ name: 'Sort Numeric Ascending',
|
2034 |
-
id: 'sort-numeric-asc',
|
2035 |
-
unicode: 'f162',
|
2036 |
-
created: 3.2,
|
2037 |
-
filter: [ 'numbers' ],
|
2038 |
-
categories: [ 'Web Application Icons' ] },
|
2039 |
-
{ name: 'Sort Numeric Descending',
|
2040 |
-
id: 'sort-numeric-desc',
|
2041 |
-
unicode: 'f163',
|
2042 |
-
created: 3.2,
|
2043 |
-
filter: [ 'numbers' ],
|
2044 |
-
categories: [ 'Web Application Icons' ] },
|
2045 |
-
{ name: 'thumbs-up',
|
2046 |
-
id: 'thumbs-up',
|
2047 |
-
unicode: 'f164',
|
2048 |
-
created: 3.2,
|
2049 |
-
filter: [ 'like', 'favorite', 'approve', 'agree', 'hand' ],
|
2050 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
2051 |
-
{ name: 'thumbs-down',
|
2052 |
-
id: 'thumbs-down',
|
2053 |
-
unicode: 'f165',
|
2054 |
-
created: 3.2,
|
2055 |
-
filter: [ 'dislike', 'disapprove', 'disagree', 'hand' ],
|
2056 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
2057 |
-
{ name: 'YouTube Square',
|
2058 |
-
id: 'youtube-square',
|
2059 |
-
unicode: 'f166',
|
2060 |
-
created: 3.2,
|
2061 |
-
filter: [ 'video', 'film' ],
|
2062 |
-
categories: [ 'Brand Icons' ] },
|
2063 |
-
{ name: 'YouTube',
|
2064 |
-
id: 'youtube',
|
2065 |
-
unicode: 'f167',
|
2066 |
-
created: 3.2,
|
2067 |
-
filter: [ 'video', 'film' ],
|
2068 |
-
categories: [ 'Brand Icons' ] },
|
2069 |
-
{ name: 'Xing',
|
2070 |
-
id: 'xing',
|
2071 |
-
unicode: 'f168',
|
2072 |
-
created: 3.2,
|
2073 |
-
categories: [ 'Brand Icons' ] },
|
2074 |
-
{ name: 'Xing Square',
|
2075 |
-
id: 'xing-square',
|
2076 |
-
unicode: 'f169',
|
2077 |
-
created: 3.2,
|
2078 |
-
categories: [ 'Brand Icons' ] },
|
2079 |
-
{ name: 'YouTube Play',
|
2080 |
-
id: 'youtube-play',
|
2081 |
-
unicode: 'f16a',
|
2082 |
-
created: 3.2,
|
2083 |
-
filter: [ 'start', 'playing' ],
|
2084 |
-
categories: [ 'Brand Icons', 'Video Player Icons' ] },
|
2085 |
-
{ name: 'Dropbox',
|
2086 |
-
id: 'dropbox',
|
2087 |
-
unicode: 'f16b',
|
2088 |
-
created: 3.2,
|
2089 |
-
categories: [ 'Brand Icons' ] },
|
2090 |
-
{ name: 'Stack Overflow',
|
2091 |
-
id: 'stack-overflow',
|
2092 |
-
unicode: 'f16c',
|
2093 |
-
created: 3.2,
|
2094 |
-
categories: [ 'Brand Icons' ] },
|
2095 |
-
{ name: 'Instagram',
|
2096 |
-
id: 'instagram',
|
2097 |
-
unicode: 'f16d',
|
2098 |
-
created: 4.6,
|
2099 |
-
categories: [ 'Brand Icons' ] },
|
2100 |
-
{ name: 'Flickr',
|
2101 |
-
id: 'flickr',
|
2102 |
-
unicode: 'f16e',
|
2103 |
-
created: 3.2,
|
2104 |
-
categories: [ 'Brand Icons' ] },
|
2105 |
-
{ name: 'App.net',
|
2106 |
-
id: 'adn',
|
2107 |
-
unicode: 'f170',
|
2108 |
-
created: 3.2,
|
2109 |
-
categories: [ 'Brand Icons' ] },
|
2110 |
-
{ name: 'Bitbucket',
|
2111 |
-
id: 'bitbucket',
|
2112 |
-
unicode: 'f171',
|
2113 |
-
created: 3.2,
|
2114 |
-
filter: [ 'git' ],
|
2115 |
-
categories: [ 'Brand Icons' ] },
|
2116 |
-
{ name: 'Bitbucket Square',
|
2117 |
-
id: 'bitbucket-square',
|
2118 |
-
unicode: 'f172',
|
2119 |
-
created: 3.2,
|
2120 |
-
filter: [ 'git' ],
|
2121 |
-
categories: [ 'Brand Icons' ] },
|
2122 |
-
{ name: 'Tumblr',
|
2123 |
-
id: 'tumblr',
|
2124 |
-
unicode: 'f173',
|
2125 |
-
created: 3.2,
|
2126 |
-
categories: [ 'Brand Icons' ] },
|
2127 |
-
{ name: 'Tumblr Square',
|
2128 |
-
id: 'tumblr-square',
|
2129 |
-
unicode: 'f174',
|
2130 |
-
created: 3.2,
|
2131 |
-
categories: [ 'Brand Icons' ] },
|
2132 |
-
{ name: 'Long Arrow Down',
|
2133 |
-
id: 'long-arrow-down',
|
2134 |
-
unicode: 'f175',
|
2135 |
-
created: 3.2,
|
2136 |
-
categories: [ 'Directional Icons' ] },
|
2137 |
-
{ name: 'Long Arrow Up',
|
2138 |
-
id: 'long-arrow-up',
|
2139 |
-
unicode: 'f176',
|
2140 |
-
created: 3.2,
|
2141 |
-
categories: [ 'Directional Icons' ] },
|
2142 |
-
{ name: 'Long Arrow Left',
|
2143 |
-
id: 'long-arrow-left',
|
2144 |
-
unicode: 'f177',
|
2145 |
-
created: 3.2,
|
2146 |
-
filter: [ 'previous', 'back' ],
|
2147 |
-
categories: [ 'Directional Icons' ] },
|
2148 |
-
{ name: 'Long Arrow Right',
|
2149 |
-
id: 'long-arrow-right',
|
2150 |
-
unicode: 'f178',
|
2151 |
-
created: 3.2,
|
2152 |
-
categories: [ 'Directional Icons' ] },
|
2153 |
-
{ name: 'Apple',
|
2154 |
-
id: 'apple',
|
2155 |
-
unicode: 'f179',
|
2156 |
-
created: 3.2,
|
2157 |
-
filter: [ 'osx', 'food' ],
|
2158 |
-
categories: [ 'Brand Icons' ] },
|
2159 |
-
{ name: 'Windows',
|
2160 |
-
id: 'windows',
|
2161 |
-
unicode: 'f17a',
|
2162 |
-
created: 3.2,
|
2163 |
-
filter: [ 'microsoft' ],
|
2164 |
-
categories: [ 'Brand Icons' ] },
|
2165 |
-
{ name: 'Android',
|
2166 |
-
id: 'android',
|
2167 |
-
unicode: 'f17b',
|
2168 |
-
created: 3.2,
|
2169 |
-
filter: [ 'robot' ],
|
2170 |
-
categories: [ 'Brand Icons' ] },
|
2171 |
-
{ name: 'Linux',
|
2172 |
-
id: 'linux',
|
2173 |
-
unicode: 'f17c',
|
2174 |
-
created: 3.2,
|
2175 |
-
filter: [ 'tux' ],
|
2176 |
-
categories: [ 'Brand Icons' ] },
|
2177 |
-
{ name: 'Dribbble',
|
2178 |
-
id: 'dribbble',
|
2179 |
-
unicode: 'f17d',
|
2180 |
-
created: 3.2,
|
2181 |
-
categories: [ 'Brand Icons' ] },
|
2182 |
-
{ name: 'Skype',
|
2183 |
-
id: 'skype',
|
2184 |
-
unicode: 'f17e',
|
2185 |
-
created: 3.2,
|
2186 |
-
categories: [ 'Brand Icons' ] },
|
2187 |
-
{ name: 'Foursquare',
|
2188 |
-
id: 'foursquare',
|
2189 |
-
unicode: 'f180',
|
2190 |
-
created: 3.2,
|
2191 |
-
categories: [ 'Brand Icons' ] },
|
2192 |
-
{ name: 'Trello',
|
2193 |
-
id: 'trello',
|
2194 |
-
unicode: 'f181',
|
2195 |
-
created: 3.2,
|
2196 |
-
categories: [ 'Brand Icons' ] },
|
2197 |
-
{ name: 'Female',
|
2198 |
-
id: 'female',
|
2199 |
-
unicode: 'f182',
|
2200 |
-
created: 3.2,
|
2201 |
-
filter: [ 'woman', 'user', 'person', 'profile' ],
|
2202 |
-
categories: [ 'Web Application Icons' ] },
|
2203 |
-
{ name: 'Male',
|
2204 |
-
id: 'male',
|
2205 |
-
unicode: 'f183',
|
2206 |
-
created: 3.2,
|
2207 |
-
filter: [ 'man', 'user', 'person', 'profile' ],
|
2208 |
-
categories: [ 'Web Application Icons' ] },
|
2209 |
-
{ name: 'Gratipay (Gittip)',
|
2210 |
-
id: 'gratipay',
|
2211 |
-
unicode: 'f184',
|
2212 |
-
created: 3.2,
|
2213 |
-
aliases: [ 'gittip' ],
|
2214 |
-
filter: [ 'heart', 'like', 'favorite', 'love' ],
|
2215 |
-
categories: [ 'Brand Icons' ] },
|
2216 |
-
{ name: 'Sun Outlined',
|
2217 |
-
id: 'sun-o',
|
2218 |
-
unicode: 'f185',
|
2219 |
-
created: 3.2,
|
2220 |
-
filter: [ 'weather', 'contrast', 'lighter', 'brighten', 'day' ],
|
2221 |
-
categories: [ 'Web Application Icons' ] },
|
2222 |
-
{ name: 'Moon Outlined',
|
2223 |
-
id: 'moon-o',
|
2224 |
-
unicode: 'f186',
|
2225 |
-
created: 3.2,
|
2226 |
-
filter: [ 'night', 'darker', 'contrast' ],
|
2227 |
-
categories: [ 'Web Application Icons' ] },
|
2228 |
-
{ name: 'Archive',
|
2229 |
-
id: 'archive',
|
2230 |
-
unicode: 'f187',
|
2231 |
-
created: 3.2,
|
2232 |
-
filter: [ 'box', 'storage' ],
|
2233 |
-
categories: [ 'Web Application Icons' ] },
|
2234 |
-
{ name: 'Bug',
|
2235 |
-
id: 'bug',
|
2236 |
-
unicode: 'f188',
|
2237 |
-
created: 3.2,
|
2238 |
-
filter: [ 'report', 'insect' ],
|
2239 |
-
categories: [ 'Web Application Icons' ] },
|
2240 |
-
{ name: 'VK',
|
2241 |
-
id: 'vk',
|
2242 |
-
unicode: 'f189',
|
2243 |
-
created: 3.2,
|
2244 |
-
categories: [ 'Brand Icons' ] },
|
2245 |
-
{ name: 'Weibo',
|
2246 |
-
id: 'weibo',
|
2247 |
-
unicode: 'f18a',
|
2248 |
-
created: 3.2,
|
2249 |
-
categories: [ 'Brand Icons' ] },
|
2250 |
-
{ name: 'Renren',
|
2251 |
-
id: 'renren',
|
2252 |
-
unicode: 'f18b',
|
2253 |
-
created: 3.2,
|
2254 |
-
categories: [ 'Brand Icons' ] },
|
2255 |
-
{ name: 'Pagelines',
|
2256 |
-
id: 'pagelines',
|
2257 |
-
unicode: 'f18c',
|
2258 |
-
created: 4,
|
2259 |
-
filter: [ 'leaf', 'leaves', 'tree', 'plant', 'eco', 'nature' ],
|
2260 |
-
categories: [ 'Brand Icons' ] },
|
2261 |
-
{ name: 'Stack Exchange',
|
2262 |
-
id: 'stack-exchange',
|
2263 |
-
unicode: 'f18d',
|
2264 |
-
created: 4,
|
2265 |
-
categories: [ 'Brand Icons' ] },
|
2266 |
-
{ name: 'Arrow Circle Outlined Right',
|
2267 |
-
id: 'arrow-circle-o-right',
|
2268 |
-
unicode: 'f18e',
|
2269 |
-
created: 4,
|
2270 |
-
filter: [ 'next', 'forward' ],
|
2271 |
-
categories: [ 'Directional Icons' ] },
|
2272 |
-
{ name: 'Arrow Circle Outlined Left',
|
2273 |
-
id: 'arrow-circle-o-left',
|
2274 |
-
unicode: 'f190',
|
2275 |
-
created: 4,
|
2276 |
-
filter: [ 'previous', 'back' ],
|
2277 |
-
categories: [ 'Directional Icons' ] },
|
2278 |
-
{ name: 'Caret Square Outlined Left',
|
2279 |
-
id: 'caret-square-o-left',
|
2280 |
-
unicode: 'f191',
|
2281 |
-
created: 4,
|
2282 |
-
filter: [ 'previous', 'back' ],
|
2283 |
-
aliases: [ 'toggle-left' ],
|
2284 |
-
categories: [ 'Web Application Icons', 'Directional Icons' ] },
|
2285 |
-
{ name: 'Dot Circle Outlined',
|
2286 |
-
id: 'dot-circle-o',
|
2287 |
-
unicode: 'f192',
|
2288 |
-
created: 4,
|
2289 |
-
filter: [ 'target', 'bullseye', 'notification' ],
|
2290 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
2291 |
-
{ name: 'Wheelchair',
|
2292 |
-
id: 'wheelchair',
|
2293 |
-
unicode: 'f193',
|
2294 |
-
created: 4,
|
2295 |
-
filter: [ 'handicap', 'person' ],
|
2296 |
-
categories:
|
2297 |
-
[ 'Web Application Icons',
|
2298 |
-
'Medical Icons',
|
2299 |
-
'Transportation Icons',
|
2300 |
-
'Accessibility Icons' ] },
|
2301 |
-
{ name: 'Vimeo Square',
|
2302 |
-
id: 'vimeo-square',
|
2303 |
-
unicode: 'f194',
|
2304 |
-
created: 4,
|
2305 |
-
categories: [ 'Brand Icons' ] },
|
2306 |
-
{ name: 'Turkish Lira (TRY)',
|
2307 |
-
id: 'try',
|
2308 |
-
unicode: 'f195',
|
2309 |
-
created: 4,
|
2310 |
-
aliases: [ 'turkish-lira' ],
|
2311 |
-
categories: [ 'Currency Icons' ] },
|
2312 |
-
{ name: 'Plus Square Outlined',
|
2313 |
-
id: 'plus-square-o',
|
2314 |
-
unicode: 'f196',
|
2315 |
-
created: 4,
|
2316 |
-
filter: [ 'add', 'new', 'create', 'expand' ],
|
2317 |
-
categories: [ 'Web Application Icons', 'Form Control Icons' ] },
|
2318 |
-
{ name: 'Space Shuttle',
|
2319 |
-
id: 'space-shuttle',
|
2320 |
-
unicode: 'f197',
|
2321 |
-
created: 4.1,
|
2322 |
-
filter: null,
|
2323 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
2324 |
-
{ name: 'Slack Logo',
|
2325 |
-
id: 'slack',
|
2326 |
-
unicode: 'f198',
|
2327 |
-
created: 4.1,
|
2328 |
-
filter: [ 'hashtag', 'anchor', 'hash' ],
|
2329 |
-
categories: [ 'Brand Icons' ] },
|
2330 |
-
{ name: 'Envelope Square',
|
2331 |
-
id: 'envelope-square',
|
2332 |
-
unicode: 'f199',
|
2333 |
-
created: 4.1,
|
2334 |
-
categories: [ 'Web Application Icons' ] },
|
2335 |
-
{ name: 'WordPress Logo',
|
2336 |
-
id: 'wordpress',
|
2337 |
-
unicode: 'f19a',
|
2338 |
-
created: 4.1,
|
2339 |
-
categories: [ 'Brand Icons' ] },
|
2340 |
-
{ name: 'OpenID',
|
2341 |
-
id: 'openid',
|
2342 |
-
unicode: 'f19b',
|
2343 |
-
created: 4.1,
|
2344 |
-
categories: [ 'Brand Icons' ] },
|
2345 |
-
{ name: 'University',
|
2346 |
-
id: 'university',
|
2347 |
-
unicode: 'f19c',
|
2348 |
-
created: 4.1,
|
2349 |
-
aliases: [ 'institution', 'bank' ],
|
2350 |
-
categories: [ 'Web Application Icons' ] },
|
2351 |
-
{ name: 'Graduation Cap',
|
2352 |
-
id: 'graduation-cap',
|
2353 |
-
unicode: 'f19d',
|
2354 |
-
created: 4.1,
|
2355 |
-
aliases: [ 'mortar-board' ],
|
2356 |
-
filter: [ 'learning', 'school', 'student' ],
|
2357 |
-
categories: [ 'Web Application Icons' ] },
|
2358 |
-
{ name: 'Yahoo Logo',
|
2359 |
-
id: 'yahoo',
|
2360 |
-
unicode: 'f19e',
|
2361 |
-
created: 4.1,
|
2362 |
-
categories: [ 'Brand Icons' ] },
|
2363 |
-
{ name: 'Google Logo',
|
2364 |
-
id: 'google',
|
2365 |
-
unicode: 'f1a0',
|
2366 |
-
created: 4.1,
|
2367 |
-
categories: [ 'Brand Icons' ] },
|
2368 |
-
{ name: 'reddit Logo',
|
2369 |
-
id: 'reddit',
|
2370 |
-
unicode: 'f1a1',
|
2371 |
-
created: 4.1,
|
2372 |
-
categories: [ 'Brand Icons' ] },
|
2373 |
-
{ name: 'reddit Square',
|
2374 |
-
id: 'reddit-square',
|
2375 |
-
unicode: 'f1a2',
|
2376 |
-
created: 4.1,
|
2377 |
-
categories: [ 'Brand Icons' ] },
|
2378 |
-
{ name: 'StumbleUpon Circle',
|
2379 |
-
id: 'stumbleupon-circle',
|
2380 |
-
unicode: 'f1a3',
|
2381 |
-
created: 4.1,
|
2382 |
-
categories: [ 'Brand Icons' ] },
|
2383 |
-
{ name: 'StumbleUpon Logo',
|
2384 |
-
id: 'stumbleupon',
|
2385 |
-
unicode: 'f1a4',
|
2386 |
-
created: 4.1,
|
2387 |
-
categories: [ 'Brand Icons' ] },
|
2388 |
-
{ name: 'Delicious Logo',
|
2389 |
-
id: 'delicious',
|
2390 |
-
unicode: 'f1a5',
|
2391 |
-
created: 4.1,
|
2392 |
-
categories: [ 'Brand Icons' ] },
|
2393 |
-
{ name: 'Digg Logo',
|
2394 |
-
id: 'digg',
|
2395 |
-
unicode: 'f1a6',
|
2396 |
-
created: 4.1,
|
2397 |
-
categories: [ 'Brand Icons' ] },
|
2398 |
-
{ name: 'Pied Piper PP Logo (Old)',
|
2399 |
-
id: 'pied-piper-pp',
|
2400 |
-
unicode: 'f1a7',
|
2401 |
-
created: 4.1,
|
2402 |
-
categories: [ 'Brand Icons' ] },
|
2403 |
-
{ name: 'Pied Piper Alternate Logo',
|
2404 |
-
id: 'pied-piper-alt',
|
2405 |
-
unicode: 'f1a8',
|
2406 |
-
created: 4.1,
|
2407 |
-
categories: [ 'Brand Icons' ] },
|
2408 |
-
{ name: 'Drupal Logo',
|
2409 |
-
id: 'drupal',
|
2410 |
-
unicode: 'f1a9',
|
2411 |
-
created: 4.1,
|
2412 |
-
categories: [ 'Brand Icons' ] },
|
2413 |
-
{ name: 'Joomla Logo',
|
2414 |
-
id: 'joomla',
|
2415 |
-
unicode: 'f1aa',
|
2416 |
-
created: 4.1,
|
2417 |
-
categories: [ 'Brand Icons' ] },
|
2418 |
-
{ name: 'Language',
|
2419 |
-
id: 'language',
|
2420 |
-
unicode: 'f1ab',
|
2421 |
-
created: 4.1,
|
2422 |
-
categories: [ 'Web Application Icons' ] },
|
2423 |
-
{ name: 'Fax',
|
2424 |
-
id: 'fax',
|
2425 |
-
unicode: 'f1ac',
|
2426 |
-
created: 4.1,
|
2427 |
-
categories: [ 'Web Application Icons' ] },
|
2428 |
-
{ name: 'Building',
|
2429 |
-
id: 'building',
|
2430 |
-
unicode: 'f1ad',
|
2431 |
-
created: 4.1,
|
2432 |
-
filter: [ 'work', 'business', 'apartment', 'office', 'company' ],
|
2433 |
-
categories: [ 'Web Application Icons' ] },
|
2434 |
-
{ name: 'Child',
|
2435 |
-
id: 'child',
|
2436 |
-
unicode: 'f1ae',
|
2437 |
-
created: 4.1,
|
2438 |
-
categories: [ 'Web Application Icons' ] },
|
2439 |
-
{ name: 'Paw',
|
2440 |
-
id: 'paw',
|
2441 |
-
unicode: 'f1b0',
|
2442 |
-
created: 4.1,
|
2443 |
-
filter: [ 'pet' ],
|
2444 |
-
categories: [ 'Web Application Icons' ] },
|
2445 |
-
{ name: 'spoon',
|
2446 |
-
id: 'spoon',
|
2447 |
-
unicode: 'f1b1',
|
2448 |
-
created: 4.1,
|
2449 |
-
categories: [ 'Web Application Icons' ] },
|
2450 |
-
{ name: 'Cube',
|
2451 |
-
id: 'cube',
|
2452 |
-
unicode: 'f1b2',
|
2453 |
-
created: 4.1,
|
2454 |
-
categories: [ 'Web Application Icons' ] },
|
2455 |
-
{ name: 'Cubes',
|
2456 |
-
id: 'cubes',
|
2457 |
-
unicode: 'f1b3',
|
2458 |
-
created: 4.1,
|
2459 |
-
categories: [ 'Web Application Icons' ] },
|
2460 |
-
{ name: 'Behance',
|
2461 |
-
id: 'behance',
|
2462 |
-
unicode: 'f1b4',
|
2463 |
-
created: 4.1,
|
2464 |
-
categories: [ 'Brand Icons' ] },
|
2465 |
-
{ name: 'Behance Square',
|
2466 |
-
id: 'behance-square',
|
2467 |
-
unicode: 'f1b5',
|
2468 |
-
created: 4.1,
|
2469 |
-
categories: [ 'Brand Icons' ] },
|
2470 |
-
{ name: 'Steam',
|
2471 |
-
id: 'steam',
|
2472 |
-
unicode: 'f1b6',
|
2473 |
-
created: 4.1,
|
2474 |
-
categories: [ 'Brand Icons' ] },
|
2475 |
-
{ name: 'Steam Square',
|
2476 |
-
id: 'steam-square',
|
2477 |
-
unicode: 'f1b7',
|
2478 |
-
created: 4.1,
|
2479 |
-
categories: [ 'Brand Icons' ] },
|
2480 |
-
{ name: 'Recycle',
|
2481 |
-
id: 'recycle',
|
2482 |
-
unicode: 'f1b8',
|
2483 |
-
created: 4.1,
|
2484 |
-
categories: [ 'Web Application Icons' ] },
|
2485 |
-
{ name: 'Car',
|
2486 |
-
id: 'car',
|
2487 |
-
unicode: 'f1b9',
|
2488 |
-
created: 4.1,
|
2489 |
-
aliases: [ 'automobile' ],
|
2490 |
-
filter: [ 'vehicle' ],
|
2491 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
2492 |
-
{ name: 'Taxi',
|
2493 |
-
id: 'taxi',
|
2494 |
-
unicode: 'f1ba',
|
2495 |
-
created: 4.1,
|
2496 |
-
aliases: [ 'cab' ],
|
2497 |
-
filter: [ 'vehicle' ],
|
2498 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
2499 |
-
{ name: 'Tree',
|
2500 |
-
id: 'tree',
|
2501 |
-
unicode: 'f1bb',
|
2502 |
-
created: 4.1,
|
2503 |
-
categories: [ 'Web Application Icons' ] },
|
2504 |
-
{ name: 'Spotify',
|
2505 |
-
id: 'spotify',
|
2506 |
-
unicode: 'f1bc',
|
2507 |
-
created: 4.1,
|
2508 |
-
categories: [ 'Brand Icons' ] },
|
2509 |
-
{ name: 'deviantART',
|
2510 |
-
id: 'deviantart',
|
2511 |
-
unicode: 'f1bd',
|
2512 |
-
created: 4.1,
|
2513 |
-
categories: [ 'Brand Icons' ] },
|
2514 |
-
{ name: 'SoundCloud',
|
2515 |
-
id: 'soundcloud',
|
2516 |
-
unicode: 'f1be',
|
2517 |
-
created: 4.1,
|
2518 |
-
categories: [ 'Brand Icons' ] },
|
2519 |
-
{ name: 'Database',
|
2520 |
-
id: 'database',
|
2521 |
-
unicode: 'f1c0',
|
2522 |
-
created: 4.1,
|
2523 |
-
categories: [ 'Web Application Icons' ] },
|
2524 |
-
{ name: 'PDF File Outlined',
|
2525 |
-
id: 'file-pdf-o',
|
2526 |
-
unicode: 'f1c1',
|
2527 |
-
created: 4.1,
|
2528 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2529 |
-
{ name: 'Word File Outlined',
|
2530 |
-
id: 'file-word-o',
|
2531 |
-
unicode: 'f1c2',
|
2532 |
-
created: 4.1,
|
2533 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2534 |
-
{ name: 'Excel File Outlined',
|
2535 |
-
id: 'file-excel-o',
|
2536 |
-
unicode: 'f1c3',
|
2537 |
-
created: 4.1,
|
2538 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2539 |
-
{ name: 'Powerpoint File Outlined',
|
2540 |
-
id: 'file-powerpoint-o',
|
2541 |
-
unicode: 'f1c4',
|
2542 |
-
created: 4.1,
|
2543 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2544 |
-
{ name: 'Image File Outlined',
|
2545 |
-
id: 'file-image-o',
|
2546 |
-
unicode: 'f1c5',
|
2547 |
-
created: 4.1,
|
2548 |
-
aliases: [ 'file-photo-o', 'file-picture-o' ],
|
2549 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2550 |
-
{ name: 'Archive File Outlined',
|
2551 |
-
id: 'file-archive-o',
|
2552 |
-
unicode: 'f1c6',
|
2553 |
-
created: 4.1,
|
2554 |
-
aliases: [ 'file-zip-o' ],
|
2555 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2556 |
-
{ name: 'Audio File Outlined',
|
2557 |
-
id: 'file-audio-o',
|
2558 |
-
unicode: 'f1c7',
|
2559 |
-
created: 4.1,
|
2560 |
-
aliases: [ 'file-sound-o' ],
|
2561 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2562 |
-
{ name: 'Video File Outlined',
|
2563 |
-
id: 'file-video-o',
|
2564 |
-
unicode: 'f1c8',
|
2565 |
-
created: 4.1,
|
2566 |
-
aliases: [ 'file-movie-o' ],
|
2567 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2568 |
-
{ name: 'Code File Outlined',
|
2569 |
-
id: 'file-code-o',
|
2570 |
-
unicode: 'f1c9',
|
2571 |
-
created: 4.1,
|
2572 |
-
categories: [ 'Web Application Icons', 'File Type Icons' ] },
|
2573 |
-
{ name: 'Vine',
|
2574 |
-
id: 'vine',
|
2575 |
-
unicode: 'f1ca',
|
2576 |
-
created: 4.1,
|
2577 |
-
categories: [ 'Brand Icons' ] },
|
2578 |
-
{ name: 'Codepen',
|
2579 |
-
id: 'codepen',
|
2580 |
-
unicode: 'f1cb',
|
2581 |
-
created: 4.1,
|
2582 |
-
categories: [ 'Brand Icons' ] },
|
2583 |
-
{ name: 'jsFiddle',
|
2584 |
-
id: 'jsfiddle',
|
2585 |
-
unicode: 'f1cc',
|
2586 |
-
created: 4.1,
|
2587 |
-
categories: [ 'Brand Icons' ] },
|
2588 |
-
{ name: 'Life Ring',
|
2589 |
-
id: 'life-ring',
|
2590 |
-
unicode: 'f1cd',
|
2591 |
-
created: 4.1,
|
2592 |
-
aliases: [ 'life-bouy', 'life-buoy', 'life-saver', 'support' ],
|
2593 |
-
categories: [ 'Web Application Icons' ] },
|
2594 |
-
{ name: 'Circle Outlined Notched',
|
2595 |
-
id: 'circle-o-notch',
|
2596 |
-
unicode: 'f1ce',
|
2597 |
-
created: 4.1,
|
2598 |
-
categories: [ 'Web Application Icons', 'Spinner Icons' ] },
|
2599 |
-
{ name: 'Rebel Alliance',
|
2600 |
-
id: 'rebel',
|
2601 |
-
unicode: 'f1d0',
|
2602 |
-
created: 4.1,
|
2603 |
-
aliases: [ 'ra', 'resistance' ],
|
2604 |
-
categories: [ 'Brand Icons' ] },
|
2605 |
-
{ name: 'Galactic Empire',
|
2606 |
-
id: 'empire',
|
2607 |
-
unicode: 'f1d1',
|
2608 |
-
created: 4.1,
|
2609 |
-
aliases: [ 'ge' ],
|
2610 |
-
categories: [ 'Brand Icons' ] },
|
2611 |
-
{ name: 'Git Square',
|
2612 |
-
id: 'git-square',
|
2613 |
-
unicode: 'f1d2',
|
2614 |
-
created: 4.1,
|
2615 |
-
categories: [ 'Brand Icons' ] },
|
2616 |
-
{ name: 'Git',
|
2617 |
-
id: 'git',
|
2618 |
-
unicode: 'f1d3',
|
2619 |
-
created: 4.1,
|
2620 |
-
categories: [ 'Brand Icons' ] },
|
2621 |
-
{ name: 'Hacker News',
|
2622 |
-
id: 'hacker-news',
|
2623 |
-
unicode: 'f1d4',
|
2624 |
-
created: 4.1,
|
2625 |
-
aliases: [ 'y-combinator-square', 'yc-square' ],
|
2626 |
-
categories: [ 'Brand Icons' ] },
|
2627 |
-
{ name: 'Tencent Weibo',
|
2628 |
-
id: 'tencent-weibo',
|
2629 |
-
unicode: 'f1d5',
|
2630 |
-
created: 4.1,
|
2631 |
-
categories: [ 'Brand Icons' ] },
|
2632 |
-
{ name: 'QQ',
|
2633 |
-
id: 'qq',
|
2634 |
-
unicode: 'f1d6',
|
2635 |
-
created: 4.1,
|
2636 |
-
categories: [ 'Brand Icons' ] },
|
2637 |
-
{ name: 'Weixin (WeChat)',
|
2638 |
-
id: 'weixin',
|
2639 |
-
unicode: 'f1d7',
|
2640 |
-
created: 4.1,
|
2641 |
-
aliases: [ 'wechat' ],
|
2642 |
-
categories: [ 'Brand Icons' ] },
|
2643 |
-
{ name: 'Paper Plane',
|
2644 |
-
id: 'paper-plane',
|
2645 |
-
unicode: 'f1d8',
|
2646 |
-
created: 4.1,
|
2647 |
-
aliases: [ 'send' ],
|
2648 |
-
categories: [ 'Web Application Icons' ] },
|
2649 |
-
{ name: 'Paper Plane Outlined',
|
2650 |
-
id: 'paper-plane-o',
|
2651 |
-
unicode: 'f1d9',
|
2652 |
-
created: 4.1,
|
2653 |
-
aliases: [ 'send-o' ],
|
2654 |
-
categories: [ 'Web Application Icons' ] },
|
2655 |
-
{ name: 'History',
|
2656 |
-
id: 'history',
|
2657 |
-
unicode: 'f1da',
|
2658 |
-
created: 4.1,
|
2659 |
-
categories: [ 'Web Application Icons' ] },
|
2660 |
-
{ name: 'Circle Outlined Thin',
|
2661 |
-
id: 'circle-thin',
|
2662 |
-
unicode: 'f1db',
|
2663 |
-
created: 4.1,
|
2664 |
-
categories: [ 'Web Application Icons' ] },
|
2665 |
-
{ name: 'header',
|
2666 |
-
id: 'header',
|
2667 |
-
unicode: 'f1dc',
|
2668 |
-
created: 4.1,
|
2669 |
-
filter: [ 'heading' ],
|
2670 |
-
categories: [ 'Text Editor Icons' ] },
|
2671 |
-
{ name: 'paragraph',
|
2672 |
-
id: 'paragraph',
|
2673 |
-
unicode: 'f1dd',
|
2674 |
-
created: 4.1,
|
2675 |
-
categories: [ 'Text Editor Icons' ] },
|
2676 |
-
{ name: 'Sliders',
|
2677 |
-
id: 'sliders',
|
2678 |
-
unicode: 'f1de',
|
2679 |
-
created: 4.1,
|
2680 |
-
filter: [ 'settings' ],
|
2681 |
-
categories: [ 'Web Application Icons' ] },
|
2682 |
-
{ name: 'Share Alt',
|
2683 |
-
id: 'share-alt',
|
2684 |
-
unicode: 'f1e0',
|
2685 |
-
created: 4.1,
|
2686 |
-
categories: [ 'Web Application Icons', 'Brand Icons' ] },
|
2687 |
-
{ name: 'Share Alt Square',
|
2688 |
-
id: 'share-alt-square',
|
2689 |
-
unicode: 'f1e1',
|
2690 |
-
created: 4.1,
|
2691 |
-
categories: [ 'Web Application Icons', 'Brand Icons' ] },
|
2692 |
-
{ name: 'Bomb',
|
2693 |
-
id: 'bomb',
|
2694 |
-
unicode: 'f1e2',
|
2695 |
-
created: 4.1,
|
2696 |
-
categories: [ 'Web Application Icons' ] },
|
2697 |
-
{ name: 'Futbol Outlined',
|
2698 |
-
id: 'futbol-o',
|
2699 |
-
unicode: 'f1e3',
|
2700 |
-
created: 4.2,
|
2701 |
-
aliases: [ 'soccer-ball-o' ],
|
2702 |
-
categories: [ 'Web Application Icons' ] },
|
2703 |
-
{ name: 'TTY',
|
2704 |
-
id: 'tty',
|
2705 |
-
unicode: 'f1e4',
|
2706 |
-
created: 4.2,
|
2707 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
2708 |
-
{ name: 'Binoculars',
|
2709 |
-
id: 'binoculars',
|
2710 |
-
unicode: 'f1e5',
|
2711 |
-
created: 4.2,
|
2712 |
-
categories: [ 'Web Application Icons' ] },
|
2713 |
-
{ name: 'Plug',
|
2714 |
-
id: 'plug',
|
2715 |
-
unicode: 'f1e6',
|
2716 |
-
created: 4.2,
|
2717 |
-
filter: [ 'power', 'connect' ],
|
2718 |
-
categories: [ 'Web Application Icons' ] },
|
2719 |
-
{ name: 'Slideshare',
|
2720 |
-
id: 'slideshare',
|
2721 |
-
unicode: 'f1e7',
|
2722 |
-
created: 4.2,
|
2723 |
-
categories: [ 'Brand Icons' ] },
|
2724 |
-
{ name: 'Twitch',
|
2725 |
-
id: 'twitch',
|
2726 |
-
unicode: 'f1e8',
|
2727 |
-
created: 4.2,
|
2728 |
-
categories: [ 'Brand Icons' ] },
|
2729 |
-
{ name: 'Yelp',
|
2730 |
-
id: 'yelp',
|
2731 |
-
unicode: 'f1e9',
|
2732 |
-
created: 4.2,
|
2733 |
-
categories: [ 'Brand Icons' ] },
|
2734 |
-
{ name: 'Newspaper Outlined',
|
2735 |
-
id: 'newspaper-o',
|
2736 |
-
unicode: 'f1ea',
|
2737 |
-
created: 4.2,
|
2738 |
-
filter: [ 'press' ],
|
2739 |
-
categories: [ 'Web Application Icons' ] },
|
2740 |
-
{ name: 'WiFi',
|
2741 |
-
id: 'wifi',
|
2742 |
-
unicode: 'f1eb',
|
2743 |
-
created: 4.2,
|
2744 |
-
categories: [ 'Web Application Icons' ] },
|
2745 |
-
{ name: 'Calculator',
|
2746 |
-
id: 'calculator',
|
2747 |
-
unicode: 'f1ec',
|
2748 |
-
created: 4.2,
|
2749 |
-
categories: [ 'Web Application Icons' ] },
|
2750 |
-
{ name: 'Paypal',
|
2751 |
-
id: 'paypal',
|
2752 |
-
unicode: 'f1ed',
|
2753 |
-
created: 4.2,
|
2754 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
2755 |
-
{ name: 'Google Wallet',
|
2756 |
-
id: 'google-wallet',
|
2757 |
-
unicode: 'f1ee',
|
2758 |
-
created: 4.2,
|
2759 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
2760 |
-
{ name: 'Visa Credit Card',
|
2761 |
-
id: 'cc-visa',
|
2762 |
-
unicode: 'f1f0',
|
2763 |
-
created: 4.2,
|
2764 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
2765 |
-
{ name: 'MasterCard Credit Card',
|
2766 |
-
id: 'cc-mastercard',
|
2767 |
-
unicode: 'f1f1',
|
2768 |
-
created: 4.2,
|
2769 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
2770 |
-
{ name: 'Discover Credit Card',
|
2771 |
-
id: 'cc-discover',
|
2772 |
-
unicode: 'f1f2',
|
2773 |
-
created: 4.2,
|
2774 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
2775 |
-
{ name: 'American Express Credit Card',
|
2776 |
-
id: 'cc-amex',
|
2777 |
-
unicode: 'f1f3',
|
2778 |
-
created: 4.2,
|
2779 |
-
filter: [ 'amex' ],
|
2780 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
2781 |
-
{ name: 'Paypal Credit Card',
|
2782 |
-
id: 'cc-paypal',
|
2783 |
-
unicode: 'f1f4',
|
2784 |
-
created: 4.2,
|
2785 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
2786 |
-
{ name: 'Stripe Credit Card',
|
2787 |
-
id: 'cc-stripe',
|
2788 |
-
unicode: 'f1f5',
|
2789 |
-
created: 4.2,
|
2790 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
2791 |
-
{ name: 'Bell Slash',
|
2792 |
-
id: 'bell-slash',
|
2793 |
-
unicode: 'f1f6',
|
2794 |
-
created: 4.2,
|
2795 |
-
categories: [ 'Web Application Icons' ] },
|
2796 |
-
{ name: 'Bell Slash Outlined',
|
2797 |
-
id: 'bell-slash-o',
|
2798 |
-
unicode: 'f1f7',
|
2799 |
-
created: 4.2,
|
2800 |
-
categories: [ 'Web Application Icons' ] },
|
2801 |
-
{ name: 'Trash',
|
2802 |
-
id: 'trash',
|
2803 |
-
unicode: 'f1f8',
|
2804 |
-
created: 4.2,
|
2805 |
-
filter: [ 'garbage', 'delete', 'remove', 'hide' ],
|
2806 |
-
categories: [ 'Web Application Icons' ] },
|
2807 |
-
{ name: 'Copyright',
|
2808 |
-
id: 'copyright',
|
2809 |
-
unicode: 'f1f9',
|
2810 |
-
created: 4.2,
|
2811 |
-
categories: [ 'Web Application Icons' ] },
|
2812 |
-
{ name: 'At',
|
2813 |
-
id: 'at',
|
2814 |
-
unicode: 'f1fa',
|
2815 |
-
created: 4.2,
|
2816 |
-
categories: [ 'Web Application Icons' ] },
|
2817 |
-
{ name: 'Eyedropper',
|
2818 |
-
id: 'eyedropper',
|
2819 |
-
unicode: 'f1fb',
|
2820 |
-
created: 4.2,
|
2821 |
-
categories: [ 'Web Application Icons' ] },
|
2822 |
-
{ name: 'Paint Brush',
|
2823 |
-
id: 'paint-brush',
|
2824 |
-
unicode: 'f1fc',
|
2825 |
-
created: 4.2,
|
2826 |
-
categories: [ 'Web Application Icons' ] },
|
2827 |
-
{ name: 'Birthday Cake',
|
2828 |
-
id: 'birthday-cake',
|
2829 |
-
unicode: 'f1fd',
|
2830 |
-
created: 4.2,
|
2831 |
-
categories: [ 'Web Application Icons' ] },
|
2832 |
-
{ name: 'Area Chart',
|
2833 |
-
id: 'area-chart',
|
2834 |
-
unicode: 'f1fe',
|
2835 |
-
created: 4.2,
|
2836 |
-
filter: [ 'graph', 'analytics' ],
|
2837 |
-
categories: [ 'Web Application Icons', 'Chart Icons' ] },
|
2838 |
-
{ name: 'Pie Chart',
|
2839 |
-
id: 'pie-chart',
|
2840 |
-
unicode: 'f200',
|
2841 |
-
created: 4.2,
|
2842 |
-
filter: [ 'graph', 'analytics' ],
|
2843 |
-
categories: [ 'Web Application Icons', 'Chart Icons' ] },
|
2844 |
-
{ name: 'Line Chart',
|
2845 |
-
id: 'line-chart',
|
2846 |
-
unicode: 'f201',
|
2847 |
-
created: 4.2,
|
2848 |
-
filter: [ 'graph', 'analytics' ],
|
2849 |
-
categories: [ 'Web Application Icons', 'Chart Icons' ] },
|
2850 |
-
{ name: 'last.fm',
|
2851 |
-
id: 'lastfm',
|
2852 |
-
unicode: 'f202',
|
2853 |
-
created: 4.2,
|
2854 |
-
categories: [ 'Brand Icons' ] },
|
2855 |
-
{ name: 'last.fm Square',
|
2856 |
-
id: 'lastfm-square',
|
2857 |
-
unicode: 'f203',
|
2858 |
-
created: 4.2,
|
2859 |
-
categories: [ 'Brand Icons' ] },
|
2860 |
-
{ name: 'Toggle Off',
|
2861 |
-
id: 'toggle-off',
|
2862 |
-
unicode: 'f204',
|
2863 |
-
created: 4.2,
|
2864 |
-
categories: [ 'Web Application Icons' ] },
|
2865 |
-
{ name: 'Toggle On',
|
2866 |
-
id: 'toggle-on',
|
2867 |
-
unicode: 'f205',
|
2868 |
-
created: 4.2,
|
2869 |
-
categories: [ 'Web Application Icons' ] },
|
2870 |
-
{ name: 'Bicycle',
|
2871 |
-
id: 'bicycle',
|
2872 |
-
unicode: 'f206',
|
2873 |
-
created: 4.2,
|
2874 |
-
filter: [ 'vehicle', 'bike' ],
|
2875 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
2876 |
-
{ name: 'Bus',
|
2877 |
-
id: 'bus',
|
2878 |
-
unicode: 'f207',
|
2879 |
-
created: 4.2,
|
2880 |
-
filter: [ 'vehicle' ],
|
2881 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
2882 |
-
{ name: 'ioxhost',
|
2883 |
-
id: 'ioxhost',
|
2884 |
-
unicode: 'f208',
|
2885 |
-
created: 4.2,
|
2886 |
-
url: 'ioxhost.co.uk',
|
2887 |
-
categories: [ 'Brand Icons' ] },
|
2888 |
-
{ name: 'AngelList',
|
2889 |
-
id: 'angellist',
|
2890 |
-
unicode: 'f209',
|
2891 |
-
created: 4.2,
|
2892 |
-
categories: [ 'Brand Icons' ] },
|
2893 |
-
{ name: 'Closed Captions',
|
2894 |
-
id: 'cc',
|
2895 |
-
unicode: 'f20a',
|
2896 |
-
created: 4.2,
|
2897 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
2898 |
-
{ name: 'Shekel (ILS)',
|
2899 |
-
id: 'ils',
|
2900 |
-
unicode: 'f20b',
|
2901 |
-
created: 4.2,
|
2902 |
-
aliases: [ 'shekel', 'sheqel' ],
|
2903 |
-
categories: [ 'Currency Icons' ] },
|
2904 |
-
{ name: 'meanpath',
|
2905 |
-
id: 'meanpath',
|
2906 |
-
unicode: 'f20c',
|
2907 |
-
created: 4.2,
|
2908 |
-
url: 'meanpath.com',
|
2909 |
-
categories: [ 'Brand Icons' ] },
|
2910 |
-
{ name: 'BuySellAds',
|
2911 |
-
id: 'buysellads',
|
2912 |
-
unicode: 'f20d',
|
2913 |
-
created: 4.3,
|
2914 |
-
url: 'buysellads.com',
|
2915 |
-
categories: [ 'Brand Icons' ] },
|
2916 |
-
{ name: 'Connect Develop',
|
2917 |
-
id: 'connectdevelop',
|
2918 |
-
unicode: 'f20e',
|
2919 |
-
created: 4.3,
|
2920 |
-
url: 'connectdevelop.com',
|
2921 |
-
categories: [ 'Brand Icons' ] },
|
2922 |
-
{ name: 'DashCube',
|
2923 |
-
id: 'dashcube',
|
2924 |
-
unicode: 'f210',
|
2925 |
-
created: 4.3,
|
2926 |
-
url: 'dashcube.com',
|
2927 |
-
categories: [ 'Brand Icons' ] },
|
2928 |
-
{ name: 'Forumbee',
|
2929 |
-
id: 'forumbee',
|
2930 |
-
unicode: 'f211',
|
2931 |
-
created: 4.3,
|
2932 |
-
url: 'forumbee.com',
|
2933 |
-
categories: [ 'Brand Icons' ] },
|
2934 |
-
{ name: 'Leanpub',
|
2935 |
-
id: 'leanpub',
|
2936 |
-
unicode: 'f212',
|
2937 |
-
created: 4.3,
|
2938 |
-
url: 'leanpub.com',
|
2939 |
-
categories: [ 'Brand Icons' ] },
|
2940 |
-
{ name: 'Sellsy',
|
2941 |
-
id: 'sellsy',
|
2942 |
-
unicode: 'f213',
|
2943 |
-
created: 4.3,
|
2944 |
-
url: 'sellsy.com',
|
2945 |
-
categories: [ 'Brand Icons' ] },
|
2946 |
-
{ name: 'Shirts in Bulk',
|
2947 |
-
id: 'shirtsinbulk',
|
2948 |
-
unicode: 'f214',
|
2949 |
-
created: 4.3,
|
2950 |
-
url: 'shirtsinbulk.com',
|
2951 |
-
categories: [ 'Brand Icons' ] },
|
2952 |
-
{ name: 'SimplyBuilt',
|
2953 |
-
id: 'simplybuilt',
|
2954 |
-
unicode: 'f215',
|
2955 |
-
created: 4.3,
|
2956 |
-
url: 'simplybuilt.com',
|
2957 |
-
categories: [ 'Brand Icons' ] },
|
2958 |
-
{ name: 'skyatlas',
|
2959 |
-
id: 'skyatlas',
|
2960 |
-
unicode: 'f216',
|
2961 |
-
created: 4.3,
|
2962 |
-
url: 'skyatlas.com',
|
2963 |
-
categories: [ 'Brand Icons' ] },
|
2964 |
-
{ name: 'Add to Shopping Cart',
|
2965 |
-
id: 'cart-plus',
|
2966 |
-
unicode: 'f217',
|
2967 |
-
created: 4.3,
|
2968 |
-
filter: [ 'add', 'shopping' ],
|
2969 |
-
categories: [ 'Web Application Icons' ] },
|
2970 |
-
{ name: 'Shopping Cart Arrow Down',
|
2971 |
-
id: 'cart-arrow-down',
|
2972 |
-
unicode: 'f218',
|
2973 |
-
created: 4.3,
|
2974 |
-
filter: [ 'shopping' ],
|
2975 |
-
categories: [ 'Web Application Icons' ] },
|
2976 |
-
{ name: 'Diamond',
|
2977 |
-
id: 'diamond',
|
2978 |
-
unicode: 'f219',
|
2979 |
-
created: 4.3,
|
2980 |
-
filter: [ 'gem', 'gemstone' ],
|
2981 |
-
categories: [ 'Web Application Icons' ] },
|
2982 |
-
{ name: 'Ship',
|
2983 |
-
id: 'ship',
|
2984 |
-
unicode: 'f21a',
|
2985 |
-
created: 4.3,
|
2986 |
-
filter: [ 'boat', 'sea' ],
|
2987 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
2988 |
-
{ name: 'User Secret',
|
2989 |
-
id: 'user-secret',
|
2990 |
-
unicode: 'f21b',
|
2991 |
-
created: 4.3,
|
2992 |
-
filter: [ 'whisper', 'spy', 'incognito', 'privacy' ],
|
2993 |
-
categories: [ 'Web Application Icons' ] },
|
2994 |
-
{ name: 'Motorcycle',
|
2995 |
-
id: 'motorcycle',
|
2996 |
-
unicode: 'f21c',
|
2997 |
-
created: 4.3,
|
2998 |
-
filter: [ 'vehicle', 'bike' ],
|
2999 |
-
categories: [ 'Web Application Icons', 'Transportation Icons' ] },
|
3000 |
-
{ name: 'Street View',
|
3001 |
-
id: 'street-view',
|
3002 |
-
unicode: 'f21d',
|
3003 |
-
created: 4.3,
|
3004 |
-
filter: [ 'map' ],
|
3005 |
-
categories: [ 'Web Application Icons' ] },
|
3006 |
-
{ name: 'Heartbeat',
|
3007 |
-
id: 'heartbeat',
|
3008 |
-
unicode: 'f21e',
|
3009 |
-
created: 4.3,
|
3010 |
-
filter: [ 'ekg' ],
|
3011 |
-
categories: [ 'Web Application Icons', 'Medical Icons' ] },
|
3012 |
-
{ name: 'Venus',
|
3013 |
-
id: 'venus',
|
3014 |
-
unicode: 'f221',
|
3015 |
-
created: 4.3,
|
3016 |
-
filter: [ 'female' ],
|
3017 |
-
categories: [ 'Gender Icons' ] },
|
3018 |
-
{ name: 'Mars',
|
3019 |
-
id: 'mars',
|
3020 |
-
unicode: 'f222',
|
3021 |
-
created: 4.3,
|
3022 |
-
filter: [ 'male' ],
|
3023 |
-
categories: [ 'Gender Icons' ] },
|
3024 |
-
{ name: 'Mercury',
|
3025 |
-
id: 'mercury',
|
3026 |
-
unicode: 'f223',
|
3027 |
-
created: 4.3,
|
3028 |
-
filter: [ 'transgender' ],
|
3029 |
-
categories: [ 'Gender Icons' ] },
|
3030 |
-
{ name: 'Transgender',
|
3031 |
-
id: 'transgender',
|
3032 |
-
unicode: 'f224',
|
3033 |
-
created: 4.3,
|
3034 |
-
aliases: [ 'intersex' ],
|
3035 |
-
categories: [ 'Gender Icons' ] },
|
3036 |
-
{ name: 'Transgender Alt',
|
3037 |
-
id: 'transgender-alt',
|
3038 |
-
unicode: 'f225',
|
3039 |
-
created: 4.3,
|
3040 |
-
categories: [ 'Gender Icons' ] },
|
3041 |
-
{ name: 'Venus Double',
|
3042 |
-
id: 'venus-double',
|
3043 |
-
unicode: 'f226',
|
3044 |
-
created: 4.3,
|
3045 |
-
categories: [ 'Gender Icons' ] },
|
3046 |
-
{ name: 'Mars Double',
|
3047 |
-
id: 'mars-double',
|
3048 |
-
unicode: 'f227',
|
3049 |
-
created: 4.3,
|
3050 |
-
categories: [ 'Gender Icons' ] },
|
3051 |
-
{ name: 'Venus Mars',
|
3052 |
-
id: 'venus-mars',
|
3053 |
-
unicode: 'f228',
|
3054 |
-
created: 4.3,
|
3055 |
-
categories: [ 'Gender Icons' ] },
|
3056 |
-
{ name: 'Mars Stroke',
|
3057 |
-
id: 'mars-stroke',
|
3058 |
-
unicode: 'f229',
|
3059 |
-
created: 4.3,
|
3060 |
-
categories: [ 'Gender Icons' ] },
|
3061 |
-
{ name: 'Mars Stroke Vertical',
|
3062 |
-
id: 'mars-stroke-v',
|
3063 |
-
unicode: 'f22a',
|
3064 |
-
created: 4.3,
|
3065 |
-
categories: [ 'Gender Icons' ] },
|
3066 |
-
{ name: 'Mars Stroke Horizontal',
|
3067 |
-
id: 'mars-stroke-h',
|
3068 |
-
unicode: 'f22b',
|
3069 |
-
created: 4.3,
|
3070 |
-
categories: [ 'Gender Icons' ] },
|
3071 |
-
{ name: 'Neuter',
|
3072 |
-
id: 'neuter',
|
3073 |
-
unicode: 'f22c',
|
3074 |
-
created: 4.3,
|
3075 |
-
categories: [ 'Gender Icons' ] },
|
3076 |
-
{ name: 'Genderless',
|
3077 |
-
id: 'genderless',
|
3078 |
-
unicode: 'f22d',
|
3079 |
-
created: 4.4,
|
3080 |
-
categories: [ 'Gender Icons' ] },
|
3081 |
-
{ name: 'Facebook Official',
|
3082 |
-
id: 'facebook-official',
|
3083 |
-
unicode: 'f230',
|
3084 |
-
created: 4.3,
|
3085 |
-
categories: [ 'Brand Icons' ] },
|
3086 |
-
{ name: 'Pinterest P',
|
3087 |
-
id: 'pinterest-p',
|
3088 |
-
unicode: 'f231',
|
3089 |
-
created: 4.3,
|
3090 |
-
categories: [ 'Brand Icons' ] },
|
3091 |
-
{ name: 'What\'s App',
|
3092 |
-
id: 'whatsapp',
|
3093 |
-
unicode: 'f232',
|
3094 |
-
created: 4.3,
|
3095 |
-
categories: [ 'Brand Icons' ] },
|
3096 |
-
{ name: 'Server',
|
3097 |
-
id: 'server',
|
3098 |
-
unicode: 'f233',
|
3099 |
-
created: 4.3,
|
3100 |
-
categories: [ 'Web Application Icons' ] },
|
3101 |
-
{ name: 'Add User',
|
3102 |
-
id: 'user-plus',
|
3103 |
-
unicode: 'f234',
|
3104 |
-
created: 4.3,
|
3105 |
-
filter: [ 'sign up', 'signup' ],
|
3106 |
-
categories: [ 'Web Application Icons' ] },
|
3107 |
-
{ name: 'Remove User',
|
3108 |
-
id: 'user-times',
|
3109 |
-
unicode: 'f235',
|
3110 |
-
created: 4.3,
|
3111 |
-
categories: [ 'Web Application Icons' ] },
|
3112 |
-
{ name: 'Bed',
|
3113 |
-
id: 'bed',
|
3114 |
-
unicode: 'f236',
|
3115 |
-
created: 4.3,
|
3116 |
-
filter: [ 'travel' ],
|
3117 |
-
aliases: [ 'hotel' ],
|
3118 |
-
categories: [ 'Web Application Icons' ] },
|
3119 |
-
{ name: 'Viacoin',
|
3120 |
-
id: 'viacoin',
|
3121 |
-
unicode: 'f237',
|
3122 |
-
created: 4.3,
|
3123 |
-
url: 'viacoin.org',
|
3124 |
-
categories: [ 'Brand Icons' ] },
|
3125 |
-
{ name: 'Train',
|
3126 |
-
id: 'train',
|
3127 |
-
unicode: 'f238',
|
3128 |
-
created: 4.3,
|
3129 |
-
categories: [ 'Transportation Icons' ] },
|
3130 |
-
{ name: 'Subway',
|
3131 |
-
id: 'subway',
|
3132 |
-
unicode: 'f239',
|
3133 |
-
created: 4.3,
|
3134 |
-
categories: [ 'Transportation Icons' ] },
|
3135 |
-
{ name: 'Medium',
|
3136 |
-
id: 'medium',
|
3137 |
-
unicode: 'f23a',
|
3138 |
-
created: 4.3,
|
3139 |
-
categories: [ 'Brand Icons' ] },
|
3140 |
-
{ name: 'Y Combinator',
|
3141 |
-
id: 'y-combinator',
|
3142 |
-
unicode: 'f23b',
|
3143 |
-
created: 4.4,
|
3144 |
-
aliases: [ 'yc' ],
|
3145 |
-
categories: [ 'Brand Icons' ] },
|
3146 |
-
{ name: 'Optin Monster',
|
3147 |
-
id: 'optin-monster',
|
3148 |
-
unicode: 'f23c',
|
3149 |
-
created: 4.4,
|
3150 |
-
url: 'optinmonster.com',
|
3151 |
-
categories: [ 'Brand Icons' ] },
|
3152 |
-
{ name: 'OpenCart',
|
3153 |
-
id: 'opencart',
|
3154 |
-
unicode: 'f23d',
|
3155 |
-
created: 4.4,
|
3156 |
-
url: 'opencart.com',
|
3157 |
-
categories: [ 'Brand Icons' ] },
|
3158 |
-
{ name: 'ExpeditedSSL',
|
3159 |
-
id: 'expeditedssl',
|
3160 |
-
unicode: 'f23e',
|
3161 |
-
created: 4.4,
|
3162 |
-
categories: [ 'Brand Icons' ] },
|
3163 |
-
{ name: 'Battery Full',
|
3164 |
-
id: 'battery-full',
|
3165 |
-
unicode: 'f240',
|
3166 |
-
created: 4.4,
|
3167 |
-
aliases: [ 'battery-4' ],
|
3168 |
-
filter: [ 'power' ],
|
3169 |
-
categories: [ 'Web Application Icons' ] },
|
3170 |
-
{ name: 'Battery 3/4 Full',
|
3171 |
-
id: 'battery-three-quarters',
|
3172 |
-
unicode: 'f241',
|
3173 |
-
created: 4.4,
|
3174 |
-
aliases: [ 'battery-3' ],
|
3175 |
-
filter: [ 'power' ],
|
3176 |
-
categories: [ 'Web Application Icons' ] },
|
3177 |
-
{ name: 'Battery 1/2 Full',
|
3178 |
-
id: 'battery-half',
|
3179 |
-
unicode: 'f242',
|
3180 |
-
created: 4.4,
|
3181 |
-
aliases: [ 'battery-2' ],
|
3182 |
-
filter: [ 'power' ],
|
3183 |
-
categories: [ 'Web Application Icons' ] },
|
3184 |
-
{ name: 'Battery 1/4 Full',
|
3185 |
-
id: 'battery-quarter',
|
3186 |
-
unicode: 'f243',
|
3187 |
-
created: 4.4,
|
3188 |
-
aliases: [ 'battery-1' ],
|
3189 |
-
filter: [ 'power' ],
|
3190 |
-
categories: [ 'Web Application Icons' ] },
|
3191 |
-
{ name: 'Battery Empty',
|
3192 |
-
id: 'battery-empty',
|
3193 |
-
unicode: 'f244',
|
3194 |
-
created: 4.4,
|
3195 |
-
aliases: [ 'battery-0' ],
|
3196 |
-
filter: [ 'power' ],
|
3197 |
-
categories: [ 'Web Application Icons' ] },
|
3198 |
-
{ name: 'Mouse Pointer',
|
3199 |
-
id: 'mouse-pointer',
|
3200 |
-
unicode: 'f245',
|
3201 |
-
created: 4.4,
|
3202 |
-
categories: [ 'Web Application Icons' ] },
|
3203 |
-
{ name: 'I Beam Cursor',
|
3204 |
-
id: 'i-cursor',
|
3205 |
-
unicode: 'f246',
|
3206 |
-
created: 4.4,
|
3207 |
-
categories: [ 'Web Application Icons' ] },
|
3208 |
-
{ name: 'Object Group',
|
3209 |
-
id: 'object-group',
|
3210 |
-
unicode: 'f247',
|
3211 |
-
created: 4.4,
|
3212 |
-
categories: [ 'Web Application Icons' ] },
|
3213 |
-
{ name: 'Object Ungroup',
|
3214 |
-
id: 'object-ungroup',
|
3215 |
-
unicode: 'f248',
|
3216 |
-
created: 4.4,
|
3217 |
-
categories: [ 'Web Application Icons' ] },
|
3218 |
-
{ name: 'Sticky Note',
|
3219 |
-
id: 'sticky-note',
|
3220 |
-
unicode: 'f249',
|
3221 |
-
created: 4.4,
|
3222 |
-
categories: [ 'Web Application Icons' ] },
|
3223 |
-
{ name: 'Sticky Note Outlined',
|
3224 |
-
id: 'sticky-note-o',
|
3225 |
-
unicode: 'f24a',
|
3226 |
-
created: 4.4,
|
3227 |
-
categories: [ 'Web Application Icons' ] },
|
3228 |
-
{ name: 'JCB Credit Card',
|
3229 |
-
id: 'cc-jcb',
|
3230 |
-
unicode: 'f24b',
|
3231 |
-
created: 4.4,
|
3232 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
3233 |
-
{ name: 'Diner\'s Club Credit Card',
|
3234 |
-
id: 'cc-diners-club',
|
3235 |
-
unicode: 'f24c',
|
3236 |
-
created: 4.4,
|
3237 |
-
categories: [ 'Brand Icons', 'Payment Icons' ] },
|
3238 |
-
{ name: 'Clone',
|
3239 |
-
id: 'clone',
|
3240 |
-
unicode: 'f24d',
|
3241 |
-
created: 4.4,
|
3242 |
-
filter: [ 'copy' ],
|
3243 |
-
categories: [ 'Web Application Icons' ] },
|
3244 |
-
{ name: 'Balance Scale',
|
3245 |
-
id: 'balance-scale',
|
3246 |
-
unicode: 'f24e',
|
3247 |
-
created: 4.4,
|
3248 |
-
categories: [ 'Web Application Icons' ] },
|
3249 |
-
{ name: 'Hourglass Outlined',
|
3250 |
-
id: 'hourglass-o',
|
3251 |
-
unicode: 'f250',
|
3252 |
-
created: 4.4,
|
3253 |
-
categories: [ 'Web Application Icons' ] },
|
3254 |
-
{ name: 'Hourglass Start',
|
3255 |
-
id: 'hourglass-start',
|
3256 |
-
unicode: 'f251',
|
3257 |
-
created: 4.4,
|
3258 |
-
aliases: [ 'hourglass-1' ],
|
3259 |
-
categories: [ 'Web Application Icons' ] },
|
3260 |
-
{ name: 'Hourglass Half',
|
3261 |
-
id: 'hourglass-half',
|
3262 |
-
unicode: 'f252',
|
3263 |
-
created: 4.4,
|
3264 |
-
aliases: [ 'hourglass-2' ],
|
3265 |
-
categories: [ 'Web Application Icons' ] },
|
3266 |
-
{ name: 'Hourglass End',
|
3267 |
-
id: 'hourglass-end',
|
3268 |
-
unicode: 'f253',
|
3269 |
-
created: 4.4,
|
3270 |
-
aliases: [ 'hourglass-3' ],
|
3271 |
-
categories: [ 'Web Application Icons' ] },
|
3272 |
-
{ name: 'Hourglass',
|
3273 |
-
id: 'hourglass',
|
3274 |
-
unicode: 'f254',
|
3275 |
-
created: 4.4,
|
3276 |
-
categories: [ 'Web Application Icons' ] },
|
3277 |
-
{ name: 'Rock (Hand)',
|
3278 |
-
id: 'hand-rock-o',
|
3279 |
-
unicode: 'f255',
|
3280 |
-
created: 4.4,
|
3281 |
-
aliases: [ 'hand-grab-o' ],
|
3282 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
3283 |
-
{ name: 'Paper (Hand)',
|
3284 |
-
id: 'hand-paper-o',
|
3285 |
-
unicode: 'f256',
|
3286 |
-
created: 4.4,
|
3287 |
-
aliases: [ 'hand-stop-o' ],
|
3288 |
-
filter: [ 'stop' ],
|
3289 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
3290 |
-
{ name: 'Scissors (Hand)',
|
3291 |
-
id: 'hand-scissors-o',
|
3292 |
-
unicode: 'f257',
|
3293 |
-
created: 4.4,
|
3294 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
3295 |
-
{ name: 'Lizard (Hand)',
|
3296 |
-
id: 'hand-lizard-o',
|
3297 |
-
unicode: 'f258',
|
3298 |
-
created: 4.4,
|
3299 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
3300 |
-
{ name: 'Spock (Hand)',
|
3301 |
-
id: 'hand-spock-o',
|
3302 |
-
unicode: 'f259',
|
3303 |
-
created: 4.4,
|
3304 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
3305 |
-
{ name: 'Hand Pointer',
|
3306 |
-
id: 'hand-pointer-o',
|
3307 |
-
unicode: 'f25a',
|
3308 |
-
created: 4.4,
|
3309 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
3310 |
-
{ name: 'Hand Peace',
|
3311 |
-
id: 'hand-peace-o',
|
3312 |
-
unicode: 'f25b',
|
3313 |
-
created: 4.4,
|
3314 |
-
categories: [ 'Web Application Icons', 'Hand Icons' ] },
|
3315 |
-
{ name: 'Trademark',
|
3316 |
-
id: 'trademark',
|
3317 |
-
unicode: 'f25c',
|
3318 |
-
created: 4.4,
|
3319 |
-
categories: [ 'Web Application Icons' ] },
|
3320 |
-
{ name: 'Registered Trademark',
|
3321 |
-
id: 'registered',
|
3322 |
-
unicode: 'f25d',
|
3323 |
-
created: 4.4,
|
3324 |
-
categories: [ 'Web Application Icons' ] },
|
3325 |
-
{ name: 'Creative Commons',
|
3326 |
-
id: 'creative-commons',
|
3327 |
-
unicode: 'f25e',
|
3328 |
-
created: 4.4,
|
3329 |
-
categories: [ 'Web Application Icons' ] },
|
3330 |
-
{ name: 'GG Currency',
|
3331 |
-
id: 'gg',
|
3332 |
-
unicode: 'f260',
|
3333 |
-
created: 4.4,
|
3334 |
-
categories: [ 'Currency Icons', 'Brand Icons' ] },
|
3335 |
-
{ name: 'GG Currency Circle',
|
3336 |
-
id: 'gg-circle',
|
3337 |
-
unicode: 'f261',
|
3338 |
-
created: 4.4,
|
3339 |
-
categories: [ 'Currency Icons', 'Brand Icons' ] },
|
3340 |
-
{ name: 'TripAdvisor',
|
3341 |
-
id: 'tripadvisor',
|
3342 |
-
unicode: 'f262',
|
3343 |
-
created: 4.4,
|
3344 |
-
categories: [ 'Brand Icons' ] },
|
3345 |
-
{ name: 'Odnoklassniki',
|
3346 |
-
id: 'odnoklassniki',
|
3347 |
-
unicode: 'f263',
|
3348 |
-
created: 4.4,
|
3349 |
-
categories: [ 'Brand Icons' ] },
|
3350 |
-
{ name: 'Odnoklassniki Square',
|
3351 |
-
id: 'odnoklassniki-square',
|
3352 |
-
unicode: 'f264',
|
3353 |
-
created: 4.4,
|
3354 |
-
categories: [ 'Brand Icons' ] },
|
3355 |
-
{ name: 'Get Pocket',
|
3356 |
-
id: 'get-pocket',
|
3357 |
-
unicode: 'f265',
|
3358 |
-
created: 4.4,
|
3359 |
-
categories: [ 'Brand Icons' ] },
|
3360 |
-
{ name: 'Wikipedia W',
|
3361 |
-
id: 'wikipedia-w',
|
3362 |
-
unicode: 'f266',
|
3363 |
-
created: 4.4,
|
3364 |
-
categories: [ 'Brand Icons' ] },
|
3365 |
-
{ name: 'Safari',
|
3366 |
-
id: 'safari',
|
3367 |
-
unicode: 'f267',
|
3368 |
-
created: 4.4,
|
3369 |
-
filter: [ 'browser' ],
|
3370 |
-
categories: [ 'Brand Icons' ] },
|
3371 |
-
{ name: 'Chrome',
|
3372 |
-
id: 'chrome',
|
3373 |
-
unicode: 'f268',
|
3374 |
-
created: 4.4,
|
3375 |
-
filter: [ 'browser' ],
|
3376 |
-
categories: [ 'Brand Icons' ] },
|
3377 |
-
{ name: 'Firefox',
|
3378 |
-
id: 'firefox',
|
3379 |
-
unicode: 'f269',
|
3380 |
-
created: 4.4,
|
3381 |
-
filter: [ 'browser' ],
|
3382 |
-
categories: [ 'Brand Icons' ] },
|
3383 |
-
{ name: 'Opera',
|
3384 |
-
id: 'opera',
|
3385 |
-
unicode: 'f26a',
|
3386 |
-
created: 4.4,
|
3387 |
-
categories: [ 'Brand Icons' ] },
|
3388 |
-
{ name: 'Internet-explorer',
|
3389 |
-
id: 'internet-explorer',
|
3390 |
-
unicode: 'f26b',
|
3391 |
-
created: 4.4,
|
3392 |
-
filter: [ 'browser', 'ie' ],
|
3393 |
-
categories: [ 'Brand Icons' ] },
|
3394 |
-
{ name: 'Television',
|
3395 |
-
id: 'television',
|
3396 |
-
unicode: 'f26c',
|
3397 |
-
created: 4.4,
|
3398 |
-
aliases: [ 'tv' ],
|
3399 |
-
filter: [ 'display', 'computer', 'monitor' ],
|
3400 |
-
categories: [ 'Web Application Icons' ] },
|
3401 |
-
{ name: 'Contao',
|
3402 |
-
id: 'contao',
|
3403 |
-
unicode: 'f26d',
|
3404 |
-
created: 4.4,
|
3405 |
-
categories: [ 'Brand Icons' ] },
|
3406 |
-
{ name: '500px',
|
3407 |
-
id: '500px',
|
3408 |
-
unicode: 'f26e',
|
3409 |
-
created: 4.4,
|
3410 |
-
categories: [ 'Brand Icons' ] },
|
3411 |
-
{ name: 'Amazon',
|
3412 |
-
id: 'amazon',
|
3413 |
-
unicode: 'f270',
|
3414 |
-
created: 4.4,
|
3415 |
-
categories: [ 'Brand Icons' ] },
|
3416 |
-
{ name: 'Calendar Plus Outlined',
|
3417 |
-
id: 'calendar-plus-o',
|
3418 |
-
unicode: 'f271',
|
3419 |
-
created: 4.4,
|
3420 |
-
categories: [ 'Web Application Icons' ] },
|
3421 |
-
{ name: 'Calendar Minus Outlined',
|
3422 |
-
id: 'calendar-minus-o',
|
3423 |
-
unicode: 'f272',
|
3424 |
-
created: 4.4,
|
3425 |
-
categories: [ 'Web Application Icons' ] },
|
3426 |
-
{ name: 'Calendar Times Outlined',
|
3427 |
-
id: 'calendar-times-o',
|
3428 |
-
unicode: 'f273',
|
3429 |
-
created: 4.4,
|
3430 |
-
categories: [ 'Web Application Icons' ] },
|
3431 |
-
{ name: 'Calendar Check Outlined',
|
3432 |
-
id: 'calendar-check-o',
|
3433 |
-
unicode: 'f274',
|
3434 |
-
created: 4.4,
|
3435 |
-
filter: [ 'ok' ],
|
3436 |
-
categories: [ 'Web Application Icons' ] },
|
3437 |
-
{ name: 'Industry',
|
3438 |
-
id: 'industry',
|
3439 |
-
unicode: 'f275',
|
3440 |
-
created: 4.4,
|
3441 |
-
filter: [ 'factory' ],
|
3442 |
-
categories: [ 'Web Application Icons' ] },
|
3443 |
-
{ name: 'Map Pin',
|
3444 |
-
id: 'map-pin',
|
3445 |
-
unicode: 'f276',
|
3446 |
-
created: 4.4,
|
3447 |
-
categories: [ 'Web Application Icons' ] },
|
3448 |
-
{ name: 'Map Signs',
|
3449 |
-
id: 'map-signs',
|
3450 |
-
unicode: 'f277',
|
3451 |
-
created: 4.4,
|
3452 |
-
categories: [ 'Web Application Icons' ] },
|
3453 |
-
{ name: 'Map Outlined',
|
3454 |
-
id: 'map-o',
|
3455 |
-
unicode: 'f278',
|
3456 |
-
created: 4.4,
|
3457 |
-
categories: [ 'Web Application Icons' ] },
|
3458 |
-
{ name: 'Map',
|
3459 |
-
id: 'map',
|
3460 |
-
unicode: 'f279',
|
3461 |
-
created: 4.4,
|
3462 |
-
categories: [ 'Web Application Icons' ] },
|
3463 |
-
{ name: 'Commenting',
|
3464 |
-
id: 'commenting',
|
3465 |
-
unicode: 'f27a',
|
3466 |
-
created: 4.4,
|
3467 |
-
filter:
|
3468 |
-
[ 'speech',
|
3469 |
-
'notification',
|
3470 |
-
'note',
|
3471 |
-
'chat',
|
3472 |
-
'bubble',
|
3473 |
-
'feedback',
|
3474 |
-
'message',
|
3475 |
-
'texting',
|
3476 |
-
'sms',
|
3477 |
-
'conversation' ],
|
3478 |
-
categories: [ 'Web Application Icons' ] },
|
3479 |
-
{ name: 'Commenting Outlined',
|
3480 |
-
id: 'commenting-o',
|
3481 |
-
unicode: 'f27b',
|
3482 |
-
created: 4.4,
|
3483 |
-
filter:
|
3484 |
-
[ 'speech',
|
3485 |
-
'notification',
|
3486 |
-
'note',
|
3487 |
-
'chat',
|
3488 |
-
'bubble',
|
3489 |
-
'feedback',
|
3490 |
-
'message',
|
3491 |
-
'texting',
|
3492 |
-
'sms',
|
3493 |
-
'conversation' ],
|
3494 |
-
categories: [ 'Web Application Icons' ] },
|
3495 |
-
{ name: 'Houzz',
|
3496 |
-
id: 'houzz',
|
3497 |
-
unicode: 'f27c',
|
3498 |
-
created: 4.4,
|
3499 |
-
categories: [ 'Brand Icons' ] },
|
3500 |
-
{ name: 'Vimeo',
|
3501 |
-
id: 'vimeo',
|
3502 |
-
unicode: 'f27d',
|
3503 |
-
created: 4.4,
|
3504 |
-
categories: [ 'Brand Icons' ] },
|
3505 |
-
{ name: 'Font Awesome Black Tie',
|
3506 |
-
id: 'black-tie',
|
3507 |
-
unicode: 'f27e',
|
3508 |
-
created: 4.4,
|
3509 |
-
url: 'blacktie.io',
|
3510 |
-
categories: [ 'Brand Icons' ] },
|
3511 |
-
{ name: 'Fonticons',
|
3512 |
-
id: 'fonticons',
|
3513 |
-
unicode: 'f280',
|
3514 |
-
created: 4.4,
|
3515 |
-
url: 'fonticons.com',
|
3516 |
-
categories: [ 'Brand Icons' ] },
|
3517 |
-
{ name: 'reddit Alien',
|
3518 |
-
id: 'reddit-alien',
|
3519 |
-
unicode: 'f281',
|
3520 |
-
created: 4.5,
|
3521 |
-
categories: [ 'Brand Icons' ] },
|
3522 |
-
{ name: 'Edge Browser',
|
3523 |
-
id: 'edge',
|
3524 |
-
unicode: 'f282',
|
3525 |
-
created: 4.5,
|
3526 |
-
filter: [ 'browser', 'ie' ],
|
3527 |
-
categories: [ 'Brand Icons' ] },
|
3528 |
-
{ name: 'Credit Card',
|
3529 |
-
id: 'credit-card-alt',
|
3530 |
-
unicode: 'f283',
|
3531 |
-
created: 4.5,
|
3532 |
-
filter:
|
3533 |
-
[ 'money',
|
3534 |
-
'buy',
|
3535 |
-
'debit',
|
3536 |
-
'checkout',
|
3537 |
-
'purchase',
|
3538 |
-
'payment',
|
3539 |
-
'credit card' ],
|
3540 |
-
categories: [ 'Payment Icons', 'Web Application Icons' ] },
|
3541 |
-
{ name: 'Codie Pie',
|
3542 |
-
id: 'codiepie',
|
3543 |
-
unicode: 'f284',
|
3544 |
-
created: 4.5,
|
3545 |
-
url: 'codiepie.com',
|
3546 |
-
categories: [ 'Brand Icons' ] },
|
3547 |
-
{ name: 'MODX',
|
3548 |
-
id: 'modx',
|
3549 |
-
unicode: 'f285',
|
3550 |
-
created: 4.5,
|
3551 |
-
categories: [ 'Brand Icons' ] },
|
3552 |
-
{ name: 'Fort Awesome',
|
3553 |
-
id: 'fort-awesome',
|
3554 |
-
unicode: 'f286',
|
3555 |
-
created: 4.5,
|
3556 |
-
url: 'fortawesome.com',
|
3557 |
-
categories: [ 'Brand Icons' ] },
|
3558 |
-
{ name: 'USB',
|
3559 |
-
id: 'usb',
|
3560 |
-
unicode: 'f287',
|
3561 |
-
created: 4.5,
|
3562 |
-
categories: [ 'Brand Icons' ] },
|
3563 |
-
{ name: 'Product Hunt',
|
3564 |
-
id: 'product-hunt',
|
3565 |
-
unicode: 'f288',
|
3566 |
-
created: 4.5,
|
3567 |
-
categories: [ 'Brand Icons' ] },
|
3568 |
-
{ name: 'Mixcloud',
|
3569 |
-
id: 'mixcloud',
|
3570 |
-
unicode: 'f289',
|
3571 |
-
created: 4.5,
|
3572 |
-
categories: [ 'Brand Icons' ] },
|
3573 |
-
{ name: 'Scribd',
|
3574 |
-
id: 'scribd',
|
3575 |
-
unicode: 'f28a',
|
3576 |
-
created: 4.5,
|
3577 |
-
categories: [ 'Brand Icons' ] },
|
3578 |
-
{ name: 'Pause Circle',
|
3579 |
-
id: 'pause-circle',
|
3580 |
-
unicode: 'f28b',
|
3581 |
-
created: 4.5,
|
3582 |
-
categories: [ 'Video Player Icons' ] },
|
3583 |
-
{ name: 'Pause Circle Outlined',
|
3584 |
-
id: 'pause-circle-o',
|
3585 |
-
unicode: 'f28c',
|
3586 |
-
created: 4.5,
|
3587 |
-
categories: [ 'Video Player Icons' ] },
|
3588 |
-
{ name: 'Stop Circle',
|
3589 |
-
id: 'stop-circle',
|
3590 |
-
unicode: 'f28d',
|
3591 |
-
created: 4.5,
|
3592 |
-
categories: [ 'Video Player Icons' ] },
|
3593 |
-
{ name: 'Stop Circle Outlined',
|
3594 |
-
id: 'stop-circle-o',
|
3595 |
-
unicode: 'f28e',
|
3596 |
-
created: 4.5,
|
3597 |
-
categories: [ 'Video Player Icons' ] },
|
3598 |
-
{ name: 'Shopping Bag',
|
3599 |
-
id: 'shopping-bag',
|
3600 |
-
unicode: 'f290',
|
3601 |
-
created: 4.5,
|
3602 |
-
categories: [ 'Web Application Icons' ] },
|
3603 |
-
{ name: 'Shopping Basket',
|
3604 |
-
id: 'shopping-basket',
|
3605 |
-
unicode: 'f291',
|
3606 |
-
created: 4.5,
|
3607 |
-
categories: [ 'Web Application Icons' ] },
|
3608 |
-
{ name: 'Hashtag',
|
3609 |
-
id: 'hashtag',
|
3610 |
-
unicode: 'f292',
|
3611 |
-
created: 4.5,
|
3612 |
-
categories: [ 'Web Application Icons' ] },
|
3613 |
-
{ name: 'Bluetooth',
|
3614 |
-
id: 'bluetooth',
|
3615 |
-
unicode: 'f293',
|
3616 |
-
created: 4.5,
|
3617 |
-
categories: [ 'Web Application Icons', 'Brand Icons' ] },
|
3618 |
-
{ name: 'Bluetooth',
|
3619 |
-
id: 'bluetooth-b',
|
3620 |
-
unicode: 'f294',
|
3621 |
-
created: 4.5,
|
3622 |
-
categories: [ 'Web Application Icons', 'Brand Icons' ] },
|
3623 |
-
{ name: 'Percent',
|
3624 |
-
id: 'percent',
|
3625 |
-
unicode: 'f295',
|
3626 |
-
created: 4.5,
|
3627 |
-
categories: [ 'Web Application Icons' ] },
|
3628 |
-
{ name: 'GitLab',
|
3629 |
-
id: 'gitlab',
|
3630 |
-
unicode: 'f296',
|
3631 |
-
created: 4.6,
|
3632 |
-
url: 'gitlab.com',
|
3633 |
-
categories: [ 'Brand Icons' ] },
|
3634 |
-
{ name: 'WPBeginner',
|
3635 |
-
id: 'wpbeginner',
|
3636 |
-
unicode: 'f297',
|
3637 |
-
created: 4.6,
|
3638 |
-
url: 'wpbeginner.com',
|
3639 |
-
categories: [ 'Brand Icons' ] },
|
3640 |
-
{ name: 'WPForms',
|
3641 |
-
id: 'wpforms',
|
3642 |
-
unicode: 'f298',
|
3643 |
-
created: 4.6,
|
3644 |
-
url: 'wpforms.com',
|
3645 |
-
categories: [ 'Brand Icons' ] },
|
3646 |
-
{ name: 'Envira Gallery',
|
3647 |
-
id: 'envira',
|
3648 |
-
unicode: 'f299',
|
3649 |
-
created: 4.6,
|
3650 |
-
url: 'enviragallery.com',
|
3651 |
-
filter: [ 'leaf' ],
|
3652 |
-
categories: [ 'Brand Icons' ] },
|
3653 |
-
{ name: 'Universal Access',
|
3654 |
-
id: 'universal-access',
|
3655 |
-
unicode: 'f29a',
|
3656 |
-
created: 4.6,
|
3657 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3658 |
-
{ name: 'Wheelchair Alt',
|
3659 |
-
id: 'wheelchair-alt',
|
3660 |
-
unicode: 'f29b',
|
3661 |
-
created: 4.6,
|
3662 |
-
filter: [ 'handicap', 'person' ],
|
3663 |
-
categories:
|
3664 |
-
[ 'Web Application Icons',
|
3665 |
-
'Medical Icons',
|
3666 |
-
'Transportation Icons',
|
3667 |
-
'Accessibility Icons' ] },
|
3668 |
-
{ name: 'Question Circle Outlined',
|
3669 |
-
id: 'question-circle-o',
|
3670 |
-
unicode: 'f29c',
|
3671 |
-
created: 4.6,
|
3672 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3673 |
-
{ name: 'Blind',
|
3674 |
-
id: 'blind',
|
3675 |
-
unicode: 'f29d',
|
3676 |
-
created: 4.6,
|
3677 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3678 |
-
{ name: 'Audio Description',
|
3679 |
-
id: 'audio-description',
|
3680 |
-
unicode: 'f29e',
|
3681 |
-
created: 4.6,
|
3682 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3683 |
-
{ name: 'Volume Control Phone',
|
3684 |
-
id: 'volume-control-phone',
|
3685 |
-
unicode: 'f2a0',
|
3686 |
-
created: 4.6,
|
3687 |
-
filter: [ 'telephone' ],
|
3688 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3689 |
-
{ name: 'Braille',
|
3690 |
-
id: 'braille',
|
3691 |
-
unicode: 'f2a1',
|
3692 |
-
created: 4.6,
|
3693 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3694 |
-
{ name: 'Assistive Listening Systems',
|
3695 |
-
id: 'assistive-listening-systems',
|
3696 |
-
unicode: 'f2a2',
|
3697 |
-
created: 4.6,
|
3698 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3699 |
-
{ name: 'American Sign Language Interpreting',
|
3700 |
-
id: 'american-sign-language-interpreting',
|
3701 |
-
unicode: 'f2a3',
|
3702 |
-
created: 4.6,
|
3703 |
-
aliases: [ 'asl-interpreting' ],
|
3704 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3705 |
-
{ name: 'Deaf',
|
3706 |
-
id: 'deaf',
|
3707 |
-
unicode: 'f2a4',
|
3708 |
-
created: 4.6,
|
3709 |
-
aliases: [ 'deafness', 'hard-of-hearing' ],
|
3710 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3711 |
-
{ name: 'Glide',
|
3712 |
-
id: 'glide',
|
3713 |
-
unicode: 'f2a5',
|
3714 |
-
created: 4.6,
|
3715 |
-
categories: [ 'Brand Icons' ] },
|
3716 |
-
{ name: 'Glide G',
|
3717 |
-
id: 'glide-g',
|
3718 |
-
unicode: 'f2a6',
|
3719 |
-
created: 4.6,
|
3720 |
-
categories: [ 'Brand Icons' ] },
|
3721 |
-
{ name: 'Sign Language',
|
3722 |
-
id: 'sign-language',
|
3723 |
-
unicode: 'f2a7',
|
3724 |
-
created: 4.6,
|
3725 |
-
aliases: [ 'signing' ],
|
3726 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3727 |
-
{ name: 'Low Vision',
|
3728 |
-
id: 'low-vision',
|
3729 |
-
unicode: 'f2a8',
|
3730 |
-
created: 4.6,
|
3731 |
-
categories: [ 'Web Application Icons', 'Accessibility Icons' ] },
|
3732 |
-
{ name: 'Viadeo',
|
3733 |
-
id: 'viadeo',
|
3734 |
-
unicode: 'f2a9',
|
3735 |
-
created: 4.6,
|
3736 |
-
categories: [ 'Brand Icons' ] },
|
3737 |
-
{ name: 'Viadeo Square',
|
3738 |
-
id: 'viadeo-square',
|
3739 |
-
unicode: 'f2aa',
|
3740 |
-
created: 4.6,
|
3741 |
-
categories: [ 'Brand Icons' ] },
|
3742 |
-
{ name: 'Snapchat',
|
3743 |
-
id: 'snapchat',
|
3744 |
-
unicode: 'f2ab',
|
3745 |
-
created: 4.6,
|
3746 |
-
categories: [ 'Brand Icons' ] },
|
3747 |
-
{ name: 'Snapchat Ghost',
|
3748 |
-
id: 'snapchat-ghost',
|
3749 |
-
unicode: 'f2ac',
|
3750 |
-
created: 4.6,
|
3751 |
-
categories: [ 'Brand Icons' ] },
|
3752 |
-
{ name: 'Snapchat Square',
|
3753 |
-
id: 'snapchat-square',
|
3754 |
-
unicode: 'f2ad',
|
3755 |
-
created: 4.6,
|
3756 |
-
categories: [ 'Brand Icons' ] },
|
3757 |
-
{ name: 'Pied Piper Logo',
|
3758 |
-
id: 'pied-piper',
|
3759 |
-
unicode: 'f2ae',
|
3760 |
-
created: 4.6,
|
3761 |
-
categories: [ 'Brand Icons' ] },
|
3762 |
-
{ name: 'First Order',
|
3763 |
-
id: 'first-order',
|
3764 |
-
unicode: 'f2b0',
|
3765 |
-
created: 4.6,
|
3766 |
-
categories: [ 'Brand Icons' ] },
|
3767 |
-
{ name: 'Yoast',
|
3768 |
-
id: 'yoast',
|
3769 |
-
unicode: 'f2b1',
|
3770 |
-
created: 4.6,
|
3771 |
-
url: 'yoast.com',
|
3772 |
-
categories: [ 'Brand Icons' ] },
|
3773 |
-
{ name: 'ThemeIsle',
|
3774 |
-
id: 'themeisle',
|
3775 |
-
unicode: 'f2b2',
|
3776 |
-
created: 4.6,
|
3777 |
-
url: 'themeisle.com',
|
3778 |
-
categories: [ 'Brand Icons' ] },
|
3779 |
-
{ name: 'Google Plus Official',
|
3780 |
-
id: 'google-plus-official',
|
3781 |
-
unicode: 'f2b3',
|
3782 |
-
created: 4.6,
|
3783 |
-
aliases: [ 'google-plus-circle' ],
|
3784 |
-
categories: [ 'Brand Icons' ] },
|
3785 |
-
{ name: 'Font Awesome',
|
3786 |
-
id: 'font-awesome',
|
3787 |
-
unicode: 'f2b4',
|
3788 |
-
created: 4.6,
|
3789 |
-
aliases: [ 'fa' ],
|
3790 |
-
categories: [ 'Brand Icons' ] } ] };
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/widgets/about.widget.php
DELETED
@@ -1,111 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Rhea_About_Company extends WP_Widget {
|
3 |
-
|
4 |
-
public function __construct() {
|
5 |
-
|
6 |
-
$widget_args = array(
|
7 |
-
'description' => esc_html__( 'This widget is designed for footer area', 'themeisle-companion' ),
|
8 |
-
);
|
9 |
-
|
10 |
-
parent::__construct( 'rhea-about-company', esc_html__( '[Rhea] About Company', 'themeisle-companion' ), $widget_args );
|
11 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'widget_scripts' ) );
|
12 |
-
}
|
13 |
-
|
14 |
-
function widget_scripts( $hook ) {
|
15 |
-
if ( $hook != 'widgets.php' ) {
|
16 |
-
return;
|
17 |
-
}
|
18 |
-
wp_enqueue_media();
|
19 |
-
wp_enqueue_script( 'rhea_widget_media_script', THEMEISLE_COMPANION_URL . 'assets/js/widget-media.js', false, '1.1', true );
|
20 |
-
}
|
21 |
-
|
22 |
-
function widget( $args, $instance ) {
|
23 |
-
|
24 |
-
extract( $args );
|
25 |
-
|
26 |
-
if ( ! empty( $before_widget ) ) {
|
27 |
-
echo $before_widget;
|
28 |
-
}
|
29 |
-
|
30 |
-
$logo_url = '';
|
31 |
-
if ( ! empty( $instance['use_logo'] ) ) {
|
32 |
-
$custom_logo_id = get_theme_mod( 'custom_logo' );
|
33 |
-
if ( ! empty( $custom_logo_id ) ) {
|
34 |
-
$image = wp_get_attachment_image_src( $custom_logo_id , 'full' );
|
35 |
-
if ( ! empty( $image ) ) {
|
36 |
-
if ( ! empty( $image[0] ) ) {
|
37 |
-
$logo_url = $image[0];
|
38 |
-
}
|
39 |
-
}
|
40 |
-
}
|
41 |
-
} elseif ( ! empty( $instance['image_uri'] ) ) {
|
42 |
-
$logo_url = $instance['image_uri'];
|
43 |
-
}
|
44 |
-
|
45 |
-
?>
|
46 |
-
|
47 |
-
<div class="rhea-about-company">
|
48 |
-
<?php
|
49 |
-
if ( ! empty( $logo_url ) ) {
|
50 |
-
echo '<div class="rhea-company-logo">';
|
51 |
-
echo '<img src="' . esc_url( $logo_url ) . '" alt="' . esc_attr( get_bloginfo( 'title' ) ) . '">';
|
52 |
-
echo '</div>';
|
53 |
-
}
|
54 |
-
|
55 |
-
if ( ! empty( $instance['text'] ) ) {
|
56 |
-
echo '<div class="rhea-company-description">';
|
57 |
-
echo wp_kses_post( $instance['text'] );
|
58 |
-
echo '</div>';
|
59 |
-
}
|
60 |
-
?>
|
61 |
-
</div>
|
62 |
-
|
63 |
-
<?php
|
64 |
-
|
65 |
-
if ( ! empty( $after_widget ) ) {
|
66 |
-
echo $after_widget;
|
67 |
-
}
|
68 |
-
|
69 |
-
}
|
70 |
-
|
71 |
-
function update( $new_instance, $old_instance ) {
|
72 |
-
|
73 |
-
$instance = $old_instance;
|
74 |
-
$instance['image_uri'] = esc_url( $new_instance['image_uri'] );
|
75 |
-
$instance['use_logo'] = strip_tags( $new_instance['use_logo'] );
|
76 |
-
$instance['text'] = strip_tags( $new_instance['text'] );
|
77 |
-
|
78 |
-
return $instance;
|
79 |
-
|
80 |
-
}
|
81 |
-
|
82 |
-
function form( $instance ) {
|
83 |
-
|
84 |
-
$image_in_customizer = '';
|
85 |
-
$display = 'none';
|
86 |
-
if ( ! empty( $instance['image_uri'] ) ) {
|
87 |
-
$image_in_customizer = esc_url( $instance['image_uri'] );
|
88 |
-
$display = 'inline-block';
|
89 |
-
}
|
90 |
-
|
91 |
-
?>
|
92 |
-
<p>
|
93 |
-
<input type="checkbox" name="<?php echo $this->get_field_name( 'use_logo' ); ?>" id="<?php echo $this->get_field_id( 'use_logo' ); ?>" value="use_logo" <?php if ( isset( $instance['use_logo'] ) ) { checked( $instance['use_logo'], 'use_logo' ); } ?>>
|
94 |
-
<label for="<?php echo $this->get_field_id( 'use_logo' ); ?>"><?php esc_html_e( 'Use website logo','themeisle-companion' ); ?></label>
|
95 |
-
</p>
|
96 |
-
<p>
|
97 |
-
<label for="<?php echo $this->get_field_id( 'image_uri' ); ?>"><?php esc_html_e( 'Logo', 'themeisle-companion' ); ?></label><br/>
|
98 |
-
<img class="custom_media_image" src="<?php echo $image_in_customizer; ?>" style="margin:0;padding:0;max-width:100px;float:left;display:<?php echo esc_attr( $display ); ?>" alt="<?php echo __( 'Uploaded image', 'themeisle-companion' ); ?>"/><br/>
|
99 |
-
<input type="text" class="widefat custom_media_url" name="<?php echo $this->get_field_name( 'image_uri' ); ?>" id="<?php echo $this->get_field_id( 'image_uri' ); ?>" value="<?php if ( ! empty( $instance['image_uri'] ) ) { echo $instance['image_uri']; } ?>" style="margin-top:5px;">
|
100 |
-
<input type="button" class="button button-primary custom_media_button" id="custom_media_button" name="<?php echo $this->get_field_name( 'image_uri' ); ?>" value="<?php esc_html_e( 'Upload Image','themeisle-companion' ); ?>" style="margin-top:5px;">
|
101 |
-
</p>
|
102 |
-
<p>
|
103 |
-
<label for="<?php echo $this->get_field_id( 'text' ); ?>"><?php esc_html_e( 'Company Description', 'themeisle-companion' ); ?></label><br/>
|
104 |
-
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'text' ); ?>" id="<?php echo $this->get_field_id( 'text' ); ?>"><?php if ( ! empty( $instance['text'] ) ) { echo htmlspecialchars_decode( $instance['text'] ); } ?></textarea>
|
105 |
-
</p>
|
106 |
-
|
107 |
-
<?php
|
108 |
-
|
109 |
-
}
|
110 |
-
|
111 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/widgets/contact.widget.php
DELETED
@@ -1,89 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Rhea_Contact_Company extends WP_Widget {
|
3 |
-
|
4 |
-
public function __construct() {
|
5 |
-
|
6 |
-
$widget_args = array(
|
7 |
-
'description' => esc_html__( 'This widget is designed for footer area', 'themeisle-companion' ),
|
8 |
-
);
|
9 |
-
|
10 |
-
parent::__construct( 'rhea-contact-company', esc_html__( '[Rhea] Contact', 'themeisle-companion' ), $widget_args );
|
11 |
-
}
|
12 |
-
|
13 |
-
function widget( $args, $instance ) {
|
14 |
-
|
15 |
-
extract( $args );
|
16 |
-
|
17 |
-
if ( ! empty( $before_widget ) ) {
|
18 |
-
echo $before_widget;
|
19 |
-
}
|
20 |
-
|
21 |
-
if ( ! empty( $instance['title'] ) ) {
|
22 |
-
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
|
23 |
-
}
|
24 |
-
|
25 |
-
echo '<div class="rhea_company_contact">';
|
26 |
-
if ( ! empty( $instance['adress'] ) ) {
|
27 |
-
|
28 |
-
if ( ! empty( $instance['gmaps_url'] ) ) {
|
29 |
-
echo '<p><a href="' . esc_url( $instance['gmaps_url'] ) . '" target="_blank">' . esc_html( $instance['adress'] ) . '</a></p>';
|
30 |
-
} else {
|
31 |
-
echo '<p>' . esc_html( $instance['adress'] ) . '</p>';
|
32 |
-
}
|
33 |
-
}
|
34 |
-
if ( ! empty( $instance['email'] ) ) {
|
35 |
-
echo '<p>Email: <a href="mailto:' . antispambot( $instance['email'] ) . '">' . antispambot( $instance['email'] ) . '</a></p>';
|
36 |
-
}
|
37 |
-
if ( ! empty( $instance['phone'] ) ) {
|
38 |
-
echo '<p>Phone: ' . esc_html( $instance['phone'] ) . '</p>';
|
39 |
-
}
|
40 |
-
echo '</div>';
|
41 |
-
|
42 |
-
if ( ! empty( $after_widget ) ) {
|
43 |
-
echo $after_widget;
|
44 |
-
}
|
45 |
-
|
46 |
-
}
|
47 |
-
|
48 |
-
function update( $new_instance, $old_instance ) {
|
49 |
-
|
50 |
-
$instance = $old_instance;
|
51 |
-
|
52 |
-
$instance['title'] = strip_tags( $new_instance['title'] );
|
53 |
-
$instance['adress'] = strip_tags( $new_instance['adress'] );
|
54 |
-
$instance['gmaps_url'] = esc_url( $new_instance['gmaps_url'] );
|
55 |
-
$instance['email'] = strip_tags( $new_instance['email'] );
|
56 |
-
$instance['phone'] = strip_tags( $new_instance['phone'] );
|
57 |
-
|
58 |
-
return $instance;
|
59 |
-
|
60 |
-
}
|
61 |
-
|
62 |
-
function form( $instance ) {
|
63 |
-
?>
|
64 |
-
<p>
|
65 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title', 'themeisle-companion' ); ?></label><br/>
|
66 |
-
<input type="text" class="widefat" name="<?php echo $this->get_field_name( 'title' ); ?>" id="<?php echo $this->get_field_id( 'title' ); ?>" value="<?php if ( ! empty( $instance['title'] ) ) { echo $instance['title']; } ?>">
|
67 |
-
</p>
|
68 |
-
<p>
|
69 |
-
<label for="<?php echo $this->get_field_id( 'adress' ); ?>"><?php esc_html_e( 'Company Adress', 'themeisle-companion' ); ?></label><br/>
|
70 |
-
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'adress' ); ?>" id="<?php echo $this->get_field_id( 'adress' ); ?>"><?php if ( ! empty( $instance['adress'] ) ) { echo htmlspecialchars_decode( $instance['adress'] ); } ?></textarea>
|
71 |
-
</p>
|
72 |
-
<p>
|
73 |
-
<label for="<?php echo $this->get_field_id( 'gmaps_url' ); ?>"><?php esc_html_e( 'Google Maps URL', 'themeisle-companion' ); ?></label><br/>
|
74 |
-
<input type="text" class="widefat" name="<?php echo $this->get_field_name( 'gmaps_url' ); ?>" id="<?php echo $this->get_field_id( 'gmaps_url' ); ?>" value="<?php if ( ! empty( $instance['gmaps_url'] ) ) { echo $instance['gmaps_url']; } ?>">
|
75 |
-
</p>
|
76 |
-
<p>
|
77 |
-
<label for="<?php echo $this->get_field_id( 'email' ); ?>"><?php esc_html_e( 'Email', 'themeisle-companion' ); ?></label><br/>
|
78 |
-
<input type="text" class="widefat" name="<?php echo $this->get_field_name( 'email' ); ?>" id="<?php echo $this->get_field_id( 'email' ); ?>" value="<?php if ( ! empty( $instance['email'] ) ) { echo $instance['email']; } ?>">
|
79 |
-
</p>
|
80 |
-
<p>
|
81 |
-
<label for="<?php echo $this->get_field_id( 'phone' ); ?>"><?php esc_html_e( 'Phone', 'themeisle-companion' ); ?></label><br/>
|
82 |
-
<input type="text" class="widefat" name="<?php echo $this->get_field_name( 'phone' ); ?>" id="<?php echo $this->get_field_id( 'phone' ); ?>" value="<?php if ( ! empty( $instance['phone'] ) ) { echo $instance['phone']; } ?>">
|
83 |
-
</p>
|
84 |
-
|
85 |
-
<?php
|
86 |
-
|
87 |
-
}
|
88 |
-
|
89 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/widgets/features.widget.php
DELETED
@@ -1,96 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class rhea_features_block extends WP_Widget {
|
3 |
-
|
4 |
-
public function __construct() {
|
5 |
-
|
6 |
-
$widget_args = array(
|
7 |
-
'description' => esc_html__( 'This widget is designed for Our focus section widgets', 'themeisle-companion' ),
|
8 |
-
);
|
9 |
-
parent::__construct( 'rhea-feature-block', esc_html__( '[Rhea] Our features widget', 'themeisle-companion' ), $widget_args );
|
10 |
-
}
|
11 |
-
|
12 |
-
function widget( $args, $instance ) {
|
13 |
-
|
14 |
-
extract( $args );
|
15 |
-
|
16 |
-
if ( ! empty( $before_widget ) ) {
|
17 |
-
echo $before_widget;
|
18 |
-
}
|
19 |
-
|
20 |
-
$link = ! empty( $instance['link'] ) ? $instance['link'] : '#';
|
21 |
-
?>
|
22 |
-
|
23 |
-
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 focus-box" data-scrollreveal="enter bottom after 0.15s over 1s">
|
24 |
-
<div class="service-block">
|
25 |
-
<a href="<?php echo esc_url( $link ); ?>" class="service-url">
|
26 |
-
|
27 |
-
<?php if ( ! empty( $instance['icon'] ) ) { ?>
|
28 |
-
<span class="icon-holder"><i class="<?php echo esc_attr( $instance['icon'] ); ?>"></i></span>
|
29 |
-
<?php } ?>
|
30 |
-
<?php if ( ! empty( $instance['title'] ) ) { ?>
|
31 |
-
<h3 class="service-title"><?php echo esc_html( $instance['title'] ); ?></h3>
|
32 |
-
<?php } ?>
|
33 |
-
<?php if ( ! empty( $instance['text'] ) ) { ?>
|
34 |
-
<p class="service-title"><?php echo wp_kses_post( $instance['text'] ); ?></p>
|
35 |
-
<?php } ?>
|
36 |
-
|
37 |
-
</a>
|
38 |
-
</div>
|
39 |
-
</div>
|
40 |
-
|
41 |
-
<?php
|
42 |
-
|
43 |
-
if ( ! empty( $after_widget ) ) {
|
44 |
-
echo $after_widget;
|
45 |
-
}
|
46 |
-
|
47 |
-
}
|
48 |
-
|
49 |
-
function update( $new_instance, $old_instance ) {
|
50 |
-
|
51 |
-
$instance = $old_instance;
|
52 |
-
$instance['text'] = stripslashes( wp_filter_post_kses( $new_instance['text'] ) );
|
53 |
-
$instance['title'] = strip_tags( $new_instance['title'] );
|
54 |
-
$instance['link'] = strip_tags( $new_instance['link'] );
|
55 |
-
$instance['icon'] = strip_tags( $new_instance['icon'] );
|
56 |
-
|
57 |
-
return $instance;
|
58 |
-
|
59 |
-
}
|
60 |
-
|
61 |
-
function form( $instance ) {
|
62 |
-
$icon_holder_class = empty( $instance['icon'] ) ? ' empty-icon' : '';
|
63 |
-
?>
|
64 |
-
<p>
|
65 |
-
<label for="<?php echo $this->get_field_id( 'icon' ); ?>"><?php esc_html_e( 'Icon', 'themeisle-companion' ); ?></label><br/>
|
66 |
-
<div class="fontawesome-icon-container<?php echo esc_attr( $icon_holder_class ); ?>">
|
67 |
-
<input type="hidden" class="widefat" name="<?php echo $this->get_field_name( 'icon' ); ?>" id="<?php echo $this->get_field_id( 'icon' ); ?>" value="<?php if ( ! empty( $instance['icon'] ) ) { echo esc_html( $instance['icon'] ); } ?>">
|
68 |
-
<div class="icon-holder">
|
69 |
-
<p><?php esc_html_e( 'No icon selected :( ...', 'themeisle-companion' ) ?></p>
|
70 |
-
<i class="<?php if ( ! empty( $instance['icon'] ) ) { echo esc_attr( $instance['icon'] ); } ?>"></i>
|
71 |
-
</div>
|
72 |
-
<div class="actions">
|
73 |
-
<button type="button" class="button add-icon-button"><?php esc_html_e( 'Select Icon', 'themeisle-companion' ) ?></button>
|
74 |
-
<button type="button" class="button change-icon-button"><?php esc_html_e( 'Change Icon', 'themeisle-companion' ) ?></button>
|
75 |
-
<button type="button" class="button remove-icon-button"><?php esc_html_e( 'Remove', 'themeisle-companion' ) ?></button>
|
76 |
-
</div>
|
77 |
-
</div>
|
78 |
-
</p>
|
79 |
-
<p>
|
80 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title', 'themeisle-companion' ); ?></label><br/>
|
81 |
-
<input type="text" name="<?php echo $this->get_field_name( 'title' ); ?>" id="<?php echo $this->get_field_id( 'title' ); ?>" value="<?php if ( ! empty( $instance['title'] ) ) { echo $instance['title']; } ?>" class="widefat">
|
82 |
-
</p>
|
83 |
-
<p>
|
84 |
-
<label for="<?php echo $this->get_field_id( 'text' ); ?>"><?php esc_html_e( 'Text', 'themeisle-companion' ); ?></label><br/>
|
85 |
-
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'text' ); ?>" id="<?php echo $this->get_field_id( 'text' ); ?>"><?php if ( ! empty( $instance['text'] ) ) { echo htmlspecialchars_decode( $instance['text'] ); } ?></textarea>
|
86 |
-
</p>
|
87 |
-
<p>
|
88 |
-
<label for="<?php echo $this->get_field_id( 'link' ); ?>"><?php esc_html_e( 'Link','themeisle-companion' ); ?></label><br />
|
89 |
-
<input type="text" name="<?php echo $this->get_field_name( 'link' ); ?>" id="<?php echo $this->get_field_id( 'link' ); ?>" value="<?php if ( ! empty( $instance['link'] ) ) { echo $instance['link']; } ?>" class="widefat">
|
90 |
-
</p>
|
91 |
-
|
92 |
-
<?php
|
93 |
-
|
94 |
-
}
|
95 |
-
|
96 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/widgets/hours.widget.php
DELETED
@@ -1,252 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Rhea_Hours extends WP_Widget {
|
3 |
-
|
4 |
-
public function __construct() {
|
5 |
-
|
6 |
-
$widget_args = array(
|
7 |
-
'description' => esc_html__( 'This widget is designed for footer area', 'themeisle-companion' ),
|
8 |
-
);
|
9 |
-
parent::__construct( 'rhea-company-hours', esc_html__( '[Rhea] Company Program', 'themeisle-companion' ), $widget_args );
|
10 |
-
}
|
11 |
-
|
12 |
-
function widget( $args, $instance ) {
|
13 |
-
|
14 |
-
extract( $args );
|
15 |
-
|
16 |
-
if ( ! empty( $before_widget ) ) {
|
17 |
-
echo $before_widget;
|
18 |
-
}
|
19 |
-
|
20 |
-
if ( ! empty( $instance['title'] ) ) {
|
21 |
-
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
|
22 |
-
}
|
23 |
-
?>
|
24 |
-
|
25 |
-
<div class="rhea_program">
|
26 |
-
|
27 |
-
<?php if ( ! empty( $instance['monday_from'] ) || ! empty( $instance['monday_to'] ) ) { ?>
|
28 |
-
<div class="rhea_program_item">
|
29 |
-
<p><?php esc_html_e( 'Monday', 'themeisle-companion' ); ?></p>
|
30 |
-
<div class="rhea_program_hours">
|
31 |
-
<?php if ( ! empty( $instance['monday_from'] ) ) { ?>
|
32 |
-
<div class="rhea_program_item_from">
|
33 |
-
<?php echo esc_html( $instance['monday_from'] ); ?>
|
34 |
-
</div>
|
35 |
-
<?php } ?>
|
36 |
-
<?php if ( ! empty( $instance['monday_to'] ) ) { ?>
|
37 |
-
<div class="rhea_program_item_to">
|
38 |
-
<?php echo esc_html( $instance['monday_to'] ); ?>
|
39 |
-
</div>
|
40 |
-
<?php } ?>
|
41 |
-
</div>
|
42 |
-
</div>
|
43 |
-
<?php } ?>
|
44 |
-
|
45 |
-
<?php if ( ! empty( $instance['tuesday_from'] ) || ! empty( $instance['tuesday_to'] ) ) { ?>
|
46 |
-
<div class="rhea_program_item">
|
47 |
-
<p><?php esc_html_e( 'Tuesday', 'themeisle-companion' ); ?></p>
|
48 |
-
<div class="rhea_program_hours">
|
49 |
-
<?php if ( ! empty( $instance['tuesday_from'] ) ) { ?>
|
50 |
-
<div class="rhea_program_item_from">
|
51 |
-
<?php echo esc_html( $instance['tuesday_from'] ); ?>
|
52 |
-
</div>
|
53 |
-
<?php } ?>
|
54 |
-
<?php if ( ! empty( $instance['tuesday_to'] ) ) { ?>
|
55 |
-
<div class="rhea_program_item_to">
|
56 |
-
<?php echo esc_html( $instance['tuesday_to'] ); ?>
|
57 |
-
</div>
|
58 |
-
<?php } ?>
|
59 |
-
</div>
|
60 |
-
</div>
|
61 |
-
<?php } ?>
|
62 |
-
|
63 |
-
<?php if ( ! empty( $instance['wednesday_from'] ) || ! empty( $instance['wednesday_to'] ) ) { ?>
|
64 |
-
<div class="rhea_program_item">
|
65 |
-
<p><?php esc_html_e( 'Wednesday', 'themeisle-companion' ); ?></p>
|
66 |
-
<div class="rhea_program_hours">
|
67 |
-
<?php if ( ! empty( $instance['wednesday_from'] ) ) { ?>
|
68 |
-
<div class="rhea_program_item_from">
|
69 |
-
<?php echo esc_html( $instance['wednesday_from'] ); ?>
|
70 |
-
</div>
|
71 |
-
<?php } ?>
|
72 |
-
<?php if ( ! empty( $instance['wednesday_to'] ) ) { ?>
|
73 |
-
<div class="rhea_program_item_to">
|
74 |
-
<?php echo esc_html( $instance['wednesday_to'] ); ?>
|
75 |
-
</div>
|
76 |
-
<?php } ?>
|
77 |
-
</div>
|
78 |
-
</div>
|
79 |
-
<?php } ?>
|
80 |
-
|
81 |
-
<?php if ( ! empty( $instance['thursday_from'] ) || ! empty( $instance['thursday_to'] ) ) { ?>
|
82 |
-
<div class="rhea_program_item">
|
83 |
-
<p><?php esc_html_e( 'Thursday', 'themeisle-companion' ); ?></p>
|
84 |
-
<div class="rhea_program_hours">
|
85 |
-
<?php if ( ! empty( $instance['thursday_from'] ) ) { ?>
|
86 |
-
<div class="rhea_program_item_from">
|
87 |
-
<?php echo esc_html( $instance['thursday_from'] ); ?>
|
88 |
-
</div>
|
89 |
-
<?php } ?>
|
90 |
-
<?php if ( ! empty( $instance['thursday_to'] ) ) { ?>
|
91 |
-
<div class="rhea_program_item_to">
|
92 |
-
<?php echo esc_html( $instance['thursday_to'] ); ?>
|
93 |
-
</div>
|
94 |
-
<?php } ?>
|
95 |
-
</div>
|
96 |
-
</div>
|
97 |
-
<?php } ?>
|
98 |
-
|
99 |
-
<?php if ( ! empty( $instance['friday_from'] ) || ! empty( $instance['friday_to'] ) ) { ?>
|
100 |
-
<div class="rhea_program_item">
|
101 |
-
<p><?php esc_html_e( 'Friday', 'themeisle-companion' ); ?></p>
|
102 |
-
<div class="rhea_program_hours">
|
103 |
-
<?php if ( ! empty( $instance['friday_from'] ) ) { ?>
|
104 |
-
<div class="rhea_program_item_from">
|
105 |
-
<?php echo esc_html( $instance['friday_from'] ); ?>
|
106 |
-
</div>
|
107 |
-
<?php } ?>
|
108 |
-
<?php if ( ! empty( $instance['friday_to'] ) ) { ?>
|
109 |
-
<div class="rhea_program_item_to">
|
110 |
-
<?php echo esc_html( $instance['friday_to'] ); ?>
|
111 |
-
</div>
|
112 |
-
<?php } ?>
|
113 |
-
</div>
|
114 |
-
</div>
|
115 |
-
<?php } ?>
|
116 |
-
|
117 |
-
<?php if ( ! empty( $instance['saturday_from'] ) || ! empty( $instance['saturday_to'] ) ) { ?>
|
118 |
-
<div class="rhea_program_item">
|
119 |
-
<p><?php esc_html_e( 'Saturday', 'themeisle-companion' ); ?></p>
|
120 |
-
<div class="rhea_program_hours">
|
121 |
-
<?php if ( ! empty( $instance['saturday_from'] ) ) { ?>
|
122 |
-
<div class="rhea_program_item_from">
|
123 |
-
<?php echo esc_html( $instance['saturday_from'] ); ?>
|
124 |
-
</div>
|
125 |
-
<?php } ?>
|
126 |
-
<?php if ( ! empty( $instance['saturday_to'] ) ) { ?>
|
127 |
-
<div class="rhea_program_item_to">
|
128 |
-
<?php echo esc_html( $instance['saturday_to'] ); ?>
|
129 |
-
</div>
|
130 |
-
<?php } ?>
|
131 |
-
</div>
|
132 |
-
</div>
|
133 |
-
<?php } ?>
|
134 |
-
|
135 |
-
<?php if ( ( isset( $instance['sunday_from'] ) && $instance['sunday_from'] != '' ) || ( isset( $instance['sunday_to'] ) && $instance['sunday_to'] != '' ) ) { ?>
|
136 |
-
<div class="rhea_program_item">
|
137 |
-
<p><?php esc_html_e( 'Sunday', 'themeisle-companion' ); ?></p>
|
138 |
-
<div class="rhea_program_hours">
|
139 |
-
<?php if ( ! empty( $instance['sunday_from'] ) ) { ?>
|
140 |
-
<div class="rhea_program_item_from">
|
141 |
-
<?php echo esc_html( $instance['sunday_from'] ); ?>
|
142 |
-
</div>
|
143 |
-
<?php } ?>
|
144 |
-
<?php if ( ! empty( $instance['sunday_to'] ) ) { ?>
|
145 |
-
<div class="rhea_program_item_to">
|
146 |
-
<?php echo esc_html( $instance['sunday_to'] );?>
|
147 |
-
</div>
|
148 |
-
<?php } ?>
|
149 |
-
</div>
|
150 |
-
</div>
|
151 |
-
<?php } ?>
|
152 |
-
|
153 |
-
</div>
|
154 |
-
|
155 |
-
<?php
|
156 |
-
if ( ! empty( $after_widget ) ) {
|
157 |
-
echo $after_widget;
|
158 |
-
}
|
159 |
-
|
160 |
-
}
|
161 |
-
|
162 |
-
function update( $new_instance, $old_instance ) {
|
163 |
-
|
164 |
-
$instance = $old_instance;
|
165 |
-
$instance['title'] = strip_tags( $new_instance['title'] );
|
166 |
-
|
167 |
-
// Monday
|
168 |
-
$instance['monday_from'] = strip_tags( $new_instance['monday_from'] );
|
169 |
-
$instance['monday_to'] = strip_tags( $new_instance['monday_to'] );
|
170 |
-
|
171 |
-
// Tuesday
|
172 |
-
$instance['tuesday_from'] = strip_tags( $new_instance['tuesday_from'] );
|
173 |
-
$instance['tuesday_to'] = strip_tags( $new_instance['tuesday_to'] );
|
174 |
-
|
175 |
-
// Wednesday
|
176 |
-
$instance['wednesday_from'] = strip_tags( $new_instance['wednesday_from'] );
|
177 |
-
$instance['wednesday_to'] = strip_tags( $new_instance['wednesday_to'] );
|
178 |
-
|
179 |
-
// Thursday
|
180 |
-
$instance['thursday_from'] = strip_tags( $new_instance['thursday_from'] );
|
181 |
-
$instance['thursday_to'] = strip_tags( $new_instance['thursday_to'] );
|
182 |
-
|
183 |
-
// Friday
|
184 |
-
$instance['friday_from'] = strip_tags( $new_instance['friday_from'] );
|
185 |
-
$instance['friday_to'] = strip_tags( $new_instance['friday_to'] );
|
186 |
-
|
187 |
-
// Saturday
|
188 |
-
$instance['saturday_from'] = strip_tags( $new_instance['saturday_from'] );
|
189 |
-
$instance['saturday_to'] = strip_tags( $new_instance['saturday_to'] );
|
190 |
-
|
191 |
-
// Sunday
|
192 |
-
$instance['sunday_from'] = strip_tags( $new_instance['sunday_from'] );
|
193 |
-
$instance['sunday_to'] = strip_tags( $new_instance['sunday_to'] );
|
194 |
-
|
195 |
-
return $instance;
|
196 |
-
|
197 |
-
}
|
198 |
-
|
199 |
-
function form( $instance ) {
|
200 |
-
?>
|
201 |
-
<p>
|
202 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title', 'themeisle-companion' ); ?></label><br/>
|
203 |
-
<input type="text" name="<?php echo $this->get_field_name( 'title' ); ?>" id="<?php echo $this->get_field_id( 'title' ); ?>" value="<?php if ( ! empty( $instance['title'] ) ) { echo esc_html( $instance['title'] ); } ?>" class="widefat">
|
204 |
-
</p>
|
205 |
-
<p>
|
206 |
-
<label><?php esc_html_e( 'Monday', 'themeisle-companion' ); ?></label><br/>
|
207 |
-
|
208 |
-
<input type="text" name="<?php echo $this->get_field_name( 'monday_from' ); ?>" id="<?php echo $this->get_field_id( 'monday_from' ); ?>" value="<?php if ( ! empty( $instance['monday_from'] ) ) { echo esc_html( $instance['monday_from'] ); } ?>" placeholder="<?php esc_html_e( 'From', 'themeisle-companion' ); ?>" style="width:45%;">
|
209 |
-
<input type="text" name="<?php echo $this->get_field_name( 'monday_to' ); ?>" id="<?php echo $this->get_field_id( 'monday_to' ); ?>" value="<?php if ( ! empty( $instance['monday_to'] ) ) { echo esc_html( $instance['monday_to'] ); } ?>" placeholder="<?php esc_html_e( 'To', 'themeisle-companion' ); ?>" style="width:45%;">
|
210 |
-
</p>
|
211 |
-
<p>
|
212 |
-
<label><?php esc_html_e( 'Tuesday', 'themeisle-companion' ); ?></label><br/>
|
213 |
-
|
214 |
-
<input type="text" name="<?php echo $this->get_field_name( 'tuesday_from' ); ?>" id="<?php echo $this->get_field_id( 'tuesday_from' ); ?>" value="<?php if ( ! empty( $instance['tuesday_from'] ) ) { echo esc_html( $instance['tuesday_from'] ); } ?>" placeholder="<?php esc_html_e( 'From', 'themeisle-companion' ); ?>" style="width:45%;">
|
215 |
-
<input type="text" name="<?php echo $this->get_field_name( 'tuesday_to' ); ?>" id="<?php echo $this->get_field_id( 'tuesday_to' ); ?>" value="<?php if ( ! empty( $instance['tuesday_to'] ) ) { echo esc_html( $instance['tuesday_to'] ); } ?>" placeholder="<?php esc_html_e( 'To', 'themeisle-companion' ); ?>" style="width:45%;">
|
216 |
-
</p>
|
217 |
-
<p>
|
218 |
-
<label><?php esc_html_e( 'Wednesday', 'themeisle-companion' ); ?></label><br/>
|
219 |
-
|
220 |
-
<input type="text" name="<?php echo $this->get_field_name( 'wednesday_from' ); ?>" id="<?php echo $this->get_field_id( 'wednesday_from' ); ?>" value="<?php if ( ! empty( $instance['wednesday_from'] ) ) { echo esc_html( $instance['wednesday_from'] ); } ?>" placeholder="<?php esc_html_e( 'From', 'themeisle-companion' ); ?>" style="width:45%;">
|
221 |
-
<input type="text" name="<?php echo $this->get_field_name( 'wednesday_to' ); ?>" id="<?php echo $this->get_field_id( 'wednesday_to' ); ?>" value="<?php if ( ! empty( $instance['wednesday_to'] ) ) { echo esc_html( $instance['wednesday_to'] ); } ?>" placeholder="<?php esc_html_e( 'To', 'themeisle-companion' ); ?>" style="width:45%;">
|
222 |
-
</p>
|
223 |
-
<p>
|
224 |
-
<label><?php esc_html_e( 'Thursday', 'themeisle-companion' ); ?></label><br/>
|
225 |
-
|
226 |
-
<input type="text" name="<?php echo $this->get_field_name( 'thursday_from' ); ?>" id="<?php echo $this->get_field_id( 'thursday_from' ); ?>" value="<?php if ( ! empty( $instance['thursday_from'] ) ) { echo esc_html( $instance['thursday_from'] ); } ?>" placeholder="<?php esc_html_e( 'From', 'themeisle-companion' ); ?>" style="width:45%;">
|
227 |
-
<input type="text" name="<?php echo $this->get_field_name( 'thursday_to' ); ?>" id="<?php echo $this->get_field_id( 'thursday_to' ); ?>" value="<?php if ( ! empty( $instance['thursday_to'] ) ) { echo esc_html( $instance['thursday_to'] ); } ?>" placeholder="<?php esc_html_e( 'To', 'themeisle-companion' ); ?>" style="width:45%;">
|
228 |
-
</p>
|
229 |
-
<p>
|
230 |
-
<label><?php esc_html_e( 'Friday', 'themeisle-companion' ); ?></label><br/>
|
231 |
-
|
232 |
-
<input type="text" name="<?php echo $this->get_field_name( 'friday_from' ); ?>" id="<?php echo $this->get_field_id( 'friday_from' ); ?>" value="<?php if ( ! empty( $instance['friday_from'] ) ) { echo esc_html( $instance['friday_from'] ); } ?>" placeholder="<?php esc_html_e( 'From', 'themeisle-companion' ); ?>" style="width:45%;">
|
233 |
-
<input type="text" name="<?php echo $this->get_field_name( 'friday_to' ); ?>" id="<?php echo $this->get_field_id( 'friday_to' ); ?>" value="<?php if ( ! empty( $instance['friday_to'] ) ) { echo esc_html( $instance['friday_to'] ); } ?>" placeholder="<?php esc_html_e( 'To', 'themeisle-companion' ); ?>" style="width:45%;">
|
234 |
-
</p>
|
235 |
-
<p>
|
236 |
-
<label><?php esc_html_e( 'Saturday', 'themeisle-companion' ); ?></label><br/>
|
237 |
-
|
238 |
-
<input type="text" name="<?php echo $this->get_field_name( 'saturday_from' ); ?>" id="<?php echo $this->get_field_id( 'saturday_from' ); ?>" value="<?php if ( ! empty( $instance['saturday_from'] ) ) { echo esc_html( $instance['saturday_from'] ); } ?>" placeholder="<?php esc_html_e( 'From', 'themeisle-companion' ); ?>" style="width:45%;">
|
239 |
-
<input type="text" name="<?php echo $this->get_field_name( 'saturday_to' ); ?>" id="<?php echo $this->get_field_id( 'saturday_to' ); ?>" value="<?php if ( ! empty( $instance['saturday_to'] ) ) { echo esc_html( $instance['saturday_to'] ); } ?>" placeholder="<?php esc_html_e( 'To', 'themeisle-companion' ); ?>" style="width:45%;">
|
240 |
-
</p>
|
241 |
-
<p>
|
242 |
-
<label><?php esc_html_e( 'Sunday', 'themeisle-companion' ); ?></label><br/>
|
243 |
-
|
244 |
-
<input type="text" name="<?php echo $this->get_field_name( 'sunday_from' ); ?>" id="<?php echo $this->get_field_id( 'sunday_from' ); ?>" value="<?php if ( ! empty( $instance['sunday_from'] ) ) { echo esc_html( $instance['sunday_from'] ); } ?>" placeholder="<?php esc_html_e( 'From', 'themeisle-companion' ); ?>" style="width:45%;">
|
245 |
-
<input type="text" name="<?php echo $this->get_field_name( 'sunday_to' ); ?>" id="<?php echo $this->get_field_id( 'sunday_to' ); ?>" value="<?php if ( ! empty( $instance['sunday_to'] ) ) { echo esc_html( $instance['sunday_to'] ); } ?>" placeholder="<?php esc_html_e( 'To', 'themeisle-companion' ); ?>" style="width:45%;">
|
246 |
-
</p>
|
247 |
-
|
248 |
-
<?php
|
249 |
-
|
250 |
-
}
|
251 |
-
|
252 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/widgets/icon-box.widget.php
DELETED
@@ -1,104 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Rhea_Icon_Box extends WP_Widget {
|
3 |
-
|
4 |
-
public function __construct() {
|
5 |
-
$widget_args = array(
|
6 |
-
'description' => esc_html__( 'This widget is designed for Right Section sidebar', 'themeisle-companion' ),
|
7 |
-
);
|
8 |
-
parent::__construct( 'rhea-icon-box', esc_html__( '[Rhea] Icon Box', 'themeisle-companion' ), $widget_args );
|
9 |
-
}
|
10 |
-
|
11 |
-
function widget( $args, $instance ) {
|
12 |
-
|
13 |
-
extract( $args );
|
14 |
-
|
15 |
-
if ( ! empty( $before_widget ) ) {
|
16 |
-
echo $before_widget;
|
17 |
-
}
|
18 |
-
|
19 |
-
?>
|
20 |
-
|
21 |
-
<div class="about_us_box">
|
22 |
-
<div class="header_aboutus_box">
|
23 |
-
<div class="pull-left icon-holder">
|
24 |
-
<?php if ( ! empty( $instance['icon'] ) ) { ?>
|
25 |
-
<i class="fa <?php echo esc_attr( $instance['icon'] ); ?>"></i>
|
26 |
-
<?php } ?>
|
27 |
-
</div>
|
28 |
-
<div class="aboutus_titles pull-left">
|
29 |
-
<?php
|
30 |
-
if ( ! empty( $instance['title'] ) ) {
|
31 |
-
echo '<h4>' . esc_html( $instance['title'] ) . '</h4>';
|
32 |
-
}
|
33 |
-
if ( ! empty( $instance['subtitle'] ) ) {
|
34 |
-
echo '<p>' . esc_html( $instance['subtitle'] ) . '</p>';
|
35 |
-
}
|
36 |
-
?>
|
37 |
-
</div>
|
38 |
-
<div class="clearfix"></div>
|
39 |
-
</div>
|
40 |
-
<div class="aboutus_content">
|
41 |
-
<?php
|
42 |
-
if ( ! empty( $instance['description'] ) ) {
|
43 |
-
echo '<p>' . esc_html( $instance['description'] ) . '</p>';
|
44 |
-
}
|
45 |
-
?>
|
46 |
-
</div>
|
47 |
-
</div>
|
48 |
-
|
49 |
-
<?php
|
50 |
-
|
51 |
-
if ( ! empty( $after_widget ) ) {
|
52 |
-
echo $after_widget;
|
53 |
-
}
|
54 |
-
|
55 |
-
}
|
56 |
-
|
57 |
-
function update( $new_instance, $old_instance ) {
|
58 |
-
|
59 |
-
$instance = $old_instance;
|
60 |
-
$instance['title'] = stripslashes( wp_filter_post_kses( $new_instance['title'] ) );
|
61 |
-
$instance['subtitle'] = strip_tags( $new_instance['subtitle'] );
|
62 |
-
$instance['icon'] = strip_tags( $new_instance['icon'] );
|
63 |
-
$instance['description'] = strip_tags( $new_instance['description'] );
|
64 |
-
|
65 |
-
return $instance;
|
66 |
-
|
67 |
-
}
|
68 |
-
|
69 |
-
function form( $instance ) {
|
70 |
-
$icon_holder_class = empty( $instance['icon'] ) ? ' empty-icon' : ''; ?>
|
71 |
-
<p>
|
72 |
-
<label for="<?php echo $this->get_field_id( 'icon' ); ?>"><?php esc_html_e( 'Icon', 'themeisle-companion' ); ?></label><br/>
|
73 |
-
<div class="fontawesome-icon-container<?php echo esc_attr( $icon_holder_class ); ?>">
|
74 |
-
<input type="hidden" class="widefat" name="<?php echo $this->get_field_name( 'icon' ); ?>" id="<?php echo $this->get_field_id( 'icon' ); ?>" value="<?php if ( ! empty( $instance['icon'] ) ) { echo esc_html( $instance['icon'] ); } ?>">
|
75 |
-
<div class="icon-holder">
|
76 |
-
<p><?php esc_html_e( 'No icon selected :( ...', 'themeisle-companion' ) ?></p>
|
77 |
-
<i class="<?php if ( ! empty( $instance['icon'] ) ) { echo esc_attr( $instance['icon'] ); } ?>"></i>
|
78 |
-
</div>
|
79 |
-
<div class="actions">
|
80 |
-
<button type="button" class="button add-icon-button"><?php esc_html_e( 'Select Icon', 'themeisle-companion' ) ?></button>
|
81 |
-
<button type="button" class="button change-icon-button"><?php esc_html_e( 'Change Icon', 'themeisle-companion' ) ?></button>
|
82 |
-
<button type="button" class="button remove-icon-button"><?php esc_html_e( 'Remove', 'themeisle-companion' ) ?></button>
|
83 |
-
</div>
|
84 |
-
</div>
|
85 |
-
</p>
|
86 |
-
<p>
|
87 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title', 'themeisle-companion' ); ?></label><br/>
|
88 |
-
<input type="text" name="<?php echo $this->get_field_name( 'title' ); ?>" id="<?php echo $this->get_field_id( 'title' ); ?>" value="<?php if ( ! empty( $instance['title'] ) ) { echo $instance['title']; } ?>" class="widefat">
|
89 |
-
</p>
|
90 |
-
<p>
|
91 |
-
<label for="<?php echo $this->get_field_id( 'subtitle' ); ?>"><?php esc_html_e( 'Subtitle', 'themeisle-companion' ); ?></label><br/>
|
92 |
-
<input type="text" name="<?php echo $this->get_field_name( 'subtitle' ); ?>" id="<?php echo $this->get_field_id( 'subtitle' ); ?>" value="<?php if ( ! empty( $instance['subtitle'] ) ) { echo $instance['subtitle']; } ?>" class="widefat">
|
93 |
-
</p>
|
94 |
-
|
95 |
-
<p>
|
96 |
-
<label for="<?php echo $this->get_field_id( 'description' ); ?>"><?php esc_html_e( 'Description', 'themeisle-companion' ); ?></label><br/>
|
97 |
-
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'description' ); ?>" id="<?php echo $this->get_field_id( 'description' ); ?>"><?php if ( ! empty( $instance['description'] ) ) { echo htmlspecialchars_decode( $instance['description'] ); } ?></textarea>
|
98 |
-
</p>
|
99 |
-
|
100 |
-
<?php
|
101 |
-
|
102 |
-
}
|
103 |
-
|
104 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/rhea/widgets/progress-bar.widget.php
DELETED
@@ -1,78 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Rhea_Progress_Bar extends WP_Widget {
|
3 |
-
|
4 |
-
public function __construct() {
|
5 |
-
$widget_args = array(
|
6 |
-
'description' => esc_html__( 'This widget is designed for Progress Bar Section', 'themeisle-companion' ),
|
7 |
-
);
|
8 |
-
parent::__construct( 'rhea-progress-bar', esc_html__( '[Rhea] - Progress Bar', 'themeisle-companion' ), $widget_args );
|
9 |
-
}
|
10 |
-
|
11 |
-
function widget( $args, $instance ) {
|
12 |
-
|
13 |
-
extract( $args );
|
14 |
-
|
15 |
-
if ( ! empty( $before_widget ) ) {
|
16 |
-
echo $before_widget;
|
17 |
-
}
|
18 |
-
|
19 |
-
$percentage = ! empty( $instance['percentage'] ) ? $instance['percentage'] : '0';
|
20 |
-
|
21 |
-
?>
|
22 |
-
|
23 |
-
<div class="progress-holder">
|
24 |
-
<?php
|
25 |
-
if ( ! empty( $instance['title'] ) ) {
|
26 |
-
echo '<h3>' . esc_html( $instance['title'] ) . '</h3>';
|
27 |
-
}
|
28 |
-
|
29 |
-
if ( ! empty( $instance['info'] ) ) {
|
30 |
-
echo '<span class="completion-rate" style="width: ' . absint( $percentage ) . '%">' . esc_html( $instance['info'] ) . '</span>';
|
31 |
-
}
|
32 |
-
|
33 |
-
?>
|
34 |
-
<div class="progress">
|
35 |
-
<div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo absint( $percentage ) ?>%"></div>
|
36 |
-
</div>
|
37 |
-
</div>
|
38 |
-
|
39 |
-
<?php
|
40 |
-
|
41 |
-
if ( ! empty( $after_widget ) ) {
|
42 |
-
echo $after_widget;
|
43 |
-
}
|
44 |
-
|
45 |
-
}
|
46 |
-
|
47 |
-
function update( $new_instance, $old_instance ) {
|
48 |
-
|
49 |
-
$instance = $old_instance;
|
50 |
-
$instance['title'] = stripslashes( wp_filter_post_kses( $new_instance['title'] ) );
|
51 |
-
$instance['info'] = strip_tags( $new_instance['info'] );
|
52 |
-
$instance['percentage'] = strip_tags( $new_instance['percentage'] );
|
53 |
-
|
54 |
-
return $instance;
|
55 |
-
|
56 |
-
}
|
57 |
-
|
58 |
-
function form( $instance ) {
|
59 |
-
?>
|
60 |
-
|
61 |
-
<p>
|
62 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title', 'themeisle-companion' ); ?></label><br/>
|
63 |
-
<input type="text" name="<?php echo $this->get_field_name( 'title' ); ?>" id="<?php echo $this->get_field_id( 'title' ); ?>" value="<?php if ( ! empty( $instance['title'] ) ) { echo $instance['title']; } ?>" placeholder="Wordpress" class="widefat">
|
64 |
-
</p>
|
65 |
-
<p>
|
66 |
-
<label for="<?php echo $this->get_field_id( 'info' ); ?>"><?php esc_html_e( 'Info', 'themeisle-companion' ); ?></label><br/>
|
67 |
-
<input type="text" name="<?php echo $this->get_field_name( 'info' ); ?>" id="<?php echo $this->get_field_id( 'info' ); ?>" value="<?php if ( ! empty( $instance['info'] ) ) { echo $instance['info']; } ?>" placeholder="70%" class="widefat">
|
68 |
-
</p>
|
69 |
-
<p>
|
70 |
-
<label for="<?php echo $this->get_field_id( 'percentage' ); ?>"><?php esc_html_e( 'Percentage','themeisle-companion' ); ?></label><br />
|
71 |
-
<input type="text" name="<?php echo $this->get_field_name( 'percentage' ); ?>" id="<?php echo $this->get_field_id( 'percentage' ); ?>" value="<?php if ( ! empty( $instance['percentage'] ) ) { echo $instance['percentage']; } ?>" placeholder="70" class="widefat">
|
72 |
-
</p>
|
73 |
-
|
74 |
-
<?php
|
75 |
-
|
76 |
-
}
|
77 |
-
|
78 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/companion-legacy/inc/shop-isle/class-template-loader.php
CHANGED
@@ -41,7 +41,8 @@ class Shop_Isle_Template_Loader {
|
|
41 |
Â
} else {
|
42 |
Â
// Add a filter to the wp 4.7 version attributes metabox
|
43 |
Â
add_filter(
|
44 |
-
'theme_page_templates',
|
Â
|
|
45 |
Â
);
|
46 |
Â
}
|
47 |
Â
// Add a filter to the save post to inject out template into the page cache
|
@@ -53,7 +54,7 @@ class Shop_Isle_Template_Loader {
|
|
53 |
Â
// template assigned and return it's path
|
54 |
Â
add_filter(
|
55 |
Â
'template_include',
|
56 |
-
array( $this, 'view_project_template')
|
57 |
Â
);
|
58 |
Â
// Add your templates to this array.
|
59 |
Â
$this->templates = array(
|
@@ -63,7 +64,6 @@ class Shop_Isle_Template_Loader {
|
|
63 |
Â
}
|
64 |
Â
/**
|
65 |
Â
* Adds our template to the page dropdown for v4.7+
|
66 |
-
*
|
67 |
Â
*/
|
68 |
Â
public function add_new_template( $posts_templates ) {
|
69 |
Â
$posts_templates = array_merge( $posts_templates, $this->templates );
|
@@ -83,7 +83,7 @@ class Shop_Isle_Template_Loader {
|
|
83 |
Â
$templates = array();
|
84 |
Â
}
|
85 |
Â
// New cache, therefore remove the old one
|
86 |
-
wp_cache_delete( $cache_key
|
87 |
Â
// Now add our template to the list of templates by merging our templates
|
88 |
Â
// with the existing templates array from the cache.
|
89 |
Â
$templates = array_merge( $templates, $this->templates );
|
@@ -104,22 +104,26 @@ class Shop_Isle_Template_Loader {
|
|
104 |
Â
return $template;
|
105 |
Â
}
|
106 |
Â
// Return default template if we don't have a custom one defined
|
107 |
-
if ( ! isset(
|
108 |
-
|
109 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
110 |
Â
return $template;
|
111 |
Â
}
|
112 |
-
$file = plugin_dir_path( __FILE__ ). get_post_meta(
|
113 |
-
|
114 |
-
|
Â
|
|
Â
|
|
115 |
Â
// Just to be safe, we check if the file exist first
|
116 |
Â
if ( file_exists( $file ) ) {
|
117 |
Â
return $file;
|
118 |
-
} else {
|
119 |
-
echo $file;
|
120 |
Â
}
|
121 |
Â
// Return template
|
122 |
Â
return $template;
|
123 |
Â
}
|
124 |
Â
}
|
125 |
-
add_action( 'plugins_loaded', array( 'Shop_Isle_Template_Loader', 'get_instance' ) );
|
41 |
Â
} else {
|
42 |
Â
// Add a filter to the wp 4.7 version attributes metabox
|
43 |
Â
add_filter(
|
44 |
+
'theme_page_templates',
|
45 |
+
array( $this, 'add_new_template' )
|
46 |
Â
);
|
47 |
Â
}
|
48 |
Â
// Add a filter to the save post to inject out template into the page cache
|
54 |
Â
// template assigned and return it's path
|
55 |
Â
add_filter(
|
56 |
Â
'template_include',
|
57 |
+
array( $this, 'view_project_template' )
|
58 |
Â
);
|
59 |
Â
// Add your templates to this array.
|
60 |
Â
$this->templates = array(
|
64 |
Â
}
|
65 |
Â
/**
|
66 |
Â
* Adds our template to the page dropdown for v4.7+
|
Â
|
|
67 |
Â
*/
|
68 |
Â
public function add_new_template( $posts_templates ) {
|
69 |
Â
$posts_templates = array_merge( $posts_templates, $this->templates );
|
83 |
Â
$templates = array();
|
84 |
Â
}
|
85 |
Â
// New cache, therefore remove the old one
|
86 |
+
wp_cache_delete( $cache_key, 'themes' );
|
87 |
Â
// Now add our template to the list of templates by merging our templates
|
88 |
Â
// with the existing templates array from the cache.
|
89 |
Â
$templates = array_merge( $templates, $this->templates );
|
104 |
Â
return $template;
|
105 |
Â
}
|
106 |
Â
// Return default template if we don't have a custom one defined
|
107 |
+
if ( ! isset(
|
108 |
+
$this->templates[ get_post_meta(
|
109 |
+
$post->ID,
|
110 |
+
'_wp_page_template',
|
111 |
+
true
|
112 |
+
) ]
|
113 |
+
) ) {
|
114 |
Â
return $template;
|
115 |
Â
}
|
116 |
+
$file = plugin_dir_path( __FILE__ ) . get_post_meta(
|
117 |
+
$post->ID,
|
118 |
+
'_wp_page_template',
|
119 |
+
true
|
120 |
+
);
|
121 |
Â
// Just to be safe, we check if the file exist first
|
122 |
Â
if ( file_exists( $file ) ) {
|
123 |
Â
return $file;
|
Â
|
|
Â
|
|
124 |
Â
}
|
125 |
Â
// Return template
|
126 |
Â
return $template;
|
127 |
Â
}
|
128 |
Â
}
|
129 |
+
add_action( 'plugins_loaded', array( 'Shop_Isle_Template_Loader', 'get_instance' ) );
|
obfx_modules/companion-legacy/inc/shop-isle/content-slider.php
CHANGED
@@ -2,18 +2,47 @@
|
|
2 |
Â
/**
|
3 |
Â
*
|
4 |
Â
* ***** SLIDER *******
|
5 |
-
*
|
6 |
Â
*/
|
7 |
Â
|
8 |
-
$shop_isle_homepage_slider_shortcode = get_theme_mod('shop_isle_homepage_slider_shortcode');
|
9 |
Â
|
10 |
-
echo '<section id="home" class="home-section home-parallax home-fade'. (empty($shop_isle_homepage_slider_shortcode) ? ' home-full-height' : ' home-slider-plugin' ) .'">';
|
11 |
Â
|
12 |
-
if( !empty($shop_isle_homepage_slider_shortcode) ) {
|
13 |
Â
echo do_shortcode( $shop_isle_homepage_slider_shortcode );
|
14 |
Â
} else {
|
15 |
Â
|
16 |
-
$shop_isle_slider = get_theme_mod(
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
17 |
Â
|
18 |
Â
if ( ! empty( $shop_isle_slider ) ) {
|
19 |
Â
|
@@ -42,18 +71,18 @@ if( !empty($shop_isle_homepage_slider_shortcode) ) {
|
|
42 |
Â
if ( ! empty( $shop_isle_slide->text ) ) {
|
43 |
Â
if ( function_exists( 'icl_t' ) && ! empty( $shop_isle_slide->id ) ) {
|
44 |
Â
$shop_isle_slider_text = icl_t( 'Slide ' . $shop_isle_slide->id, 'Slide text', $shop_isle_slide->text );
|
45 |
-
echo '<div class="hs-title-size-4 font-alt mb-30">' . $shop_isle_slider_text . '</div>';
|
46 |
Â
} else {
|
47 |
-
echo '<div class="hs-title-size-4 font-alt mb-30">' . $shop_isle_slide->text . '</div>';
|
48 |
Â
}
|
49 |
Â
}
|
50 |
Â
|
51 |
Â
if ( ! empty( $shop_isle_slide->subtext ) ) {
|
52 |
Â
if ( function_exists( 'icl_t' ) && ! empty( $shop_isle_slide->id ) ) {
|
53 |
Â
$shop_isle_slider_subtext = icl_t( 'Slide ' . $shop_isle_slide->id, 'Slide subtext', $shop_isle_slide->subtext );
|
54 |
-
echo '<div class="hs-title-size-1 font-alt mb-40">' . $shop_isle_slider_subtext . '</div>';
|
55 |
Â
} else {
|
56 |
-
echo '<div class="hs-title-size-1 font-alt mb-40">' . $shop_isle_slide->subtext . '</div>';
|
57 |
Â
}
|
58 |
Â
}
|
59 |
Â
|
@@ -61,9 +90,9 @@ if( !empty($shop_isle_homepage_slider_shortcode) ) {
|
|
61 |
Â
if ( function_exists( 'icl_t' ) && ! empty( $shop_isle_slide->id ) ) {
|
62 |
Â
$shop_isle_slider_link = icl_t( 'Slide ' . $shop_isle_slide->id, 'Slide button link', $shop_isle_slide->link );
|
63 |
Â
$shop_isle_slider_label = icl_t( 'Slide ' . $shop_isle_slide->id, 'Slide button label', $shop_isle_slide->label );
|
64 |
-
echo '<a href="' . esc_url( $shop_isle_slider_link ) . '" class="section-scroll btn btn-border-w btn-round">' . $shop_isle_slider_label . '</a>';
|
65 |
Â
} else {
|
66 |
-
echo '<a href="' . esc_url( $shop_isle_slide->link ) . '" class="section-scroll btn btn-border-w btn-round">' . $shop_isle_slide->label . '</a>';
|
67 |
Â
}
|
68 |
Â
}
|
69 |
Â
echo '</div>';
|
2 |
Â
/**
|
3 |
Â
*
|
4 |
Â
* ***** SLIDER *******
|
Â
|
|
5 |
Â
*/
|
6 |
Â
|
7 |
+
$shop_isle_homepage_slider_shortcode = get_theme_mod( 'shop_isle_homepage_slider_shortcode' );
|
8 |
Â
|
9 |
+
echo '<section id="home" class="home-section home-parallax home-fade' . ( empty( $shop_isle_homepage_slider_shortcode ) ? ' home-full-height' : ' home-slider-plugin' ) . '">';
|
10 |
Â
|
11 |
+
if ( ! empty( $shop_isle_homepage_slider_shortcode ) ) {
|
12 |
Â
echo do_shortcode( $shop_isle_homepage_slider_shortcode );
|
13 |
Â
} else {
|
14 |
Â
|
15 |
+
$shop_isle_slider = get_theme_mod(
|
16 |
+
'shop_isle_slider',
|
17 |
+
wp_json_encode(
|
18 |
+
array(
|
19 |
+
array(
|
20 |
+
'image_url' => get_template_directory_uri() . '/assets/images/slide1.jpg',
|
21 |
+
'link' => '#',
|
22 |
+
'text' => __( 'ShopIsle', 'themeisle-companion' ),
|
23 |
+
'subtext' => __( 'WooCommerce Theme', 'themeisle-companion' ),
|
24 |
+
'label' => __( 'FIND OUT MORE', 'themeisle-companion' ),
|
25 |
+
),
|
26 |
+
array(
|
27 |
+
'image_url' => get_template_directory_uri() . '/assets/images/slide2.jpg',
|
28 |
+
'link' => '#',
|
29 |
+
'text' => __( 'ShopIsle', 'themeisle-companion' ),
|
30 |
+
'subtext' => __( 'Hight quality store', 'themeisle-companion' ),
|
31 |
+
'label' => __( 'FIND OUT MORE', 'themeisle-companion' ),
|
32 |
+
),
|
33 |
+
array(
|
34 |
+
'image_url' => get_template_directory_uri() . '/assets/images/slide3.jpg',
|
35 |
+
'link' => '#',
|
36 |
+
'text' => __( 'ShopIsle', 'themeisle-companion' ),
|
37 |
+
'subtext' => __( 'Responsive Theme', 'themeisle-companion' ),
|
38 |
+
'label' => __(
|
39 |
+
'FIND OUT MORE',
|
40 |
+
'themeisle-companion'
|
41 |
+
),
|
42 |
+
),
|
43 |
+
)
|
44 |
+
)
|
45 |
+
);
|
46 |
Â
|
47 |
Â
if ( ! empty( $shop_isle_slider ) ) {
|
48 |
Â
|
71 |
Â
if ( ! empty( $shop_isle_slide->text ) ) {
|
72 |
Â
if ( function_exists( 'icl_t' ) && ! empty( $shop_isle_slide->id ) ) {
|
73 |
Â
$shop_isle_slider_text = icl_t( 'Slide ' . $shop_isle_slide->id, 'Slide text', $shop_isle_slide->text );
|
74 |
+
echo '<div class="hs-title-size-4 font-alt mb-30">' . wp_kses_post( $shop_isle_slider_text ) . '</div>';
|
75 |
Â
} else {
|
76 |
+
echo '<div class="hs-title-size-4 font-alt mb-30">' . wp_kses_post( $shop_isle_slide->text ) . '</div>';
|
77 |
Â
}
|
78 |
Â
}
|
79 |
Â
|
80 |
Â
if ( ! empty( $shop_isle_slide->subtext ) ) {
|
81 |
Â
if ( function_exists( 'icl_t' ) && ! empty( $shop_isle_slide->id ) ) {
|
82 |
Â
$shop_isle_slider_subtext = icl_t( 'Slide ' . $shop_isle_slide->id, 'Slide subtext', $shop_isle_slide->subtext );
|
83 |
+
echo '<div class="hs-title-size-1 font-alt mb-40">' . wp_kses_post( $shop_isle_slider_subtext ) . '</div>';
|
84 |
Â
} else {
|
85 |
+
echo '<div class="hs-title-size-1 font-alt mb-40">' . wp_kses_post( $shop_isle_slide->subtext ) . '</div>';
|
86 |
Â
}
|
87 |
Â
}
|
88 |
Â
|
90 |
Â
if ( function_exists( 'icl_t' ) && ! empty( $shop_isle_slide->id ) ) {
|
91 |
Â
$shop_isle_slider_link = icl_t( 'Slide ' . $shop_isle_slide->id, 'Slide button link', $shop_isle_slide->link );
|
92 |
Â
$shop_isle_slider_label = icl_t( 'Slide ' . $shop_isle_slide->id, 'Slide button label', $shop_isle_slide->label );
|
93 |
+
echo '<a href="' . esc_url( $shop_isle_slider_link ) . '" class="section-scroll btn btn-border-w btn-round">' . wp_kses_post( $shop_isle_slider_label ) . '</a>';
|
94 |
Â
} else {
|
95 |
+
echo '<a href="' . esc_url( $shop_isle_slide->link ) . '" class="section-scroll btn btn-border-w btn-round">' . wp_kses_post( $shop_isle_slide->label ) . '</a>';
|
96 |
Â
}
|
97 |
Â
}
|
98 |
Â
echo '</div>';
|
obfx_modules/companion-legacy/inc/shop-isle/customizer.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
Â
*
|
9 |
Â
* @param $wp_customize
|
10 |
Â
*/
|
11 |
-
function shop_isle_companion_customize_register($wp_customize) {
|
12 |
Â
|
13 |
Â
$selective_refresh = isset( $wp_customize->selective_refresh ) ? 'postMessage' : 'refresh';
|
14 |
Â
|
@@ -20,7 +20,7 @@ function shop_isle_companion_customize_register($wp_customize) {
|
|
20 |
Â
* Render about page instruction
|
21 |
Â
*/
|
22 |
Â
public function render_content() {
|
23 |
-
echo __( 'To customize the About us Page you need to first select the template "About us page" for the page you want to use for this purpose. Then open that page in the browser and press "Customize" in the top bar.', 'themeisle-companion' ) . '<br><br>' . __( 'Need further assistance? Check out this', 'themeisle-companion' ) . ' <a href="http://docs.themeisle.com/article/211-shopisle-customizing-the-contact-and-about-us-page" target="_blank">' . __( 'doc', 'themeisle-companion' ) . '</a>';
|
24 |
Â
}
|
25 |
Â
}
|
26 |
Â
|
@@ -29,11 +29,14 @@ function shop_isle_companion_customize_register($wp_customize) {
|
|
29 |
Â
|
30 |
Â
|
31 |
Â
/*==========SLIDER SECTION==========*/
|
32 |
-
$wp_customize->add_section(
|
33 |
-
'
|
34 |
-
|
35 |
-
|
36 |
-
|
Â
|
|
Â
|
|
Â
|
|
37 |
Â
|
38 |
Â
|
39 |
Â
if ( ! empty( $shop_isle_big_title_image ) || ! empty( $shop_isle_big_title_title ) || ! empty( $shop_isle_big_title_subtitle ) || ! empty( $shop_isle_big_title_button_label ) || ! empty( $shop_isle_big_title_button_link ) ) {
|
@@ -41,307 +44,418 @@ function shop_isle_companion_customize_register($wp_customize) {
|
|
41 |
Â
}
|
42 |
Â
|
43 |
Â
/* Slider */
|
44 |
-
$wp_customize->add_setting(
|
Â
|
|
Â
|
|
45 |
Â
'sanitize_callback' => 'shop_isle_sanitize_repeater',
|
46 |
-
'default' => json_encode(
|
47 |
-
array(
|
48 |
-
'image_url' => get_template_directory_uri() . '/assets/images/slide1.jpg',
|
49 |
-
'link' => '#',
|
50 |
-
'text' => __( 'ShopIsle', 'themeisle-companion' ),
|
51 |
-
'subtext' => __( 'WooCommerce Theme', 'themeisle-companion' ),
|
52 |
-
'label' => __( 'FIND OUT MORE', 'themeisle-companion' )
|
53 |
-
),
|
54 |
-
array(
|
55 |
-
'image_url' => get_template_directory_uri() . '/assets/images/slide2.jpg',
|
56 |
-
'link' => '#',
|
57 |
-
'text' => __( 'ShopIsle', 'themeisle-companion' ),
|
58 |
-
'subtext' => __( 'Hight quality store', 'themeisle-companion' ),
|
59 |
-
'label' => __( 'FIND OUT MORE', 'themeisle-companion' )
|
60 |
-
),
|
61 |
Â
array(
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
69 |
Â
)
|
70 |
Â
);
|
71 |
Â
|
72 |
Â
if ( class_exists( 'Shop_Isle_Repeater_Controler' ) ) {
|
73 |
-
$wp_customize->add_control(
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
87 |
Â
}
|
88 |
Â
|
89 |
Â
/* Slider shortcode */
|
90 |
-
$wp_customize->add_setting(
|
91 |
-
'
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
'
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
'
|
121 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
122 |
Â
endif;
|
123 |
Â
/* Our team title */
|
124 |
-
$wp_customize->add_setting(
|
125 |
-
'
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
'
|
134 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
135 |
Â
/* Our team subtitle */
|
136 |
-
$wp_customize->add_setting(
|
137 |
-
'
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
'
|
146 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
147 |
Â
/* Team members */
|
148 |
-
$wp_customize->add_setting(
|
149 |
-
'
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
157 |
Â
),
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
158 |
Â
array(
|
159 |
-
'
|
160 |
-
'
|
161 |
-
|
162 |
-
|
163 |
-
|
Â
|
|
Â
|
|
Â
|
|
164 |
Â
array(
|
165 |
-
'
|
166 |
-
'
|
167 |
-
'
|
168 |
-
|
169 |
-
|
Â
|
|
Â
|
|
Â
|
|
170 |
Â
array(
|
171 |
-
'
|
172 |
-
'
|
173 |
-
|
174 |
-
|
175 |
-
)
|
176 |
-
) ),
|
177 |
-
) );
|
178 |
-
if ( class_exists( 'Shop_Isle_Repeater_Controler' ) ) {
|
179 |
-
$wp_customize->add_control( new Shop_Isle_Repeater_Controler( $wp_customize, 'shop_isle_team_members', array(
|
180 |
-
'label' => __( 'Add new team member', 'themeisle-companion' ),
|
181 |
-
'section' => 'shop_isle_about_page_section',
|
182 |
-
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
183 |
-
'priority' => 3,
|
184 |
-
'shop_isle_image_control' => true,
|
185 |
-
'shop_isle_link_control' => false,
|
186 |
-
'shop_isle_text_control' => true,
|
187 |
-
'shop_isle_subtext_control' => true,
|
188 |
-
'shop_isle_label_control' => false,
|
189 |
-
'shop_isle_icon_control' => false,
|
190 |
-
'shop_isle_description_control' => true,
|
191 |
-
'shop_isle_box_label' => __( 'Team member', 'themeisle-companion' ),
|
192 |
-
'shop_isle_box_add_label' => __( 'Add new team member', 'themeisle-companion' )
|
193 |
-
) ) );
|
194 |
-
}
|
195 |
-
/***********************************************************************************/
|
196 |
-
/****** About us page - instructions for users when not on About us page *********/
|
197 |
-
/***********************************************************************************/
|
198 |
-
$wp_customize->add_section( 'shop_isle_aboutus_page_instructions', array(
|
199 |
-
'title' => __( 'About us page', 'themeisle-companion' ),
|
200 |
-
'priority' => 52
|
201 |
-
) );
|
202 |
-
$wp_customize->add_setting( 'shop_isle_aboutus_page_instructions', array(
|
203 |
-
'sanitize_callback' => 'shop_isle_sanitize_text'
|
204 |
-
) );
|
205 |
-
$wp_customize->add_control( new ShopIsle_Companion_Aboutus_Page_Instructions( $wp_customize, 'shop_isle_aboutus_page_instructions', array(
|
206 |
-
'section' => 'shop_isle_aboutus_page_instructions',
|
207 |
-
'active_callback' => 'shop_isle_companion_is_not_aboutus_page',
|
208 |
-
) ) );
|
209 |
-
if ( class_exists( 'WP_Customize_Panel' ) ):
|
210 |
-
$wp_customize->add_section( 'shop_isle_about_page_video_section', array(
|
211 |
-
'title' => __( 'Video', 'themeisle-companion' ),
|
212 |
-
'priority' => 2,
|
213 |
-
'panel' => 'panel_team'
|
214 |
-
) );
|
215 |
-
else:
|
216 |
-
$wp_customize->add_section( 'shop_isle_about_page_video_section', array(
|
217 |
-
'title' => __( 'About us page - video', 'themeisle-companion' ),
|
218 |
-
'priority' => 53
|
219 |
-
) );
|
220 |
Â
endif;
|
221 |
Â
/* Video title */
|
222 |
-
$wp_customize->add_setting(
|
223 |
-
'
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
'
|
232 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
233 |
Â
/* Video subtitle */
|
234 |
-
$wp_customize->add_setting(
|
235 |
-
'
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
'
|
244 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
245 |
Â
/* Video background */
|
246 |
-
$wp_customize->add_setting(
|
247 |
-
'
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
257 |
Â
/* Video link */
|
258 |
-
$wp_customize->add_setting(
|
259 |
-
'
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
'
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
'
|
271 |
-
'priority'
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
$wp_customize->add_section(
|
276 |
-
'
|
277 |
-
|
278 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
279 |
Â
endif;
|
280 |
Â
/* Our advantages title */
|
281 |
-
$wp_customize->add_setting(
|
282 |
-
'
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
'
|
291 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
292 |
Â
/* Advantages */
|
293 |
-
$wp_customize->add_setting(
|
294 |
-
'
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
311 |
Â
),
|
312 |
-
|
313 |
-
|
314 |
-
'text' => __( 'Easy to use', 'themeisle-companion' ),
|
315 |
-
'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' )
|
316 |
-
)
|
317 |
-
) ),
|
318 |
-
) );
|
319 |
Â
if ( class_exists( 'Shop_Isle_Repeater_Controler' ) ) {
|
320 |
-
$wp_customize->add_control(
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
335 |
Â
}
|
336 |
Â
}
|
337 |
Â
|
338 |
Â
|
339 |
-
$current_theme
|
340 |
Â
$shop_isle_wporg_flag = get_option( 'shop_isle_wporg_flag' );
|
341 |
-
$theme_name
|
342 |
Â
|
343 |
-
if ( isset($shop_isle_wporg_flag) && ( 'true' == $shop_isle_wporg_flag )
|
344 |
-
|
345 |
Â
}
|
346 |
Â
|
347 |
Â
/**
|
@@ -350,7 +464,7 @@ if ( isset($shop_isle_wporg_flag) && ( 'true' == $shop_isle_wporg_flag ) && ( $
|
|
350 |
Â
* @return bool
|
351 |
Â
*/
|
352 |
Â
function shop_isle_companion_is_aboutus_page() {
|
353 |
-
|
354 |
Â
}
|
355 |
Â
|
356 |
Â
/**
|
@@ -359,7 +473,7 @@ function shop_isle_companion_is_aboutus_page() {
|
|
359 |
Â
* @return bool
|
360 |
Â
*/
|
361 |
Â
function shop_isle_companion_is_not_aboutus_page() {
|
362 |
-
|
363 |
Â
}
|
364 |
Â
|
365 |
Â
if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
@@ -376,7 +490,8 @@ if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
|
376 |
Â
|
377 |
Â
/* Our team */
|
378 |
Â
$wp_customize->selective_refresh->add_partial(
|
379 |
-
'shop_isle_our_team_title',
|
Â
|
|
380 |
Â
'selector' => '.page-template-template-about .meet-out-team-title',
|
381 |
Â
'render_callback' => 'shop_isle_about_page_team_title_callback',
|
382 |
Â
'container_inclusive' => false,
|
@@ -384,7 +499,8 @@ if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
|
384 |
Â
);
|
385 |
Â
|
386 |
Â
$wp_customize->selective_refresh->add_partial(
|
387 |
-
'shop_isle_our_team_subtitle',
|
Â
|
|
388 |
Â
'selector' => '.page-template-template-about .meet-out-team-subtitle',
|
389 |
Â
'render_callback' => 'shop_isle_about_page_team_subtitle_callback',
|
390 |
Â
'container_inclusive' => false,
|
@@ -392,7 +508,8 @@ if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
|
392 |
Â
);
|
393 |
Â
|
394 |
Â
$wp_customize->selective_refresh->add_partial(
|
395 |
-
'shop_isle_team_members',
|
Â
|
|
396 |
Â
'selector' => '.page-template-template-about .about-team-member',
|
397 |
Â
'render_callback' => 'shop_isle_about_page_display_team_members',
|
398 |
Â
'container_inclusive' => true,
|
@@ -401,7 +518,8 @@ if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
|
401 |
Â
|
402 |
Â
/* Video */
|
403 |
Â
$wp_customize->selective_refresh->add_partial(
|
404 |
-
'shop_isle_about_page_video_title',
|
Â
|
|
405 |
Â
'selector' => '.page-template-template-about .video-box .video-title',
|
406 |
Â
'render_callback' => 'shop_isle_about_page_video_title_callback',
|
407 |
Â
'container_inclusive' => false,
|
@@ -409,7 +527,8 @@ if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
|
409 |
Â
);
|
410 |
Â
|
411 |
Â
$wp_customize->selective_refresh->add_partial(
|
412 |
-
'shop_isle_about_page_video_subtitle',
|
Â
|
|
413 |
Â
'selector' => '.page-template-template-about .video-box .video-subtitle',
|
414 |
Â
'render_callback' => 'shop_isle_about_page_video_subtitle_callback',
|
415 |
Â
'container_inclusive' => false,
|
@@ -418,7 +537,8 @@ if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
|
418 |
Â
|
419 |
Â
/* Our advantages */
|
420 |
Â
$wp_customize->selective_refresh->add_partial(
|
421 |
-
'shop_isle_our_advantages_title',
|
Â
|
|
422 |
Â
'selector' => '.page-template-template-about .module-title.our_advantages',
|
423 |
Â
'render_callback' => 'shop_isle_about_page_advantages_title_callback',
|
424 |
Â
'container_inclusive' => false,
|
@@ -426,7 +546,8 @@ if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
|
426 |
Â
);
|
427 |
Â
|
428 |
Â
$wp_customize->selective_refresh->add_partial(
|
429 |
-
'shop_isle_advantages',
|
Â
|
|
430 |
Â
'selector' => '.page-template-template-about .module-advantages .multi-columns-row',
|
431 |
Â
'render_callback' => 'shop_isle_about_page_display_advantages',
|
432 |
Â
'container_inclusive' => true,
|
@@ -466,7 +587,8 @@ if ( ! function_exists( 'shop_isle_about_page_display_team_members' ) ) :
|
|
466 |
Â
function shop_isle_about_page_display_team_members() {
|
467 |
Â
|
468 |
Â
$shop_isle_team_members = get_theme_mod(
|
469 |
-
'shop_isle_team_members',
|
Â
|
|
470 |
Â
array(
|
471 |
Â
array(
|
472 |
Â
'image_url' => get_template_directory_uri() . '/assets/images/team1.jpg',
|
@@ -589,7 +711,8 @@ if ( ! function_exists( 'shop_isle_about_page_display_advantages' ) ) :
|
|
589 |
Â
function shop_isle_about_page_display_advantages() {
|
590 |
Â
|
591 |
Â
$shop_isle_advantages = get_theme_mod(
|
592 |
-
'shop_isle_advantages',
|
Â
|
|
593 |
Â
array(
|
594 |
Â
array(
|
595 |
Â
'icon_value' => 'icon_lightbulb',
|
8 |
Â
*
|
9 |
Â
* @param $wp_customize
|
10 |
Â
*/
|
11 |
+
function shop_isle_companion_customize_register( $wp_customize ) {
|
12 |
Â
|
13 |
Â
$selective_refresh = isset( $wp_customize->selective_refresh ) ? 'postMessage' : 'refresh';
|
14 |
Â
|
20 |
Â
* Render about page instruction
|
21 |
Â
*/
|
22 |
Â
public function render_content() {
|
23 |
+
echo wp_kses_post( __( 'To customize the About us Page you need to first select the template "About us page" for the page you want to use for this purpose. Then open that page in the browser and press "Customize" in the top bar.', 'themeisle-companion' ) . '<br><br>' . __( 'Need further assistance? Check out this', 'themeisle-companion' ) . ' <a href="http://docs.themeisle.com/article/211-shopisle-customizing-the-contact-and-about-us-page" target="_blank">' . __( 'doc', 'themeisle-companion' ) . '</a>' );
|
24 |
Â
}
|
25 |
Â
}
|
26 |
Â
|
29 |
Â
|
30 |
Â
|
31 |
Â
/*==========SLIDER SECTION==========*/
|
32 |
+
$wp_customize->add_section(
|
33 |
+
'shop_isle_slider_section',
|
34 |
+
array(
|
35 |
+
'title' => __( 'Slider section', 'themeisle-companion' ),
|
36 |
+
'panel' => 'shop_isle_front_page_sections',
|
37 |
+
'priority' => 1,
|
38 |
+
)
|
39 |
+
);
|
40 |
Â
|
41 |
Â
|
42 |
Â
if ( ! empty( $shop_isle_big_title_image ) || ! empty( $shop_isle_big_title_title ) || ! empty( $shop_isle_big_title_subtitle ) || ! empty( $shop_isle_big_title_button_label ) || ! empty( $shop_isle_big_title_button_link ) ) {
|
44 |
Â
}
|
45 |
Â
|
46 |
Â
/* Slider */
|
47 |
+
$wp_customize->add_setting(
|
48 |
+
'shop_isle_slider',
|
49 |
+
array(
|
50 |
Â
'sanitize_callback' => 'shop_isle_sanitize_repeater',
|
51 |
+
'default' => json_encode(
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
52 |
Â
array(
|
53 |
+
array(
|
54 |
+
'image_url' => get_template_directory_uri() . '/assets/images/slide1.jpg',
|
55 |
+
'link' => '#',
|
56 |
+
'text' => __( 'ShopIsle', 'themeisle-companion' ),
|
57 |
+
'subtext' => __( 'WooCommerce Theme', 'themeisle-companion' ),
|
58 |
+
'label' => __( 'FIND OUT MORE', 'themeisle-companion' ),
|
59 |
+
),
|
60 |
+
array(
|
61 |
+
'image_url' => get_template_directory_uri() . '/assets/images/slide2.jpg',
|
62 |
+
'link' => '#',
|
63 |
+
'text' => __( 'ShopIsle', 'themeisle-companion' ),
|
64 |
+
'subtext' => __( 'Hight quality store', 'themeisle-companion' ),
|
65 |
+
'label' => __( 'FIND OUT MORE', 'themeisle-companion' ),
|
66 |
+
),
|
67 |
+
array(
|
68 |
+
'image_url' => get_template_directory_uri() . '/assets/images/slide3.jpg',
|
69 |
+
'link' => '#',
|
70 |
+
'text' => __( 'ShopIsle', 'themeisle-companion' ),
|
71 |
+
'subtext' => __( 'Responsive Theme', 'themeisle-companion' ),
|
72 |
+
'label' => __( 'FIND OUT MORE', 'themeisle-companion' ),
|
73 |
+
),
|
74 |
+
)
|
75 |
+
),
|
76 |
Â
)
|
77 |
Â
);
|
78 |
Â
|
79 |
Â
if ( class_exists( 'Shop_Isle_Repeater_Controler' ) ) {
|
80 |
+
$wp_customize->add_control(
|
81 |
+
new Shop_Isle_Repeater_Controler(
|
82 |
+
$wp_customize,
|
83 |
+
'shop_isle_slider',
|
84 |
+
array(
|
85 |
+
'label' => __( 'Add new slide', 'themeisle-companion' ),
|
86 |
+
'section' => 'shop_isle_slider_section',
|
87 |
+
'active_callback' => 'is_front_page',
|
88 |
+
'priority' => 2,
|
89 |
+
'shop_isle_image_control' => true,
|
90 |
+
'shop_isle_text_control' => true,
|
91 |
+
'shop_isle_link_control' => true,
|
92 |
+
'shop_isle_subtext_control' => true,
|
93 |
+
'shop_isle_label_control' => true,
|
94 |
+
'shop_isle_icon_control' => false,
|
95 |
+
'shop_isle_box_label' => __( 'Slide', 'themeisle-companion' ),
|
96 |
+
'shop_isle_box_add_label' => __( 'Add new slide', 'themeisle-companion' ),
|
97 |
+
)
|
98 |
+
)
|
99 |
+
);
|
100 |
Â
}
|
101 |
Â
|
102 |
Â
/* Slider shortcode */
|
103 |
+
$wp_customize->add_setting(
|
104 |
+
'shop_isle_homepage_slider_shortcode',
|
105 |
+
array(
|
106 |
+
'sanitize_callback' => 'shop_isle_sanitize_text',
|
107 |
+
)
|
108 |
+
);
|
109 |
+
|
110 |
+
$wp_customize->add_control(
|
111 |
+
'shop_isle_homepage_slider_shortcode',
|
112 |
+
array(
|
113 |
+
'label' => __( 'Slider shortcode', 'themeisle-companion' ),
|
114 |
+
'description' => __( 'You can replace the homepage slider with any plugin you like, just copy the shortcode generated and paste it here.', 'themeisle-companion' ),
|
115 |
+
'section' => 'shop_isle_slider_section',
|
116 |
+
'active_callback' => 'is_front_page',
|
117 |
+
'priority' => 10,
|
118 |
+
)
|
119 |
+
);
|
120 |
+
|
121 |
+
|
122 |
+
if ( class_exists( 'WP_Customize_Panel' ) ) :
|
123 |
+
$wp_customize->add_panel(
|
124 |
+
'panel_team',
|
125 |
+
array(
|
126 |
+
'priority' => 52,
|
127 |
+
'capability' => 'edit_theme_options',
|
128 |
+
'theme_supports' => '',
|
129 |
+
'title' => __( 'About us page', 'themeisle-companion' ),
|
130 |
+
)
|
131 |
+
);
|
132 |
+
$wp_customize->add_section(
|
133 |
+
'shop_isle_about_page_section',
|
134 |
+
array(
|
135 |
+
'title' => __( 'Our team', 'themeisle-companion' ),
|
136 |
+
'priority' => 1,
|
137 |
+
'panel' => 'panel_team',
|
138 |
+
)
|
139 |
+
);
|
140 |
+
else :
|
141 |
+
$wp_customize->add_section(
|
142 |
+
'shop_isle_about_page_section',
|
143 |
+
array(
|
144 |
+
'title' => __( 'About us page - our team', 'themeisle-companion' ),
|
145 |
+
'priority' => 52,
|
146 |
+
)
|
147 |
+
);
|
148 |
Â
endif;
|
149 |
Â
/* Our team title */
|
150 |
+
$wp_customize->add_setting(
|
151 |
+
'shop_isle_our_team_title',
|
152 |
+
array(
|
153 |
+
'sanitize_callback' => 'shop_isle_sanitize_text',
|
154 |
+
'default' => __( 'Meet our team', 'themeisle-companion' ),
|
155 |
+
'transport' => $selective_refresh,
|
156 |
+
)
|
157 |
+
);
|
158 |
+
$wp_customize->add_control(
|
159 |
+
'shop_isle_our_team_title',
|
160 |
+
array(
|
161 |
+
'label' => __( 'Title', 'themeisle-companion' ),
|
162 |
+
'section' => 'shop_isle_about_page_section',
|
163 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
164 |
+
'priority' => 1,
|
165 |
+
)
|
166 |
+
);
|
167 |
Â
/* Our team subtitle */
|
168 |
+
$wp_customize->add_setting(
|
169 |
+
'shop_isle_our_team_subtitle',
|
170 |
+
array(
|
171 |
+
'sanitize_callback' => 'shop_isle_sanitize_text',
|
172 |
+
'default' => __( 'An awesome way to introduce the members of your team.', 'themeisle-companion' ),
|
173 |
+
'transport' => $selective_refresh,
|
174 |
+
)
|
175 |
+
);
|
176 |
+
$wp_customize->add_control(
|
177 |
+
'shop_isle_our_team_subtitle',
|
178 |
+
array(
|
179 |
+
'label' => __( 'Subtitle', 'themeisle-companion' ),
|
180 |
+
'section' => 'shop_isle_about_page_section',
|
181 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
182 |
+
'priority' => 2,
|
183 |
+
)
|
184 |
+
);
|
185 |
Â
/* Team members */
|
186 |
+
$wp_customize->add_setting(
|
187 |
+
'shop_isle_team_members',
|
188 |
+
array(
|
189 |
+
'sanitize_callback' => 'shop_isle_sanitize_repeater',
|
190 |
+
'transport' => $selective_refresh,
|
191 |
+
'default' => json_encode(
|
192 |
+
array(
|
193 |
+
array(
|
194 |
+
'image_url' => get_template_directory_uri() . '/assets/images/team1.jpg',
|
195 |
+
'text' => 'Eva Bean',
|
196 |
+
'subtext' => 'Developer',
|
197 |
+
'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
|
198 |
+
),
|
199 |
+
array(
|
200 |
+
'image_url' => get_template_directory_uri() . '/assets/images/team2.jpg',
|
201 |
+
'text' => 'Maria Woods',
|
202 |
+
'subtext' => 'Designer',
|
203 |
+
'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
|
204 |
+
),
|
205 |
+
array(
|
206 |
+
'image_url' => get_template_directory_uri() . '/assets/images/team3.jpg',
|
207 |
+
'text' => 'Booby Stone',
|
208 |
+
'subtext' => 'Director',
|
209 |
+
'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
|
210 |
+
),
|
211 |
+
array(
|
212 |
+
'image_url' => get_template_directory_uri() . '/assets/images/team4.jpg',
|
213 |
+
'text' => 'Anna Neaga',
|
214 |
+
'subtext' => 'Art Director',
|
215 |
+
'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
|
216 |
+
),
|
217 |
+
)
|
218 |
Â
),
|
219 |
+
)
|
220 |
+
);
|
221 |
+
if ( class_exists( 'Shop_Isle_Repeater_Controler' ) ) {
|
222 |
+
$wp_customize->add_control(
|
223 |
+
new Shop_Isle_Repeater_Controler(
|
224 |
+
$wp_customize,
|
225 |
+
'shop_isle_team_members',
|
226 |
+
array(
|
227 |
+
'label' => __( 'Add new team member', 'themeisle-companion' ),
|
228 |
+
'section' => 'shop_isle_about_page_section',
|
229 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
230 |
+
'priority' => 3,
|
231 |
+
'shop_isle_image_control' => true,
|
232 |
+
'shop_isle_link_control' => false,
|
233 |
+
'shop_isle_text_control' => true,
|
234 |
+
'shop_isle_subtext_control' => true,
|
235 |
+
'shop_isle_label_control' => false,
|
236 |
+
'shop_isle_icon_control' => false,
|
237 |
+
'shop_isle_description_control' => true,
|
238 |
+
'shop_isle_box_label' => __( 'Team member', 'themeisle-companion' ),
|
239 |
+
'shop_isle_box_add_label' => __( 'Add new team member', 'themeisle-companion' ),
|
240 |
+
)
|
241 |
+
)
|
242 |
+
);
|
243 |
+
}
|
244 |
+
$wp_customize->add_section(
|
245 |
+
'shop_isle_aboutus_page_instructions',
|
246 |
+
array(
|
247 |
+
'title' => __( 'About us page', 'themeisle-companion' ),
|
248 |
+
'priority' => 52,
|
249 |
+
)
|
250 |
+
);
|
251 |
+
$wp_customize->add_setting(
|
252 |
+
'shop_isle_aboutus_page_instructions',
|
253 |
+
array(
|
254 |
+
'sanitize_callback' => 'shop_isle_sanitize_text',
|
255 |
+
)
|
256 |
+
);
|
257 |
+
$wp_customize->add_control(
|
258 |
+
new ShopIsle_Companion_Aboutus_Page_Instructions(
|
259 |
+
$wp_customize,
|
260 |
+
'shop_isle_aboutus_page_instructions',
|
261 |
Â
array(
|
262 |
+
'section' => 'shop_isle_aboutus_page_instructions',
|
263 |
+
'active_callback' => 'shop_isle_companion_is_not_aboutus_page',
|
264 |
+
)
|
265 |
+
)
|
266 |
+
);
|
267 |
+
if ( class_exists( 'WP_Customize_Panel' ) ) :
|
268 |
+
$wp_customize->add_section(
|
269 |
+
'shop_isle_about_page_video_section',
|
270 |
Â
array(
|
271 |
+
'title' => __( 'Video', 'themeisle-companion' ),
|
272 |
+
'priority' => 2,
|
273 |
+
'panel' => 'panel_team',
|
274 |
+
)
|
275 |
+
);
|
276 |
+
else :
|
277 |
+
$wp_customize->add_section(
|
278 |
+
'shop_isle_about_page_video_section',
|
279 |
Â
array(
|
280 |
+
'title' => __( 'About us page - video', 'themeisle-companion' ),
|
281 |
+
'priority' => 53,
|
282 |
+
)
|
283 |
+
);
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
284 |
Â
endif;
|
285 |
Â
/* Video title */
|
286 |
+
$wp_customize->add_setting(
|
287 |
+
'shop_isle_about_page_video_title',
|
288 |
+
array(
|
289 |
+
'sanitize_callback' => 'shop_isle_sanitize_text',
|
290 |
+
'default' => __( 'Presentation', 'themeisle-companion' ),
|
291 |
+
'transport' => $selective_refresh,
|
292 |
+
)
|
293 |
+
);
|
294 |
+
$wp_customize->add_control(
|
295 |
+
'shop_isle_about_page_video_title',
|
296 |
+
array(
|
297 |
+
'label' => __( 'Title', 'themeisle-companion' ),
|
298 |
+
'section' => 'shop_isle_about_page_video_section',
|
299 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
300 |
+
'priority' => 1,
|
301 |
+
)
|
302 |
+
);
|
303 |
Â
/* Video subtitle */
|
304 |
+
$wp_customize->add_setting(
|
305 |
+
'shop_isle_about_page_video_subtitle',
|
306 |
+
array(
|
307 |
+
'sanitize_callback' => 'shop_isle_sanitize_text',
|
308 |
+
'default' => __( 'What the video about our new products', 'themeisle-companion' ),
|
309 |
+
'transport' => $selective_refresh,
|
310 |
+
)
|
311 |
+
);
|
312 |
+
$wp_customize->add_control(
|
313 |
+
'shop_isle_about_page_video_subtitle',
|
314 |
+
array(
|
315 |
+
'label' => __( 'Subtitle', 'themeisle-companion' ),
|
316 |
+
'section' => 'shop_isle_about_page_video_section',
|
317 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
318 |
+
'priority' => 2,
|
319 |
+
)
|
320 |
+
);
|
321 |
Â
/* Video background */
|
322 |
+
$wp_customize->add_setting(
|
323 |
+
'shop_isle_about_page_video_background',
|
324 |
+
array(
|
325 |
+
'default' => get_template_directory_uri() . '/assets/images/background-video.jpg',
|
326 |
+
'transport' => 'postMessage',
|
327 |
+
'sanitize_callback' => 'esc_url',
|
328 |
+
)
|
329 |
+
);
|
330 |
+
$wp_customize->add_control(
|
331 |
+
new WP_Customize_Image_Control(
|
332 |
+
$wp_customize,
|
333 |
+
'shop_isle_about_page_video_background',
|
334 |
+
array(
|
335 |
+
'label' => __( 'Background', 'themeisle-companion' ),
|
336 |
+
'section' => 'shop_isle_about_page_video_section',
|
337 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
338 |
+
'priority' => 3,
|
339 |
+
)
|
340 |
+
)
|
341 |
+
);
|
342 |
Â
/* Video link */
|
343 |
+
$wp_customize->add_setting(
|
344 |
+
'shop_isle_about_page_video_link',
|
345 |
+
array(
|
346 |
+
'sanitize_callback' => 'shop_isle_sanitize_text',
|
347 |
+
'transport' => 'postMessage',
|
348 |
+
)
|
349 |
+
);
|
350 |
+
$wp_customize->add_control(
|
351 |
+
'shop_isle_about_page_video_link',
|
352 |
+
array(
|
353 |
+
'label' => __( 'Video', 'themeisle-companion' ),
|
354 |
+
'section' => 'shop_isle_about_page_video_section',
|
355 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
356 |
+
'priority' => 4,
|
357 |
+
)
|
358 |
+
);
|
359 |
+
if ( class_exists( 'WP_Customize_Panel' ) ) :
|
360 |
+
$wp_customize->add_section(
|
361 |
+
'shop_isle_about_page_advantages_section',
|
362 |
+
array(
|
363 |
+
'title' => __( 'Our advantages', 'themeisle-companion' ),
|
364 |
+
'priority' => 3,
|
365 |
+
'panel' => 'panel_team',
|
366 |
+
)
|
367 |
+
);
|
368 |
+
else :
|
369 |
+
$wp_customize->add_section(
|
370 |
+
'shop_isle_about_page_advantages_section',
|
371 |
+
array(
|
372 |
+
'title' => __( 'About us page - our advantages', 'themeisle-companion' ),
|
373 |
+
'priority' => 54,
|
374 |
+
)
|
375 |
+
);
|
376 |
Â
endif;
|
377 |
Â
/* Our advantages title */
|
378 |
+
$wp_customize->add_setting(
|
379 |
+
'shop_isle_our_advantages_title',
|
380 |
+
array(
|
381 |
+
'sanitize_callback' => 'shop_isle_sanitize_text',
|
382 |
+
'default' => __( 'Our advantages', 'themeisle-companion' ),
|
383 |
+
'transport' => $selective_refresh,
|
384 |
+
)
|
385 |
+
);
|
386 |
+
$wp_customize->add_control(
|
387 |
+
'shop_isle_our_advantages_title',
|
388 |
+
array(
|
389 |
+
'label' => __( 'Title', 'themeisle-companion' ),
|
390 |
+
'section' => 'shop_isle_about_page_advantages_section',
|
391 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
392 |
+
'priority' => 1,
|
393 |
+
)
|
394 |
+
);
|
395 |
Â
/* Advantages */
|
396 |
+
$wp_customize->add_setting(
|
397 |
+
'shop_isle_advantages',
|
398 |
+
array(
|
399 |
+
'sanitize_callback' => 'shop_isle_sanitize_repeater',
|
400 |
+
'transport' => $selective_refresh,
|
401 |
+
'default' => json_encode(
|
402 |
+
array(
|
403 |
+
array(
|
404 |
+
'icon_value' => 'icon_lightbulb',
|
405 |
+
'text' => __( 'Ideas and concepts', 'themeisle-companion' ),
|
406 |
+
'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' ),
|
407 |
+
),
|
408 |
+
array(
|
409 |
+
'icon_value' => 'icon_tools',
|
410 |
+
'text' => __( 'Designs & interfaces', 'themeisle-companion' ),
|
411 |
+
'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' ),
|
412 |
+
),
|
413 |
+
array(
|
414 |
+
'icon_value' => 'icon_cogs',
|
415 |
+
'text' => __( 'Highly customizable', 'themeisle-companion' ),
|
416 |
+
'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' ),
|
417 |
+
),
|
418 |
+
array(
|
419 |
+
'icon_value' => 'icon_like',
|
420 |
+
'text' => __( 'Easy to use', 'themeisle-companion' ),
|
421 |
+
'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'themeisle-companion' ),
|
422 |
+
),
|
423 |
+
)
|
424 |
Â
),
|
425 |
+
)
|
426 |
+
);
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
427 |
Â
if ( class_exists( 'Shop_Isle_Repeater_Controler' ) ) {
|
428 |
+
$wp_customize->add_control(
|
429 |
+
new Shop_Isle_Repeater_Controler(
|
430 |
+
$wp_customize,
|
431 |
+
'shop_isle_advantages',
|
432 |
+
array(
|
433 |
+
'label' => __( 'Add new advantage', 'themeisle-companion' ),
|
434 |
+
'section' => 'shop_isle_about_page_advantages_section',
|
435 |
+
'active_callback' => 'shop_isle_companion_is_aboutus_page',
|
436 |
+
'priority' => 2,
|
437 |
+
'shop_isle_image_control' => false,
|
438 |
+
'shop_isle_link_control' => false,
|
439 |
+
'shop_isle_text_control' => true,
|
440 |
+
'shop_isle_subtext_control' => true,
|
441 |
+
'shop_isle_label_control' => false,
|
442 |
+
'shop_isle_icon_control' => true,
|
443 |
+
'shop_isle_description_control' => false,
|
444 |
+
'shop_isle_box_label' => __( 'Advantage', 'themeisle-companion' ),
|
445 |
+
'shop_isle_box_add_label' => __( 'Add new advantage', 'themeisle-companion' ),
|
446 |
+
)
|
447 |
+
)
|
448 |
+
);
|
449 |
Â
}
|
450 |
Â
}
|
451 |
Â
|
452 |
Â
|
453 |
+
$current_theme = wp_get_theme();
|
454 |
Â
$shop_isle_wporg_flag = get_option( 'shop_isle_wporg_flag' );
|
455 |
+
$theme_name = $current_theme->template;
|
456 |
Â
|
457 |
+
if ( isset( $shop_isle_wporg_flag ) && ( 'true' == $shop_isle_wporg_flag ) && ( $theme_name == 'shop-isle' ) ) {
|
458 |
+
add_action( 'customize_register', 'shop_isle_companion_customize_register', 100 );
|
459 |
Â
}
|
460 |
Â
|
461 |
Â
/**
|
464 |
Â
* @return bool
|
465 |
Â
*/
|
466 |
Â
function shop_isle_companion_is_aboutus_page() {
|
467 |
+
return is_page_template( 'template-about.php' );
|
468 |
Â
}
|
469 |
Â
|
470 |
Â
/**
|
473 |
Â
* @return bool
|
474 |
Â
*/
|
475 |
Â
function shop_isle_companion_is_not_aboutus_page() {
|
476 |
+
return ! is_page_template( 'template-about.php' );
|
477 |
Â
}
|
478 |
Â
|
479 |
Â
if ( ! function_exists( 'shop_isle_about_page_register_partials' ) ) :
|
490 |
Â
|
491 |
Â
/* Our team */
|
492 |
Â
$wp_customize->selective_refresh->add_partial(
|
493 |
+
'shop_isle_our_team_title',
|
494 |
+
array(
|
495 |
Â
'selector' => '.page-template-template-about .meet-out-team-title',
|
496 |
Â
'render_callback' => 'shop_isle_about_page_team_title_callback',
|
497 |
Â
'container_inclusive' => false,
|
499 |
Â
);
|
500 |
Â
|
501 |
Â
$wp_customize->selective_refresh->add_partial(
|
502 |
+
'shop_isle_our_team_subtitle',
|
503 |
+
array(
|
504 |
Â
'selector' => '.page-template-template-about .meet-out-team-subtitle',
|
505 |
Â
'render_callback' => 'shop_isle_about_page_team_subtitle_callback',
|
506 |
Â
'container_inclusive' => false,
|
508 |
Â
);
|
509 |
Â
|
510 |
Â
$wp_customize->selective_refresh->add_partial(
|
511 |
+
'shop_isle_team_members',
|
512 |
+
array(
|
513 |
Â
'selector' => '.page-template-template-about .about-team-member',
|
514 |
Â
'render_callback' => 'shop_isle_about_page_display_team_members',
|
515 |
Â
'container_inclusive' => true,
|
518 |
Â
|
519 |
Â
/* Video */
|
520 |
Â
$wp_customize->selective_refresh->add_partial(
|
521 |
+
'shop_isle_about_page_video_title',
|
522 |
+
array(
|
523 |
Â
'selector' => '.page-template-template-about .video-box .video-title',
|
524 |
Â
'render_callback' => 'shop_isle_about_page_video_title_callback',
|
525 |
Â
'container_inclusive' => false,
|
527 |
Â
);
|
528 |
Â
|
529 |
Â
$wp_customize->selective_refresh->add_partial(
|
530 |
+
'shop_isle_about_page_video_subtitle',
|
531 |
+
array(
|
532 |
Â
'selector' => '.page-template-template-about .video-box .video-subtitle',
|
533 |
Â
'render_callback' => 'shop_isle_about_page_video_subtitle_callback',
|
534 |
Â
'container_inclusive' => false,
|
537 |
Â
|
538 |
Â
/* Our advantages */
|
539 |
Â
$wp_customize->selective_refresh->add_partial(
|
540 |
+
'shop_isle_our_advantages_title',
|
541 |
+
array(
|
542 |
Â
'selector' => '.page-template-template-about .module-title.our_advantages',
|
543 |
Â
'render_callback' => 'shop_isle_about_page_advantages_title_callback',
|
544 |
Â
'container_inclusive' => false,
|
546 |
Â
);
|
547 |
Â
|
548 |
Â
$wp_customize->selective_refresh->add_partial(
|
549 |
+
'shop_isle_advantages',
|
550 |
+
array(
|
551 |
Â
'selector' => '.page-template-template-about .module-advantages .multi-columns-row',
|
552 |
Â
'render_callback' => 'shop_isle_about_page_display_advantages',
|
553 |
Â
'container_inclusive' => true,
|
587 |
Â
function shop_isle_about_page_display_team_members() {
|
588 |
Â
|
589 |
Â
$shop_isle_team_members = get_theme_mod(
|
590 |
+
'shop_isle_team_members',
|
591 |
+
json_encode(
|
592 |
Â
array(
|
593 |
Â
array(
|
594 |
Â
'image_url' => get_template_directory_uri() . '/assets/images/team1.jpg',
|
711 |
Â
function shop_isle_about_page_display_advantages() {
|
712 |
Â
|
713 |
Â
$shop_isle_advantages = get_theme_mod(
|
714 |
+
'shop_isle_advantages',
|
715 |
+
wp_json_encode(
|
716 |
Â
array(
|
717 |
Â
array(
|
718 |
Â
'icon_value' => 'icon_lightbulb',
|
obfx_modules/companion-legacy/inc/shop-isle/functions.php
CHANGED
@@ -16,14 +16,15 @@ License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
|
16 |
Â
/**
|
17 |
Â
* Filter to replace big title section with slider.
|
18 |
Â
*/
|
19 |
-
add_filter
|
20 |
Â
|
21 |
Â
/**
|
22 |
Â
* Function used for subheader filter/
|
Â
|
|
23 |
Â
* @return string
|
24 |
Â
*/
|
25 |
Â
function shop_isle_companion_slider() {
|
26 |
-
|
27 |
Â
}
|
28 |
Â
|
29 |
Â
/**
|
@@ -37,4 +38,4 @@ require plugin_dir_path( __FILE__ ) . 'customizer.php';
|
|
37 |
Â
require plugin_dir_path( __FILE__ ) . 'class-template-loader.php';
|
38 |
Â
|
39 |
Â
|
40 |
-
add_action('shop-isle-about-page-after-content', 'shop_isle_companion_about_addon');
|
16 |
Â
/**
|
17 |
Â
* Filter to replace big title section with slider.
|
18 |
Â
*/
|
19 |
+
add_filter( 'shop-isle-subheader', 'shop_isle_companion_slider' );
|
20 |
Â
|
21 |
Â
/**
|
22 |
Â
* Function used for subheader filter/
|
23 |
+
*
|
24 |
Â
* @return string
|
25 |
Â
*/
|
26 |
Â
function shop_isle_companion_slider() {
|
27 |
+
return plugin_dir_path( __FILE__ ) . 'content-slider.php';
|
28 |
Â
}
|
29 |
Â
|
30 |
Â
/**
|
38 |
Â
require plugin_dir_path( __FILE__ ) . 'class-template-loader.php';
|
39 |
Â
|
40 |
Â
|
41 |
+
add_action( 'shop-isle-about-page-after-content', 'shop_isle_companion_about_addon' );
|
obfx_modules/companion-legacy/inc/shop-isle/template-about.php
CHANGED
@@ -78,8 +78,8 @@ get_header(); ?>
|
|
78 |
Â
<section class="module">
|
79 |
Â
<div class="container">
|
80 |
Â
<?php
|
81 |
-
$shop_isle_our_team_title
|
82 |
-
$shop_isle_our_team_subtitle = get_theme_mod( 'shop_isle_our_team_subtitle',__( 'An awesome way to introduce the members of your team.', 'themeisle-companion' ) );
|
83 |
Â
|
84 |
Â
if ( ! empty( $shop_isle_our_team_title ) || ! empty( $shop_isle_our_team_subtitle ) ) {
|
85 |
Â
|
@@ -112,13 +112,13 @@ get_header(); ?>
|
|
112 |
Â
|
113 |
Â
<!-- Video start -->
|
114 |
Â
<?php
|
115 |
-
$shop_isle_about_page_video_background = get_theme_mod( 'shop_isle_about_page_video_background',get_template_directory_uri() . '/assets/images/background-video.jpg' );
|
116 |
Â
?>
|
117 |
Â
<section class="module bg-dark-60 about-page-video"
|
118 |
Â
<?php
|
119 |
Â
if ( ! empty( $shop_isle_about_page_video_background ) ) {
|
120 |
Â
echo 'data-background="' . esc_url( $shop_isle_about_page_video_background ) . '"';}
|
121 |
-
?>
|
122 |
Â
>
|
123 |
Â
<div class="container">
|
124 |
Â
<div class="row">
|
@@ -137,8 +137,8 @@ get_header(); ?>
|
|
137 |
Â
echo '</div>';
|
138 |
Â
endif;
|
139 |
Â
|
140 |
-
$shop_isle_about_page_video_title
|
141 |
-
$shop_isle_about_page_video_subtitle = get_theme_mod( 'shop_isle_about_page_video_subtitle',__( 'What the video about our new products', 'themeisle-companion' ) );
|
142 |
Â
|
143 |
Â
if ( ! empty( $shop_isle_about_page_video_title ) ) :
|
144 |
Â
echo '<div class="video-title font-alt">' . wp_kses_post( $shop_isle_about_page_video_title ) . '</div>';
|
@@ -159,7 +159,7 @@ get_header(); ?>
|
|
159 |
Â
<section class="module module-advantages">
|
160 |
Â
<div class="container">
|
161 |
Â
<?php
|
162 |
-
$shop_isle_our_advantages_title = get_theme_mod( 'shop_isle_our_advantages_title',__( 'Our advantages', 'themeisle-companion' ) );
|
163 |
Â
if ( ! empty( $shop_isle_our_advantages_title ) ) :
|
164 |
Â
echo '<div class="row">';
|
165 |
Â
echo '<div class="col-sm-6 col-sm-offset-3">';
|
78 |
Â
<section class="module">
|
79 |
Â
<div class="container">
|
80 |
Â
<?php
|
81 |
+
$shop_isle_our_team_title = get_theme_mod( 'shop_isle_our_team_title', __( 'Meet our team', 'themeisle-companion' ) );
|
82 |
+
$shop_isle_our_team_subtitle = get_theme_mod( 'shop_isle_our_team_subtitle', __( 'An awesome way to introduce the members of your team.', 'themeisle-companion' ) );
|
83 |
Â
|
84 |
Â
if ( ! empty( $shop_isle_our_team_title ) || ! empty( $shop_isle_our_team_subtitle ) ) {
|
85 |
Â
|
112 |
Â
|
113 |
Â
<!-- Video start -->
|
114 |
Â
<?php
|
115 |
+
$shop_isle_about_page_video_background = get_theme_mod( 'shop_isle_about_page_video_background', get_template_directory_uri() . '/assets/images/background-video.jpg' );
|
116 |
Â
?>
|
117 |
Â
<section class="module bg-dark-60 about-page-video"
|
118 |
Â
<?php
|
119 |
Â
if ( ! empty( $shop_isle_about_page_video_background ) ) {
|
120 |
Â
echo 'data-background="' . esc_url( $shop_isle_about_page_video_background ) . '"';}
|
121 |
+
?>
|
122 |
Â
>
|
123 |
Â
<div class="container">
|
124 |
Â
<div class="row">
|
137 |
Â
echo '</div>';
|
138 |
Â
endif;
|
139 |
Â
|
140 |
+
$shop_isle_about_page_video_title = get_theme_mod( 'shop_isle_about_page_video_title', __( 'Presentation', 'themeisle-companion' ) );
|
141 |
+
$shop_isle_about_page_video_subtitle = get_theme_mod( 'shop_isle_about_page_video_subtitle', __( 'What the video about our new products', 'themeisle-companion' ) );
|
142 |
Â
|
143 |
Â
if ( ! empty( $shop_isle_about_page_video_title ) ) :
|
144 |
Â
echo '<div class="video-title font-alt">' . wp_kses_post( $shop_isle_about_page_video_title ) . '</div>';
|
159 |
Â
<section class="module module-advantages">
|
160 |
Â
<div class="container">
|
161 |
Â
<?php
|
162 |
+
$shop_isle_our_advantages_title = get_theme_mod( 'shop_isle_our_advantages_title', __( 'Our advantages', 'themeisle-companion' ) );
|
163 |
Â
if ( ! empty( $shop_isle_our_advantages_title ) ) :
|
164 |
Â
echo '<div class="row">';
|
165 |
Â
echo '<div class="col-sm-6 col-sm-offset-3">';
|
obfx_modules/companion-legacy/inc/zerif-lite/functions.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
Â
function themeisle_populate_with_default_widgets() {
|
7 |
Â
|
8 |
Â
$zerif_lite_sidebars = array(
|
9 |
-
|
10 |
Â
'sidebar-testimonials' => 'sidebar-testimonials',
|
11 |
Â
'sidebar-ourteam' => 'sidebar-ourteam',
|
12 |
Â
'sidebar-aboutus' => 'sidebar-aboutus',
|
6 |
Â
function themeisle_populate_with_default_widgets() {
|
7 |
Â
|
8 |
Â
$zerif_lite_sidebars = array(
|
9 |
+
'sidebar-ourfocus' => 'sidebar-ourfocus',
|
10 |
Â
'sidebar-testimonials' => 'sidebar-testimonials',
|
11 |
Â
'sidebar-ourteam' => 'sidebar-ourteam',
|
12 |
Â
'sidebar-aboutus' => 'sidebar-aboutus',
|
obfx_modules/companion-legacy/inc/zerif-lite/widgets/widget-clients.php
CHANGED
@@ -53,10 +53,15 @@ if ( ! class_exists( 'zerif_clients_widget' ) ) {
|
|
53 |
Â
|
54 |
Â
?>
|
55 |
Â
|
56 |
-
<a href="
|
57 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
58 |
Â
<?php
|
59 |
-
if ( ! empty( $instance['image_uri'] ) && ( preg_match('/(\.jpg|\.png|\.jpeg|\.gif|\.bmp)$/', $instance['image_uri'] ) ) ) {
|
60 |
Â
|
61 |
Â
echo '<img src="' . esc_url( $instance['image_uri'] ) . '" alt="' . __( 'Client', 'themeisle-companion' ) . '">';
|
62 |
Â
|
@@ -114,10 +119,15 @@ endif; ?>">
|
|
114 |
Â
<label
|
115 |
Â
for="<?php echo $this->get_field_id( 'link' ); ?>"><?php _e( 'Link', 'themeisle-companion' ); ?></label><br/>
|
116 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'link' ); ?>"
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
121 |
Â
</p>
|
122 |
Â
<p>
|
123 |
Â
<label
|
@@ -138,31 +148,50 @@ endif; ?>"
|
|
138 |
Â
$zerif_image_in_customizer = $this->get_field_name( 'image_in_customizer' );
|
139 |
Â
?>
|
140 |
Â
<input type="hidden" class="custom_media_display_in_customizer"
|
141 |
-
|
Â
|
|
Â
|
|
142 |
Â
echo $zerif_image_in_customizer;
|
143 |
-
}
|
144 |
-
|
145 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
146 |
Â
<img class="custom_media_image" src="<?php echo $image_in_customizer; ?>"
|
147 |
-
|
148 |
-
|
149 |
Â
|
150 |
Â
<input type="text" class="widefat custom_media_url"
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
156 |
Â
|
157 |
Â
<input type="button" class="button button-primary custom_media_button" id="custom_media_button"
|
158 |
-
|
159 |
-
|
160 |
Â
</p>
|
161 |
Â
|
162 |
Â
<input class="custom_media_id" id="<?php echo $this->get_field_id( 'custom_media_id' ); ?>"
|
163 |
-
|
164 |
-
|
165 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
166 |
Â
<?php
|
167 |
Â
|
168 |
Â
}
|
53 |
Â
|
54 |
Â
?>
|
55 |
Â
|
56 |
+
<a href="
|
57 |
+
<?php
|
58 |
+
if ( ! empty( $instance['link'] ) ) :
|
59 |
+
echo apply_filters( 'widget_title', $instance['link'] );
|
60 |
+
endif;
|
61 |
+
?>
|
62 |
+
">
|
63 |
Â
<?php
|
64 |
+
if ( ! empty( $instance['image_uri'] ) && ( preg_match( '/(\.jpg|\.png|\.jpeg|\.gif|\.bmp)$/', $instance['image_uri'] ) ) ) {
|
65 |
Â
|
66 |
Â
echo '<img src="' . esc_url( $instance['image_uri'] ) . '" alt="' . __( 'Client', 'themeisle-companion' ) . '">';
|
67 |
Â
|
119 |
Â
<label
|
120 |
Â
for="<?php echo $this->get_field_id( 'link' ); ?>"><?php _e( 'Link', 'themeisle-companion' ); ?></label><br/>
|
121 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'link' ); ?>"
|
122 |
+
id="<?php echo $this->get_field_id( 'link' ); ?>"
|
123 |
+
value="
|
124 |
+
<?php
|
125 |
+
if ( ! empty( $instance['link'] ) ) :
|
126 |
+
echo $instance['link'];
|
127 |
+
endif;
|
128 |
+
?>
|
129 |
+
"
|
130 |
+
class="widefat">
|
131 |
Â
</p>
|
132 |
Â
<p>
|
133 |
Â
<label
|
148 |
Â
$zerif_image_in_customizer = $this->get_field_name( 'image_in_customizer' );
|
149 |
Â
?>
|
150 |
Â
<input type="hidden" class="custom_media_display_in_customizer"
|
151 |
+
name="
|
152 |
+
<?php
|
153 |
+
if ( ! empty( $zerif_image_in_customizer ) ) {
|
154 |
Â
echo $zerif_image_in_customizer;
|
155 |
+
}
|
156 |
+
?>
|
157 |
+
"
|
158 |
+
value="
|
159 |
+
<?php
|
160 |
+
if ( ! empty( $instance['image_in_customizer'] ) ) :
|
161 |
+
echo $instance['image_in_customizer'];
|
162 |
+
endif;
|
163 |
+
?>
|
164 |
+
">
|
165 |
Â
<img class="custom_media_image" src="<?php echo $image_in_customizer; ?>"
|
166 |
+
style="margin:0;padding:0;max-width:100px;float:left;display:<?php echo $display; ?>"
|
167 |
+
alt="<?php echo __( 'Uploaded image', 'themeisle-companion' ); ?>"/><br/>
|
168 |
Â
|
169 |
Â
<input type="text" class="widefat custom_media_url"
|
170 |
+
name="<?php echo $this->get_field_name( 'image_uri' ); ?>"
|
171 |
+
id="<?php echo $this->get_field_id( 'image_uri' ); ?>"
|
172 |
+
value="
|
173 |
+
<?php
|
174 |
+
if ( ! empty( $instance['image_uri'] ) ) :
|
175 |
+
echo $instance['image_uri'];
|
176 |
+
endif;
|
177 |
+
?>
|
178 |
+
"
|
179 |
+
style="margin-top:5px;">
|
180 |
Â
|
181 |
Â
<input type="button" class="button button-primary custom_media_button" id="custom_media_button"
|
182 |
+
name="<?php echo $this->get_field_name( 'image_uri' ); ?>"
|
183 |
+
value="<?php _e( 'Upload Image', 'themeisle-companion' ); ?>" style="margin-top:5px;">
|
184 |
Â
</p>
|
185 |
Â
|
186 |
Â
<input class="custom_media_id" id="<?php echo $this->get_field_id( 'custom_media_id' ); ?>"
|
187 |
+
name="<?php echo $this->get_field_name( 'custom_media_id' ); ?>" type="hidden"
|
188 |
+
value="
|
189 |
+
<?php
|
190 |
+
if ( ! empty( $instance['custom_media_id'] ) ) :
|
191 |
+
echo $instance['custom_media_id'];
|
192 |
+
endif;
|
193 |
+
?>
|
194 |
+
"/>
|
195 |
Â
<?php
|
196 |
Â
|
197 |
Â
}
|
obfx_modules/companion-legacy/inc/zerif-lite/widgets/widget-focus.php
CHANGED
@@ -12,9 +12,8 @@
|
|
12 |
Â
* Class zerif_ourfocus
|
13 |
Â
*/
|
14 |
Â
if ( ! class_exists( 'zerif_ourfocus' ) ) {
|
15 |
-
|
16 |
Â
class zerif_ourfocus extends WP_Widget {
|
17 |
-
|
18 |
Â
/**
|
19 |
Â
* zerif_ourfocus constructor.
|
20 |
Â
*/
|
@@ -34,7 +33,7 @@ if ( ! class_exists( 'zerif_ourfocus' ) ) {
|
|
34 |
Â
*
|
35 |
Â
* @param $hook
|
36 |
Â
*/
|
37 |
-
function widget_scripts() {
|
38 |
Â
wp_enqueue_media();
|
39 |
Â
wp_enqueue_script( 'zerif_widget_media_script', THEMEISLE_COMPANION_URL . 'assets/js/widget-media.js', false, '1.1', true );
|
40 |
Â
}
|
@@ -45,63 +44,73 @@ if ( ! class_exists( 'zerif_ourfocus' ) ) {
|
|
45 |
Â
* @param $args
|
46 |
Â
* @param $instance
|
47 |
Â
*/
|
48 |
-
function widget( $args, $instance ) {
|
49 |
Â
|
50 |
Â
extract( $args );
|
51 |
Â
|
52 |
-
echo $before_widget;
|
53 |
Â
|
54 |
Â
?>
|
55 |
Â
|
56 |
Â
<div class="col-lg-3 col-sm-3 focus-box" data-scrollreveal="enter left after 0.15s over 1s">
|
57 |
Â
|
58 |
Â
<?php
|
59 |
-
if ( ! empty( $instance['image_uri'] ) && ( preg_match('/(\.jpg|\.png|\.jpeg|\.gif|\.bmp)$/', $instance['image_uri'] ) ) ) {
|
60 |
-
if ( ! empty( $instance['link'] ) ) {
|
Â
|
|
61 |
Â
<a href="<?php echo esc_url( $instance['link'] ); ?>" class="service-icon">
|
62 |
Â
<?php
|
63 |
-
if ( ! empty( $instance['title'] ) ) {
|
Â
|
|
64 |
Â
<span class="sr-only">
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
Â
<?php
|
69 |
-
}
|
Â
|
|
70 |
Â
|
71 |
Â
<i class="pixeden"
|
72 |
Â
style="background:url(<?php echo esc_url( $instance['image_uri'] ); ?>) no-repeat center;width:100%; height:100%;"></i>
|
73 |
Â
</a>
|
74 |
Â
<?php
|
75 |
-
} else {
|
Â
|
|
76 |
Â
<div class="service-icon" tabindex="0">
|
77 |
Â
<i class="pixeden"
|
78 |
Â
style="background:url(<?php echo esc_url( $instance['image_uri'] ); ?>) no-repeat center;width:100%; height:100%;"></i>
|
79 |
Â
<!-- FOCUS ICON-->
|
80 |
Â
</div>
|
81 |
Â
<?php
|
82 |
-
}
|
Â
|
|
83 |
Â
|
84 |
Â
|
85 |
-
|
Â
|
|
86 |
Â
|
87 |
Â
$zerif_ourfocus_custom_media_id = wp_get_attachment_image_src( $instance['custom_media_id'] );
|
88 |
Â
if ( ! empty( $zerif_ourfocus_custom_media_id ) && ! empty( $zerif_ourfocus_custom_media_id[0] ) ) {
|
89 |
Â
|
90 |
-
if ( ! empty( $instance['link'] ) ) {
|
Â
|
|
91 |
Â
<a href="<?php echo esc_url( $instance['link'] ); ?>" class="service-icon">
|
92 |
Â
<?php
|
93 |
-
if ( ! empty( $instance['title'] ) ) {
|
Â
|
|
94 |
Â
<span class="sr-only">
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
Â
<?php
|
99 |
-
}
|
Â
|
|
100 |
Â
<i class="pixeden"
|
101 |
Â
style="background:url(<?php echo esc_url( $zerif_ourfocus_custom_media_id[0] ); ?>) no-repeat center;width:100%; height:100%;"></i>
|
102 |
Â
</a>
|
103 |
Â
<?php
|
104 |
-
} else {
|
Â
|
|
105 |
Â
<div class="service-icon" tabindex="0">
|
106 |
Â
<i class="pixeden"
|
107 |
Â
style="background:url(<?php echo esc_url( $zerif_ourfocus_custom_media_id[0] ); ?>) no-repeat center;width:100%; height:100%;"></i>
|
@@ -110,17 +119,22 @@ if ( ! class_exists( 'zerif_ourfocus' ) ) {
|
|
110 |
Â
<?php
|
111 |
Â
}
|
112 |
Â
}
|
113 |
-
}// End if().
|
114 |
Â
?>
|
115 |
Â
|
116 |
-
<h3 class="red-border-bottom"
|
117 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
118 |
Â
<!-- FOCUS HEADING -->
|
119 |
Â
|
120 |
Â
<?php
|
121 |
Â
if ( ! empty( $instance['text'] ) ) {
|
122 |
Â
echo '<p>';
|
123 |
-
echo htmlspecialchars_decode( apply_filters( 'widget_title', $instance['text'] ) );
|
124 |
Â
echo '</p>';
|
125 |
Â
}
|
126 |
Â
?>
|
@@ -129,7 +143,7 @@ endif; ?></h3>
|
|
129 |
Â
|
130 |
Â
<?php
|
131 |
Â
|
132 |
-
echo $after_widget;
|
133 |
Â
|
134 |
Â
}
|
135 |
Â
|
@@ -141,15 +155,15 @@ endif; ?></h3>
|
|
141 |
Â
*
|
142 |
Â
* @return mixed
|
143 |
Â
*/
|
144 |
-
function update( $new_instance, $old_instance ) {
|
145 |
Â
|
146 |
Â
$instance = $old_instance;
|
147 |
Â
$instance['text'] = stripslashes( wp_filter_post_kses( $new_instance['text'] ) );
|
148 |
-
$instance['title'] =
|
149 |
-
$instance['link'] =
|
150 |
-
$instance['image_uri'] =
|
151 |
-
$instance['custom_media_id'] =
|
152 |
-
$instance['image_in_customizer'] =
|
153 |
Â
|
154 |
Â
return $instance;
|
155 |
Â
|
@@ -160,36 +174,51 @@ endif; ?></h3>
|
|
160 |
Â
*
|
161 |
Â
* @param $instance
|
162 |
Â
*/
|
163 |
-
function form( $instance ) {
|
164 |
Â
?>
|
165 |
Â
|
166 |
Â
<p>
|
167 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php
|
168 |
-
<input type="text" name="<?php echo $this->get_field_name( 'title' ); ?>"
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
173 |
Â
</p>
|
174 |
Â
<p>
|
175 |
Â
<label
|
176 |
-
for="<?php echo $this->get_field_id( 'text' ); ?>"><?php
|
177 |
-
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'text' ); ?>"
|
178 |
-
|
179 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
180 |
Â
</p>
|
181 |
Â
<p>
|
182 |
Â
<label
|
183 |
-
for="<?php echo $this->get_field_id( 'link' ); ?>"><?php
|
184 |
-
<input type="text" name="<?php echo $this->get_field_name( 'link' ); ?>"
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
189 |
Â
</p>
|
190 |
Â
<p>
|
191 |
Â
<label
|
192 |
-
for="<?php echo $this->get_field_id( 'image_uri' ); ?>"><?php
|
193 |
Â
|
194 |
Â
<?php
|
195 |
Â
$image_in_customizer = '';
|
@@ -206,31 +235,50 @@ endif; ?>"
|
|
206 |
Â
$zerif_image_in_customizer = $this->get_field_name( 'image_in_customizer' );
|
207 |
Â
?>
|
208 |
Â
<input type="hidden" class="custom_media_display_in_customizer"
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
217 |
Â
|
218 |
Â
<input type="text" class="widefat custom_media_url"
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
224 |
Â
|
225 |
Â
<input type="button" class="button button-primary custom_media_button" id="custom_media_button"
|
226 |
-
|
227 |
-
|
228 |
Â
</p>
|
229 |
Â
|
230 |
-
<input class="custom_media_id" id="<?php echo $this->get_field_id( 'custom_media_id' ); ?>"
|
231 |
-
|
232 |
-
|
233 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
234 |
Â
|
235 |
Â
<?php
|
236 |
Â
|
12 |
Â
* Class zerif_ourfocus
|
13 |
Â
*/
|
14 |
Â
if ( ! class_exists( 'zerif_ourfocus' ) ) {
|
15 |
+
//phpcs:ignore PEAR.NamingConventions.ValidClassName
|
16 |
Â
class zerif_ourfocus extends WP_Widget {
|
Â
|
|
17 |
Â
/**
|
18 |
Â
* zerif_ourfocus constructor.
|
19 |
Â
*/
|
33 |
Â
*
|
34 |
Â
* @param $hook
|
35 |
Â
*/
|
36 |
+
public function widget_scripts() {
|
37 |
Â
wp_enqueue_media();
|
38 |
Â
wp_enqueue_script( 'zerif_widget_media_script', THEMEISLE_COMPANION_URL . 'assets/js/widget-media.js', false, '1.1', true );
|
39 |
Â
}
|
44 |
Â
* @param $args
|
45 |
Â
* @param $instance
|
46 |
Â
*/
|
47 |
+
public function widget( $args, $instance ) {
|
48 |
Â
|
49 |
Â
extract( $args );
|
50 |
Â
|
51 |
+
echo wp_kses_post( $before_widget );
|
52 |
Â
|
53 |
Â
?>
|
54 |
Â
|
55 |
Â
<div class="col-lg-3 col-sm-3 focus-box" data-scrollreveal="enter left after 0.15s over 1s">
|
56 |
Â
|
57 |
Â
<?php
|
58 |
+
if ( ! empty( $instance['image_uri'] ) && ( preg_match( '/(\.jpg|\.png|\.jpeg|\.gif|\.bmp)$/', $instance['image_uri'] ) ) ) {
|
59 |
+
if ( ! empty( $instance['link'] ) ) {
|
60 |
+
?>
|
61 |
Â
<a href="<?php echo esc_url( $instance['link'] ); ?>" class="service-icon">
|
62 |
Â
<?php
|
63 |
+
if ( ! empty( $instance['title'] ) ) {
|
64 |
+
?>
|
65 |
Â
<span class="sr-only">
|
66 |
+
<?php echo esc_attr( 'Go to', 'themeisle-companion' ); ?>
|
67 |
+
<?php echo wp_kses_post( apply_filters( 'widget_title', $instance['title'] ) ); ?>
|
68 |
+
</span>
|
69 |
Â
<?php
|
70 |
+
}
|
71 |
+
?>
|
72 |
Â
|
73 |
Â
<i class="pixeden"
|
74 |
Â
style="background:url(<?php echo esc_url( $instance['image_uri'] ); ?>) no-repeat center;width:100%; height:100%;"></i>
|
75 |
Â
</a>
|
76 |
Â
<?php
|
77 |
+
} else {
|
78 |
+
?>
|
79 |
Â
<div class="service-icon" tabindex="0">
|
80 |
Â
<i class="pixeden"
|
81 |
Â
style="background:url(<?php echo esc_url( $instance['image_uri'] ); ?>) no-repeat center;width:100%; height:100%;"></i>
|
82 |
Â
<!-- FOCUS ICON-->
|
83 |
Â
</div>
|
84 |
Â
<?php
|
85 |
+
}
|
86 |
+
?>
|
87 |
Â
|
88 |
Â
|
89 |
+
<?php
|
90 |
+
} elseif ( ! empty( $instance['custom_media_id'] ) ) {
|
91 |
Â
|
92 |
Â
$zerif_ourfocus_custom_media_id = wp_get_attachment_image_src( $instance['custom_media_id'] );
|
93 |
Â
if ( ! empty( $zerif_ourfocus_custom_media_id ) && ! empty( $zerif_ourfocus_custom_media_id[0] ) ) {
|
94 |
Â
|
95 |
+
if ( ! empty( $instance['link'] ) ) {
|
96 |
+
?>
|
97 |
Â
<a href="<?php echo esc_url( $instance['link'] ); ?>" class="service-icon">
|
98 |
Â
<?php
|
99 |
+
if ( ! empty( $instance['title'] ) ) {
|
100 |
+
?>
|
101 |
Â
<span class="sr-only">
|
102 |
+
<?php esc_attr_e( 'Go to', 'themeisle-companion' ); ?>
|
103 |
+
<?php echo wp_kses_post( apply_filters( 'widget_title', $instance['title'] ) ); ?>
|
104 |
+
</span>
|
105 |
Â
<?php
|
106 |
+
}
|
107 |
+
?>
|
108 |
Â
<i class="pixeden"
|
109 |
Â
style="background:url(<?php echo esc_url( $zerif_ourfocus_custom_media_id[0] ); ?>) no-repeat center;width:100%; height:100%;"></i>
|
110 |
Â
</a>
|
111 |
Â
<?php
|
112 |
+
} else {
|
113 |
+
?>
|
114 |
Â
<div class="service-icon" tabindex="0">
|
115 |
Â
<i class="pixeden"
|
116 |
Â
style="background:url(<?php echo esc_url( $zerif_ourfocus_custom_media_id[0] ); ?>) no-repeat center;width:100%; height:100%;"></i>
|
119 |
Â
<?php
|
120 |
Â
}
|
121 |
Â
}
|
122 |
+
}// End if().
|
123 |
Â
?>
|
124 |
Â
|
125 |
+
<h3 class="red-border-bottom">
|
126 |
+
<?php
|
127 |
+
if ( ! empty( $instance['title'] ) ) :
|
128 |
+
echo wp_kses_post( apply_filters( 'widget_title', $instance['title'] ) );
|
129 |
+
endif;
|
130 |
+
?>
|
131 |
+
</h3>
|
132 |
Â
<!-- FOCUS HEADING -->
|
133 |
Â
|
134 |
Â
<?php
|
135 |
Â
if ( ! empty( $instance['text'] ) ) {
|
136 |
Â
echo '<p>';
|
137 |
+
echo wp_kses_post( htmlspecialchars_decode( apply_filters( 'widget_title', $instance['text'] ) ) );
|
138 |
Â
echo '</p>';
|
139 |
Â
}
|
140 |
Â
?>
|
143 |
Â
|
144 |
Â
<?php
|
145 |
Â
|
146 |
+
echo wp_kses_post( $after_widget );
|
147 |
Â
|
148 |
Â
}
|
149 |
Â
|
155 |
Â
*
|
156 |
Â
* @return mixed
|
157 |
Â
*/
|
158 |
+
public function update( $new_instance, $old_instance ) {
|
159 |
Â
|
160 |
Â
$instance = $old_instance;
|
161 |
Â
$instance['text'] = stripslashes( wp_filter_post_kses( $new_instance['text'] ) );
|
162 |
+
$instance['title'] = wp_strip_all_tags( $new_instance['title'] );
|
163 |
+
$instance['link'] = wp_strip_all_tags( $new_instance['link'] );
|
164 |
+
$instance['image_uri'] = wp_strip_all_tags( $new_instance['image_uri'] );
|
165 |
+
$instance['custom_media_id'] = wp_strip_all_tags( $new_instance['custom_media_id'] );
|
166 |
+
$instance['image_in_customizer'] = wp_strip_all_tags( $new_instance['image_in_customizer'] );
|
167 |
Â
|
168 |
Â
return $instance;
|
169 |
Â
|
174 |
Â
*
|
175 |
Â
* @param $instance
|
176 |
Â
*/
|
177 |
+
public function form( $instance ) {
|
178 |
Â
?>
|
179 |
Â
|
180 |
Â
<p>
|
181 |
+
<label for="<?php echo wp_kses_post( $this->get_field_id( 'title' ) ); ?>"><?php esc_attr_e( 'Title', 'themeisle-companion' ); ?></label><br/>
|
182 |
+
<input type="text" name="<?php echo wp_kses_post( $this->get_field_name( 'title' ) ); ?>"
|
183 |
+
id="<?php echo wp_kses_post( $this->get_field_id( 'title' ) ); ?>"
|
184 |
+
value="
|
185 |
+
<?php
|
186 |
+
if ( ! empty( $instance['title'] ) ) :
|
187 |
+
echo wp_kses_post( $instance['title'] );
|
188 |
+
endif;
|
189 |
+
?>
|
190 |
+
"
|
191 |
+
class="widefat">
|
192 |
Â
</p>
|
193 |
Â
<p>
|
194 |
Â
<label
|
195 |
+
for="<?php echo wp_kses_post( $this->get_field_id( 'text' ) ); ?>"><?php esc_attr_e( 'Text', 'themeisle-companion' ); ?></label><br/>
|
196 |
+
<textarea class="widefat" rows="8" cols="20" name="<?php echo wp_kses_post( $this->get_field_name( 'text' ) ); ?>"
|
197 |
+
id="<?php echo wp_kses_post( $this->get_field_id( 'text' ) ); ?>">
|
198 |
+
<?php
|
199 |
+
if ( ! empty( $instance['text'] ) ) :
|
200 |
+
echo wp_kses_post( htmlspecialchars_decode( $instance['text'] ) );
|
201 |
+
endif;
|
202 |
+
?>
|
203 |
+
</textarea>
|
204 |
Â
</p>
|
205 |
Â
<p>
|
206 |
Â
<label
|
207 |
+
for="<?php echo wp_kses_post( $this->get_field_id( 'link' ) ); ?>"><?php esc_attr_e( 'Link', 'themeisle-companion' ); ?></label><br/>
|
208 |
+
<input type="text" name="<?php echo wp_kses_post( $this->get_field_name( 'link' ) ); ?>"
|
209 |
+
id="<?php echo wp_kses_post( $this->get_field_id( 'link' ) ); ?>"
|
210 |
+
value="
|
211 |
+
<?php
|
212 |
+
if ( ! empty( $instance['link'] ) ) :
|
213 |
+
echo esc_url( $instance['link'] );
|
214 |
+
endif;
|
215 |
+
?>
|
216 |
+
"
|
217 |
+
class="widefat">
|
218 |
Â
</p>
|
219 |
Â
<p>
|
220 |
Â
<label
|
221 |
+
for="<?php echo wp_kses_post( $this->get_field_id( 'image_uri' ) ); ?>"><?php esc_attr_e( 'Image', 'themeisle-companion' ); ?></label><br/>
|
222 |
Â
|
223 |
Â
<?php
|
224 |
Â
$image_in_customizer = '';
|
235 |
Â
$zerif_image_in_customizer = $this->get_field_name( 'image_in_customizer' );
|
236 |
Â
?>
|
237 |
Â
<input type="hidden" class="custom_media_display_in_customizer"
|
238 |
+
name="
|
239 |
+
<?php
|
240 |
+
if ( ! empty( $zerif_image_in_customizer ) ) {
|
241 |
+
echo wp_kses_post( $zerif_image_in_customizer );
|
242 |
+
}
|
243 |
+
?>
|
244 |
+
"
|
245 |
+
value="
|
246 |
+
<?php
|
247 |
+
if ( ! empty( $instance['image_in_customizer'] ) ) :
|
248 |
+
echo wp_kses_post( $instance['image_in_customizer'] );
|
249 |
+
endif;
|
250 |
+
?>
|
251 |
+
">
|
252 |
+
<img class="custom_media_image" src="<?php echo esc_url( $image_in_customizer ); ?>"
|
253 |
+
style="margin:0;padding:0;max-width:100px;float:left;display:<?php echo esc_attr( $display ); ?>"
|
254 |
+
alt="<?php echo esc_attr_e( 'Uploaded image', 'themeisle-companion' ); ?>"/><br/>
|
255 |
Â
|
256 |
Â
<input type="text" class="widefat custom_media_url"
|
257 |
+
name="<?php echo esc_attr( $this->get_field_name( 'image_uri' ) ); ?>"
|
258 |
+
id="<?php echo esc_attr( $this->get_field_id( 'image_uri' ) ); ?>"
|
259 |
+
value="
|
260 |
+
<?php
|
261 |
+
if ( ! empty( $instance['image_uri'] ) ) :
|
262 |
+
echo esc_url( $instance['image_uri'] );
|
263 |
+
endif;
|
264 |
+
?>
|
265 |
+
"
|
266 |
+
style="margin-top:5px;">
|
267 |
Â
|
268 |
Â
<input type="button" class="button button-primary custom_media_button" id="custom_media_button"
|
269 |
+
name="<?php echo esc_attr( $this->get_field_name( 'image_uri' ) ); ?>"
|
270 |
+
value="<?php esc_attr_e( 'Upload Image', 'themeisle-companion' ); ?>" style="margin-top:5px;">
|
271 |
Â
</p>
|
272 |
Â
|
273 |
+
<input class="custom_media_id" id="<?php echo esc_attr( $this->get_field_id( 'custom_media_id' ) ); ?>"
|
274 |
+
name="<?php echo esc_attr( $this->get_field_name( 'custom_media_id' ) ); ?>" type="hidden"
|
275 |
+
value="
|
276 |
+
<?php
|
277 |
+
if ( ! empty( $instance['custom_media_id'] ) ) :
|
278 |
+
echo esc_attr( $instance['custom_media_id'] );
|
279 |
+
endif;
|
280 |
+
?>
|
281 |
+
"/>
|
282 |
Â
|
283 |
Â
<?php
|
284 |
Â
|
obfx_modules/companion-legacy/inc/zerif-lite/widgets/widget-team.php
CHANGED
@@ -57,7 +57,7 @@ if ( ! class_exists( 'zerif_team_widget' ) ) {
|
|
57 |
Â
|
58 |
Â
<div class="team-member" tabindex="0">
|
59 |
Â
|
60 |
-
<?php if ( ! empty( $instance['image_uri'] ) && ( preg_match('/(\.jpg|\.png|\.jpeg|\.gif|\.bmp)$/', $instance['image_uri'] ) ) ) { ?>
|
61 |
Â
|
62 |
Â
|
63 |
Â
<figure class="profile-pic">
|
@@ -66,13 +66,13 @@ if ( ! class_exists( 'zerif_team_widget' ) ) {
|
|
66 |
Â
|
67 |
Â
</figure>
|
68 |
Â
<?php
|
69 |
-
} elseif ( ! empty( $instance['custom_media_id'] ) ) {
|
70 |
Â
|
71 |
-
|
72 |
-
|
73 |
Â
|
74 |
-
|
75 |
-
|
76 |
Â
|
77 |
Â
<figure class="profile-pic">
|
78 |
Â
|
@@ -82,19 +82,19 @@ if ( ! class_exists( 'zerif_team_widget' ) ) {
|
|
82 |
Â
</figure>
|
83 |
Â
|
84 |
Â
<?php
|
85 |
-
|
86 |
-
}
|
87 |
Â
?>
|
88 |
Â
|
89 |
Â
<div class="member-details">
|
90 |
Â
|
91 |
-
<?php if ( ! empty( $instance['name'] ) ) :
|
92 |
Â
|
93 |
Â
<h3 class="dark-text red-border-bottom"><?php echo apply_filters( 'widget_title', $instance['name'] ); ?></h3>
|
94 |
Â
|
95 |
Â
<?php endif; ?>
|
96 |
Â
|
97 |
-
<?php if ( ! empty( $instance['position'] ) ) :
|
98 |
Â
|
99 |
Â
<div
|
100 |
Â
class="position"><?php echo htmlspecialchars_decode( apply_filters( 'widget_title', $instance['position'] ) ); ?></div>
|
@@ -114,101 +114,117 @@ if ( ! class_exists( 'zerif_team_widget' ) ) {
|
|
114 |
Â
?>
|
115 |
Â
|
116 |
Â
<?php
|
117 |
-
if ( ! empty( $instance['fb_link'] ) ) :
|
Â
|
|
118 |
Â
<li>
|
119 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['fb_link'] ); ?>"
|
120 |
Â
target="<?php echo $zerif_team_target; ?>">
|
121 |
Â
<?php
|
122 |
-
if ( ! empty( $instance['name'] ) ) {
|
Â
|
|
123 |
Â
<span class="sr-only">
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
Â
<?php
|
128 |
-
}
|
Â
|
|
129 |
Â
<i class="fa fa-facebook"></i>
|
130 |
Â
</a>
|
131 |
Â
</li>
|
132 |
Â
<?php
|
133 |
Â
endif;
|
134 |
Â
|
135 |
-
if ( ! empty( $instance['tw_link'] ) ) :
|
Â
|
|
136 |
Â
<li>
|
137 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['tw_link'] ); ?>"
|
138 |
Â
target="<?php echo $zerif_team_target; ?>">
|
139 |
Â
<?php
|
140 |
-
if ( ! empty( $instance['name'] ) ) {
|
Â
|
|
141 |
Â
<span class="sr-only">
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
Â
<?php
|
146 |
-
}
|
Â
|
|
147 |
Â
<i class="fa fa-twitter"></i>
|
148 |
Â
</a>
|
149 |
Â
</li>
|
150 |
Â
<?php
|
151 |
Â
endif;
|
152 |
Â
|
153 |
-
if ( ! empty( $instance['bh_link'] ) ) :
|
Â
|
|
154 |
Â
<li>
|
155 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['bh_link'] ); ?>"
|
156 |
Â
target="<?php echo $zerif_team_target; ?>">
|
157 |
Â
<?php
|
158 |
-
if ( ! empty( $instance['name'] ) ) {
|
Â
|
|
159 |
Â
<span class="sr-only">
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
Â
<?php
|
164 |
-
}
|
Â
|
|
165 |
Â
<i class="fa fa-behance"></i>
|
166 |
Â
</a>
|
167 |
Â
</li>
|
168 |
Â
<?php
|
169 |
Â
endif;
|
170 |
Â
|
171 |
-
if ( ! empty( $instance['db_link'] ) ) :
|
Â
|
|
172 |
Â
<li>
|
173 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['db_link'] ); ?>"
|
174 |
Â
target="<?php echo $zerif_team_target; ?>">
|
175 |
Â
<?php
|
176 |
-
if ( ! empty( $instance['name'] ) ) {
|
Â
|
|
177 |
Â
<span class="sr-only">
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
Â
<?php
|
182 |
-
}
|
Â
|
|
183 |
Â
<i class="fa fa-dribbble"></i>
|
184 |
Â
</a>
|
185 |
Â
</li>
|
186 |
Â
<?php
|
187 |
Â
endif;
|
188 |
Â
|
189 |
-
if ( ! empty( $instance['ln_link'] ) ) :
|
Â
|
|
190 |
Â
<li>
|
191 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['ln_link'] ); ?>"
|
192 |
Â
target="<?php echo $zerif_team_target; ?>">
|
193 |
Â
<?php
|
194 |
-
if ( ! empty( $instance['name'] ) ) {
|
Â
|
|
195 |
Â
<span class="sr-only">
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
Â
<?php
|
200 |
-
}
|
Â
|
|
201 |
Â
<i class="fa fa-linkedin"></i>
|
202 |
Â
</a>
|
203 |
Â
</li>
|
204 |
Â
<?php
|
205 |
-
endif;
|
Â
|
|
206 |
Â
|
207 |
Â
</ul>
|
208 |
Â
|
209 |
Â
</div>
|
210 |
Â
|
211 |
-
<?php if ( ! empty( $instance['description'] ) ) :
|
212 |
Â
<div class="details">
|
213 |
Â
|
214 |
Â
<?php echo htmlspecialchars_decode( apply_filters( 'widget_title', $instance['description'] ) ); ?>
|
@@ -268,79 +284,122 @@ if ( ! class_exists( 'zerif_team_widget' ) ) {
|
|
268 |
Â
<label
|
269 |
Â
for="<?php echo $this->get_field_id( 'name' ); ?>"><?php _e( 'Name', 'themeisle-companion' ); ?></label><br/>
|
270 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'name' ); ?>"
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
275 |
Â
</p>
|
276 |
Â
<p>
|
277 |
Â
<label
|
278 |
Â
for="<?php echo $this->get_field_id( 'position' ); ?>"><?php _e( 'Position', 'themeisle-companion' ); ?></label><br/>
|
279 |
Â
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'position' ); ?>"
|
280 |
-
|
281 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
282 |
Â
</p>
|
283 |
Â
<p>
|
284 |
Â
<label
|
285 |
Â
for="<?php echo $this->get_field_id( 'description' ); ?>"><?php _e( 'Description', 'themeisle-companion' ); ?></label><br/>
|
286 |
Â
<textarea class="widefat" rows="8" cols="20"
|
287 |
-
|
288 |
-
|
289 |
-
|
Â
|
|
Â
|
|
290 |
Â
endif;
|
291 |
-
|
Â
|
|
292 |
Â
</p>
|
293 |
Â
<p>
|
294 |
Â
<label
|
295 |
Â
for="<?php echo $this->get_field_id( 'fb_link' ); ?>"><?php _e( 'Facebook link', 'themeisle-companion' ); ?></label><br/>
|
296 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'fb_link' ); ?>"
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
301 |
Â
|
302 |
Â
</p>
|
303 |
Â
<p>
|
304 |
Â
<label
|
305 |
Â
for="<?php echo $this->get_field_id( 'tw_link' ); ?>"><?php _e( 'Twitter link', 'themeisle-companion' ); ?></label><br/>
|
306 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'tw_link' ); ?>"
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
311 |
Â
</p>
|
312 |
Â
<p>
|
313 |
Â
<label
|
314 |
Â
for="<?php echo $this->get_field_id( 'bh_link' ); ?>"><?php _e( 'Behance link', 'themeisle-companion' ); ?></label><br/>
|
315 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'bh_link' ); ?>"
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
320 |
Â
|
321 |
Â
</p>
|
322 |
Â
<p>
|
323 |
Â
<label
|
324 |
Â
for="<?php echo $this->get_field_id( 'db_link' ); ?>"><?php _e( 'Dribble link', 'themeisle-companion' ); ?></label><br/>
|
325 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'db_link' ); ?>"
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
330 |
Â
</p>
|
331 |
Â
<p>
|
332 |
Â
<label
|
333 |
Â
for="<?php echo $this->get_field_id( 'ln_link' ); ?>"><?php _e( 'Linkedin link', 'themeisle-companion' ); ?></label><br/>
|
334 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'ln_link' ); ?>"
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
339 |
Â
</p>
|
340 |
Â
<p>
|
341 |
Â
<input type="checkbox" name="<?php echo $this->get_field_name( 'open_new_window' ); ?>"
|
342 |
-
|
343 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
344 |
Â
<br>
|
345 |
Â
</p>
|
346 |
Â
<p>
|
@@ -362,31 +421,50 @@ endif; ?> ><?php _e( 'Open links in new window?', 'themeisle-companion' ); ?>
|
|
362 |
Â
$zerif_image_in_customizer = $this->get_field_name( 'image_in_customizer' );
|
363 |
Â
?>
|
364 |
Â
<input type="hidden" class="custom_media_display_in_customizer"
|
365 |
-
|
Â
|
|
Â
|
|
366 |
Â
echo $zerif_image_in_customizer;
|
367 |
-
}
|
368 |
-
|
369 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
370 |
Â
<img class="custom_media_image" src="<?php echo $image_in_customizer; ?>"
|
371 |
-
|
372 |
-
|
373 |
Â
|
374 |
Â
<input type="text" class="widefat custom_media_url"
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
380 |
Â
|
381 |
Â
<input type="button" class="button button-primary custom_media_button" id="custom_media_button"
|
382 |
-
|
383 |
-
|
384 |
Â
</p>
|
385 |
Â
|
386 |
Â
<input class="custom_media_id" id="<?php echo $this->get_field_id( 'custom_media_id' ); ?>"
|
387 |
-
|
388 |
-
|
389 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
390 |
Â
|
391 |
Â
<?php
|
392 |
Â
|
57 |
Â
|
58 |
Â
<div class="team-member" tabindex="0">
|
59 |
Â
|
60 |
+
<?php if ( ! empty( $instance['image_uri'] ) && ( preg_match( '/(\.jpg|\.png|\.jpeg|\.gif|\.bmp)$/', $instance['image_uri'] ) ) ) { ?>
|
61 |
Â
|
62 |
Â
|
63 |
Â
<figure class="profile-pic">
|
66 |
Â
|
67 |
Â
</figure>
|
68 |
Â
<?php
|
69 |
+
} elseif ( ! empty( $instance['custom_media_id'] ) ) {
|
70 |
Â
|
71 |
+
$zerif_team_custom_media_id = wp_get_attachment_image_src( $instance['custom_media_id'] );
|
72 |
+
$alt = get_post_meta( $instance['custom_media_id'], '_wp_attachment_image_alt', true );
|
73 |
Â
|
74 |
+
if ( ! empty( $zerif_team_custom_media_id ) && ! empty( $zerif_team_custom_media_id[0] ) ) {
|
75 |
+
?>
|
76 |
Â
|
77 |
Â
<figure class="profile-pic">
|
78 |
Â
|
82 |
Â
</figure>
|
83 |
Â
|
84 |
Â
<?php
|
85 |
+
}
|
86 |
+
}
|
87 |
Â
?>
|
88 |
Â
|
89 |
Â
<div class="member-details">
|
90 |
Â
|
91 |
+
<?php if ( ! empty( $instance['name'] ) ) : ?>
|
92 |
Â
|
93 |
Â
<h3 class="dark-text red-border-bottom"><?php echo apply_filters( 'widget_title', $instance['name'] ); ?></h3>
|
94 |
Â
|
95 |
Â
<?php endif; ?>
|
96 |
Â
|
97 |
+
<?php if ( ! empty( $instance['position'] ) ) : ?>
|
98 |
Â
|
99 |
Â
<div
|
100 |
Â
class="position"><?php echo htmlspecialchars_decode( apply_filters( 'widget_title', $instance['position'] ) ); ?></div>
|
114 |
Â
?>
|
115 |
Â
|
116 |
Â
<?php
|
117 |
+
if ( ! empty( $instance['fb_link'] ) ) :
|
118 |
+
?>
|
119 |
Â
<li>
|
120 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['fb_link'] ); ?>"
|
121 |
Â
target="<?php echo $zerif_team_target; ?>">
|
122 |
Â
<?php
|
123 |
+
if ( ! empty( $instance['name'] ) ) {
|
124 |
+
?>
|
125 |
Â
<span class="sr-only">
|
126 |
+
<?php _e( 'Facebook account of', 'themeisle-companion' ); ?>
|
127 |
+
<?php echo apply_filters( 'widget_title', $instance['name'] ); ?>
|
128 |
+
</span>
|
129 |
Â
<?php
|
130 |
+
}
|
131 |
+
?>
|
132 |
Â
<i class="fa fa-facebook"></i>
|
133 |
Â
</a>
|
134 |
Â
</li>
|
135 |
Â
<?php
|
136 |
Â
endif;
|
137 |
Â
|
138 |
+
if ( ! empty( $instance['tw_link'] ) ) :
|
139 |
+
?>
|
140 |
Â
<li>
|
141 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['tw_link'] ); ?>"
|
142 |
Â
target="<?php echo $zerif_team_target; ?>">
|
143 |
Â
<?php
|
144 |
+
if ( ! empty( $instance['name'] ) ) {
|
145 |
+
?>
|
146 |
Â
<span class="sr-only">
|
147 |
+
<?php _e( 'Twitter account of', 'themeisle-companion' ); ?>
|
148 |
+
<?php echo apply_filters( 'widget_title', $instance['name'] ); ?>
|
149 |
+
</span>
|
150 |
Â
<?php
|
151 |
+
}
|
152 |
+
?>
|
153 |
Â
<i class="fa fa-twitter"></i>
|
154 |
Â
</a>
|
155 |
Â
</li>
|
156 |
Â
<?php
|
157 |
Â
endif;
|
158 |
Â
|
159 |
+
if ( ! empty( $instance['bh_link'] ) ) :
|
160 |
+
?>
|
161 |
Â
<li>
|
162 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['bh_link'] ); ?>"
|
163 |
Â
target="<?php echo $zerif_team_target; ?>">
|
164 |
Â
<?php
|
165 |
+
if ( ! empty( $instance['name'] ) ) {
|
166 |
+
?>
|
167 |
Â
<span class="sr-only">
|
168 |
+
<?php _e( 'Behance account of', 'themeisle-companion' ); ?>
|
169 |
+
<?php echo apply_filters( 'widget_title', $instance['name'] ); ?>
|
170 |
+
</span>
|
171 |
Â
<?php
|
172 |
+
}
|
173 |
+
?>
|
174 |
Â
<i class="fa fa-behance"></i>
|
175 |
Â
</a>
|
176 |
Â
</li>
|
177 |
Â
<?php
|
178 |
Â
endif;
|
179 |
Â
|
180 |
+
if ( ! empty( $instance['db_link'] ) ) :
|
181 |
+
?>
|
182 |
Â
<li>
|
183 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['db_link'] ); ?>"
|
184 |
Â
target="<?php echo $zerif_team_target; ?>">
|
185 |
Â
<?php
|
186 |
+
if ( ! empty( $instance['name'] ) ) {
|
187 |
+
?>
|
188 |
Â
<span class="sr-only">
|
189 |
+
<?php _e( 'Dribble account of', 'themeisle-companion' ); ?>
|
190 |
+
<?php echo apply_filters( 'widget_title', $instance['name'] ); ?>
|
191 |
+
</span>
|
192 |
Â
<?php
|
193 |
+
}
|
194 |
+
?>
|
195 |
Â
<i class="fa fa-dribbble"></i>
|
196 |
Â
</a>
|
197 |
Â
</li>
|
198 |
Â
<?php
|
199 |
Â
endif;
|
200 |
Â
|
201 |
+
if ( ! empty( $instance['ln_link'] ) ) :
|
202 |
+
?>
|
203 |
Â
<li>
|
204 |
Â
<a href="<?php echo apply_filters( 'widget_title', $instance['ln_link'] ); ?>"
|
205 |
Â
target="<?php echo $zerif_team_target; ?>">
|
206 |
Â
<?php
|
207 |
+
if ( ! empty( $instance['name'] ) ) {
|
208 |
+
?>
|
209 |
Â
<span class="sr-only">
|
210 |
+
<?php _e( 'Linkedin account of', 'themeisle-companion' ); ?>
|
211 |
+
<?php echo apply_filters( 'widget_title', $instance['name'] ); ?>
|
212 |
+
</span>
|
213 |
Â
<?php
|
214 |
+
}
|
215 |
+
?>
|
216 |
Â
<i class="fa fa-linkedin"></i>
|
217 |
Â
</a>
|
218 |
Â
</li>
|
219 |
Â
<?php
|
220 |
+
endif;
|
221 |
+
?>
|
222 |
Â
|
223 |
Â
</ul>
|
224 |
Â
|
225 |
Â
</div>
|
226 |
Â
|
227 |
+
<?php if ( ! empty( $instance['description'] ) ) : ?>
|
228 |
Â
<div class="details">
|
229 |
Â
|
230 |
Â
<?php echo htmlspecialchars_decode( apply_filters( 'widget_title', $instance['description'] ) ); ?>
|
284 |
Â
<label
|
285 |
Â
for="<?php echo $this->get_field_id( 'name' ); ?>"><?php _e( 'Name', 'themeisle-companion' ); ?></label><br/>
|
286 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'name' ); ?>"
|
287 |
+
id="<?php echo $this->get_field_id( 'name' ); ?>"
|
288 |
+
value="
|
289 |
+
<?php
|
290 |
+
if ( ! empty( $instance['name'] ) ) :
|
291 |
+
echo $instance['name'];
|
292 |
+
endif;
|
293 |
+
?>
|
294 |
+
"
|
295 |
+
class="widefat"/>
|
296 |
Â
</p>
|
297 |
Â
<p>
|
298 |
Â
<label
|
299 |
Â
for="<?php echo $this->get_field_id( 'position' ); ?>"><?php _e( 'Position', 'themeisle-companion' ); ?></label><br/>
|
300 |
Â
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'position' ); ?>"
|
301 |
+
id="<?php echo $this->get_field_id( 'position' ); ?>">
|
302 |
+
<?php
|
303 |
+
if ( ! empty( $instance['position'] ) ) :
|
304 |
+
echo htmlspecialchars_decode( $instance['position'] );
|
305 |
+
endif;
|
306 |
+
?>
|
307 |
+
</textarea>
|
308 |
Â
</p>
|
309 |
Â
<p>
|
310 |
Â
<label
|
311 |
Â
for="<?php echo $this->get_field_id( 'description' ); ?>"><?php _e( 'Description', 'themeisle-companion' ); ?></label><br/>
|
312 |
Â
<textarea class="widefat" rows="8" cols="20"
|
313 |
+
name="<?php echo $this->get_field_name( 'description' ); ?>"
|
314 |
+
id="<?php echo $this->get_field_id( 'description' ); ?>">
|
315 |
+
<?php
|
316 |
+
if ( ! empty( $instance['description'] ) ) :
|
317 |
+
echo htmlspecialchars_decode( $instance['description'] );
|
318 |
Â
endif;
|
319 |
+
?>
|
320 |
+
</textarea>
|
321 |
Â
</p>
|
322 |
Â
<p>
|
323 |
Â
<label
|
324 |
Â
for="<?php echo $this->get_field_id( 'fb_link' ); ?>"><?php _e( 'Facebook link', 'themeisle-companion' ); ?></label><br/>
|
325 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'fb_link' ); ?>"
|
326 |
+
id="<?php echo $this->get_field_id( 'fb_link' ); ?>"
|
327 |
+
value="
|
328 |
+
<?php
|
329 |
+
if ( ! empty( $instance['fb_link'] ) ) :
|
330 |
+
echo $instance['fb_link'];
|
331 |
+
endif;
|
332 |
+
?>
|
333 |
+
"
|
334 |
+
class="widefat">
|
335 |
Â
|
336 |
Â
</p>
|
337 |
Â
<p>
|
338 |
Â
<label
|
339 |
Â
for="<?php echo $this->get_field_id( 'tw_link' ); ?>"><?php _e( 'Twitter link', 'themeisle-companion' ); ?></label><br/>
|
340 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'tw_link' ); ?>"
|
341 |
+
id="<?php echo $this->get_field_id( 'tw_link' ); ?>"
|
342 |
+
value="
|
343 |
+
<?php
|
344 |
+
if ( ! empty( $instance['tw_link'] ) ) :
|
345 |
+
echo $instance['tw_link'];
|
346 |
+
endif;
|
347 |
+
?>
|
348 |
+
"
|
349 |
+
class="widefat">
|
350 |
Â
</p>
|
351 |
Â
<p>
|
352 |
Â
<label
|
353 |
Â
for="<?php echo $this->get_field_id( 'bh_link' ); ?>"><?php _e( 'Behance link', 'themeisle-companion' ); ?></label><br/>
|
354 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'bh_link' ); ?>"
|
355 |
+
id="<?php echo $this->get_field_id( 'bh_link' ); ?>"
|
356 |
+
value="
|
357 |
+
<?php
|
358 |
+
if ( ! empty( $instance['bh_link'] ) ) :
|
359 |
+
echo $instance['bh_link'];
|
360 |
+
endif;
|
361 |
+
?>
|
362 |
+
"
|
363 |
+
class="widefat">
|
364 |
Â
|
365 |
Â
</p>
|
366 |
Â
<p>
|
367 |
Â
<label
|
368 |
Â
for="<?php echo $this->get_field_id( 'db_link' ); ?>"><?php _e( 'Dribble link', 'themeisle-companion' ); ?></label><br/>
|
369 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'db_link' ); ?>"
|
370 |
+
id="<?php echo $this->get_field_id( 'db_link' ); ?>"
|
371 |
+
value="
|
372 |
+
<?php
|
373 |
+
if ( ! empty( $instance['db_link'] ) ) :
|
374 |
+
echo $instance['db_link'];
|
375 |
+
endif;
|
376 |
+
?>
|
377 |
+
"
|
378 |
+
class="widefat">
|
379 |
Â
</p>
|
380 |
Â
<p>
|
381 |
Â
<label
|
382 |
Â
for="<?php echo $this->get_field_id( 'ln_link' ); ?>"><?php _e( 'Linkedin link', 'themeisle-companion' ); ?></label><br/>
|
383 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'ln_link' ); ?>"
|
384 |
+
id="<?php echo $this->get_field_id( 'ln_link' ); ?>"
|
385 |
+
value="
|
386 |
+
<?php
|
387 |
+
if ( ! empty( $instance['ln_link'] ) ) :
|
388 |
+
echo $instance['ln_link'];
|
389 |
+
endif;
|
390 |
+
?>
|
391 |
+
"
|
392 |
+
class="widefat">
|
393 |
Â
</p>
|
394 |
Â
<p>
|
395 |
Â
<input type="checkbox" name="<?php echo $this->get_field_name( 'open_new_window' ); ?>"
|
396 |
+
id="<?php echo $this->get_field_id( 'open_new_window' ); ?>"
|
397 |
+
<?php
|
398 |
+
if ( ! empty( $instance['open_new_window'] ) ) :
|
399 |
+
checked( (bool) $instance['open_new_window'], true );
|
400 |
+
endif;
|
401 |
+
?>
|
402 |
+
><?php _e( 'Open links in new window?', 'themeisle-companion' ); ?>
|
403 |
Â
<br>
|
404 |
Â
</p>
|
405 |
Â
<p>
|
421 |
Â
$zerif_image_in_customizer = $this->get_field_name( 'image_in_customizer' );
|
422 |
Â
?>
|
423 |
Â
<input type="hidden" class="custom_media_display_in_customizer"
|
424 |
+
name="
|
425 |
+
<?php
|
426 |
+
if ( ! empty( $zerif_image_in_customizer ) ) {
|
427 |
Â
echo $zerif_image_in_customizer;
|
428 |
+
}
|
429 |
+
?>
|
430 |
+
"
|
431 |
+
value="
|
432 |
+
<?php
|
433 |
+
if ( ! empty( $instance['image_in_customizer'] ) ) :
|
434 |
+
echo $instance['image_in_customizer'];
|
435 |
+
endif;
|
436 |
+
?>
|
437 |
+
">
|
438 |
Â
<img class="custom_media_image" src="<?php echo $image_in_customizer; ?>"
|
439 |
+
style="margin:0;padding:0;max-width:100px;float:left;display:<?php echo $display; ?>"
|
440 |
+
alt="<?php echo __( 'Uploaded image', 'themeisle-companion' ); ?>"/><br/>
|
441 |
Â
|
442 |
Â
<input type="text" class="widefat custom_media_url"
|
443 |
+
name="<?php echo $this->get_field_name( 'image_uri' ); ?>"
|
444 |
+
id="<?php echo $this->get_field_id( 'image_uri' ); ?>"
|
445 |
+
value="
|
446 |
+
<?php
|
447 |
+
if ( ! empty( $instance['image_uri'] ) ) :
|
448 |
+
echo $instance['image_uri'];
|
449 |
+
endif;
|
450 |
+
?>
|
451 |
+
"
|
452 |
+
style="margin-top:5px;">
|
453 |
Â
|
454 |
Â
<input type="button" class="button button-primary custom_media_button" id="custom_media_button"
|
455 |
+
name="<?php echo $this->get_field_name( 'image_uri' ); ?>"
|
456 |
+
value="<?php _e( 'Upload Image', 'themeisle-companion' ); ?>" style="margin-top:5px;">
|
457 |
Â
</p>
|
458 |
Â
|
459 |
Â
<input class="custom_media_id" id="<?php echo $this->get_field_id( 'custom_media_id' ); ?>"
|
460 |
+
name="<?php echo $this->get_field_name( 'custom_media_id' ); ?>" type="hidden"
|
461 |
+
value="
|
462 |
+
<?php
|
463 |
+
if ( ! empty( $instance['custom_media_id'] ) ) :
|
464 |
+
echo $instance['custom_media_id'];
|
465 |
+
endif;
|
466 |
+
?>
|
467 |
+
"/>
|
468 |
Â
|
469 |
Â
<?php
|
470 |
Â
|
obfx_modules/companion-legacy/inc/zerif-lite/widgets/widget-testimonial.php
CHANGED
@@ -60,7 +60,7 @@ if ( ! class_exists( 'zerif_testimonial_widget' ) ) {
|
|
60 |
Â
|
61 |
Â
<!-- MESSAGE OF THE CLIENT -->
|
62 |
Â
|
63 |
-
<?php if ( ! empty( $instance['text'] ) ) :
|
64 |
Â
<div class="message">
|
65 |
Â
<?php echo htmlspecialchars_decode( apply_filters( 'widget_title', $instance['text'] ) ); ?>
|
66 |
Â
</div>
|
@@ -79,12 +79,22 @@ if ( ! class_exists( 'zerif_testimonial_widget' ) ) {
|
|
79 |
Â
<div class="client-info">
|
80 |
Â
|
81 |
Â
<a <?php echo $attribut_new_tab; ?>
|
82 |
-
class="client-name"
|
83 |
-
|
84 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
85 |
Â
|
86 |
Â
|
87 |
-
<?php if ( ! empty( $instance['details'] ) ) :
|
88 |
Â
<div class="client-company">
|
89 |
Â
|
90 |
Â
<?php echo apply_filters( 'widget_title', $instance['details'] ); ?>
|
@@ -96,7 +106,7 @@ endif; ?></a>
|
|
96 |
Â
|
97 |
Â
<?php
|
98 |
Â
|
99 |
-
if ( ! empty( $instance['image_uri'] ) && ( preg_match('/(\.jpg|\.png|\.jpeg|\.gif|\.bmp)$/', $instance['image_uri'] ) ) ) {
|
100 |
Â
|
101 |
Â
echo '<div class="client-image hidden-xs">';
|
102 |
Â
|
@@ -167,35 +177,55 @@ endif; ?></a>
|
|
167 |
Â
<label
|
168 |
Â
for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Author', 'themeisle-companion' ); ?></label><br/>
|
169 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'title' ); ?>"
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
174 |
Â
</p>
|
175 |
Â
<p>
|
176 |
Â
<label
|
177 |
Â
for="<?php echo $this->get_field_id( 'link' ); ?>"><?php _e( 'Author link', 'themeisle-companion' ); ?></label><br/>
|
178 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'link' ); ?>"
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
183 |
Â
</p>
|
184 |
Â
<p>
|
185 |
Â
<label
|
186 |
Â
for="<?php echo $this->get_field_id( 'details' ); ?>"><?php _e( 'Author details', 'themeisle-companion' ); ?></label><br/>
|
187 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'details' ); ?>"
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
192 |
Â
</p>
|
193 |
Â
<p>
|
194 |
Â
<label
|
195 |
Â
for="<?php echo $this->get_field_id( 'text' ); ?>"><?php _e( 'Text', 'themeisle-companion' ); ?></label><br/>
|
196 |
Â
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'text' ); ?>"
|
197 |
-
|
198 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
199 |
Â
</p>
|
200 |
Â
<p>
|
201 |
Â
<label
|
@@ -216,31 +246,50 @@ endif; ?></textarea>
|
|
216 |
Â
$zerif_image_in_customizer = $this->get_field_name( 'image_in_customizer' );
|
217 |
Â
?>
|
218 |
Â
<input type="hidden" class="custom_media_display_in_customizer"
|
219 |
-
|
Â
|
|
Â
|
|
220 |
Â
echo $zerif_image_in_customizer;
|
221 |
-
}
|
222 |
-
|
223 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
224 |
Â
<img class="custom_media_image" src="<?php echo $image_in_customizer; ?>"
|
225 |
-
|
226 |
-
|
227 |
Â
|
228 |
Â
<input type="text" class="widefat custom_media_url"
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
234 |
Â
|
235 |
Â
<input type="button" class="button button-primary custom_media_button" id="custom_media_button"
|
236 |
-
|
237 |
-
|
238 |
Â
</p>
|
239 |
Â
|
240 |
Â
<input class="custom_media_id" id="<?php echo $this->get_field_id( 'custom_media_id' ); ?>"
|
241 |
-
|
242 |
-
|
243 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
244 |
Â
|
245 |
Â
<?php
|
246 |
Â
|
60 |
Â
|
61 |
Â
<!-- MESSAGE OF THE CLIENT -->
|
62 |
Â
|
63 |
+
<?php if ( ! empty( $instance['text'] ) ) : ?>
|
64 |
Â
<div class="message">
|
65 |
Â
<?php echo htmlspecialchars_decode( apply_filters( 'widget_title', $instance['text'] ) ); ?>
|
66 |
Â
</div>
|
79 |
Â
<div class="client-info">
|
80 |
Â
|
81 |
Â
<a <?php echo $attribut_new_tab; ?>
|
82 |
+
class="client-name"
|
83 |
+
<?php
|
84 |
+
if ( ! empty( $instance['link'] ) ) :
|
85 |
+
echo 'href="' . esc_url( $instance['link'] ) . '"';
|
86 |
+
endif;
|
87 |
+
?>
|
88 |
+
>
|
89 |
+
<?php
|
90 |
+
if ( ! empty( $instance['title'] ) ) :
|
91 |
+
echo apply_filters( 'widget_title', $instance['title'] );
|
92 |
+
endif;
|
93 |
+
?>
|
94 |
+
</a>
|
95 |
Â
|
96 |
Â
|
97 |
+
<?php if ( ! empty( $instance['details'] ) ) : ?>
|
98 |
Â
<div class="client-company">
|
99 |
Â
|
100 |
Â
<?php echo apply_filters( 'widget_title', $instance['details'] ); ?>
|
106 |
Â
|
107 |
Â
<?php
|
108 |
Â
|
109 |
+
if ( ! empty( $instance['image_uri'] ) && ( preg_match( '/(\.jpg|\.png|\.jpeg|\.gif|\.bmp)$/', $instance['image_uri'] ) ) ) {
|
110 |
Â
|
111 |
Â
echo '<div class="client-image hidden-xs">';
|
112 |
Â
|
177 |
Â
<label
|
178 |
Â
for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Author', 'themeisle-companion' ); ?></label><br/>
|
179 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'title' ); ?>"
|
180 |
+
id="<?php echo $this->get_field_id( 'title' ); ?>"
|
181 |
+
value="
|
182 |
+
<?php
|
183 |
+
if ( ! empty( $instance['title'] ) ) :
|
184 |
+
echo $instance['title'];
|
185 |
+
endif;
|
186 |
+
?>
|
187 |
+
"
|
188 |
+
class="widefat">
|
189 |
Â
</p>
|
190 |
Â
<p>
|
191 |
Â
<label
|
192 |
Â
for="<?php echo $this->get_field_id( 'link' ); ?>"><?php _e( 'Author link', 'themeisle-companion' ); ?></label><br/>
|
193 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'link' ); ?>"
|
194 |
+
id="<?php echo $this->get_field_id( 'link' ); ?>"
|
195 |
+
value="
|
196 |
+
<?php
|
197 |
+
if ( ! empty( $instance['link'] ) ) :
|
198 |
+
echo esc_url( $instance['link'] );
|
199 |
+
endif;
|
200 |
+
?>
|
201 |
+
"
|
202 |
+
class="widefat">
|
203 |
Â
</p>
|
204 |
Â
<p>
|
205 |
Â
<label
|
206 |
Â
for="<?php echo $this->get_field_id( 'details' ); ?>"><?php _e( 'Author details', 'themeisle-companion' ); ?></label><br/>
|
207 |
Â
<input type="text" name="<?php echo $this->get_field_name( 'details' ); ?>"
|
208 |
+
id="<?php echo $this->get_field_id( 'details' ); ?>"
|
209 |
+
value="
|
210 |
+
<?php
|
211 |
+
if ( ! empty( $instance['details'] ) ) :
|
212 |
+
echo $instance['details'];
|
213 |
+
endif;
|
214 |
+
?>
|
215 |
+
"
|
216 |
+
class="widefat">
|
217 |
Â
</p>
|
218 |
Â
<p>
|
219 |
Â
<label
|
220 |
Â
for="<?php echo $this->get_field_id( 'text' ); ?>"><?php _e( 'Text', 'themeisle-companion' ); ?></label><br/>
|
221 |
Â
<textarea class="widefat" rows="8" cols="20" name="<?php echo $this->get_field_name( 'text' ); ?>"
|
222 |
+
id="<?php echo $this->get_field_id( 'text' ); ?>">
|
223 |
+
<?php
|
224 |
+
if ( ! empty( $instance['text'] ) ) :
|
225 |
+
echo htmlspecialchars_decode( $instance['text'] );
|
226 |
+
endif;
|
227 |
+
?>
|
228 |
+
</textarea>
|
229 |
Â
</p>
|
230 |
Â
<p>
|
231 |
Â
<label
|
246 |
Â
$zerif_image_in_customizer = $this->get_field_name( 'image_in_customizer' );
|
247 |
Â
?>
|
248 |
Â
<input type="hidden" class="custom_media_display_in_customizer"
|
249 |
+
name="
|
250 |
+
<?php
|
251 |
+
if ( ! empty( $zerif_image_in_customizer ) ) {
|
252 |
Â
echo $zerif_image_in_customizer;
|
253 |
+
}
|
254 |
+
?>
|
255 |
+
"
|
256 |
+
value="
|
257 |
+
<?php
|
258 |
+
if ( ! empty( $instance['image_in_customizer'] ) ) :
|
259 |
+
echo $instance['image_in_customizer'];
|
260 |
+
endif;
|
261 |
+
?>
|
262 |
+
">
|
263 |
Â
<img class="custom_media_image" src="<?php echo $image_in_customizer; ?>"
|
264 |
+
style="margin:0;padding:0;max-width:100px;float:left;display:<?php echo $display; ?>"
|
265 |
+
alt="<?php echo __( 'Uploaded image', 'themeisle-companion' ); ?>"/><br/>
|
266 |
Â
|
267 |
Â
<input type="text" class="widefat custom_media_url"
|
268 |
+
name="<?php echo $this->get_field_name( 'image_uri' ); ?>"
|
269 |
+
id="<?php echo $this->get_field_id( 'image_uri' ); ?>"
|
270 |
+
value="
|
271 |
+
<?php
|
272 |
+
if ( ! empty( $instance['image_uri'] ) ) :
|
273 |
+
echo $instance['image_uri'];
|
274 |
+
endif;
|
275 |
+
?>
|
276 |
+
"
|
277 |
+
style="margin-top:5px;">
|
278 |
Â
|
279 |
Â
<input type="button" class="button button-primary custom_media_button" id="custom_media_button"
|
280 |
+
name="<?php echo $this->get_field_name( 'image_uri' ); ?>"
|
281 |
+
value="<?php _e( 'Upload Image', 'themeisle-companion' ); ?>" style="margin-top:5px;">
|
282 |
Â
</p>
|
283 |
Â
|
284 |
Â
<input class="custom_media_id" id="<?php echo $this->get_field_id( 'custom_media_id' ); ?>"
|
285 |
+
name="<?php echo $this->get_field_name( 'custom_media_id' ); ?>" type="hidden"
|
286 |
+
value="
|
287 |
+
<?php
|
288 |
+
if ( ! empty( $instance['custom_media_id'] ) ) :
|
289 |
+
echo $instance['custom_media_id'];
|
290 |
+
endif;
|
291 |
+
?>
|
292 |
+
"/>
|
293 |
Â
|
294 |
Â
<?php
|
295 |
Â
|
obfx_modules/companion-legacy/init.php
CHANGED
@@ -47,15 +47,6 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
47 |
Â
require_once $this->inc_dir . 'zerif-lite' . DIRECTORY_SEPARATOR . 'functions.php';
|
48 |
Â
}
|
49 |
Â
|
50 |
-
if ( $this->is_rhea() ) {
|
51 |
-
$theme_name = 'Rhea';
|
52 |
-
require_once $this->inc_dir . 'rhea' . DIRECTORY_SEPARATOR . 'widgets' . DIRECTORY_SEPARATOR . 'features.widget.php';
|
53 |
-
require_once $this->inc_dir . 'rhea' . DIRECTORY_SEPARATOR . 'widgets' . DIRECTORY_SEPARATOR . 'about.widget.php';
|
54 |
-
require_once $this->inc_dir . 'rhea' . DIRECTORY_SEPARATOR . 'widgets' . DIRECTORY_SEPARATOR . 'hours.widget.php';
|
55 |
-
require_once $this->inc_dir . 'rhea' . DIRECTORY_SEPARATOR . 'widgets' . DIRECTORY_SEPARATOR . 'contact.widget.php';
|
56 |
-
require_once $this->inc_dir . 'rhea' . DIRECTORY_SEPARATOR . 'widgets' . DIRECTORY_SEPARATOR . 'progress-bar.widget.php';
|
57 |
-
require_once $this->inc_dir . 'rhea' . DIRECTORY_SEPARATOR . 'widgets' . DIRECTORY_SEPARATOR . 'icon-box.widget.php';
|
58 |
-
}
|
59 |
Â
|
60 |
Â
if ( $this->is_hestia() ) {
|
61 |
Â
require_once $this->inc_dir . 'hestia' . DIRECTORY_SEPARATOR . 'functions.php';
|
@@ -69,18 +60,10 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
69 |
Â
$theme_name = 'Hestia Pro';
|
70 |
Â
|
71 |
Â
}
|
72 |
-
if( $this->is_shop_isle() ) {
|
73 |
Â
$theme_name = 'Shop Isle';
|
74 |
Â
}
|
75 |
Â
|
76 |
-
if ( $this->is_azera_shop() ) {
|
77 |
-
$theme_name = 'Azera Shop';
|
78 |
-
}
|
79 |
-
|
80 |
-
if ( $this->is_llorix_one_lite() ) {
|
81 |
-
$theme_name = 'Llorix One Lite';
|
82 |
-
}
|
83 |
-
|
84 |
Â
$this->name = sprintf( __( '%s enhancements ', 'themeisle-companion' ), $theme_name );
|
85 |
Â
$this->description = sprintf( __( 'Module containing frontpage improvements for %s theme.', 'themeisle-companion' ), $theme_name );
|
86 |
Â
}
|
@@ -93,13 +76,6 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
93 |
Â
return false;
|
94 |
Â
}
|
95 |
Â
|
96 |
-
private function is_rhea() {
|
97 |
-
if ( $this->get_active_theme_dir( true ) == 'rhea' ) {
|
98 |
-
return true;
|
99 |
-
}
|
100 |
-
|
101 |
-
return false;
|
102 |
-
}
|
103 |
Â
|
104 |
Â
private function is_hestia() {
|
105 |
Â
if ( $this->get_active_theme_dir() == 'hestia' ) {
|
@@ -109,7 +85,7 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
109 |
Â
return false;
|
110 |
Â
}
|
111 |
Â
|
112 |
-
private function is_hestia_pro(){
|
113 |
Â
if ( $this->get_active_theme_dir() == 'hestia-pro' ) {
|
114 |
Â
return true;
|
115 |
Â
}
|
@@ -118,8 +94,8 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
118 |
Â
}
|
119 |
Â
|
120 |
Â
private function is_shop_isle() {
|
121 |
-
include_once
|
122 |
-
if( is_plugin_active( 'shop-isle-companion/shop-isle-companion.php' ) ) {
|
123 |
Â
return false;
|
124 |
Â
}
|
125 |
Â
if ( $this->get_active_theme_dir() == 'shop-isle' ) {
|
@@ -129,35 +105,6 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
129 |
Â
return false;
|
130 |
Â
}
|
131 |
Â
|
132 |
-
private function is_azera_shop() {
|
133 |
-
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
134 |
-
if ( is_plugin_active( 'azera-shop-companion/azera-shop-companion.php' ) ) {
|
135 |
-
return false;
|
136 |
-
}
|
137 |
-
if ( is_plugin_active( 'azera-shop-plus/azera-shop-plus.php' ) ) {
|
138 |
-
return false;
|
139 |
-
}
|
140 |
-
if ( $this->get_active_theme_dir() == 'azera-shop' ) {
|
141 |
-
return true;
|
142 |
-
}
|
143 |
-
|
144 |
-
return false;
|
145 |
-
}
|
146 |
-
|
147 |
-
private function is_llorix_one_lite() {
|
148 |
-
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
149 |
-
if ( is_plugin_active( 'llorix-one-companion/llorix-one-companion.php' ) ) {
|
150 |
-
return false;
|
151 |
-
}
|
152 |
-
if ( is_plugin_active( 'llorix-one-plus/llorix_one_plus.php' ) ) {
|
153 |
-
return false;
|
154 |
-
}
|
155 |
-
if ( $this->get_active_theme_dir() == 'llorix-one-lite' ) {
|
156 |
-
return true;
|
157 |
-
}
|
158 |
-
|
159 |
-
return false;
|
160 |
-
}
|
161 |
Â
|
162 |
Â
/**
|
163 |
Â
* Determine if module should be loaded.
|
@@ -167,7 +114,7 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
167 |
Â
* @return bool
|
168 |
Â
*/
|
169 |
Â
public function enable_module() {
|
170 |
-
if ( $this->is_hestia() || $this->
|
171 |
Â
return true;
|
172 |
Â
} else {
|
173 |
Â
return false;
|
@@ -186,104 +133,70 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
186 |
Â
}
|
187 |
Â
}
|
188 |
Â
|
189 |
-
public function rhea_register_widgets() {
|
190 |
-
register_widget( 'rhea_features_block' );
|
191 |
-
register_widget( 'Rhea_Progress_Bar' );
|
192 |
-
register_widget( 'Rhea_Icon_Box' );
|
193 |
-
register_widget( 'Rhea_About_Company' );
|
194 |
-
register_widget( 'Rhea_Hours' );
|
195 |
-
register_widget( 'Rhea_Contact_Company' );
|
196 |
-
}
|
197 |
-
|
198 |
-
function rhea_load_custom_wp_admin_style() {
|
199 |
-
wp_enqueue_style( 'fontawesome-style', get_template_directory_uri() . '/css/font-awesome.min.css' );
|
200 |
-
wp_enqueue_style( 'rhea-admin-style', trailingslashit( THEMEISLE_COMPANION_URL ) . 'inc/rhea/assets/css/admin-style.css' );
|
201 |
-
wp_enqueue_script( 'fontawesome-icons', trailingslashit( THEMEISLE_COMPANION_URL ) . 'inc/rhea/assets/js/icons.js', false, '1.0.0' );
|
202 |
-
wp_enqueue_script( 'jquery-ui-dialog' );
|
203 |
-
wp_enqueue_script( 'fontawesome-script', trailingslashit( THEMEISLE_COMPANION_URL ) . 'inc/rhea/assets/js/fontawesome.jquery.js', false, '1.0.0' );
|
204 |
-
}
|
205 |
-
|
206 |
-
public function rhea_add_html_to_admin_footer() {
|
207 |
-
$output = '
|
208 |
-
<div id="fontawesome-popup">
|
209 |
-
<div class="left-side">
|
210 |
-
<label for="fontawesome-live-search">' . esc_html_e( 'Search icon', 'themeisle-companion' ) . ':</label>
|
211 |
-
<ul class="filter-icons">
|
212 |
-
<li data-filter="all" class="active">' . esc_html_e( 'All Icons', 'themeisle-companion' ) . '</li>
|
213 |
-
</ul>
|
214 |
-
</div>
|
215 |
-
<div class="right-side">
|
216 |
-
</div>
|
217 |
-
</div>
|
218 |
-
';
|
219 |
-
|
220 |
-
echo $output;
|
221 |
-
}
|
222 |
Â
|
223 |
Â
/**
|
224 |
Â
* Function to import customizer big title settings into first slide.
|
225 |
Â
*/
|
226 |
Â
public function shop_isle_get_wporg_options() {
|
227 |
Â
/* import shop isle options */
|
228 |
-
$shop_isle_mods = get_option('theme_mods_shop-isle');
|
229 |
Â
|
230 |
-
if (!empty($shop_isle_mods)) {
|
231 |
Â
|
232 |
Â
$new_slider = new stdClass();
|
233 |
Â
|
234 |
-
foreach ($shop_isle_mods as $shop_isle_mod_k => $shop_isle_mod_v) {
|
235 |
Â
|
236 |
Â
/* migrate Big title section to Slider section */
|
237 |
-
if (($shop_isle_mod_k == 'shop_isle_big_title_image') || ($shop_isle_mod_k == 'shop_isle_big_title_title') || ($shop_isle_mod_k == 'shop_isle_big_title_subtitle') || ($shop_isle_mod_k == 'shop_isle_big_title_button_label') || ($shop_isle_mod_k == 'shop_isle_big_title_button_link')) {
|
238 |
Â
|
239 |
-
if ($shop_isle_mod_k == 'shop_isle_big_title_image') {
|
240 |
-
if (!empty($shop_isle_mod_v)) {
|
241 |
Â
$new_slider->image_url = $shop_isle_mod_v;
|
242 |
Â
} else {
|
243 |
Â
$new_slider->image_url = '';
|
244 |
Â
}
|
245 |
Â
}
|
246 |
Â
|
247 |
-
if ($shop_isle_mod_k == 'shop_isle_big_title_title') {
|
248 |
-
if (!empty($shop_isle_mod_v)) {
|
249 |
Â
$new_slider->text = $shop_isle_mod_v;
|
250 |
Â
} else {
|
251 |
Â
$new_slider->text = '';
|
252 |
Â
}
|
253 |
Â
}
|
254 |
Â
|
255 |
-
if ($shop_isle_mod_k == 'shop_isle_big_title_subtitle') {
|
256 |
-
if (!empty($shop_isle_mod_v)) {
|
257 |
Â
$new_slider->subtext = $shop_isle_mod_v;
|
258 |
Â
} else {
|
259 |
Â
$new_slider->subtext = '';
|
260 |
Â
}
|
261 |
Â
}
|
262 |
Â
|
263 |
-
if ($shop_isle_mod_k == 'shop_isle_big_title_button_label') {
|
264 |
-
if (!empty($shop_isle_mod_v)) {
|
265 |
Â
$new_slider->label = $shop_isle_mod_v;
|
266 |
Â
} else {
|
267 |
Â
$new_slider->label = '';
|
268 |
Â
}
|
269 |
Â
}
|
270 |
Â
|
271 |
-
if ($shop_isle_mod_k == 'shop_isle_big_title_button_link') {
|
272 |
-
if (!empty($shop_isle_mod_v)) {
|
273 |
Â
$new_slider->link = $shop_isle_mod_v;
|
274 |
Â
} else {
|
275 |
Â
$new_slider->link = '';
|
276 |
Â
}
|
277 |
Â
}
|
278 |
Â
|
279 |
-
if ( !empty($new_slider->image_url) || !empty($new_slider->text) || !empty($new_slider->subtext) || !empty($new_slider->link) ) {
|
280 |
-
$new_slider_encode = json_encode(array($new_slider));
|
281 |
-
set_theme_mod('shop_isle_slider', $new_slider_encode);
|
282 |
-
}
|
283 |
-
|
284 |
Â
} else {
|
285 |
Â
|
286 |
-
set_theme_mod($shop_isle_mod_k, $shop_isle_mod_v);
|
287 |
Â
}
|
288 |
Â
}
|
289 |
Â
}
|
@@ -306,7 +219,7 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
306 |
Â
* @since 2.4.5
|
307 |
Â
* @access public
|
308 |
Â
*/
|
309 |
-
public function hestia_fix_duplicate_widgets(){
|
310 |
Â
themeisle_hestia_fix_duplicate_widgets();
|
311 |
Â
}
|
312 |
Â
|
@@ -316,7 +229,7 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
316 |
Â
* @since 2.1.1
|
317 |
Â
* @access public
|
318 |
Â
*/
|
319 |
-
public function hestia_load_clients_default_content(){
|
320 |
Â
return themeisle_hestia_clients_default_content();
|
321 |
Â
}
|
322 |
Â
|
@@ -325,7 +238,7 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
325 |
Â
*
|
326 |
Â
* @access public
|
327 |
Â
*/
|
328 |
-
public function hestia_enqueue_clients_style(){
|
329 |
Â
themeisle_hestia_enqueue_clients_style();
|
330 |
Â
}
|
331 |
Â
|
@@ -335,7 +248,7 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
335 |
Â
* @since 2.1.1
|
336 |
Â
* @access public
|
337 |
Â
*/
|
338 |
-
public function hestia_top_bar_default_alignment(){
|
339 |
Â
return themeisle_hestia_top_bar_default_alignment();
|
340 |
Â
}
|
341 |
Â
|
@@ -359,45 +272,6 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
359 |
Â
themeisle_hestia_set_frontpage();
|
360 |
Â
}
|
361 |
Â
|
362 |
-
/**
|
363 |
-
* Wrapper method for Azera Shop Companion styles
|
364 |
-
*
|
365 |
-
* @since 2.4.5
|
366 |
-
* @access public
|
367 |
-
*/
|
368 |
-
public function azera_shop_companion_register_plugin_styles() {
|
369 |
-
azera_shop_companion_register_plugin_styles();
|
370 |
-
}
|
371 |
-
|
372 |
-
/**
|
373 |
-
* Wrapper method for Azera Shop Companion sections
|
374 |
-
*
|
375 |
-
* @since 2.4.5
|
376 |
-
* @access public
|
377 |
-
*/
|
378 |
-
public function azera_shop_companion_load_sections() {
|
379 |
-
azera_shop_companion_load_sections();
|
380 |
-
}
|
381 |
-
|
382 |
-
/**
|
383 |
-
* Wrapper method for Llorix One Companion styles
|
384 |
-
*
|
385 |
-
* @since 2.4.5
|
386 |
-
* @access public
|
387 |
-
*/
|
388 |
-
public function llorix_one_companion_register_plugin_styles() {
|
389 |
-
llorix_one_companion_register_plugin_styles();
|
390 |
-
}
|
391 |
-
|
392 |
-
/**
|
393 |
-
* Wrapper method for Llorix One Companion sections
|
394 |
-
*
|
395 |
-
* @since 2.4.5
|
396 |
-
* @access public
|
397 |
-
*/
|
398 |
-
public function llorix_one_companion_load_sections() {
|
399 |
-
llorix_one_companion_load_sections();
|
400 |
-
}
|
401 |
Â
|
402 |
Â
/**
|
403 |
Â
* The loading logic for the module.
|
@@ -420,12 +294,7 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
420 |
Â
$this->loader->add_action( 'widgets_init', $this, 'zerif_register_widgets' );
|
421 |
Â
}
|
422 |
Â
|
423 |
-
|
424 |
-
$this->loader->add_action( 'widgets_init', $this, 'rhea_register_widgets' );
|
425 |
-
$this->loader->add_action( 'admin_enqueue_scripts', $this, 'rhea_load_custom_wp_admin_style' );
|
426 |
-
$this->loader->add_action( 'admin_footer', $this, 'rhea_add_html_to_admin_footer' );
|
427 |
-
$this->loader->add_action( 'customize_controls_print_footer_scripts', $this, 'rhea_add_html_to_admin_footer' );
|
428 |
-
}
|
429 |
Â
|
430 |
Â
if ( $this->is_hestia() ) {
|
431 |
Â
$this->loader->add_action( 'after_setup_theme', $this, 'hestia_require' );
|
@@ -443,28 +312,16 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
443 |
Â
$this->loader->add_filter( 'hestia_top_bar_alignment_default', $this, 'hestia_top_bar_default_alignment' );
|
444 |
Â
}
|
445 |
Â
|
446 |
-
if( $this->is_shop_isle() ) {
|
447 |
Â
require_once $this->inc_dir . 'shop-isle' . DIRECTORY_SEPARATOR . 'functions.php';
|
448 |
Â
}
|
449 |
-
|
450 |
-
if ( $this->is_azera_shop() ) {
|
451 |
-
require_once $this->inc_dir . 'azera-shop' . DIRECTORY_SEPARATOR . 'functions.php';
|
452 |
-
$this->loader->add_action( 'wp_enqueue_scripts', $this, 'azera_shop_companion_register_plugin_styles' );
|
453 |
-
$this->loader->add_action( 'plugins_loaded', $this, 'azera_shop_companion_load_sections' );
|
454 |
-
}
|
455 |
-
|
456 |
-
if ( $this->is_llorix_one_lite() ) {
|
457 |
-
require_once $this->inc_dir . 'llorix-one-companion' . DIRECTORY_SEPARATOR . 'functions.php';
|
458 |
-
$this->loader->add_action( 'wp_enqueue_scripts', $this, 'llorix_one_companion_register_plugin_styles' );
|
459 |
-
$this->loader->add_action( 'plugins_loaded', $this, 'llorix_one_companion_load_sections' );
|
460 |
-
}
|
461 |
Â
}
|
462 |
Â
|
463 |
Â
/**
|
464 |
Â
* Import mods if is shop isle.
|
465 |
Â
*/
|
466 |
Â
public function activate() {
|
467 |
-
if( $this->is_shop_isle() ) {
|
468 |
Â
$this->shop_isle_get_wporg_options();
|
469 |
Â
}
|
470 |
Â
}
|
47 |
Â
require_once $this->inc_dir . 'zerif-lite' . DIRECTORY_SEPARATOR . 'functions.php';
|
48 |
Â
}
|
49 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
50 |
Â
|
51 |
Â
if ( $this->is_hestia() ) {
|
52 |
Â
require_once $this->inc_dir . 'hestia' . DIRECTORY_SEPARATOR . 'functions.php';
|
60 |
Â
$theme_name = 'Hestia Pro';
|
61 |
Â
|
62 |
Â
}
|
63 |
+
if ( $this->is_shop_isle() ) {
|
64 |
Â
$theme_name = 'Shop Isle';
|
65 |
Â
}
|
66 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
67 |
Â
$this->name = sprintf( __( '%s enhancements ', 'themeisle-companion' ), $theme_name );
|
68 |
Â
$this->description = sprintf( __( 'Module containing frontpage improvements for %s theme.', 'themeisle-companion' ), $theme_name );
|
69 |
Â
}
|
76 |
Â
return false;
|
77 |
Â
}
|
78 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
79 |
Â
|
80 |
Â
private function is_hestia() {
|
81 |
Â
if ( $this->get_active_theme_dir() == 'hestia' ) {
|
85 |
Â
return false;
|
86 |
Â
}
|
87 |
Â
|
88 |
+
private function is_hestia_pro() {
|
89 |
Â
if ( $this->get_active_theme_dir() == 'hestia-pro' ) {
|
90 |
Â
return true;
|
91 |
Â
}
|
94 |
Â
}
|
95 |
Â
|
96 |
Â
private function is_shop_isle() {
|
97 |
+
include_once ABSPATH . 'wp-admin/includes/plugin.php';
|
98 |
+
if ( is_plugin_active( 'shop-isle-companion/shop-isle-companion.php' ) ) {
|
99 |
Â
return false;
|
100 |
Â
}
|
101 |
Â
if ( $this->get_active_theme_dir() == 'shop-isle' ) {
|
105 |
Â
return false;
|
106 |
Â
}
|
107 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
108 |
Â
|
109 |
Â
/**
|
110 |
Â
* Determine if module should be loaded.
|
114 |
Â
* @return bool
|
115 |
Â
*/
|
116 |
Â
public function enable_module() {
|
117 |
+
if ( $this->is_hestia() || $this->is_zerif() || $this->is_hestia_pro() || $this->is_shop_isle() ) {
|
118 |
Â
return true;
|
119 |
Â
} else {
|
120 |
Â
return false;
|
133 |
Â
}
|
134 |
Â
}
|
135 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
136 |
Â
|
137 |
Â
/**
|
138 |
Â
* Function to import customizer big title settings into first slide.
|
139 |
Â
*/
|
140 |
Â
public function shop_isle_get_wporg_options() {
|
141 |
Â
/* import shop isle options */
|
142 |
+
$shop_isle_mods = get_option( 'theme_mods_shop-isle' );
|
143 |
Â
|
144 |
+
if ( ! empty( $shop_isle_mods ) ) {
|
145 |
Â
|
146 |
Â
$new_slider = new stdClass();
|
147 |
Â
|
148 |
+
foreach ( $shop_isle_mods as $shop_isle_mod_k => $shop_isle_mod_v ) {
|
149 |
Â
|
150 |
Â
/* migrate Big title section to Slider section */
|
151 |
+
if ( ( $shop_isle_mod_k == 'shop_isle_big_title_image' ) || ( $shop_isle_mod_k == 'shop_isle_big_title_title' ) || ( $shop_isle_mod_k == 'shop_isle_big_title_subtitle' ) || ( $shop_isle_mod_k == 'shop_isle_big_title_button_label' ) || ( $shop_isle_mod_k == 'shop_isle_big_title_button_link' ) ) {
|
152 |
Â
|
153 |
+
if ( $shop_isle_mod_k == 'shop_isle_big_title_image' ) {
|
154 |
+
if ( ! empty( $shop_isle_mod_v ) ) {
|
155 |
Â
$new_slider->image_url = $shop_isle_mod_v;
|
156 |
Â
} else {
|
157 |
Â
$new_slider->image_url = '';
|
158 |
Â
}
|
159 |
Â
}
|
160 |
Â
|
161 |
+
if ( $shop_isle_mod_k == 'shop_isle_big_title_title' ) {
|
162 |
+
if ( ! empty( $shop_isle_mod_v ) ) {
|
163 |
Â
$new_slider->text = $shop_isle_mod_v;
|
164 |
Â
} else {
|
165 |
Â
$new_slider->text = '';
|
166 |
Â
}
|
167 |
Â
}
|
168 |
Â
|
169 |
+
if ( $shop_isle_mod_k == 'shop_isle_big_title_subtitle' ) {
|
170 |
+
if ( ! empty( $shop_isle_mod_v ) ) {
|
171 |
Â
$new_slider->subtext = $shop_isle_mod_v;
|
172 |
Â
} else {
|
173 |
Â
$new_slider->subtext = '';
|
174 |
Â
}
|
175 |
Â
}
|
176 |
Â
|
177 |
+
if ( $shop_isle_mod_k == 'shop_isle_big_title_button_label' ) {
|
178 |
+
if ( ! empty( $shop_isle_mod_v ) ) {
|
179 |
Â
$new_slider->label = $shop_isle_mod_v;
|
180 |
Â
} else {
|
181 |
Â
$new_slider->label = '';
|
182 |
Â
}
|
183 |
Â
}
|
184 |
Â
|
185 |
+
if ( $shop_isle_mod_k == 'shop_isle_big_title_button_link' ) {
|
186 |
+
if ( ! empty( $shop_isle_mod_v ) ) {
|
187 |
Â
$new_slider->link = $shop_isle_mod_v;
|
188 |
Â
} else {
|
189 |
Â
$new_slider->link = '';
|
190 |
Â
}
|
191 |
Â
}
|
192 |
Â
|
193 |
+
if ( ! empty( $new_slider->image_url ) || ! empty( $new_slider->text ) || ! empty( $new_slider->subtext ) || ! empty( $new_slider->link ) ) {
|
194 |
+
$new_slider_encode = json_encode( array( $new_slider ) );
|
195 |
+
set_theme_mod( 'shop_isle_slider', $new_slider_encode );
|
196 |
+
}
|
Â
|
|
197 |
Â
} else {
|
198 |
Â
|
199 |
+
set_theme_mod( $shop_isle_mod_k, $shop_isle_mod_v );
|
200 |
Â
}
|
201 |
Â
}
|
202 |
Â
}
|
219 |
Â
* @since 2.4.5
|
220 |
Â
* @access public
|
221 |
Â
*/
|
222 |
+
public function hestia_fix_duplicate_widgets() {
|
223 |
Â
themeisle_hestia_fix_duplicate_widgets();
|
224 |
Â
}
|
225 |
Â
|
229 |
Â
* @since 2.1.1
|
230 |
Â
* @access public
|
231 |
Â
*/
|
232 |
+
public function hestia_load_clients_default_content() {
|
233 |
Â
return themeisle_hestia_clients_default_content();
|
234 |
Â
}
|
235 |
Â
|
238 |
Â
*
|
239 |
Â
* @access public
|
240 |
Â
*/
|
241 |
+
public function hestia_enqueue_clients_style() {
|
242 |
Â
themeisle_hestia_enqueue_clients_style();
|
243 |
Â
}
|
244 |
Â
|
248 |
Â
* @since 2.1.1
|
249 |
Â
* @access public
|
250 |
Â
*/
|
251 |
+
public function hestia_top_bar_default_alignment() {
|
252 |
Â
return themeisle_hestia_top_bar_default_alignment();
|
253 |
Â
}
|
254 |
Â
|
272 |
Â
themeisle_hestia_set_frontpage();
|
273 |
Â
}
|
274 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
275 |
Â
|
276 |
Â
/**
|
277 |
Â
* The loading logic for the module.
|
294 |
Â
$this->loader->add_action( 'widgets_init', $this, 'zerif_register_widgets' );
|
295 |
Â
}
|
296 |
Â
|
297 |
+
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
298 |
Â
|
299 |
Â
if ( $this->is_hestia() ) {
|
300 |
Â
$this->loader->add_action( 'after_setup_theme', $this, 'hestia_require' );
|
312 |
Â
$this->loader->add_filter( 'hestia_top_bar_alignment_default', $this, 'hestia_top_bar_default_alignment' );
|
313 |
Â
}
|
314 |
Â
|
315 |
+
if ( $this->is_shop_isle() ) {
|
316 |
Â
require_once $this->inc_dir . 'shop-isle' . DIRECTORY_SEPARATOR . 'functions.php';
|
317 |
Â
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
318 |
Â
}
|
319 |
Â
|
320 |
Â
/**
|
321 |
Â
* Import mods if is shop isle.
|
322 |
Â
*/
|
323 |
Â
public function activate() {
|
324 |
+
if ( $this->is_shop_isle() ) {
|
325 |
Â
$this->shop_isle_get_wporg_options();
|
326 |
Â
}
|
327 |
Â
}
|
obfx_modules/elementor-widgets/init.php
CHANGED
@@ -29,8 +29,8 @@ class Elementor_Widgets_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
29 |
Â
*/
|
30 |
Â
public function __construct() {
|
31 |
Â
parent::__construct();
|
32 |
-
$this->name
|
33 |
-
$this->description
|
34 |
Â
$this->active_default = true;
|
35 |
Â
}
|
36 |
Â
|
@@ -42,7 +42,7 @@ class Elementor_Widgets_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
42 |
Â
* @return bool
|
43 |
Â
*/
|
44 |
Â
public function enable_module() {
|
45 |
-
require_once
|
46 |
Â
return is_plugin_active( 'elementor/elementor.php' );
|
47 |
Â
}
|
48 |
Â
|
29 |
Â
*/
|
30 |
Â
public function __construct() {
|
31 |
Â
parent::__construct();
|
32 |
+
$this->name = __( 'Page builder widgets', 'themeisle-companion' );
|
33 |
+
$this->description = __( 'Adds widgets to the most popular builders: Elementor or Beaver. More to come!', 'themeisle-companion' );
|
34 |
Â
$this->active_default = true;
|
35 |
Â
}
|
36 |
Â
|
42 |
Â
* @return bool
|
43 |
Â
*/
|
44 |
Â
public function enable_module() {
|
45 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
46 |
Â
return is_plugin_active( 'elementor/elementor.php' );
|
47 |
Â
}
|
48 |
Â
|
obfx_modules/google-analytics/init.php
CHANGED
@@ -89,12 +89,16 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
89 |
Â
* Register endpoint for refreshing analytics.
|
90 |
Â
*/
|
91 |
Â
public function register_endpoints() {
|
92 |
-
register_rest_route(
|
Â
|
|
Â
|
|
93 |
Â
array(
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
Â
|
|
Â
|
|
98 |
Â
}
|
99 |
Â
|
100 |
Â
/**
|
@@ -110,7 +114,7 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
110 |
Â
|
111 |
Â
$obfx_token = get_option( 'obfx_token', '' );
|
112 |
Â
|
113 |
-
if ( ( $_POST['deactivate'] === 'unregister' ) ) {
|
114 |
Â
return $this->unregister_website( $obfx_token );
|
115 |
Â
}
|
116 |
Â
if ( empty( $obfx_token ) ) {
|
@@ -133,13 +137,18 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
133 |
Â
delete_option( 'obfx_token' );
|
134 |
Â
delete_option( 'obfx_google_accounts_tracking_codes' );
|
135 |
Â
$req_headers = array( 'x-obfx-auth' => $obfx_token );
|
136 |
-
$req_body = array(
|
Â
|
|
Â
|
|
Â
|
|
137 |
Â
|
138 |
-
$request = wp_remote_post(
|
Â
|
|
139 |
Â
array(
|
140 |
Â
'headers' => $req_headers,
|
141 |
Â
'body' => $req_body,
|
142 |
-
)
|
Â
|
|
143 |
Â
|
144 |
Â
return $request;
|
145 |
Â
}
|
@@ -170,11 +179,14 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
170 |
Â
|
171 |
Â
$script_handle = $this->slug . '-script';
|
172 |
Â
wp_register_script( $script_handle, plugin_dir_url( $this->get_dir() ) . $this->slug . '/js/script.js', array( 'jquery' ), $this->version, true );
|
173 |
-
wp_localize_script(
|
Â
|
|
Â
|
|
174 |
Â
array(
|
175 |
Â
'url' => $this->get_endpoint_url( '/obfx-analytics' ),
|
176 |
Â
'nonce' => wp_create_nonce( 'wp_rest' ),
|
177 |
-
)
|
Â
|
|
178 |
Â
wp_enqueue_script( $script_handle );
|
179 |
Â
}
|
180 |
Â
|
@@ -212,11 +224,14 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
212 |
Â
$token = get_option( 'obfx_token', '' );
|
213 |
Â
if ( empty( $token ) ) {
|
214 |
Â
$url = $this->api_url . '/auth';
|
215 |
-
$url = add_query_arg(
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
Â
|
|
Â
|
|
Â
|
|
220 |
Â
|
221 |
Â
return array(
|
222 |
Â
array(
|
@@ -234,7 +249,7 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
234 |
Â
|
235 |
Â
$accounts = get_option( 'obfx_google_accounts_tracking_codes', array() );
|
236 |
Â
|
237 |
-
if ( ! empty
|
238 |
Â
foreach ( $accounts as $account ) {
|
239 |
Â
$options[ $account->tracking_code ] = $account->account_name . ' - ' . $account->tracking_code;
|
240 |
Â
}
|
@@ -249,7 +264,7 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
249 |
Â
'link-class' => 'btn btn-primary btn-sm',
|
250 |
Â
'link-id' => 'refresh-analytics-accounts',
|
251 |
Â
'text' => '<i class="dashicons dashicons-update"></i> ' . __( 'Refresh Accounts', 'themeisle-companion' ),
|
252 |
-
'url' => ''
|
253 |
Â
),
|
254 |
Â
array(
|
255 |
Â
'id' => 'analytics_accounts_select',
|
@@ -265,8 +280,8 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
265 |
Â
'link-class' => 'btn btn-sm',
|
266 |
Â
'link-id' => 'unregister-analytics',
|
267 |
Â
'text' => '<i class="dashicons dashicons-no"></i>' . __( 'Unregister Site', 'themeisle-companion' ),
|
268 |
-
'url' => ''
|
269 |
-
)
|
270 |
Â
);
|
271 |
Â
}
|
272 |
Â
|
@@ -274,7 +289,7 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
274 |
Â
* Get tracking codes from server.
|
275 |
Â
*
|
276 |
Â
* @param string $obfx_token
|
277 |
-
* @param bool
|
278 |
Â
*
|
279 |
Â
* @return bool|string
|
280 |
Â
*/
|
@@ -288,20 +303,22 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
288 |
Â
$req_body = array(
|
289 |
Â
'site_url' => home_url(),
|
290 |
Â
'site_hash' => $this->get_site_hash(),
|
291 |
-
'forced_update' => 'not_forced'
|
292 |
Â
);
|
293 |
Â
|
294 |
Â
if ( $forced === true ) {
|
295 |
Â
$req_body['forced_update'] = 'forced_update';
|
296 |
Â
}
|
297 |
Â
|
298 |
-
$request = wp_remote_post(
|
Â
|
|
299 |
Â
array(
|
300 |
Â
'headers' => $req_headers,
|
301 |
Â
'body' => $req_body,
|
302 |
-
)
|
Â
|
|
303 |
Â
|
304 |
-
if ( empty
|
305 |
Â
return false;
|
306 |
Â
}
|
307 |
Â
$accounts = json_decode( $request['body'] );
|
@@ -317,13 +334,13 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
317 |
Â
*
|
318 |
Â
* @return string
|
319 |
Â
*/
|
320 |
-
private
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
Â
$pre_hash = rtrim( ltrim( sanitize_text_field( preg_replace( '/[^a-zA-Z0-9]/', '', $hash_base ) ) ) );
|
328 |
Â
if ( function_exists( 'mb_strimwidth' ) ) {
|
329 |
Â
return mb_strimwidth( $pre_hash, 0, 100 );
|
@@ -332,7 +349,7 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
332 |
Â
return substr( $pre_hash, 0, 100 );
|
333 |
Â
}
|
334 |
Â
|
335 |
-
public
|
336 |
Â
$obfx_token = isset( $_GET['obfx_token'] ) ? sanitize_text_field( $_GET['obfx_token'] ) : '';
|
337 |
Â
if ( empty( $obfx_token ) ) {
|
338 |
Â
return '';
|
@@ -353,10 +370,10 @@ class Google_Analytics_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
353 |
Â
update_option( 'obfx_token', $obfx_token );
|
354 |
Â
$this->get_tracking_codes( $obfx_token );
|
355 |
Â
wp_safe_redirect( admin_url( 'admin.php?page=obfx_companion' ) );
|
356 |
-
|
357 |
Â
}
|
358 |
Â
|
359 |
-
public
|
360 |
Â
$ua_code = $this->get_option( 'analytics_accounts_select' ); ?>
|
361 |
Â
<!-- Google Analytics -->
|
362 |
Â
<!-- Global site tag (gtag.js) - Google Analytics -->
|
89 |
Â
* Register endpoint for refreshing analytics.
|
90 |
Â
*/
|
91 |
Â
public function register_endpoints() {
|
92 |
+
register_rest_route(
|
93 |
+
'obfx-' . $this->slug,
|
94 |
+
'/obfx-analytics',
|
95 |
Â
array(
|
96 |
+
array(
|
97 |
+
'methods' => WP_REST_Server::CREATABLE,
|
98 |
+
'callback' => array( $this, 'refresh_tracking_links' ),
|
99 |
+
),
|
100 |
+
)
|
101 |
+
);
|
102 |
Â
}
|
103 |
Â
|
104 |
Â
/**
|
114 |
Â
|
115 |
Â
$obfx_token = get_option( 'obfx_token', '' );
|
116 |
Â
|
117 |
+
if ( ( $_POST['deactivate'] === 'unregister' ) ) { //phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotValidated
|
118 |
Â
return $this->unregister_website( $obfx_token );
|
119 |
Â
}
|
120 |
Â
if ( empty( $obfx_token ) ) {
|
137 |
Â
delete_option( 'obfx_token' );
|
138 |
Â
delete_option( 'obfx_google_accounts_tracking_codes' );
|
139 |
Â
$req_headers = array( 'x-obfx-auth' => $obfx_token );
|
140 |
+
$req_body = array(
|
141 |
+
'site_url' => home_url(),
|
142 |
+
'site_hash' => $this->get_site_hash(),
|
143 |
+
);
|
144 |
Â
|
145 |
+
$request = wp_remote_post(
|
146 |
+
$this->api_url . '/remove_website',
|
147 |
Â
array(
|
148 |
Â
'headers' => $req_headers,
|
149 |
Â
'body' => $req_body,
|
150 |
+
)
|
151 |
+
);
|
152 |
Â
|
153 |
Â
return $request;
|
154 |
Â
}
|
179 |
Â
|
180 |
Â
$script_handle = $this->slug . '-script';
|
181 |
Â
wp_register_script( $script_handle, plugin_dir_url( $this->get_dir() ) . $this->slug . '/js/script.js', array( 'jquery' ), $this->version, true );
|
182 |
+
wp_localize_script(
|
183 |
+
$script_handle,
|
184 |
+
'obfxAnalyticsObj',
|
185 |
Â
array(
|
186 |
Â
'url' => $this->get_endpoint_url( '/obfx-analytics' ),
|
187 |
Â
'nonce' => wp_create_nonce( 'wp_rest' ),
|
188 |
+
)
|
189 |
+
);
|
190 |
Â
wp_enqueue_script( $script_handle );
|
191 |
Â
}
|
192 |
Â
|
224 |
Â
$token = get_option( 'obfx_token', '' );
|
225 |
Â
if ( empty( $token ) ) {
|
226 |
Â
$url = $this->api_url . '/auth';
|
227 |
+
$url = add_query_arg(
|
228 |
+
array(
|
229 |
+
'site_hash' => $this->get_site_hash(),
|
230 |
+
'site_url' => home_url(),
|
231 |
+
'site_return' => admin_url( 'admin.php?page=obfx_companion#obfx-mod-google-analytics' ),
|
232 |
+
),
|
233 |
+
$url
|
234 |
+
);
|
235 |
Â
|
236 |
Â
return array(
|
237 |
Â
array(
|
249 |
Â
|
250 |
Â
$accounts = get_option( 'obfx_google_accounts_tracking_codes', array() );
|
251 |
Â
|
252 |
+
if ( ! empty( $accounts ) ) {
|
253 |
Â
foreach ( $accounts as $account ) {
|
254 |
Â
$options[ $account->tracking_code ] = $account->account_name . ' - ' . $account->tracking_code;
|
255 |
Â
}
|
264 |
Â
'link-class' => 'btn btn-primary btn-sm',
|
265 |
Â
'link-id' => 'refresh-analytics-accounts',
|
266 |
Â
'text' => '<i class="dashicons dashicons-update"></i> ' . __( 'Refresh Accounts', 'themeisle-companion' ),
|
267 |
+
'url' => '',
|
268 |
Â
),
|
269 |
Â
array(
|
270 |
Â
'id' => 'analytics_accounts_select',
|
280 |
Â
'link-class' => 'btn btn-sm',
|
281 |
Â
'link-id' => 'unregister-analytics',
|
282 |
Â
'text' => '<i class="dashicons dashicons-no"></i>' . __( 'Unregister Site', 'themeisle-companion' ),
|
283 |
+
'url' => '',
|
284 |
+
),
|
285 |
Â
);
|
286 |
Â
}
|
287 |
Â
|
289 |
Â
* Get tracking codes from server.
|
290 |
Â
*
|
291 |
Â
* @param string $obfx_token
|
292 |
+
* @param bool $forced
|
293 |
Â
*
|
294 |
Â
* @return bool|string
|
295 |
Â
*/
|
303 |
Â
$req_body = array(
|
304 |
Â
'site_url' => home_url(),
|
305 |
Â
'site_hash' => $this->get_site_hash(),
|
306 |
+
'forced_update' => 'not_forced',
|
307 |
Â
);
|
308 |
Â
|
309 |
Â
if ( $forced === true ) {
|
310 |
Â
$req_body['forced_update'] = 'forced_update';
|
311 |
Â
}
|
312 |
Â
|
313 |
+
$request = wp_remote_post(
|
314 |
+
$this->api_url . '/get_tracking_links',
|
315 |
Â
array(
|
316 |
Â
'headers' => $req_headers,
|
317 |
Â
'body' => $req_body,
|
318 |
+
)
|
319 |
+
);
|
320 |
Â
|
321 |
+
if ( empty( $request['body'] ) ) {
|
322 |
Â
return false;
|
323 |
Â
}
|
324 |
Â
$accounts = json_decode( $request['body'] );
|
334 |
Â
*
|
335 |
Â
* @return string
|
336 |
Â
*/
|
337 |
+
final private function get_site_hash() {
|
338 |
+
$hash_base = '';
|
339 |
+
if ( defined( 'AUTH_KEY' ) && defined( 'SECURE_AUTH_KEY' ) && defined( 'LOGGED_IN_KEY' ) ) {
|
340 |
+
$hash_base = AUTH_KEY . SECURE_AUTH_KEY . LOGGED_IN_KEY;
|
341 |
+
} else {
|
342 |
+
$hash_base = sha1( ABSPATH ) . sha1( get_site_url() );
|
343 |
+
}
|
344 |
Â
$pre_hash = rtrim( ltrim( sanitize_text_field( preg_replace( '/[^a-zA-Z0-9]/', '', $hash_base ) ) ) );
|
345 |
Â
if ( function_exists( 'mb_strimwidth' ) ) {
|
346 |
Â
return mb_strimwidth( $pre_hash, 0, 100 );
|
349 |
Â
return substr( $pre_hash, 0, 100 );
|
350 |
Â
}
|
351 |
Â
|
352 |
+
final public function maybe_save_obfx_token() {
|
353 |
Â
$obfx_token = isset( $_GET['obfx_token'] ) ? sanitize_text_field( $_GET['obfx_token'] ) : '';
|
354 |
Â
if ( empty( $obfx_token ) ) {
|
355 |
Â
return '';
|
370 |
Â
update_option( 'obfx_token', $obfx_token );
|
371 |
Â
$this->get_tracking_codes( $obfx_token );
|
372 |
Â
wp_safe_redirect( admin_url( 'admin.php?page=obfx_companion' ) );
|
373 |
+
exit;
|
374 |
Â
}
|
375 |
Â
|
376 |
+
final public function output_analytics_code() {
|
377 |
Â
$ua_code = $this->get_option( 'analytics_accounts_select' ); ?>
|
378 |
Â
<!-- Google Analytics -->
|
379 |
Â
<!-- Global site tag (gtag.js) - Google Analytics -->
|
obfx_modules/gutenberg-blocks/init.php
CHANGED
@@ -21,21 +21,24 @@ class Gutenberg_Blocks_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
21 |
Â
*/
|
22 |
Â
public function __construct() {
|
23 |
Â
parent::__construct();
|
24 |
-
$this->name
|
25 |
-
|
Â
|
|
Â
|
|
Â
|
|
26 |
Â
$this->active_default = true;
|
27 |
Â
}
|
28 |
Â
|
29 |
Â
/**
|
30 |
Â
* Determine if module should be loaded.
|
31 |
Â
*
|
Â
|
|
32 |
Â
* @since 2.2.5
|
33 |
Â
* @access public
|
34 |
-
* @return bool
|
35 |
Â
*/
|
36 |
Â
public function enable_module() {
|
37 |
Â
global $wp_version;
|
38 |
-
require_once
|
39 |
Â
if ( is_plugin_active( 'otter-blocks/otter-blocks.php' ) ) {
|
40 |
Â
return false;
|
41 |
Â
}
|
@@ -74,9 +77,9 @@ class Gutenberg_Blocks_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
74 |
Â
* Method that returns an array of scripts and styles to be loaded
|
75 |
Â
* for the front end part.
|
76 |
Â
*
|
Â
|
|
77 |
Â
* @since 2.2.5
|
78 |
Â
* @access public
|
79 |
-
* @return array
|
80 |
Â
*/
|
81 |
Â
public function public_enqueue() {
|
82 |
Â
return array();
|
@@ -86,9 +89,9 @@ class Gutenberg_Blocks_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
86 |
Â
* Method that returns an array of scripts and styles to be loaded
|
87 |
Â
* for the admin part.
|
88 |
Â
*
|
Â
|
|
89 |
Â
* @since 2.2.5
|
90 |
Â
* @access public
|
91 |
-
* @return array
|
92 |
Â
*/
|
93 |
Â
public function admin_enqueue() {
|
94 |
Â
return array();
|
@@ -97,9 +100,9 @@ class Gutenberg_Blocks_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
97 |
Â
/**
|
98 |
Â
* Method to define the options fields for the module
|
99 |
Â
*
|
Â
|
|
100 |
Â
* @since 2.2.5
|
101 |
Â
* @access public
|
102 |
-
* @return array
|
103 |
Â
*/
|
104 |
Â
public function options() {
|
105 |
Â
return array();
|
@@ -108,18 +111,16 @@ class Gutenberg_Blocks_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
108 |
Â
/**
|
109 |
Â
* Load assets for our blocks.
|
110 |
Â
*/
|
111 |
-
function enqueue_block_assets() {
|
112 |
-
wp_enqueue_style( 'font-awesome-5', plugins_url( 'assets/fontawesome/css/all.min.css', __FILE__ ) );
|
113 |
-
wp_enqueue_style( 'font-awesome-4-shims', plugins_url( 'assets/fontawesome/css/v4-shims.min.css', __FILE__ ) );
|
114 |
Â
}
|
115 |
Â
|
116 |
Â
/**
|
117 |
Â
* If the composer library is present let's try to init.
|
118 |
Â
*/
|
119 |
-
function load_gutenberg_blocks() {
|
120 |
-
|
121 |
-
\ThemeIsle\GutenbergBlocks::instance( __( 'Blocks by OrbitFox and Otter', 'themeisle-companion' ) );
|
122 |
-
}
|
123 |
Â
}
|
124 |
Â
|
125 |
Â
}
|
21 |
Â
*/
|
22 |
Â
public function __construct() {
|
23 |
Â
parent::__construct();
|
24 |
+
$this->name = __( 'Gutenberg Blocks <sup class="obfx-title-new">NEW</sup>', 'themeisle-companion' );
|
25 |
+
/*
|
26 |
+
* translators: %1$s Start anchor tag, %2$s End anchor tag
|
27 |
+
*/
|
28 |
+
$this->description = sprintf( __( 'A set of awesome Gutenberg Blocks provided by %1$sOtter\'s%2$s plugin!', 'themeisle-companion' ), '<span class="dashicons dashicons-external"></span><a target="_blank" href="https://wordpress.org/plugins/otter-blocks/">', '</a>' );
|
29 |
Â
$this->active_default = true;
|
30 |
Â
}
|
31 |
Â
|
32 |
Â
/**
|
33 |
Â
* Determine if module should be loaded.
|
34 |
Â
*
|
35 |
+
* @return bool
|
36 |
Â
* @since 2.2.5
|
37 |
Â
* @access public
|
Â
|
|
38 |
Â
*/
|
39 |
Â
public function enable_module() {
|
40 |
Â
global $wp_version;
|
41 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
42 |
Â
if ( is_plugin_active( 'otter-blocks/otter-blocks.php' ) ) {
|
43 |
Â
return false;
|
44 |
Â
}
|
77 |
Â
* Method that returns an array of scripts and styles to be loaded
|
78 |
Â
* for the front end part.
|
79 |
Â
*
|
80 |
+
* @return array
|
81 |
Â
* @since 2.2.5
|
82 |
Â
* @access public
|
Â
|
|
83 |
Â
*/
|
84 |
Â
public function public_enqueue() {
|
85 |
Â
return array();
|
89 |
Â
* Method that returns an array of scripts and styles to be loaded
|
90 |
Â
* for the admin part.
|
91 |
Â
*
|
92 |
+
* @return array
|
93 |
Â
* @since 2.2.5
|
94 |
Â
* @access public
|
Â
|
|
95 |
Â
*/
|
96 |
Â
public function admin_enqueue() {
|
97 |
Â
return array();
|
100 |
Â
/**
|
101 |
Â
* Method to define the options fields for the module
|
102 |
Â
*
|
103 |
+
* @return array
|
104 |
Â
* @since 2.2.5
|
105 |
Â
* @access public
|
Â
|
|
106 |
Â
*/
|
107 |
Â
public function options() {
|
108 |
Â
return array();
|
111 |
Â
/**
|
112 |
Â
* Load assets for our blocks.
|
113 |
Â
*/
|
114 |
+
public function enqueue_block_assets() {
|
115 |
+
wp_enqueue_style( 'font-awesome-5', plugins_url( 'assets/fontawesome/css/all.min.css', __FILE__ ), [], $this->version );
|
116 |
+
wp_enqueue_style( 'font-awesome-4-shims', plugins_url( 'assets/fontawesome/css/v4-shims.min.css', __FILE__ ), [], $this->version );
|
117 |
Â
}
|
118 |
Â
|
119 |
Â
/**
|
120 |
Â
* If the composer library is present let's try to init.
|
121 |
Â
*/
|
122 |
+
public function load_gutenberg_blocks() {
|
123 |
+
\ThemeIsle\GutenbergBlocks\Main::instance( __( 'Blocks by OrbitFox and Otter', 'themeisle-companion' ) );
|
Â
|
|
Â
|
|
124 |
Â
}
|
125 |
Â
|
126 |
Â
}
|
obfx_modules/image-cdn/inc/class-orbit-fox-connector.php
DELETED
@@ -1,228 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace OrbitFox;
|
4 |
-
|
5 |
-
/**
|
6 |
-
* The class defines way of connecting this user to the OrbitFox Dashboard.
|
7 |
-
*
|
8 |
-
* @package \OrbitFox\Connector
|
9 |
-
* @author Themeisle <friends@themeisle.com>
|
10 |
-
*/
|
11 |
-
class Connector {
|
12 |
-
/**
|
13 |
-
* Option key name for OrbitFox site account.
|
14 |
-
*/
|
15 |
-
const API_DATA_KEY = 'obfx_connect_data';
|
16 |
-
|
17 |
-
/**
|
18 |
-
* The instance object.
|
19 |
-
*
|
20 |
-
* @var Connector
|
21 |
-
*/
|
22 |
-
protected static $instance = null;
|
23 |
-
|
24 |
-
/**
|
25 |
-
* The Root URL of the OrbitFox dashboard.
|
26 |
-
*
|
27 |
-
* @var string
|
28 |
-
*/
|
29 |
-
protected $connect_url = 'https://dashboard.orbitfox.com/api/obfxhq/v1';
|
30 |
-
|
31 |
-
/**
|
32 |
-
* The CDN details path.
|
33 |
-
*
|
34 |
-
* @var string
|
35 |
-
*/
|
36 |
-
protected $cdn_path = '/image/details';
|
37 |
-
|
38 |
-
/**
|
39 |
-
* The instance init method.
|
40 |
-
*
|
41 |
-
* @static
|
42 |
-
* @since 1.0.0
|
43 |
-
* @access public
|
44 |
-
* @return Connector
|
45 |
-
*/
|
46 |
-
public static function instance() {
|
47 |
-
if ( is_null( self::$instance ) ) {
|
48 |
-
self::$instance = new self();
|
49 |
-
self::$instance->init();
|
50 |
-
}
|
51 |
-
|
52 |
-
return self::$instance;
|
53 |
-
}
|
54 |
-
|
55 |
-
/**
|
56 |
-
* Init hooks.
|
57 |
-
*/
|
58 |
-
function init() {
|
59 |
-
$this->connect_url = apply_filters( 'obfx_dashboard_url', $this->connect_url );
|
60 |
-
|
61 |
-
add_action( 'admin_footer', array( $this, 'admin_inline_js' ) );
|
62 |
-
}
|
63 |
-
|
64 |
-
|
65 |
-
/**
|
66 |
-
* Sync quota data.
|
67 |
-
*/
|
68 |
-
public function daily_check() {
|
69 |
-
|
70 |
-
$current_data = get_option( self::API_DATA_KEY );
|
71 |
-
if ( empty( $current_data ) ) {
|
72 |
-
return;
|
73 |
-
}
|
74 |
-
if ( ! isset( $current_data['api_key'] ) || empty( $current_data['api_key'] ) && strlen( $current_data['api_key'] ) > 10 ) {
|
75 |
-
return;
|
76 |
-
}
|
77 |
-
$request = new \OrbitFox\Request( $this->connect_url . $this->cdn_path, 'POST', $current_data['api_key'] );
|
78 |
-
$response = $request->get_response();
|
79 |
-
$response['api_key'] = $current_data['api_key'];
|
80 |
-
|
81 |
-
update_option( self::API_DATA_KEY, $response );
|
82 |
-
|
83 |
-
}
|
84 |
-
|
85 |
-
/**
|
86 |
-
* When a user requests an url we request a set of temporary token credentials and build a link with them.
|
87 |
-
* We also save them because we'll need them with the verifier.
|
88 |
-
*
|
89 |
-
* @return \WP_REST_Response|\WP_Error The connection handshake.
|
90 |
-
*/
|
91 |
-
public function rest_handle_connector_url( \WP_REST_Request $request ) {
|
92 |
-
$disconnect_flag = $request->get_param( 'disconnect' );
|
93 |
-
if ( ! empty( $disconnect_flag ) ) {
|
94 |
-
delete_option( self::API_DATA_KEY );
|
95 |
-
|
96 |
-
return new \WP_REST_Response( array( 'code' => 200, 'message' => 'Disconnected' ), 200 );
|
97 |
-
}
|
98 |
-
$api_key = $request->get_param( 'api_key' );
|
99 |
-
if ( empty( $api_key ) ) {
|
100 |
-
return new \WP_REST_Response( array( 'code' => 'error', 'data' => 'Empty api key provided' ) );
|
101 |
-
}
|
102 |
-
$request = new \OrbitFox\Request( $this->connect_url . $this->cdn_path, 'POST', $api_key );
|
103 |
-
|
104 |
-
$response = $request->get_response();
|
105 |
-
|
106 |
-
if ( $response === false ) {
|
107 |
-
return new \WP_REST_Response(
|
108 |
-
array(
|
109 |
-
'code' => 'error',
|
110 |
-
'message' => 'Error connecting to the OrbitFox api. Invalid API key.',
|
111 |
-
)
|
112 |
-
);
|
113 |
-
}
|
114 |
-
$response['api_key'] = $api_key;
|
115 |
-
update_option( self::API_DATA_KEY, $response );
|
116 |
-
|
117 |
-
return new \WP_REST_Response( array( 'code' => 'success', 'data' => $response ), 200 );
|
118 |
-
}
|
119 |
-
|
120 |
-
/**
|
121 |
-
* Print the inline script which get's the url for the Connector button.
|
122 |
-
*/
|
123 |
-
function admin_inline_js() {
|
124 |
-
$connect_endpoint = get_rest_url( null, 'obfx/connector-url' );
|
125 |
-
$update_replacer = get_rest_url( null, 'obfx/update_replacer' );
|
126 |
-
wp_enqueue_script( 'wp-api' ); ?>
|
127 |
-
<script type='text/javascript'>
|
128 |
-
(function ($) {
|
129 |
-
$('#obfx_connect').on('click', function (event) {
|
130 |
-
event.preventDefault();
|
131 |
-
|
132 |
-
$('#obfx_connect').parent().addClass('loading');
|
133 |
-
var api_key = $('#obfx_connect_api_key').val();
|
134 |
-
|
135 |
-
wp.apiRequest({
|
136 |
-
url: "<?php echo $connect_endpoint; ?>",
|
137 |
-
type: 'POST',
|
138 |
-
data: {api_key: api_key},
|
139 |
-
dataType: 'json'
|
140 |
-
}).done(function (response) {
|
141 |
-
$("#obfx-error-api").remove();
|
142 |
-
$('#obfx_connect').parent().removeClass('loading');
|
143 |
-
var elements = $("#obfx-module-form-image-cdn .obfx-loggedin-show, #obfx-module-form-image-cdn .obfx-loggedin-hide");
|
144 |
-
switch (response.code) {
|
145 |
-
|
146 |
-
case 'error':
|
147 |
-
$("#obfx-module-form-image-cdn").append('<p class="label label-error" id="obfx-error-api">' + response.message + '</p>');
|
148 |
-
elements.removeClass('obfx-img-logged-in');
|
149 |
-
break;
|
150 |
-
case 'success':
|
151 |
-
|
152 |
-
$("#obfx_connect_api_key").val(response.data.api_key);
|
153 |
-
$("#obfx-img-display-name").text(response.data.display_name);
|
154 |
-
$("#obfx-img-cdn-url").text(response.data.image_cdn.key + '.i.optimole.com');
|
155 |
-
$("#obfx-img-traffic-usage").text((parseInt(response.data.image_cdn.usage) / 1000).toFixed(3) + 'GB');
|
156 |
-
$(".obfx-img-traffic-quota").text((parseInt(response.data.image_cdn.quota) / 1000).toFixed(0) + 'GB');
|
157 |
-
elements.addClass('obfx-img-logged-in');
|
158 |
-
break;
|
159 |
-
}
|
160 |
-
|
161 |
-
}).fail(function (e) {
|
162 |
-
$('#obfx_connect').parent().removeClass('loading');
|
163 |
-
});
|
164 |
-
});
|
165 |
-
|
166 |
-
$("input[name='enable_cdn_replacer'").on('change', function (event) {
|
167 |
-
event.preventDefault();
|
168 |
-
var flag_replacer = $(this).is(":checked");
|
169 |
-
wp.apiRequest({
|
170 |
-
url: "<?php echo $update_replacer; ?>",
|
171 |
-
type: 'POST',
|
172 |
-
data: {update_replacer: flag_replacer ? 'yes' : 'no'},
|
173 |
-
dataType: 'json'
|
174 |
-
}).done(function(){
|
175 |
-
$("#obfx-module-form-image-cdn").append('<p class="label label-success" id="obfx-feedback-api">Image replacer option saved.</p>');
|
176 |
-
setTimeout(function(){
|
177 |
-
$("#obfx-feedback-api").remove();
|
178 |
-
},1000);
|
179 |
-
});
|
180 |
-
});
|
181 |
-
$('#obfx_disconnect').on('click', function (event) {
|
182 |
-
event.preventDefault();
|
183 |
-
$('#obfx_connect').parent().addClass('loading');
|
184 |
-
wp.apiRequest({
|
185 |
-
url: "<?php echo $connect_endpoint; ?>",
|
186 |
-
type: 'POST',
|
187 |
-
data: {disconnect: true},
|
188 |
-
dataType: 'json'
|
189 |
-
}).done(function (response) {
|
190 |
-
location.reload();
|
191 |
-
}).fail(function (e) {
|
192 |
-
$('#obfx_disconnect').parent().removeClass('loading');
|
193 |
-
});
|
194 |
-
});
|
195 |
-
|
196 |
-
})(jQuery)
|
197 |
-
</script>
|
198 |
-
<?php
|
199 |
-
}
|
200 |
-
|
201 |
-
|
202 |
-
/**
|
203 |
-
* Throw error on object clone
|
204 |
-
*
|
205 |
-
* The whole idea of the singleton design pattern is that there is a single
|
206 |
-
* object therefore, we don't want the object to be cloned.
|
207 |
-
*
|
208 |
-
* @access public
|
209 |
-
* @since 1.0.0
|
210 |
-
* @return void
|
211 |
-
*/
|
212 |
-
public function __clone() {
|
213 |
-
// Cloning instances of the class is forbidden.
|
214 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'themeisle-companion' ), '1.0.0' );
|
215 |
-
}
|
216 |
-
|
217 |
-
/**
|
218 |
-
* Disable unserializing of the class
|
219 |
-
*
|
220 |
-
* @access public
|
221 |
-
* @since 1.0.0
|
222 |
-
* @return void
|
223 |
-
*/
|
224 |
-
public function __wakeup() {
|
225 |
-
// Unserializing instances of the class is forbidden.
|
226 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'themeisle-companion' ), '1.0.0' );
|
227 |
-
}
|
228 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/image-cdn/inc/class-orbit-fox-image-replacer.php
DELETED
@@ -1,707 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace OrbitFox;
|
4 |
-
|
5 |
-
/**
|
6 |
-
* The class handles the image replacements and optimizations.
|
7 |
-
*
|
8 |
-
* @package \OrbitFox\Image_CDN_Replacer
|
9 |
-
* @author Themeisle <friends@themeisle.com>
|
10 |
-
*/
|
11 |
-
class Image_CDN_Replacer {
|
12 |
-
/**
|
13 |
-
* Cached object instance.
|
14 |
-
*
|
15 |
-
* @var Image_CDN_Replacer
|
16 |
-
*/
|
17 |
-
protected static $instance = null;
|
18 |
-
|
19 |
-
|
20 |
-
/**
|
21 |
-
* A data holder.
|
22 |
-
*
|
23 |
-
* @var null
|
24 |
-
*/
|
25 |
-
protected $connect_data = null;
|
26 |
-
/**
|
27 |
-
* A list of allowd extensions.
|
28 |
-
*
|
29 |
-
* @var array
|
30 |
-
*/
|
31 |
-
protected static $extensions = array(
|
32 |
-
'jpg|jpeg|jpe' => 'image/jpeg',
|
33 |
-
'png' => 'image/png',
|
34 |
-
'webp' => 'image/webp',
|
35 |
-
);
|
36 |
-
|
37 |
-
/**
|
38 |
-
* Holds an array of image sizes.
|
39 |
-
*
|
40 |
-
* @var array
|
41 |
-
*/
|
42 |
-
protected static $image_sizes;
|
43 |
-
|
44 |
-
/**
|
45 |
-
* Te cdn url, it will be build on the run.
|
46 |
-
*
|
47 |
-
* @var null
|
48 |
-
*/
|
49 |
-
protected $cdn_url = null;
|
50 |
-
|
51 |
-
/**
|
52 |
-
* A secret key to encode payload.
|
53 |
-
*
|
54 |
-
* @var null
|
55 |
-
*/
|
56 |
-
protected $cdn_secret = null;
|
57 |
-
|
58 |
-
/**
|
59 |
-
* Defines which is the maximum width accepted in the optimization process.
|
60 |
-
*
|
61 |
-
* @var int
|
62 |
-
*/
|
63 |
-
protected $max_width = 3000;
|
64 |
-
|
65 |
-
/**
|
66 |
-
* Defines which is the maximum width accepted in the optimization process.
|
67 |
-
*
|
68 |
-
* @var int
|
69 |
-
*/
|
70 |
-
protected $max_height = 3000;
|
71 |
-
|
72 |
-
/**
|
73 |
-
* Holds the real images sizes as an array.
|
74 |
-
*
|
75 |
-
* @var null
|
76 |
-
*/
|
77 |
-
protected $img_real_sizes = null;
|
78 |
-
|
79 |
-
/**
|
80 |
-
* A cached version of `wp_upload_dir`
|
81 |
-
*
|
82 |
-
* @var null
|
83 |
-
*/
|
84 |
-
protected $upload_dir = null;
|
85 |
-
|
86 |
-
/**
|
87 |
-
* Class instance method.
|
88 |
-
*
|
89 |
-
* @static
|
90 |
-
* @since 1.0.0
|
91 |
-
* @access public
|
92 |
-
* @return Image_CDN_Replacer
|
93 |
-
*/
|
94 |
-
public static function instance() {
|
95 |
-
if ( is_null( self::$instance ) ) {
|
96 |
-
self::$instance = new self();
|
97 |
-
self::$instance->init();
|
98 |
-
}
|
99 |
-
|
100 |
-
return self::$instance;
|
101 |
-
}
|
102 |
-
|
103 |
-
/**
|
104 |
-
* The initialize method.
|
105 |
-
*/
|
106 |
-
function init() {
|
107 |
-
$this->set_properties();
|
108 |
-
|
109 |
-
add_filter( 'image_downsize', array( $this, 'filter_image_downsize' ), PHP_INT_MAX, 3 );
|
110 |
-
add_filter( 'the_content', array( $this, 'filter_the_content' ), PHP_INT_MAX );
|
111 |
-
add_filter( 'wp_calculate_image_srcset', array( $this, 'filter_srcset_attr' ), PHP_INT_MAX, 5 );
|
112 |
-
add_filter( 'init', array( $this, 'filter_options_and_mods' ) );
|
113 |
-
add_action( 'init', array( $this, 'init_html_replacer' ), PHP_INT_MAX );
|
114 |
-
}
|
115 |
-
|
116 |
-
/**
|
117 |
-
* Set the cdn url based on the current connected user.
|
118 |
-
*/
|
119 |
-
protected function set_properties() {
|
120 |
-
$this->upload_dir = wp_upload_dir();
|
121 |
-
$this->upload_dir = $this->upload_dir['baseurl'];
|
122 |
-
$this->connect_data = get_option( 'obfx_connect_data' );
|
123 |
-
|
124 |
-
if ( empty( $this->connect_data ) ) {
|
125 |
-
return;
|
126 |
-
}
|
127 |
-
|
128 |
-
if ( empty( $this->connect_data['image_cdn'] ) ) {
|
129 |
-
return;
|
130 |
-
}
|
131 |
-
$this->cdn_secret = $this->connect_data['image_cdn']['secret'];
|
132 |
-
$this->cdn_url = sprintf(
|
133 |
-
'https://%s.%s',
|
134 |
-
strtolower( $this->connect_data['image_cdn']['key'] ),
|
135 |
-
'i.optimole.com'
|
136 |
-
);
|
137 |
-
}
|
138 |
-
|
139 |
-
/**
|
140 |
-
* Init html replacer handler.
|
141 |
-
*/
|
142 |
-
public function init_html_replacer() {
|
143 |
-
if ( is_admin() ) {
|
144 |
-
return;
|
145 |
-
}
|
146 |
-
ob_start(
|
147 |
-
array( &$this, 'filter_raw_content' )
|
148 |
-
);
|
149 |
-
}
|
150 |
-
|
151 |
-
/**
|
152 |
-
* Filter raw content for urls.
|
153 |
-
*
|
154 |
-
* @param string $html HTML to filter.
|
155 |
-
*
|
156 |
-
* @return mixed Filtered content.
|
157 |
-
*/
|
158 |
-
public function filter_raw_content( $html ) {
|
159 |
-
$urls = wp_extract_urls( $html );
|
160 |
-
$cdn_url = $this->cdn_url;
|
161 |
-
$site_url = get_site_url();
|
162 |
-
$urls = array_filter(
|
163 |
-
$urls,
|
164 |
-
function ( $url ) use ( $cdn_url, $site_url ) {
|
165 |
-
if ( strpos( $url, $cdn_url ) !== false ) {
|
166 |
-
return false;
|
167 |
-
}
|
168 |
-
if ( strpos( $url, $site_url ) === false ) {
|
169 |
-
return false;
|
170 |
-
}
|
171 |
-
|
172 |
-
return $this->check_mimetype( $url );
|
173 |
-
}
|
174 |
-
);
|
175 |
-
$new_urls = array_map( array( $this, 'get_imgcdn_url' ), $urls );
|
176 |
-
|
177 |
-
return str_replace( $urls, $new_urls, $html );
|
178 |
-
}
|
179 |
-
|
180 |
-
/**
|
181 |
-
* Check url mimetype.
|
182 |
-
*
|
183 |
-
* @param string $url Url to check.
|
184 |
-
*
|
185 |
-
* @return bool Is a valid image url or not.
|
186 |
-
*/
|
187 |
-
private function check_mimetype( $url ) {
|
188 |
-
|
189 |
-
$mimes = self::$extensions;
|
190 |
-
$type = wp_check_filetype( $url, $mimes );
|
191 |
-
|
192 |
-
if ( ! isset( $type['ext'] ) || empty( $type['ext'] ) ) {
|
193 |
-
return false;
|
194 |
-
}
|
195 |
-
|
196 |
-
return true;
|
197 |
-
}
|
198 |
-
|
199 |
-
/**
|
200 |
-
* This filter will replace all the images retrieved via "wp_get_image" type of functions.
|
201 |
-
*
|
202 |
-
* @param array $image The filtered value.
|
203 |
-
* @param int $attachment_id The related attachment id.
|
204 |
-
* @param array|string $size This could be the name of the thumbnail size or an array of custom dimensions.
|
205 |
-
*
|
206 |
-
* @return array
|
207 |
-
*/
|
208 |
-
public function filter_image_downsize( $image, $attachment_id, $size ) {
|
209 |
-
// we don't run optimizations on dashboard side
|
210 |
-
if ( is_admin() ) {
|
211 |
-
return $image;
|
212 |
-
}
|
213 |
-
|
214 |
-
$image_url = wp_get_attachment_url( $attachment_id );
|
215 |
-
|
216 |
-
if ( $image_url ) {
|
217 |
-
// $image_meta = image_get_intermediate_size( $attachment_id, $size );
|
218 |
-
$image_meta = wp_get_attachment_metadata( $attachment_id );
|
219 |
-
$image_args = self::image_sizes();
|
220 |
-
|
221 |
-
// default size
|
222 |
-
$sizes = array(
|
223 |
-
'width' => isset( $image_meta['width'] ) ? $image_meta['width'] : 'auto',
|
224 |
-
'height' => isset( $image_meta['height'] ) ? $image_meta['height'] : 'auto',
|
225 |
-
);
|
226 |
-
|
227 |
-
// in case there is a custom image size $size will be an array.
|
228 |
-
if ( is_array( $size ) ) {
|
229 |
-
$sizes = array(
|
230 |
-
'width' => $size[0],
|
231 |
-
'height' => $size[1],
|
232 |
-
);
|
233 |
-
} elseif ( 'full' !== $size && isset( $image_args[ $size ] ) ) { // overwrite if there a size
|
234 |
-
$sizes = array(
|
235 |
-
'width' => $image_args[ $size ]['width'],
|
236 |
-
'height' => $image_args[ $size ]['height'],
|
237 |
-
);
|
238 |
-
}
|
239 |
-
|
240 |
-
$new_sizes = $this->validate_image_sizes( $sizes['width'], $sizes['height'] );
|
241 |
-
|
242 |
-
// resized thumbnails will have their own filenames. we should get those instead of the full image one
|
243 |
-
if ( is_string( $size ) && ! empty( $image_meta['sizes'] ) && ! empty( $image_meta['sizes'][ $size ] ) ) {
|
244 |
-
$image_url = str_replace( basename( $image_url ), $image_meta['sizes'][ $size ]['file'], $image_url );
|
245 |
-
}
|
246 |
-
|
247 |
-
// try to get an optimized image url.
|
248 |
-
$new_url = $this->get_imgcdn_url( $image_url, $new_sizes );
|
249 |
-
|
250 |
-
$return = array(
|
251 |
-
$new_url,
|
252 |
-
$sizes['width'],
|
253 |
-
$sizes['height'],
|
254 |
-
false,
|
255 |
-
);
|
256 |
-
|
257 |
-
return $return;
|
258 |
-
}
|
259 |
-
|
260 |
-
// in case something wrong comes, well return the default.
|
261 |
-
return $image;
|
262 |
-
}
|
263 |
-
|
264 |
-
/**
|
265 |
-
* Returns the array of image sizes since `get_intermediate_image_sizes` and image metadata doesn't include the
|
266 |
-
* custom image sizes in a reliable way.
|
267 |
-
*
|
268 |
-
* Inspired from jetpack/photon.
|
269 |
-
*
|
270 |
-
* @global $wp_additional_image_sizes
|
271 |
-
*
|
272 |
-
* @return array
|
273 |
-
*/
|
274 |
-
protected static function image_sizes() {
|
275 |
-
if ( null === self::$image_sizes ) {
|
276 |
-
global $_wp_additional_image_sizes;
|
277 |
-
|
278 |
-
// Populate an array matching the data structure of $_wp_additional_image_sizes so we have a consistent structure for image sizes
|
279 |
-
$images = array(
|
280 |
-
'thumb' => array(
|
281 |
-
'width' => intval( get_option( 'thumbnail_size_w' ) ),
|
282 |
-
'height' => intval( get_option( 'thumbnail_size_h' ) ),
|
283 |
-
'crop' => (bool) get_option( 'thumbnail_crop' ),
|
284 |
-
),
|
285 |
-
'medium' => array(
|
286 |
-
'width' => intval( get_option( 'medium_size_w' ) ),
|
287 |
-
'height' => intval( get_option( 'medium_size_h' ) ),
|
288 |
-
'crop' => false,
|
289 |
-
),
|
290 |
-
'large' => array(
|
291 |
-
'width' => intval( get_option( 'large_size_w' ) ),
|
292 |
-
'height' => intval( get_option( 'large_size_h' ) ),
|
293 |
-
'crop' => false,
|
294 |
-
),
|
295 |
-
'full' => array(
|
296 |
-
'width' => null,
|
297 |
-
'height' => null,
|
298 |
-
'crop' => false,
|
299 |
-
),
|
300 |
-
);
|
301 |
-
|
302 |
-
// Compatibility mapping as found in wp-includes/media.php
|
303 |
-
$images['thumbnail'] = $images['thumb'];
|
304 |
-
|
305 |
-
// Update class variable, merging in $_wp_additional_image_sizes if any are set
|
306 |
-
if ( is_array( $_wp_additional_image_sizes ) && ! empty( $_wp_additional_image_sizes ) ) {
|
307 |
-
self::$image_sizes = array_merge( $images, $_wp_additional_image_sizes );
|
308 |
-
} else {
|
309 |
-
self::$image_sizes = $images;
|
310 |
-
}
|
311 |
-
}
|
312 |
-
|
313 |
-
return is_array( self::$image_sizes ) ? self::$image_sizes : array();
|
314 |
-
}
|
315 |
-
|
316 |
-
/**
|
317 |
-
* Keep the image sizes under a sane limit.
|
318 |
-
*
|
319 |
-
* @param string $width The width value which should be sanitized.
|
320 |
-
* @param string $height The height value which should be sanitized.
|
321 |
-
*
|
322 |
-
* @return array
|
323 |
-
*/
|
324 |
-
protected function validate_image_sizes( $width, $height ) {
|
325 |
-
global $content_width;
|
326 |
-
/**
|
327 |
-
* While we are inside a content filter we need to keep our max_width under the content_width global
|
328 |
-
* There is no reason the have a image wider than the content width.
|
329 |
-
*/
|
330 |
-
if (
|
331 |
-
doing_filter( 'the_content' )
|
332 |
-
&& isset( $GLOBALS['content_width'] )
|
333 |
-
&& apply_filters( 'optml_imgcdn_allow_resize_images_from_content_width', true )
|
334 |
-
) {
|
335 |
-
$content_width = (int) $GLOBALS['content_width'];
|
336 |
-
|
337 |
-
if ( $this->max_width > $content_width ) {
|
338 |
-
$this->max_width = $content_width;
|
339 |
-
}
|
340 |
-
}
|
341 |
-
|
342 |
-
$percentWidth = $percentHeight = null;
|
343 |
-
|
344 |
-
if ( $width > $this->max_width ) {
|
345 |
-
// we need to remember how much in percentage the width was resized and apply the same treatment to the height.
|
346 |
-
$percentWidth = ( 1 - $this->max_width / $width ) * 100;
|
347 |
-
$width = $this->max_width;
|
348 |
-
$height = round( $height * ( ( 100 - $percentWidth ) / 100 ), 0 );
|
349 |
-
}
|
350 |
-
|
351 |
-
// now for the height
|
352 |
-
if ( $height > $this->max_height ) {
|
353 |
-
$percentHeight = ( 1 - $this->max_height / $height ) * 100;
|
354 |
-
// if we reduce the height to max_height by $x percentage than we'll also reduce the width for the same amount.
|
355 |
-
$height = $this->max_height;
|
356 |
-
$width = round( $width * ( ( 100 - $percentHeight ) / 100 ), 0 );
|
357 |
-
}
|
358 |
-
|
359 |
-
return array(
|
360 |
-
'width' => $width,
|
361 |
-
'height' => $height,
|
362 |
-
);
|
363 |
-
}
|
364 |
-
|
365 |
-
/**
|
366 |
-
* Returns a signed image url authorized to be used in our CDN.
|
367 |
-
*
|
368 |
-
* @param string $url The url which should be signed.
|
369 |
-
* @param array $args Dimension params; Supports `width` and `height`.
|
370 |
-
*
|
371 |
-
* @return string
|
372 |
-
*/
|
373 |
-
protected function get_imgcdn_url( $url, $args = array( 'width' => 'auto', 'height' => 'auto' ) ) {
|
374 |
-
|
375 |
-
if ( ! $this->check_mimetype( $url ) ) {
|
376 |
-
return $url;
|
377 |
-
}
|
378 |
-
// not used yet.
|
379 |
-
$compress_level = 55;
|
380 |
-
// this will authorize the image
|
381 |
-
$url_parts = explode( '://', $url );
|
382 |
-
$scheme = $url_parts[0];
|
383 |
-
$path = $url_parts[1];
|
384 |
-
if ( $args['width'] !== 'auto' ) {
|
385 |
-
$args['width'] = round( $args['width'], 0 );
|
386 |
-
}
|
387 |
-
if ( $args['height'] !== 'auto' ) {
|
388 |
-
$args['height'] = round( $args['height'], 0 );
|
389 |
-
}
|
390 |
-
$payload = array(
|
391 |
-
'path' => $this->urlception_encode( $path ),
|
392 |
-
'scheme' => $scheme,
|
393 |
-
'width' => (string) $args['width'],
|
394 |
-
'height' => (string) $args['height'],
|
395 |
-
'quality' => (string) $compress_level,
|
396 |
-
);
|
397 |
-
ksort( $payload );
|
398 |
-
|
399 |
-
$values = array_values( $payload );
|
400 |
-
$payload = implode( '', $values );
|
401 |
-
$hash = hash_hmac( 'md5', $payload, $this->cdn_secret );
|
402 |
-
|
403 |
-
$new_url = sprintf(
|
404 |
-
'%s/%s/%s/%s/%s/%s/%s',
|
405 |
-
$this->cdn_url,
|
406 |
-
$hash,
|
407 |
-
(string) $args['width'],
|
408 |
-
(string) $args['height'],
|
409 |
-
(string) $compress_level,
|
410 |
-
$scheme,
|
411 |
-
$path
|
412 |
-
);
|
413 |
-
|
414 |
-
return $new_url;
|
415 |
-
}
|
416 |
-
|
417 |
-
/**
|
418 |
-
* Ensures that an url parameter can stand inside an url.
|
419 |
-
*
|
420 |
-
* @param string $url The required url.
|
421 |
-
*
|
422 |
-
* @return string
|
423 |
-
*/
|
424 |
-
protected function urlception_encode( $url ) {
|
425 |
-
$new_url = rtrim( $url, '/' );
|
426 |
-
|
427 |
-
return urlencode( $new_url );
|
428 |
-
}
|
429 |
-
|
430 |
-
/**
|
431 |
-
* Identify images in post content.
|
432 |
-
*
|
433 |
-
* @param string $content The post content which will be filtered.
|
434 |
-
*
|
435 |
-
* @return string
|
436 |
-
*/
|
437 |
-
public function filter_the_content( $content ) {
|
438 |
-
$images = self::parse_images_from_html( $content );
|
439 |
-
|
440 |
-
if ( empty( $images ) ) {
|
441 |
-
return $content; // simple. no images
|
442 |
-
}
|
443 |
-
|
444 |
-
$image_sizes = self::image_sizes();
|
445 |
-
foreach ( $images[0] as $index => $tag ) {
|
446 |
-
$width = $height = false;
|
447 |
-
$new_tag = $tag;
|
448 |
-
$src = $images['img_url'][ $index ];
|
449 |
-
|
450 |
-
if ( apply_filters( 'optml_imgcdn_disable_optimization_for_link', false, $src ) ) {
|
451 |
-
continue;
|
452 |
-
}
|
453 |
-
|
454 |
-
if ( false !== strpos( $src, 'i.optimole.com' ) ) {
|
455 |
-
continue; // we already have this
|
456 |
-
}
|
457 |
-
|
458 |
-
// we handle only images uploaded to this site.
|
459 |
-
if ( false === strpos( $src, $this->upload_dir ) ) {
|
460 |
-
continue;
|
461 |
-
}
|
462 |
-
|
463 |
-
// try to get the declared sizes from the img tag
|
464 |
-
if ( preg_match( '#width=["|\']?([\d%]+)["|\']?#i', $images['img_tag'][ $index ], $width_string ) ) {
|
465 |
-
$width = $width_string[1];
|
466 |
-
}
|
467 |
-
|
468 |
-
if ( preg_match( '#height=["|\']?([\d%]+)["|\']?#i', $images['img_tag'][ $index ], $height_string ) ) {
|
469 |
-
$height = $height_string[1];
|
470 |
-
}
|
471 |
-
|
472 |
-
// Detect WP registered image size from HTML class
|
473 |
-
if ( preg_match( '#class=["|\']?[^"\']*size-([^"\'\s]+)[^"\']*["|\']?#i', $images['img_tag'][ $index ], $size ) ) {
|
474 |
-
$size = array_pop( $size );
|
475 |
-
|
476 |
-
if ( false === $width && false === $height && 'full' !== $size && array_key_exists( $size, $image_sizes, true ) ) {
|
477 |
-
$width = (int) $image_sizes[ $size ]['width'];
|
478 |
-
$height = (int) $image_sizes[ $size ]['height'];
|
479 |
-
}
|
480 |
-
} else {
|
481 |
-
unset( $size );
|
482 |
-
}
|
483 |
-
|
484 |
-
$new_sizes = $this->validate_image_sizes( $width, $height );
|
485 |
-
|
486 |
-
$new_url = $this->get_imgcdn_url( $src, $new_sizes );
|
487 |
-
|
488 |
-
// replace the url in hrefs or links
|
489 |
-
if ( ! empty( $images['link_url'][ $index ] ) ) {
|
490 |
-
if ( $this->check_mimetype( $images['link_url'][ $index ] ) ) {
|
491 |
-
$new_tag = preg_replace( '#(href=["|\'])' . $images['link_url'][ $index ] . '(["|\'])#i', '\1' . $new_url . '\2', $tag, 1 );
|
492 |
-
}
|
493 |
-
}
|
494 |
-
|
495 |
-
// replace the new sizes
|
496 |
-
$new_tag = str_replace( 'width="' . $width . '"', 'width="' . $new_sizes['width'] . '"', $new_tag );
|
497 |
-
$new_tag = str_replace( 'height="' . $height . '"', 'height="' . $new_sizes['height'] . '"', $new_tag );
|
498 |
-
// replace the new url
|
499 |
-
$new_tag = str_replace( 'src="' . $src . '"', 'src="' . $new_url . '"', $new_tag );
|
500 |
-
|
501 |
-
$content = str_replace( $tag, $new_tag, $content );
|
502 |
-
}
|
503 |
-
|
504 |
-
return $content;
|
505 |
-
}
|
506 |
-
|
507 |
-
/**
|
508 |
-
* Match all images and any relevant <a> tags in a block of HTML.
|
509 |
-
*
|
510 |
-
* @param string $content Some HTML.
|
511 |
-
*
|
512 |
-
* @return array An array of $images matches, where $images[0] is
|
513 |
-
* an array of full matches, and the link_url, img_tag,
|
514 |
-
* and img_url keys are arrays of those matches.
|
515 |
-
*/
|
516 |
-
protected static function parse_images_from_html( $content ) {
|
517 |
-
$images = array();
|
518 |
-
|
519 |
-
if ( preg_match_all( '#(?:<a[^>]+?href=["|\'](?P<link_url>[^\s]+?)["|\'][^>]*?>\s*)?(?P<img_tag><img[^>]*?\s+?src=["|\'](?P<img_url>[^\s]+?)["|\'].*?>){1}(?:\s*</a>)?#is', $content, $images ) ) {
|
520 |
-
foreach ( $images as $key => $unused ) {
|
521 |
-
// Simplify the output as much as possible, mostly for confirming test results.
|
522 |
-
if ( is_numeric( $key ) && $key > 0 ) {
|
523 |
-
unset( $images[ $key ] );
|
524 |
-
}
|
525 |
-
}
|
526 |
-
|
527 |
-
return $images;
|
528 |
-
}
|
529 |
-
|
530 |
-
return array();
|
531 |
-
}
|
532 |
-
|
533 |
-
/**
|
534 |
-
* Replace image URLs in the srcset attributes and in case there is a resize in action, also replace the sizes.
|
535 |
-
*
|
536 |
-
* @param array $sources Array of image sources.
|
537 |
-
* @param array $size_array Array of width and height values in pixels (in that order).
|
538 |
-
* @param array $image_src The 'src' of the image.
|
539 |
-
* @param array $image_meta The image meta data as returned by 'wp_get_attachment_metadata()'.
|
540 |
-
* @param int $attachment_id Image attachment ID.
|
541 |
-
*
|
542 |
-
* @return array
|
543 |
-
*/
|
544 |
-
public function filter_srcset_attr( $sources = array(), $size_array = array(), $image_src = array(), $image_meta = array(), $attachment_id = 0 ) {
|
545 |
-
if ( ! is_array( $sources ) ) {
|
546 |
-
return $sources;
|
547 |
-
}
|
548 |
-
$used = array();
|
549 |
-
$new_sources = array();
|
550 |
-
foreach ( $sources as $i => $source ) {
|
551 |
-
|
552 |
-
list( $width, $height ) = self::parse_dimensions_from_filename( $source['url'] );
|
553 |
-
|
554 |
-
if ( empty( $width ) ) {
|
555 |
-
$width = $image_meta['width'];
|
556 |
-
}
|
557 |
-
|
558 |
-
if ( empty( $height ) ) {
|
559 |
-
$height = $image_meta['height'];
|
560 |
-
}
|
561 |
-
|
562 |
-
$new_sizes = $this->validate_image_sizes( $width, $height );
|
563 |
-
$new_url = $this->get_imgcdn_url( $source['url'], $new_sizes );
|
564 |
-
if ( isset( $used[ md5( $new_url ) ] ) ) {
|
565 |
-
continue;
|
566 |
-
}
|
567 |
-
|
568 |
-
$used[ md5( $new_url ) ] = true;
|
569 |
-
$new_sources[ $i ] = $sources[ $i ];
|
570 |
-
$new_sources[ $i ]['url'] = $new_url;
|
571 |
-
|
572 |
-
if ( $new_sources[ $i ]['descriptor'] ) {
|
573 |
-
$new_sources[ $i ]['value'] = $new_sizes['width'];
|
574 |
-
} else {
|
575 |
-
$new_sources[ $i ]['value'] = $new_sizes['height'];
|
576 |
-
}
|
577 |
-
}
|
578 |
-
|
579 |
-
return $sources;
|
580 |
-
}
|
581 |
-
|
582 |
-
/**
|
583 |
-
* Try to determine height and width from strings WP appends to resized image filenames.
|
584 |
-
*
|
585 |
-
* @param string $src The image URL.
|
586 |
-
*
|
587 |
-
* @return array An array consisting of width and height.
|
588 |
-
*/
|
589 |
-
public static function parse_dimensions_from_filename( $src ) {
|
590 |
-
$width_height_string = array();
|
591 |
-
$extensions = array_keys( self::$extensions );
|
592 |
-
if ( preg_match( '#-(\d+)x(\d+)\.(?:' . implode( '|', $extensions ) . '){1}$#i', $src, $width_height_string ) ) {
|
593 |
-
$width = (int) $width_height_string[1];
|
594 |
-
$height = (int) $width_height_string[2];
|
595 |
-
|
596 |
-
if ( $width && $height ) {
|
597 |
-
return array( $width, $height );
|
598 |
-
}
|
599 |
-
}
|
600 |
-
|
601 |
-
return array( false, false );
|
602 |
-
}
|
603 |
-
|
604 |
-
/**
|
605 |
-
* Handles the url replacement in options and theme mods.
|
606 |
-
*/
|
607 |
-
public function filter_options_and_mods() {
|
608 |
-
/**
|
609 |
-
* `optml_imgcdn_options_with_url` is a filter that allows themes or plugins to select which option
|
610 |
-
* holds an url and needs an optimization.
|
611 |
-
*/
|
612 |
-
$theme_slug = get_option( 'stylesheet' );
|
613 |
-
|
614 |
-
$options_list = apply_filters(
|
615 |
-
'optml_imgcdn_options_with_url',
|
616 |
-
array(
|
617 |
-
"theme_mods_$theme_slug",
|
618 |
-
)
|
619 |
-
);
|
620 |
-
|
621 |
-
foreach ( $options_list as $option ) {
|
622 |
-
add_filter( "option_$option", array( $this, 'replace_option_url' ) );
|
623 |
-
|
624 |
-
// this one will not work for theme mods, since get_theme_mod('header_image', $default) has its own default.
|
625 |
-
// add_filter( "default_option_$option", array( $this, 'replace_option_url' ) );
|
626 |
-
}
|
627 |
-
|
628 |
-
}
|
629 |
-
|
630 |
-
/**
|
631 |
-
* A filter which turns a local url into an optimized CDN image url or an array of image urls.
|
632 |
-
*
|
633 |
-
* @param string $url The url which should be replaced.
|
634 |
-
*
|
635 |
-
* @return string Replaced url.
|
636 |
-
*/
|
637 |
-
public function replace_option_url( $url ) {
|
638 |
-
if ( empty( $url ) ) {
|
639 |
-
return $url;
|
640 |
-
}
|
641 |
-
// $url might be an array or an json encoded array with urls.
|
642 |
-
if ( is_array( $url ) || filter_var( $url, FILTER_VALIDATE_URL ) === false ) {
|
643 |
-
$array = $url;
|
644 |
-
$encoded = false;
|
645 |
-
|
646 |
-
// it might a json encoded array
|
647 |
-
if ( is_string( $url ) ) {
|
648 |
-
$array = json_decode( $url, true );
|
649 |
-
$encoded = true;
|
650 |
-
}
|
651 |
-
|
652 |
-
// in case there is an array, apply it recursively.
|
653 |
-
if ( is_array( $array ) ) {
|
654 |
-
foreach ( $array as $index => $value ) {
|
655 |
-
$array[ $index ] = $this->replace_option_url( $value );
|
656 |
-
}
|
657 |
-
|
658 |
-
if ( $encoded ) {
|
659 |
-
return json_encode( $array );
|
660 |
-
} else {
|
661 |
-
return $array;
|
662 |
-
}
|
663 |
-
}
|
664 |
-
|
665 |
-
if ( filter_var( $url, FILTER_VALIDATE_URL ) === false ) {
|
666 |
-
return $url;
|
667 |
-
}
|
668 |
-
}
|
669 |
-
|
670 |
-
// we handle only images uploaded to this site./
|
671 |
-
// @TODO this is still wrong, not all the images are coming from the uploads folder.
|
672 |
-
// if ( false === strpos( $url, $this->upload_dir ) ) {
|
673 |
-
// return $url;
|
674 |
-
// }
|
675 |
-
// get the optimized url.
|
676 |
-
$new_url = $this->get_imgcdn_url( $url );
|
677 |
-
|
678 |
-
return $new_url;
|
679 |
-
}
|
680 |
-
|
681 |
-
/**
|
682 |
-
* Throw error on object clone
|
683 |
-
*
|
684 |
-
* The whole idea of the singleton design pattern is that there is a single
|
685 |
-
* object therefore, we don't want the object to be cloned.
|
686 |
-
*
|
687 |
-
* @access public
|
688 |
-
* @since 1.0.0
|
689 |
-
* @return void
|
690 |
-
*/
|
691 |
-
public function __clone() {
|
692 |
-
// Cloning instances of the class is forbidden.
|
693 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'themeisle-companion' ), '1.0.0' );
|
694 |
-
}
|
695 |
-
|
696 |
-
/**
|
697 |
-
* Disable unserializing of the class
|
698 |
-
*
|
699 |
-
* @access public
|
700 |
-
* @since 1.0.0
|
701 |
-
* @return void
|
702 |
-
*/
|
703 |
-
public function __wakeup() {
|
704 |
-
// Unserializing instances of the class is forbidden.
|
705 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'themeisle-companion' ), '1.0.0' );
|
706 |
-
}
|
707 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/image-cdn/inc/class-request.php
DELETED
@@ -1,127 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace OrbitFox;
|
4 |
-
|
5 |
-
/**
|
6 |
-
* A class for building an Authorization header for http requests.
|
7 |
-
*
|
8 |
-
* @package \OrbitFox\Image_CDN_Replacer
|
9 |
-
* @author Themeisle <friends@themeisle.com>
|
10 |
-
*/
|
11 |
-
class Request {
|
12 |
-
/**
|
13 |
-
* The API key.
|
14 |
-
*
|
15 |
-
* @var null
|
16 |
-
*/
|
17 |
-
protected $api_key = null;
|
18 |
-
|
19 |
-
/**
|
20 |
-
* The api url where we are trying to connect.
|
21 |
-
*
|
22 |
-
* @var null
|
23 |
-
*/
|
24 |
-
protected $api_url = null;
|
25 |
-
|
26 |
-
/**
|
27 |
-
* Defines which header brings the authorization key.
|
28 |
-
*
|
29 |
-
* @var string
|
30 |
-
*/
|
31 |
-
protected $auth_header = 'Authorization';
|
32 |
-
|
33 |
-
/**
|
34 |
-
* A list of extra params in the current request.
|
35 |
-
*
|
36 |
-
* @var array
|
37 |
-
*/
|
38 |
-
protected $extra_params = array();
|
39 |
-
|
40 |
-
/**
|
41 |
-
* The HTTP method.
|
42 |
-
*
|
43 |
-
* @var null|string
|
44 |
-
*/
|
45 |
-
protected $method = null;
|
46 |
-
|
47 |
-
/**
|
48 |
-
* Request constructor.
|
49 |
-
*
|
50 |
-
* @param string $url The request url.
|
51 |
-
* @param string $method The request method type.
|
52 |
-
* @param string $api_key The client key.
|
53 |
-
* @param array $extra_params Any extra param to be signed.
|
54 |
-
*/
|
55 |
-
public function __construct( $url, $method = 'GET', $api_key = '', $extra_params = array() ) {
|
56 |
-
|
57 |
-
// The url for our custom endpoint, which returns network settings.
|
58 |
-
$this->url = esc_url( $url );
|
59 |
-
|
60 |
-
// All we really care about here is GET requests.
|
61 |
-
$this->method = $method;
|
62 |
-
|
63 |
-
if ( ! empty( $api_key ) ) {
|
64 |
-
$this->api_key = $api_key;
|
65 |
-
|
66 |
-
return;
|
67 |
-
}
|
68 |
-
$connect_data = get_option( 'obfx_connect_data' );
|
69 |
-
|
70 |
-
if ( isset( $connect_data['api_key'] ) ) {
|
71 |
-
$this->api_key = $connect_data['api_key'];
|
72 |
-
}
|
73 |
-
|
74 |
-
}
|
75 |
-
|
76 |
-
|
77 |
-
/**
|
78 |
-
* Make an oauth'd http request.
|
79 |
-
*
|
80 |
-
* @return string|object The result of an oauth'd http request.
|
81 |
-
*/
|
82 |
-
public function get_response() {
|
83 |
-
// Grab the url to which we'll be making the request.
|
84 |
-
$url = $this->url;
|
85 |
-
|
86 |
-
// If there is a extra, add that as a url var.
|
87 |
-
if ( 'GET' === $this->method && ! empty( $this->extra_params ) ) {
|
88 |
-
foreach ( $this->extra_params as $key => $val ) {
|
89 |
-
$url = add_query_arg( array( $key => $val ), $url );
|
90 |
-
}
|
91 |
-
}
|
92 |
-
|
93 |
-
// Args for wp_remote_*().
|
94 |
-
$args = array(
|
95 |
-
'method' => $this->method,
|
96 |
-
'timeout' => 45,
|
97 |
-
'httpversion' => '1.0',
|
98 |
-
'body' => $this->extra_params,
|
99 |
-
'sslverify' => false,
|
100 |
-
'headers' => array(
|
101 |
-
$this->auth_header => 'Bearer ' . $this->api_key,
|
102 |
-
),
|
103 |
-
);
|
104 |
-
$response = wp_remote_request( $url, $args );
|
105 |
-
|
106 |
-
if ( is_wp_error( $response ) ) {
|
107 |
-
return false;
|
108 |
-
}
|
109 |
-
$response = wp_remote_retrieve_body( $response );
|
110 |
-
|
111 |
-
if ( empty( $response ) ) {
|
112 |
-
return false;
|
113 |
-
}
|
114 |
-
|
115 |
-
$response = json_decode( $response, true );
|
116 |
-
|
117 |
-
if ( ! $response['code'] ) {
|
118 |
-
return false;
|
119 |
-
}
|
120 |
-
if ( intval( $response['code'] ) !== 200 ) {
|
121 |
-
return false;
|
122 |
-
}
|
123 |
-
|
124 |
-
return $response['data'];
|
125 |
-
}
|
126 |
-
|
127 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/image-cdn/init.php
DELETED
@@ -1,411 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* The Orbit Fox Image CDN Module.
|
5 |
-
*
|
6 |
-
* @link https://themeisle.com
|
7 |
-
* @since 1.0.0
|
8 |
-
*
|
9 |
-
* @package Image_CDN_OBFX_Module
|
10 |
-
*/
|
11 |
-
|
12 |
-
/**
|
13 |
-
* The class defines a new module to be used by Orbit Fox plugin.
|
14 |
-
*
|
15 |
-
* @package Image_CDN_OBFX_Module
|
16 |
-
* @author Themeisle <friends@themeisle.com>
|
17 |
-
*/
|
18 |
-
class Image_CDN_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
19 |
-
/**
|
20 |
-
* Dashboard related data.
|
21 |
-
*
|
22 |
-
* @var null|array Dashboard related data.
|
23 |
-
*/
|
24 |
-
protected $connect_data = null;
|
25 |
-
/**
|
26 |
-
* @var \OrbitFox\Connector $connector Orbitfox Api connector.
|
27 |
-
*/
|
28 |
-
private $connector;
|
29 |
-
|
30 |
-
/**
|
31 |
-
* Image_CDN_OBFX_Module constructor.
|
32 |
-
*
|
33 |
-
* @since 1.0.0
|
34 |
-
* @access public
|
35 |
-
*/
|
36 |
-
public function __construct() {
|
37 |
-
parent::__construct();
|
38 |
-
if ( isset( $_GET['loggedin'] ) && $_GET['loggedin'] == 'true' ) {
|
39 |
-
$this->show = true;
|
40 |
-
}
|
41 |
-
$this->no_save = true;
|
42 |
-
$this->name = sprintf( __( 'Image Optimization & CDN Module', 'themeisle-companion' ).' <sup class="obfx-title-deprecated">DEPRECATED<sup>' );
|
43 |
-
$this->description = sprintf( __( 'We are deprecating this module in favor of %sOptimole%s plugin for a more in depth integration and maintainability. You can safely disable this module and further use the dedicated plugin.', 'themeisle-companion' ), '<span class="dashicons dashicons-external"></span><a href="http://wordpress.org/plugins/optimole-wp" target="_blank">', '</a>' );
|
44 |
-
add_action( 'obfx_module_tile_after', [ $this, 'tryout' ], 10, 2 );
|
45 |
-
}
|
46 |
-
|
47 |
-
public function tryout( $slug = '', $active = false ) {
|
48 |
-
if ( $slug !== 'image-cdn' ) {
|
49 |
-
return;
|
50 |
-
}
|
51 |
-
if ( $active ) {
|
52 |
-
return;
|
53 |
-
}
|
54 |
-
echo sprintf( __( '%sTest your site%s','themeisle-companion' ), '<span class="obfx-tryout-message"><a href="' . esc_url( sprintf( 'https://speedtest.optimole.com/?url=%s', get_site_url() ) ) . '" target="_blank">', '</a></span>' );
|
55 |
-
}
|
56 |
-
|
57 |
-
/**
|
58 |
-
* Determine if module should be loaded.
|
59 |
-
*
|
60 |
-
* @since 1.0.0
|
61 |
-
* @access public
|
62 |
-
* @return bool
|
63 |
-
*/
|
64 |
-
public function enable_module() {
|
65 |
-
require_once( ABSPATH . 'wp-admin' . '/includes/plugin.php' );
|
66 |
-
// Bail if we optimole already.
|
67 |
-
if ( is_plugin_active( 'optimole-wp/optimole-wp.php' ) ) {
|
68 |
-
return false;
|
69 |
-
}
|
70 |
-
return $this->is_replacer_enabled();
|
71 |
-
}
|
72 |
-
|
73 |
-
/**
|
74 |
-
* The loading logic for the module.
|
75 |
-
*
|
76 |
-
* @since 1.0.0
|
77 |
-
* @access public
|
78 |
-
*/
|
79 |
-
public function load() {
|
80 |
-
}
|
81 |
-
|
82 |
-
/**
|
83 |
-
* Add top admin bar notice of traffic quota/usage.
|
84 |
-
*
|
85 |
-
* @param WP_Admin_Bar $wp_admin_bar Admin bar resource.
|
86 |
-
*/
|
87 |
-
public function add_traffic_node( $wp_admin_bar ) {
|
88 |
-
if ( ! is_user_logged_in() ) {
|
89 |
-
return;
|
90 |
-
}
|
91 |
-
$obfx_user_data = $this->get_api_data();
|
92 |
-
$args = array(
|
93 |
-
'id' => 'obfx_img_quota',
|
94 |
-
'title' => 'OrbitFox' . __( ' Image Traffic', 'themeisle-companion' ) . ': ' .
|
95 |
-
number_format( floatval( (
|
96 |
-
isset( $obfx_user_data['image_cdn']['usage'] ) ? $obfx_user_data['image_cdn']['usage'] : 0 / 1000 ) ), 3 ) . ' / ' .
|
97 |
-
number_format( floatval( ( isset( $obfx_user_data['image_cdn']['quota'] ) ? $obfx_user_data['image_cdn']['quota'] : 0 / 1000 ) ), 0 ) . 'GB',
|
98 |
-
'href' => 'https://dashboard.orbitfox.com/',
|
99 |
-
'meta' => array( 'target' => '_blank' )
|
100 |
-
);
|
101 |
-
$wp_admin_bar->add_node( $args );
|
102 |
-
|
103 |
-
}
|
104 |
-
|
105 |
-
/**
|
106 |
-
* Return api data.
|
107 |
-
*
|
108 |
-
* @return mixed|string APi data.
|
109 |
-
*/
|
110 |
-
private function get_api_data() {
|
111 |
-
|
112 |
-
if ( ! $this->get_is_active() ) {
|
113 |
-
return '';
|
114 |
-
}
|
115 |
-
|
116 |
-
return class_exists( '\OrbitFox\Connector' ) ? get_option( \OrbitFox\Connector::API_DATA_KEY, '' ) : '';
|
117 |
-
}
|
118 |
-
|
119 |
-
/**
|
120 |
-
* Render data from dashboard of orbitfox.com.
|
121 |
-
*/
|
122 |
-
public function render_connect_data( $html ) {
|
123 |
-
|
124 |
-
$obfx_user_data = $this->get_api_data();
|
125 |
-
$class = '';
|
126 |
-
if ( ! empty( $obfx_user_data ) ) {
|
127 |
-
$class = 'obfx-img-logged-in';
|
128 |
-
}
|
129 |
-
$display_name = isset( $obfx_user_data['display_name'] ) ? $obfx_user_data['display_name'] : '';
|
130 |
-
$usage = ( isset( $obfx_user_data['image_cdn'] ) && isset( $obfx_user_data['image_cdn']['usage'] ) ) ? $obfx_user_data['image_cdn']['usage'] : 0;
|
131 |
-
$quota = ( isset( $obfx_user_data['image_cdn'] ) && isset( $obfx_user_data['image_cdn']['quota'] ) ) ? $obfx_user_data['image_cdn']['quota'] : 0;
|
132 |
-
$html = '<div class="obfx-img-logged-in-data obfx-loggedin-show ' . $class . '" > ';
|
133 |
-
$html .= '<h5>' . __( 'Logged in as', 'themeisle-companion' ) . ' : <b id="obfx-img-display-name">' . esc_attr( $display_name ) . '</b></h5>';
|
134 |
-
$html .= '<p>' . __( 'Your private CDN url', 'themeisle-companion' ) . ' : <code id="obfx-img-cdn-url">' . $this->get_cdn_url() . '</code></p> ';
|
135 |
-
$html .= '<p>' . __( 'This month traffic usage', 'themeisle-companion' ) . ' : <code id="obfx-img-traffic-usage">' . number_format( floatval( ( $usage / 1000 ) ), 3 ) . ' GB</code>';
|
136 |
-
$html .= ' ' . __( 'Your traffic quota', 'themeisle-companion' ) . ' : <code class="obfx-img-traffic-quota">' . number_format( floatval( ( $quota / 1000 ) ), 3 ) . ' GB / month</code></p>';
|
137 |
-
$html .= '<p><i>' . __( 'You can use our image service and CDN in the limit of <span class="obfx-img-traffic-quota">', 'themeisle-companion' ) . number_format( floatval( ( $quota / 1000 ) ), 0 ) . '</span> per month. </i></p>';
|
138 |
-
$html .= '</div>';
|
139 |
-
|
140 |
-
return $html;
|
141 |
-
}
|
142 |
-
|
143 |
-
/**
|
144 |
-
* Get CDN private url.
|
145 |
-
*
|
146 |
-
* @return string Get CDN private url.
|
147 |
-
*/
|
148 |
-
private function get_cdn_url() {
|
149 |
-
$obfx_user_data = $this->get_api_data();
|
150 |
-
if ( empty( $obfx_user_data ) ) {
|
151 |
-
return '';
|
152 |
-
}
|
153 |
-
if ( ! isset( $obfx_user_data['image_cdn']['key'] ) ) {
|
154 |
-
return '';
|
155 |
-
}
|
156 |
-
|
157 |
-
return sprintf( '%s.i.optimole.com', strtolower( $obfx_user_data['image_cdn']['key'] ) );
|
158 |
-
|
159 |
-
}
|
160 |
-
|
161 |
-
/**
|
162 |
-
* Method that returns an array of scripts and styles to be loaded
|
163 |
-
* for the front end part.
|
164 |
-
*
|
165 |
-
* @since 1.0.0
|
166 |
-
* @access public
|
167 |
-
* @return array
|
168 |
-
*/
|
169 |
-
public function public_enqueue() {
|
170 |
-
return array();
|
171 |
-
}
|
172 |
-
|
173 |
-
/**
|
174 |
-
* Method that returns an array of scripts and styles to be loaded
|
175 |
-
* for the admin part.
|
176 |
-
*
|
177 |
-
* @since 1.0.0
|
178 |
-
* @access public
|
179 |
-
* @return array|boolean
|
180 |
-
*/
|
181 |
-
public function admin_enqueue() {
|
182 |
-
return array();
|
183 |
-
}
|
184 |
-
|
185 |
-
/**
|
186 |
-
* Options array for the Orbit Fox module.
|
187 |
-
*
|
188 |
-
* @return array
|
189 |
-
*/
|
190 |
-
public function options() {
|
191 |
-
//Hack to allow binding of img module connect button as the view for the module options is loaded either if the module is active or not.
|
192 |
-
|
193 |
-
//TODO Remove this when we have a way of loading module options async.
|
194 |
-
if ( is_admin() ) {
|
195 |
-
$this->hooks();
|
196 |
-
}
|
197 |
-
$obfx_user_data = $this->get_api_data();
|
198 |
-
if ( empty( $obfx_user_data ) ) {
|
199 |
-
$this->set_option( 'obfx_connect_api_key', '' );
|
200 |
-
$this->set_option( 'enable_cdn_replacer', '0' );
|
201 |
-
|
202 |
-
}
|
203 |
-
$class = '';
|
204 |
-
if ( ! empty( $obfx_user_data ) ) {
|
205 |
-
$class = 'obfx-img-logged-in';
|
206 |
-
}
|
207 |
-
$fields = array(
|
208 |
-
array(
|
209 |
-
'type' => 'title',
|
210 |
-
'name' => 'Tooltip',
|
211 |
-
'title' => sprintf( 'In order to get access to free image optimization service you will need an account on <a href="https://dashboard.orbitfox.com/register" target="_blank">orbitfox.com</a>. You will get access to our image optimization and CDN service for free in the limit of 1GB traffic per month.<br/> <i>Note: This is just a basic integration of the <a href="%s" target="_blank"> Optimole </a> service. For a more in-depth experience, try out the dedicated <a href="%s" target="_blank" >plugin</a>.</i>', 'https://optimole.com', 'http://wordpress.org/plugins/optimole-wp' )
|
212 |
-
),
|
213 |
-
array(
|
214 |
-
'id' => 'obfx_connect_api_key',
|
215 |
-
'name' => 'obfx_connect_api_key',
|
216 |
-
'type' => 'password',
|
217 |
-
'default' => isset( $obfx_user_data['api_key'] ) ? $obfx_user_data['api_key'] : '',
|
218 |
-
'placeholder' => __( 'Your OrbitFox api key', 'themeisle-companion' ),
|
219 |
-
'text' => '<span class="dashicons dashicons-share"></span>' . __( 'Connect with Orbitfox', 'themeisle-companion' ),
|
220 |
-
),
|
221 |
-
array(
|
222 |
-
'id' => 'obfx-register-service',
|
223 |
-
'type' => 'link',
|
224 |
-
'target' => '_blank',
|
225 |
-
'class' => 'obfx-loggedin-hide ' . $class,
|
226 |
-
'url' => 'https://dashboard.orbitfox.com/register',
|
227 |
-
'text' => ' Sign-Up for your API key',
|
228 |
-
'name' => 'obfx-register-service',
|
229 |
-
),
|
230 |
-
|
231 |
-
);
|
232 |
-
$fields[] = array(
|
233 |
-
'id' => 'obfx_connect',
|
234 |
-
'name' => 'obfx_connect',
|
235 |
-
'type' => 'link',
|
236 |
-
'url' => '#',
|
237 |
-
'class' => 'obfx-loggedin-hide ' . $class,
|
238 |
-
'link-class' => 'btn btn-success',
|
239 |
-
'text' => '<span class="dashicons dashicons-share"></span>' . __( 'Connect to OrbitFox service', 'themeisle-companion' ),
|
240 |
-
);
|
241 |
-
$fields[] = array(
|
242 |
-
'type' => 'custom',
|
243 |
-
'id' => 'cdn_logged_in_data',
|
244 |
-
'name' => 'cdn_logged_in_data',
|
245 |
-
);
|
246 |
-
$fields[] = array(
|
247 |
-
'id' => 'obfx_disconnect',
|
248 |
-
'name' => 'obfx_disconnect',
|
249 |
-
'type' => 'link',
|
250 |
-
'class' => 'obfx-loggedin-show ' . $class,
|
251 |
-
'url' => '#',
|
252 |
-
'link-class' => 'btn btn-danger float-right mb-10 obfx-img-logout ',
|
253 |
-
'text' => '<span class="dashicons dashicons-share"></span>' . __( 'Clear OrbitFox API key', 'themeisle-companion' ),
|
254 |
-
);
|
255 |
-
|
256 |
-
$fields[] = array(
|
257 |
-
'id' => 'enable_cdn_replacer',
|
258 |
-
'title' => '',
|
259 |
-
'name' => 'enable_cdn_replacer',
|
260 |
-
'type' => 'toggle',
|
261 |
-
'class' => ' obfx-img-cdn-replacer-switch obfx-loggedin-show ' . $class,
|
262 |
-
'label' => 'Serve all images optimised through OrbitFox CDN for a boost in speed.',
|
263 |
-
'default' => '0',
|
264 |
-
);
|
265 |
-
|
266 |
-
return $fields;
|
267 |
-
}
|
268 |
-
|
269 |
-
/**
|
270 |
-
* Method to define hooks needed.
|
271 |
-
*
|
272 |
-
* @since 1.0.0
|
273 |
-
* @access public
|
274 |
-
*/
|
275 |
-
public function hooks() {
|
276 |
-
/**
|
277 |
-
* Init the connector object and load deps.
|
278 |
-
*/
|
279 |
-
require_once __DIR__ . '/inc/class-request.php';
|
280 |
-
require_once __DIR__ . '/inc/class-orbit-fox-connector.php';
|
281 |
-
add_filter( 'obfx_custom_control_cdn_logged_in_data', array( $this, 'render_connect_data' ) );
|
282 |
-
$this->connector = \OrbitFox\Connector::instance();
|
283 |
-
|
284 |
-
$this->loader->add_action( 'rest_api_init', $this, 'register_url_endpoints' );
|
285 |
-
if ( ! $this->get_is_active() ) {
|
286 |
-
$this->set_option( 'enable_cdn_replacer', '0' );
|
287 |
-
$this->clear_api_data();
|
288 |
-
}
|
289 |
-
/**
|
290 |
-
* Load the image replacement logic if we are on the frontend,
|
291 |
-
* connected to the api and the replacement options is on.
|
292 |
-
*/
|
293 |
-
if ( ! is_admin() && $this->is_replacer_enabled() && $this->is_connected() ) {
|
294 |
-
require_once __DIR__ . '/inc/class-orbit-fox-image-replacer.php';
|
295 |
-
\OrbitFox\Image_CDN_Replacer::instance();
|
296 |
-
$this->loader->add_filter( 'wp_resource_hints', $this, 'add_dns_prefetch', 10, 2 );
|
297 |
-
|
298 |
-
}
|
299 |
-
/**
|
300 |
-
* Adds top admin bar notice of traffic, if the module is connected.
|
301 |
-
*/
|
302 |
-
if ( $this->is_connected() ) {
|
303 |
-
$this->loader->add_action( 'obfx_img_quota_sync', $this->connector, 'daily_check' );
|
304 |
-
|
305 |
-
if ( ! wp_next_scheduled( 'obfx_img_quota_sync' ) ) {
|
306 |
-
wp_schedule_event( time() + 10, 'daily', 'obfx_img_quota_sync', array() );
|
307 |
-
}
|
308 |
-
$this->loader->add_action( 'admin_bar_menu', $this, 'add_traffic_node', 9999 );
|
309 |
-
}
|
310 |
-
|
311 |
-
}
|
312 |
-
|
313 |
-
/**
|
314 |
-
* Return api data.
|
315 |
-
*
|
316 |
-
* @return mixed|string APi data.
|
317 |
-
*/
|
318 |
-
private function clear_api_data() {
|
319 |
-
|
320 |
-
|
321 |
-
return update_option( \OrbitFox\Connector::API_DATA_KEY, '' );
|
322 |
-
}
|
323 |
-
|
324 |
-
/**
|
325 |
-
* Check if the image replacement is enabled.
|
326 |
-
*
|
327 |
-
* @return bool Connection status.
|
328 |
-
*/
|
329 |
-
private function is_replacer_enabled() {
|
330 |
-
if ( ! $this->get_is_active() ) {
|
331 |
-
return false;
|
332 |
-
}
|
333 |
-
$enabled = $this->get_option( 'enable_cdn_replacer' );
|
334 |
-
|
335 |
-
return boolval( $enabled );
|
336 |
-
|
337 |
-
}
|
338 |
-
|
339 |
-
/**
|
340 |
-
* Check if the module is connected to the api.
|
341 |
-
*
|
342 |
-
* @return bool Connection status.
|
343 |
-
*/
|
344 |
-
private function is_connected() {
|
345 |
-
|
346 |
-
$obfx_user_data = $this->get_api_data();
|
347 |
-
|
348 |
-
return ! empty( $obfx_user_data );
|
349 |
-
|
350 |
-
}
|
351 |
-
|
352 |
-
/**
|
353 |
-
* Adds cdn url for prefetch.
|
354 |
-
*
|
355 |
-
* @param array $hints Hints array.
|
356 |
-
* @param string $relation_type Type of relation.
|
357 |
-
*
|
358 |
-
* @return array Altered hints array.
|
359 |
-
*/
|
360 |
-
public function add_dns_prefetch( $hints, $relation_type ) {
|
361 |
-
if ( 'dns-prefetch' !== $relation_type ) {
|
362 |
-
return $hints;
|
363 |
-
}
|
364 |
-
$cdn_url = $this->get_cdn_url();
|
365 |
-
if ( empty( $cdn_url ) ) {
|
366 |
-
return $hints;
|
367 |
-
}
|
368 |
-
$hints[] = sprintf( '//%s', $cdn_url );
|
369 |
-
|
370 |
-
return $hints;
|
371 |
-
}
|
372 |
-
|
373 |
-
/**
|
374 |
-
* Update replacer callback.
|
375 |
-
*/
|
376 |
-
public function update_replacer( WP_REST_Request $request ) {
|
377 |
-
$flag = $request->get_param( 'update_replacer' );
|
378 |
-
$this->set_option( 'enable_cdn_replacer', $flag === 'yes' ? '1' : '0' );
|
379 |
-
|
380 |
-
return new WP_REST_Response( 'Replacer updated' );
|
381 |
-
}
|
382 |
-
|
383 |
-
/**
|
384 |
-
* Register module rest methods.
|
385 |
-
*/
|
386 |
-
public function register_url_endpoints() {
|
387 |
-
register_rest_route(
|
388 |
-
'obfx', '/connector-url', array(
|
389 |
-
array(
|
390 |
-
'methods' => \WP_REST_Server::CREATABLE,
|
391 |
-
'permission_callback' => function ( \WP_REST_Request $request ) {
|
392 |
-
return current_user_can( 'manage_options' );
|
393 |
-
},
|
394 |
-
'callback' => array( $this->connector, 'rest_handle_connector_url' ),
|
395 |
-
),
|
396 |
-
)
|
397 |
-
);
|
398 |
-
register_rest_route(
|
399 |
-
'obfx', '/update_replacer', array(
|
400 |
-
array(
|
401 |
-
'methods' => \WP_REST_Server::CREATABLE,
|
402 |
-
'permission_callback' => function ( \WP_REST_Request $request ) {
|
403 |
-
return current_user_can( 'manage_options' );
|
404 |
-
},
|
405 |
-
'callback' => array( $this, 'update_replacer' ),
|
406 |
-
),
|
407 |
-
)
|
408 |
-
);
|
409 |
-
}
|
410 |
-
|
411 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/menu-icons/inc/class-menu-icons-obfx-walker.php
CHANGED
@@ -19,7 +19,7 @@ class Menu_Icons_OBFX_Walker extends Walker_Nav_Menu_Edit {
|
|
19 |
Â
* @param array $args Menu item args.
|
20 |
Â
* @param int $id Nav menu ID.
|
21 |
Â
*/
|
22 |
-
function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
|
23 |
Â
parent::start_el( $output, $item, $depth, $args, $id );
|
24 |
Â
$icon = isset( $item->icon ) ? $item->icon : '';
|
25 |
Â
$output .= sprintf( '<input type="hidden" name="menu-item-icon[%d]" id="menu-item-icon-%d" value="%s">', $item->ID, $item->ID, $icon );
|
19 |
Â
* @param array $args Menu item args.
|
20 |
Â
* @param int $id Nav menu ID.
|
21 |
Â
*/
|
22 |
+
public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
|
23 |
Â
parent::start_el( $output, $item, $depth, $args, $id );
|
24 |
Â
$icon = isset( $item->icon ) ? $item->icon : '';
|
25 |
Â
$output .= sprintf( '<input type="hidden" name="menu-item-icon[%d]" id="menu-item-icon-%d" value="%s">', $item->ID, $item->ID, $icon );
|
obfx_modules/menu-icons/init.php
CHANGED
@@ -20,7 +20,7 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
20 |
Â
/**
|
21 |
Â
* The default icon to use.
|
22 |
Â
*/
|
23 |
-
const DEFAULT_ICON
|
24 |
Â
|
25 |
Â
/**
|
26 |
Â
* Menu_Icons_OBFX_Module constructor.
|
@@ -30,11 +30,11 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
30 |
Â
*/
|
31 |
Â
public function __construct() {
|
32 |
Â
parent::__construct();
|
33 |
-
$this->name
|
34 |
-
$this->description
|
35 |
Â
$this->active_default = true;
|
36 |
Â
|
37 |
-
add_action( 'admin_init', array( $this, 'check_conflict' )
|
38 |
Â
}
|
39 |
Â
|
40 |
Â
|
@@ -79,16 +79,16 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
79 |
Â
* @return WP_Post $menu the menu object.
|
80 |
Â
*/
|
81 |
Â
public function show_menu( $menu ) {
|
82 |
-
$icon
|
83 |
Â
if ( ! empty( $icon ) ) {
|
84 |
Â
$menu->icon = $icon;
|
85 |
Â
if ( ! is_admin() ) {
|
86 |
Â
// usually, icons are of the format fa-x or dashicons-x and when displayed they are displayed with classes 'fa fa-x' or 'dashicons dashicons-x'.
|
87 |
Â
// so let's determine the prefix class.
|
88 |
-
$array
|
89 |
-
$prefix
|
90 |
-
$prefix
|
91 |
-
$menu->title
|
92 |
Â
}
|
93 |
Â
}
|
94 |
Â
return $menu;
|
@@ -113,22 +113,22 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
113 |
Â
*
|
114 |
Â
* @return bool
|
115 |
Â
*/
|
116 |
-
private function should_load_fa(){
|
117 |
Â
|
118 |
Â
// Get all locations
|
119 |
Â
$locations = get_nav_menu_locations();
|
120 |
Â
|
121 |
-
if( empty( $locations ) ){
|
122 |
Â
return false;
|
123 |
Â
}
|
124 |
-
foreach ( $locations as $location => $menu_id ){
|
125 |
Â
$menu_items = wp_get_nav_menu_items( $menu_id );
|
126 |
Â
if ( ! is_array( $menu_items ) ) {
|
127 |
Â
continue;
|
128 |
Â
}
|
129 |
Â
foreach ( $menu_items as $menu_item ) {
|
130 |
Â
$icon = get_post_meta( $menu_item->ID, 'obfx_menu_icon', true );
|
131 |
-
if ( !empty( $icon ) ){
|
132 |
Â
return true;
|
133 |
Â
}
|
134 |
Â
}
|
@@ -146,7 +146,7 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
146 |
Â
* @return array
|
147 |
Â
*/
|
148 |
Â
public function public_enqueue() {
|
149 |
-
if( $this->should_load_fa() === false ){
|
150 |
Â
return array();
|
151 |
Â
}
|
152 |
Â
|
@@ -181,18 +181,21 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
181 |
Â
return array();
|
182 |
Â
}
|
183 |
Â
|
184 |
-
$this->localized
|
185 |
-
'admin'
|
186 |
-
'icons'
|
187 |
Â
'icon_default' => self::DEFAULT_ICON,
|
188 |
-
'i10n'
|
Â
|
|
Â
|
|
Â
|
|
189 |
Â
'powered_by' => sprintf( __( 'Powered by %s plugin', 'themeisle-companion' ), '<b>' . apply_filters( 'themeisle_companion_friendly_name', '' ) . '</b>' ),
|
190 |
Â
),
|
191 |
Â
),
|
192 |
Â
);
|
193 |
Â
|
194 |
Â
$font_awesome = array(
|
195 |
-
'vendor/font-awesome.min'
|
196 |
Â
'vendor/fontawesome-iconpicker.min' => array( 'vendor/font-awesome.min' ),
|
197 |
Â
);
|
198 |
Â
if ( wp_style_is( 'font-awesome', 'registered' ) || wp_style_is( 'font-awesome', 'enqueued' ) ) {
|
@@ -208,10 +211,10 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
208 |
Â
'admin' => array( 'vendor/fontawesome-iconpicker.min' ),
|
209 |
Â
)
|
210 |
Â
),
|
211 |
-
'js'
|
212 |
-
'vendor/bootstrap.min'
|
213 |
Â
'vendor/fontawesome-iconpicker.min' => array( 'vendor/bootstrap.min' ),
|
214 |
-
'admin'
|
215 |
Â
),
|
216 |
Â
);
|
217 |
Â
}
|
@@ -252,8 +255,8 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
252 |
Â
}
|
253 |
Â
|
254 |
Â
if ( ! function_exists( 'get_current_screen' ) ) {
|
255 |
-
|
256 |
-
|
257 |
Â
|
258 |
Â
$screen = get_current_screen();
|
259 |
Â
if ( ! $screen instanceof WP_Screen || 'nav-menus' !== $screen->id ) {
|
@@ -263,9 +266,9 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
263 |
Â
check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' );
|
264 |
Â
|
265 |
Â
if ( isset( $_POST['menu-item-icon'][ $menu_item_db_id ] ) ) {
|
266 |
-
$icon
|
267 |
Â
if ( self::DEFAULT_ICON === $icon ) {
|
268 |
-
$icon
|
269 |
Â
}
|
270 |
Â
update_post_meta( $menu_item_db_id, 'obfx_menu_icon', $icon );
|
271 |
Â
}
|
@@ -277,33 +280,35 @@ class Menu_Icons_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
277 |
Â
*/
|
278 |
Â
public function check_conflict() {
|
279 |
Â
// We need to include this so that the wp_edit_nav_menu_walker filter does not misbehave.
|
280 |
-
require_once
|
281 |
Â
|
282 |
Â
// Let's check if another walker has been defined.
|
283 |
Â
$walker = apply_filters( 'wp_edit_nav_menu_walker', '', '' );
|
284 |
Â
|
285 |
Â
// Yes, a conflict!
|
286 |
Â
if ( ! empty( $walker ) && $walker !== 'Menu_Icons_OBFX_Walker' ) {
|
287 |
-
$reflector
|
288 |
-
$path
|
289 |
Â
|
290 |
-
$name
|
291 |
-
$type
|
292 |
Â
if ( false !== strpos( $path, 'themes' ) ) {
|
293 |
-
$type
|
294 |
-
$theme
|
295 |
-
$name
|
296 |
Â
} else {
|
297 |
Â
$path = explode( 'plugins', $path );
|
298 |
-
$path = explode( DIRECTORY_SEPARATOR, isset($path[1]) ? $path[1] : '' );
|
299 |
Â
$path = array_values( array_filter( $path ) );
|
300 |
Â
if ( isset( $path[0] ) ) {
|
301 |
Â
$name = ' <b>' . esc_attr( $path[0] ) . '</b>';
|
302 |
Â
}
|
303 |
Â
$type = __( 'plugin', 'themeisle-companion' );
|
304 |
Â
}
|
305 |
-
|
306 |
-
|
Â
|
|
Â
|
|
307 |
Â
$this->active_default = false;
|
308 |
Â
}
|
309 |
Â
}
|
20 |
Â
/**
|
21 |
Â
* The default icon to use.
|
22 |
Â
*/
|
23 |
+
const DEFAULT_ICON = 'dashicons-obfx-default-icon';
|
24 |
Â
|
25 |
Â
/**
|
26 |
Â
* Menu_Icons_OBFX_Module constructor.
|
30 |
Â
*/
|
31 |
Â
public function __construct() {
|
32 |
Â
parent::__construct();
|
33 |
+
$this->name = __( 'Menu Icons', 'themeisle-companion' );
|
34 |
+
$this->description = __( 'Module to define menu icons for navigation.', 'themeisle-companion' );
|
35 |
Â
$this->active_default = true;
|
36 |
Â
|
37 |
+
add_action( 'admin_init', array( $this, 'check_conflict' ), 99 );
|
38 |
Â
}
|
39 |
Â
|
40 |
Â
|
79 |
Â
* @return WP_Post $menu the menu object.
|
80 |
Â
*/
|
81 |
Â
public function show_menu( $menu ) {
|
82 |
+
$icon = get_post_meta( $menu->ID, 'obfx_menu_icon', true );
|
83 |
Â
if ( ! empty( $icon ) ) {
|
84 |
Â
$menu->icon = $icon;
|
85 |
Â
if ( ! is_admin() ) {
|
86 |
Â
// usually, icons are of the format fa-x or dashicons-x and when displayed they are displayed with classes 'fa fa-x' or 'dashicons dashicons-x'.
|
87 |
Â
// so let's determine the prefix class.
|
88 |
+
$array = explode( '-', $icon );
|
89 |
+
$prefix = reset( $array );
|
90 |
+
$prefix = apply_filters( 'obfx_menu_icons_icon_class', $prefix, $icon );
|
91 |
+
$menu->title = sprintf( '<i class="obfx-menu-icon %s %s"></i>%s', $prefix, $icon, $menu->title );
|
92 |
Â
}
|
93 |
Â
}
|
94 |
Â
return $menu;
|
113 |
Â
*
|
114 |
Â
* @return bool
|
115 |
Â
*/
|
116 |
+
private function should_load_fa() {
|
117 |
Â
|
118 |
Â
// Get all locations
|
119 |
Â
$locations = get_nav_menu_locations();
|
120 |
Â
|
121 |
+
if ( empty( $locations ) ) {
|
122 |
Â
return false;
|
123 |
Â
}
|
124 |
+
foreach ( $locations as $location => $menu_id ) {
|
125 |
Â
$menu_items = wp_get_nav_menu_items( $menu_id );
|
126 |
Â
if ( ! is_array( $menu_items ) ) {
|
127 |
Â
continue;
|
128 |
Â
}
|
129 |
Â
foreach ( $menu_items as $menu_item ) {
|
130 |
Â
$icon = get_post_meta( $menu_item->ID, 'obfx_menu_icon', true );
|
131 |
+
if ( ! empty( $icon ) ) {
|
132 |
Â
return true;
|
133 |
Â
}
|
134 |
Â
}
|
146 |
Â
* @return array
|
147 |
Â
*/
|
148 |
Â
public function public_enqueue() {
|
149 |
+
if ( $this->should_load_fa() === false ) {
|
150 |
Â
return array();
|
151 |
Â
}
|
152 |
Â
|
181 |
Â
return array();
|
182 |
Â
}
|
183 |
Â
|
184 |
+
$this->localized = array(
|
185 |
+
'admin' => array(
|
186 |
+
'icons' => apply_filters( 'obfx_menu_icons_icon_list', $this->get_dashicons() ),
|
187 |
Â
'icon_default' => self::DEFAULT_ICON,
|
188 |
+
'i10n' => array(
|
189 |
+
/*
|
190 |
+
* translators: %s Plugin name
|
191 |
+
*/
|
192 |
Â
'powered_by' => sprintf( __( 'Powered by %s plugin', 'themeisle-companion' ), '<b>' . apply_filters( 'themeisle_companion_friendly_name', '' ) . '</b>' ),
|
193 |
Â
),
|
194 |
Â
),
|
195 |
Â
);
|
196 |
Â
|
197 |
Â
$font_awesome = array(
|
198 |
+
'vendor/font-awesome.min' => false,
|
199 |
Â
'vendor/fontawesome-iconpicker.min' => array( 'vendor/font-awesome.min' ),
|
200 |
Â
);
|
201 |
Â
if ( wp_style_is( 'font-awesome', 'registered' ) || wp_style_is( 'font-awesome', 'enqueued' ) ) {
|
211 |
Â
'admin' => array( 'vendor/fontawesome-iconpicker.min' ),
|
212 |
Â
)
|
213 |
Â
),
|
214 |
+
'js' => array(
|
215 |
+
'vendor/bootstrap.min' => array( 'jquery' ),
|
216 |
Â
'vendor/fontawesome-iconpicker.min' => array( 'vendor/bootstrap.min' ),
|
217 |
+
'admin' => array( 'vendor/fontawesome-iconpicker.min', 'jquery' ),
|
218 |
Â
),
|
219 |
Â
);
|
220 |
Â
}
|
255 |
Â
}
|
256 |
Â
|
257 |
Â
if ( ! function_exists( 'get_current_screen' ) ) {
|
258 |
+
return;
|
259 |
+
}
|
260 |
Â
|
261 |
Â
$screen = get_current_screen();
|
262 |
Â
if ( ! $screen instanceof WP_Screen || 'nav-menus' !== $screen->id ) {
|
266 |
Â
check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' );
|
267 |
Â
|
268 |
Â
if ( isset( $_POST['menu-item-icon'][ $menu_item_db_id ] ) ) {
|
269 |
+
$icon = sanitize_text_field( $_POST['menu-item-icon'][ $menu_item_db_id ] );
|
270 |
Â
if ( self::DEFAULT_ICON === $icon ) {
|
271 |
+
$icon = '';
|
272 |
Â
}
|
273 |
Â
update_post_meta( $menu_item_db_id, 'obfx_menu_icon', $icon );
|
274 |
Â
}
|
280 |
Â
*/
|
281 |
Â
public function check_conflict() {
|
282 |
Â
// We need to include this so that the wp_edit_nav_menu_walker filter does not misbehave.
|
283 |
+
require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
|
284 |
Â
|
285 |
Â
// Let's check if another walker has been defined.
|
286 |
Â
$walker = apply_filters( 'wp_edit_nav_menu_walker', '', '' );
|
287 |
Â
|
288 |
Â
// Yes, a conflict!
|
289 |
Â
if ( ! empty( $walker ) && $walker !== 'Menu_Icons_OBFX_Walker' ) {
|
290 |
+
$reflector = new ReflectionClass( $walker );
|
291 |
+
$path = str_replace( '\\', '/', $reflector->getFileName() );
|
292 |
Â
|
293 |
+
$name = '';
|
294 |
+
$type = '';
|
295 |
Â
if ( false !== strpos( $path, 'themes' ) ) {
|
296 |
+
$type = __( 'theme', 'themeisle-companion' );
|
297 |
+
$theme = wp_get_theme();
|
298 |
+
$name = $theme->get( 'Name' );
|
299 |
Â
} else {
|
300 |
Â
$path = explode( 'plugins', $path );
|
301 |
+
$path = explode( DIRECTORY_SEPARATOR, isset( $path[1] ) ? $path[1] : '' );
|
302 |
Â
$path = array_values( array_filter( $path ) );
|
303 |
Â
if ( isset( $path[0] ) ) {
|
304 |
Â
$name = ' <b>' . esc_attr( $path[0] ) . '</b>';
|
305 |
Â
}
|
306 |
Â
$type = __( 'plugin', 'themeisle-companion' );
|
307 |
Â
}
|
308 |
+
/*
|
309 |
+
* translators: %1$s Component name %2$s Component type
|
310 |
+
*/
|
311 |
+
$this->description .= '<br><i class="chip">' . sprintf( __( 'There appears to be a conflict with the %1$s %2$s. This module may not work as expected.', 'themeisle-companion' ), $type, $name ) . '</i>';
|
312 |
Â
$this->active_default = false;
|
313 |
Â
}
|
314 |
Â
}
|
obfx_modules/mystock-import/inc/photo.php
CHANGED
@@ -10,7 +10,7 @@ $pid = $photo['id'];
|
|
10 |
Â
if ( ! empty( $pid ) ) {
|
11 |
Â
$thumb = $photo['url_m'];
|
12 |
Â
?>
|
13 |
-
<li class='obfx-image' data-page="<?php esc_attr( $page ); ?>" data-pid="<?php echo esc_attr( $pid ); ?>" data-url="<?php echo
|
14 |
Â
<div class="obfx-preview">
|
15 |
Â
<div class="thumbnail">
|
16 |
Â
<div class="centered">
|
10 |
Â
if ( ! empty( $pid ) ) {
|
11 |
Â
$thumb = $photo['url_m'];
|
12 |
Â
?>
|
13 |
+
<li class='obfx-image' data-page="<?php esc_attr( $page ); ?>" data-pid="<?php echo esc_attr( $pid ); ?>" data-url="<?php echo esc_url( $photo['url_l'] ); ?>">
|
14 |
Â
<div class="obfx-preview">
|
15 |
Â
<div class="thumbnail">
|
16 |
Â
<div class="centered">
|
obfx_modules/mystock-import/inc/photos.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
Â
<?php
|
12 |
Â
if ( ! empty( $urls ) ) {
|
13 |
Â
foreach ( $urls as $photo ) {
|
14 |
-
include
|
15 |
Â
}
|
16 |
Â
}
|
17 |
Â
?>
|
11 |
Â
<?php
|
12 |
Â
if ( ! empty( $urls ) ) {
|
13 |
Â
foreach ( $urls as $photo ) {
|
14 |
+
include dirname( __FILE__ ) . '/photo.php';
|
15 |
Â
}
|
16 |
Â
}
|
17 |
Â
?>
|
obfx_modules/mystock-import/init.php
CHANGED
@@ -93,7 +93,7 @@ class Mystock_Import_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
93 |
Â
public function get_tab_content() {
|
94 |
Â
$urls = $this->get_images();
|
95 |
Â
$page = 1;
|
96 |
-
require $this->get_dir() .
|
97 |
Â
wp_die();
|
98 |
Â
}
|
99 |
Â
|
@@ -126,7 +126,7 @@ class Mystock_Import_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
126 |
Â
/**
|
127 |
Â
* Upload image.
|
128 |
Â
*/
|
129 |
-
function handle_request() {
|
130 |
Â
check_ajax_referer( $this->slug . filter_input( INPUT_SERVER, 'REMOTE_ADDR', FILTER_VALIDATE_IP ), 'security' );
|
131 |
Â
|
132 |
Â
if ( ! isset( $_POST['url'] ) ) {
|
@@ -134,7 +134,7 @@ class Mystock_Import_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
134 |
Â
wp_die();
|
135 |
Â
}
|
136 |
Â
|
137 |
-
$url = $_POST['url'];
|
138 |
Â
$name = basename( $url );
|
139 |
Â
$tmp_file = download_url( $url );
|
140 |
Â
if ( is_wp_error( $tmp_file ) ) {
|
@@ -162,17 +162,17 @@ class Mystock_Import_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
162 |
Â
/**
|
163 |
Â
* Ajax function to load new images.
|
164 |
Â
*/
|
165 |
-
function infinite_scroll() {
|
166 |
Â
check_ajax_referer( $this->slug . filter_input( INPUT_SERVER, 'REMOTE_ADDR', FILTER_VALIDATE_IP ), 'security' );
|
167 |
Â
|
168 |
Â
if ( ! isset( $_POST['page'] ) ) {
|
169 |
Â
wp_die();
|
170 |
Â
}
|
171 |
Â
|
172 |
-
//Update last page that was loaded
|
173 |
Â
$page = (int) $_POST['page'] + 1;
|
174 |
Â
|
175 |
-
//Request new page
|
176 |
Â
$urls = $this->get_images( $page );
|
177 |
Â
if ( ! empty( $urls ) ) {
|
178 |
Â
foreach ( $urls as $photo ) {
|
93 |
Â
public function get_tab_content() {
|
94 |
Â
$urls = $this->get_images();
|
95 |
Â
$page = 1;
|
96 |
+
require $this->get_dir() . '/inc/photos.php';
|
97 |
Â
wp_die();
|
98 |
Â
}
|
99 |
Â
|
126 |
Â
/**
|
127 |
Â
* Upload image.
|
128 |
Â
*/
|
129 |
+
public function handle_request() {
|
130 |
Â
check_ajax_referer( $this->slug . filter_input( INPUT_SERVER, 'REMOTE_ADDR', FILTER_VALIDATE_IP ), 'security' );
|
131 |
Â
|
132 |
Â
if ( ! isset( $_POST['url'] ) ) {
|
134 |
Â
wp_die();
|
135 |
Â
}
|
136 |
Â
|
137 |
+
$url = esc_url_raw( $_POST['url'] );
|
138 |
Â
$name = basename( $url );
|
139 |
Â
$tmp_file = download_url( $url );
|
140 |
Â
if ( is_wp_error( $tmp_file ) ) {
|
162 |
Â
/**
|
163 |
Â
* Ajax function to load new images.
|
164 |
Â
*/
|
165 |
+
public function infinite_scroll() {
|
166 |
Â
check_ajax_referer( $this->slug . filter_input( INPUT_SERVER, 'REMOTE_ADDR', FILTER_VALIDATE_IP ), 'security' );
|
167 |
Â
|
168 |
Â
if ( ! isset( $_POST['page'] ) ) {
|
169 |
Â
wp_die();
|
170 |
Â
}
|
171 |
Â
|
172 |
+
// Update last page that was loaded
|
173 |
Â
$page = (int) $_POST['page'] + 1;
|
174 |
Â
|
175 |
+
// Request new page
|
176 |
Â
$urls = $this->get_images( $page );
|
177 |
Â
if ( ! empty( $urls ) ) {
|
178 |
Â
foreach ( $urls as $photo ) {
|
obfx_modules/policy-notice/init.php
CHANGED
@@ -108,7 +108,7 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
108 |
Â
'title' => esc_html__( 'Policy Page', 'themeisle-companion' ),
|
109 |
Â
'type' => 'select',
|
110 |
Â
'default' => 0,
|
111 |
-
'options' =>
|
112 |
Â
),
|
113 |
Â
array(
|
114 |
Â
'id' => 'notice_link_label',
|
@@ -145,7 +145,7 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
145 |
Â
$this->loader->add_action( $this->get_slug() . '_before_options_save', $this, 'before_options_save', 10, 1 );
|
146 |
Â
|
147 |
Â
// if the cookie policy is already accepted we quit.
|
148 |
-
if ( isset( $_COOKIE['obfx-policy-consent'] ) && 'accepted' === $_COOKIE['obfx-policy-consent'] ) {
|
149 |
Â
return;
|
150 |
Â
}
|
151 |
Â
|
@@ -159,9 +159,9 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
159 |
Â
* Here we display the cookie bar template based on the given options.
|
160 |
Â
*/
|
161 |
Â
public function display_cookie_notice() {
|
162 |
-
$policy_link
|
163 |
Â
|
164 |
-
$policy_page
|
165 |
Â
|
166 |
Â
if ( ! empty( $policy_page ) ) {
|
167 |
Â
$policy_link = get_permalink( (int) get_option( 'wp_page_for_privacy_policy' ) );
|
@@ -179,7 +179,6 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
179 |
Â
);
|
180 |
Â
|
181 |
Â
// @TODO maybe think at some template system for a further hookable customization.
|
182 |
-
|
183 |
Â
// message output will start with a wrapper and an input tag which will decide if the template is visible or not
|
184 |
Â
$output = '<div class="obfx-cookie-bar-container"><input class="obfx-checkbox-cb" id="obfx-checkbox-cb" type="checkbox" />';
|
185 |
Â
|
@@ -193,7 +192,7 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
193 |
Â
// combine the buttons with the bar and close the wrapper.
|
194 |
Â
$output .= '<span class="obfx-cookie-bar">' . $policy_text . $buttons . '</span></div>';
|
195 |
Â
|
196 |
-
echo apply_filters( 'obfx_cookie_notice_output', $output, $options );
|
197 |
Â
}
|
198 |
Â
|
199 |
Â
/**
|
@@ -220,13 +219,15 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
220 |
Â
}, false);
|
221 |
Â
|
222 |
Â
})(window);
|
223 |
-
</script
|
Â
|
|
224 |
Â
}
|
225 |
Â
|
226 |
Â
/**
|
227 |
Â
* This modules needs a few CSS lines so there is no need to load a file for it.
|
228 |
Â
*/
|
229 |
-
public function wp_print_footer_style() {
|
Â
|
|
230 |
Â
<style>
|
231 |
Â
.obfx-cookie-bar-container {
|
232 |
Â
height: 0;
|
@@ -268,7 +269,8 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
268 |
Â
cursor: pointer;
|
269 |
Â
}
|
270 |
Â
</style>
|
271 |
-
|
Â
|
|
272 |
Â
|
273 |
Â
/**
|
274 |
Â
* When the core privacy page is changed, we'll also change the option within our module.
|
@@ -279,10 +281,10 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
279 |
Â
*
|
280 |
Â
* @return mixed
|
281 |
Â
*/
|
282 |
-
public function on_page_for_privacy_policy_save( $old_value, $value, $option ){
|
283 |
Â
|
284 |
Â
// if this action comes from our dashboard we need to stop and avoid a save loop.
|
285 |
-
if( doing_action( $this->get_slug() . '_before_options_save' ) ){
|
286 |
Â
return $value;
|
287 |
Â
}
|
288 |
Â
|
@@ -293,9 +295,10 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
293 |
Â
|
294 |
Â
/**
|
295 |
Â
* When the OrbitFox Module changes it's value, we also need to change the core version.
|
Â
|
|
296 |
Â
* @param $options
|
297 |
Â
*/
|
298 |
-
public function before_options_save( $options ){
|
299 |
Â
|
300 |
Â
// the default option doesn't need a a change.
|
301 |
Â
if ( empty( $options ) ) {
|
@@ -325,24 +328,26 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
325 |
Â
*
|
326 |
Â
* @return array
|
327 |
Â
*/
|
328 |
-
private function get_policy_pages_array(){
|
329 |
-
$core_policy_suffix
|
330 |
-
$url
|
331 |
Â
if ( empty( $url ) ) {
|
332 |
-
$core_policy_suffix
|
333 |
Â
}
|
334 |
Â
$options = array(
|
335 |
-
'0' => esc_html__( 'Default Core Policy', 'themeisle-companion' ) . $core_policy_suffix
|
336 |
Â
);
|
337 |
Â
|
338 |
-
$pages = get_pages(
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
Â
|
|
Â
|
|
346 |
Â
|
347 |
Â
if ( empty( $pages ) ) {
|
348 |
Â
return $options;
|
@@ -354,4 +359,4 @@ class Policy_Notice_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
354 |
Â
|
355 |
Â
return $options;
|
356 |
Â
}
|
357 |
-
}
|
108 |
Â
'title' => esc_html__( 'Policy Page', 'themeisle-companion' ),
|
109 |
Â
'type' => 'select',
|
110 |
Â
'default' => 0,
|
111 |
+
'options' => $this->get_policy_pages_array(),
|
112 |
Â
),
|
113 |
Â
array(
|
114 |
Â
'id' => 'notice_link_label',
|
145 |
Â
$this->loader->add_action( $this->get_slug() . '_before_options_save', $this, 'before_options_save', 10, 1 );
|
146 |
Â
|
147 |
Â
// if the cookie policy is already accepted we quit.
|
148 |
+
if ( isset( $_COOKIE['obfx-policy-consent'] ) && 'accepted' === $_COOKIE['obfx-policy-consent'] ) { //phpcs:ignore WordPress.VIP.RestrictedVariables.cache_constraints___COOKIE
|
149 |
Â
return;
|
150 |
Â
}
|
151 |
Â
|
159 |
Â
* Here we display the cookie bar template based on the given options.
|
160 |
Â
*/
|
161 |
Â
public function display_cookie_notice() {
|
162 |
+
$policy_link = get_option( 'wp_page_for_privacy_policy' ) ? get_permalink( (int) get_option( 'wp_page_for_privacy_policy' ) ) : '#';
|
163 |
Â
|
164 |
+
$policy_page = $this->get_option( 'policy_page' );
|
165 |
Â
|
166 |
Â
if ( ! empty( $policy_page ) ) {
|
167 |
Â
$policy_link = get_permalink( (int) get_option( 'wp_page_for_privacy_policy' ) );
|
179 |
Â
);
|
180 |
Â
|
181 |
Â
// @TODO maybe think at some template system for a further hookable customization.
|
Â
|
|
182 |
Â
// message output will start with a wrapper and an input tag which will decide if the template is visible or not
|
183 |
Â
$output = '<div class="obfx-cookie-bar-container"><input class="obfx-checkbox-cb" id="obfx-checkbox-cb" type="checkbox" />';
|
184 |
Â
|
192 |
Â
// combine the buttons with the bar and close the wrapper.
|
193 |
Â
$output .= '<span class="obfx-cookie-bar">' . $policy_text . $buttons . '</span></div>';
|
194 |
Â
|
195 |
+
echo wp_kses_post( apply_filters( 'obfx_cookie_notice_output', $output, $options ) );
|
196 |
Â
}
|
197 |
Â
|
198 |
Â
/**
|
219 |
Â
}, false);
|
220 |
Â
|
221 |
Â
})(window);
|
222 |
+
</script>
|
223 |
+
<?php
|
224 |
Â
}
|
225 |
Â
|
226 |
Â
/**
|
227 |
Â
* This modules needs a few CSS lines so there is no need to load a file for it.
|
228 |
Â
*/
|
229 |
+
public function wp_print_footer_style() {
|
230 |
+
?>
|
231 |
Â
<style>
|
232 |
Â
.obfx-cookie-bar-container {
|
233 |
Â
height: 0;
|
269 |
Â
cursor: pointer;
|
270 |
Â
}
|
271 |
Â
</style>
|
272 |
+
<?php
|
273 |
+
}
|
274 |
Â
|
275 |
Â
/**
|
276 |
Â
* When the core privacy page is changed, we'll also change the option within our module.
|
281 |
Â
*
|
282 |
Â
* @return mixed
|
283 |
Â
*/
|
284 |
+
public function on_page_for_privacy_policy_save( $old_value, $value, $option ) {
|
285 |
Â
|
286 |
Â
// if this action comes from our dashboard we need to stop and avoid a save loop.
|
287 |
+
if ( doing_action( $this->get_slug() . '_before_options_save' ) ) {
|
288 |
Â
return $value;
|
289 |
Â
}
|
290 |
Â
|
295 |
Â
|
296 |
Â
/**
|
297 |
Â
* When the OrbitFox Module changes it's value, we also need to change the core version.
|
298 |
+
*
|
299 |
Â
* @param $options
|
300 |
Â
*/
|
301 |
+
public function before_options_save( $options ) {
|
302 |
Â
|
303 |
Â
// the default option doesn't need a a change.
|
304 |
Â
if ( empty( $options ) ) {
|
328 |
Â
*
|
329 |
Â
* @return array
|
330 |
Â
*/
|
331 |
+
private function get_policy_pages_array() {
|
332 |
+
$core_policy_suffix = '';
|
333 |
+
$url = get_option( 'wp_page_for_privacy_policy' );
|
334 |
Â
if ( empty( $url ) ) {
|
335 |
+
$core_policy_suffix = ' (' . esc_html__( 'Not Set', 'themeisle-companion' ) . ')';
|
336 |
Â
}
|
337 |
Â
$options = array(
|
338 |
+
'0' => esc_html__( 'Default Core Policy', 'themeisle-companion' ) . $core_policy_suffix,
|
339 |
Â
);
|
340 |
Â
|
341 |
+
$pages = get_pages(
|
342 |
+
array(
|
343 |
+
'echo' => '0',
|
344 |
+
'post_status' => array( 'draft', 'publish' ),
|
345 |
+
'depth' => 0,
|
346 |
+
'child_of' => 0,
|
347 |
+
'selected' => 0,
|
348 |
+
'value_field' => 'ID',
|
349 |
+
)
|
350 |
+
);
|
351 |
Â
|
352 |
Â
if ( empty( $pages ) ) {
|
353 |
Â
return $options;
|
359 |
Â
|
360 |
Â
return $options;
|
361 |
Â
}
|
362 |
+
}
|
obfx_modules/safe-updates/init.php
DELETED
@@ -1,556 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* A module to check changes before theme updates.
|
4 |
-
*
|
5 |
-
* @link https://themeisle.com
|
6 |
-
* @since 1.0.0
|
7 |
-
*
|
8 |
-
* @package Theme_Update_Check_OBFX_Module
|
9 |
-
*/
|
10 |
-
|
11 |
-
/**
|
12 |
-
* The class defines a new module to be used by Orbit Fox plugin.
|
13 |
-
*
|
14 |
-
* @package Theme_Update_Check_OBFX_Module
|
15 |
-
* @author Themeisle <friends@themeisle.com>
|
16 |
-
*/
|
17 |
-
class Safe_Updates_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
18 |
-
|
19 |
-
/**
|
20 |
-
* @var string ThemeCheck api endpoint.
|
21 |
-
*/
|
22 |
-
const API_ENDPOINT = 'https://dashboard.orbitfox.com/api/obfxhq/v1/updates/create/';
|
23 |
-
|
24 |
-
/**
|
25 |
-
* Test_OBFX_Module constructor.
|
26 |
-
*
|
27 |
-
* @since 1.0.0
|
28 |
-
* @access public
|
29 |
-
*/
|
30 |
-
public function __construct() {
|
31 |
-
parent::__construct();
|
32 |
-
$this->beta = false;
|
33 |
-
$this->no_save = true;
|
34 |
-
$this->name = __( 'Safe Updates', 'themeisle-companion' );
|
35 |
-
$this->description = __( 'OrbitFox will give you visual feedback on how your current theme updates will affect your site. For the moment this is available only for wordpress.org themes.', 'themeisle-companion' );
|
36 |
-
}
|
37 |
-
|
38 |
-
/**
|
39 |
-
* Method to determine if the module is enabled or not.
|
40 |
-
*
|
41 |
-
* @since 1.0.0
|
42 |
-
* @access public
|
43 |
-
* @return bool
|
44 |
-
*/
|
45 |
-
public function enable_module() {
|
46 |
-
|
47 |
-
return ( $this->beta ) ? $this->is_lucky_user() : true;
|
48 |
-
}
|
49 |
-
|
50 |
-
/**
|
51 |
-
* The method for the module load logic.
|
52 |
-
*
|
53 |
-
* @since 1.0.0
|
54 |
-
* @access public
|
55 |
-
* @return mixed
|
56 |
-
*/
|
57 |
-
public function load() {
|
58 |
-
return;
|
59 |
-
}
|
60 |
-
|
61 |
-
/**
|
62 |
-
* Method that returns an array of scripts and styles to be loaded
|
63 |
-
* for the front end part.
|
64 |
-
*
|
65 |
-
* @since 1.0.0
|
66 |
-
* @access public
|
67 |
-
* @return array
|
68 |
-
*/
|
69 |
-
public function public_enqueue() {
|
70 |
-
return array();
|
71 |
-
}
|
72 |
-
|
73 |
-
/**
|
74 |
-
* Method that returns an array of scripts and styles to be loaded
|
75 |
-
* for the admin part.
|
76 |
-
*
|
77 |
-
* @since 1.0.0
|
78 |
-
* @access public
|
79 |
-
* @return array
|
80 |
-
*/
|
81 |
-
public function admin_enqueue() {
|
82 |
-
if ( ! $this->is_safe_updates_active() ) {
|
83 |
-
return array();
|
84 |
-
}
|
85 |
-
$current_screen = get_current_screen();
|
86 |
-
if ( $current_screen->id != 'themes' && $current_screen->id != 'update-core' ) {
|
87 |
-
return array();
|
88 |
-
}
|
89 |
-
$info = $this->is_update_available();
|
90 |
-
|
91 |
-
if ( empty( $info ) ) {
|
92 |
-
return array();
|
93 |
-
}
|
94 |
-
$request_data = array(
|
95 |
-
'theme' => $info['theme'],
|
96 |
-
'current_version' => $info['current_version'],
|
97 |
-
'next_version' => $info['new_version'],
|
98 |
-
);
|
99 |
-
|
100 |
-
$data = $this->get_safe_updates_data( $request_data );
|
101 |
-
if ( empty( $data ) ) {
|
102 |
-
return array();
|
103 |
-
}
|
104 |
-
$this->localized = array(
|
105 |
-
'theme-update-check' => array(
|
106 |
-
'slug' => $this->get_active_theme_dir(),
|
107 |
-
),
|
108 |
-
);
|
109 |
-
$changes_info = $this->get_message_notice( array(
|
110 |
-
'global_diff' => $data['global_diff'],
|
111 |
-
'current_version' => $info['current_version'],
|
112 |
-
'new_version' => $info['new_version'],
|
113 |
-
'gallery_url' => $data['gallery_url'],
|
114 |
-
) );
|
115 |
-
|
116 |
-
$this->localized['theme-update-check']['check_msg'] = $changes_info;
|
117 |
-
|
118 |
-
return array(
|
119 |
-
'js' => array(
|
120 |
-
'theme-update-check' => array( 'jquery', 'wp-lists', 'backbone' ),
|
121 |
-
),
|
122 |
-
);
|
123 |
-
}
|
124 |
-
|
125 |
-
/**
|
126 |
-
* Check if safe updates is turned on.
|
127 |
-
*
|
128 |
-
* @return bool Safe updates status.
|
129 |
-
*/
|
130 |
-
private function is_safe_updates_active() {
|
131 |
-
|
132 |
-
return (bool) $this->get_option( 'auto_update_checks' );
|
133 |
-
}
|
134 |
-
|
135 |
-
/**
|
136 |
-
* Check if there is an update available.
|
137 |
-
*
|
138 |
-
* @param null $transient Transient to check.
|
139 |
-
*
|
140 |
-
* @return bool Is update available?
|
141 |
-
*/
|
142 |
-
private function is_update_available( $transient = null ) {
|
143 |
-
|
144 |
-
if ( $transient === null ) {
|
145 |
-
$transient = get_site_transient( 'update_themes' );
|
146 |
-
}
|
147 |
-
|
148 |
-
$slug = $this->get_active_theme_dir();
|
149 |
-
|
150 |
-
if ( ! isset( $transient->response[ $slug ]['new_version'] ) ) {
|
151 |
-
return false;
|
152 |
-
}
|
153 |
-
if ( version_compare( $transient->response[ $slug ]['new_version'], $transient->checked[ $slug ], '>' ) ) {
|
154 |
-
$transient->response[ $slug ]['current_version'] = $transient->checked[ $slug ];
|
155 |
-
|
156 |
-
$this->changes_check( $transient->response[ $slug ] );
|
157 |
-
|
158 |
-
return $transient->response[ $slug ];
|
159 |
-
}
|
160 |
-
|
161 |
-
return false;
|
162 |
-
}
|
163 |
-
|
164 |
-
/**
|
165 |
-
* Check remote api for safe updates data.
|
166 |
-
*
|
167 |
-
* @param array $info Theme details.
|
168 |
-
*
|
169 |
-
* @return array Remote api message.
|
170 |
-
*/
|
171 |
-
private function changes_check( $info ) {
|
172 |
-
if ( ! isset( $info['theme'] ) || empty( $info['theme'] ) ) {
|
173 |
-
return array();
|
174 |
-
}
|
175 |
-
if ( ! isset( $info['new_version'] ) || empty( $info['new_version'] ) ) {
|
176 |
-
return array();
|
177 |
-
}
|
178 |
-
if ( ! isset( $info['current_version'] ) || empty( $info['current_version'] ) ) {
|
179 |
-
return array();
|
180 |
-
}
|
181 |
-
$request_data = array(
|
182 |
-
'theme' => $info['theme'],
|
183 |
-
'current_version' => $info['current_version'],
|
184 |
-
'next_version' => $info['new_version'],
|
185 |
-
);
|
186 |
-
|
187 |
-
$data = $this->get_safe_updates_data( $request_data );
|
188 |
-
if ( ! empty( $data ) ) {
|
189 |
-
return $data;
|
190 |
-
}
|
191 |
-
/**
|
192 |
-
* Set lock and prevent calling the api for the next 30s.
|
193 |
-
*/
|
194 |
-
ksort( $request_data );
|
195 |
-
$cache_key = 'obfx_su_' . md5( serialize( $request_data ) );
|
196 |
-
$lock = get_transient( $cache_key );
|
197 |
-
if ( $lock === 'yes' ) {
|
198 |
-
return array();
|
199 |
-
}
|
200 |
-
$response = wp_remote_post( self::API_ENDPOINT, array(
|
201 |
-
'method' => 'POST',
|
202 |
-
'timeout' => 2,
|
203 |
-
'body' => $request_data,
|
204 |
-
)
|
205 |
-
);
|
206 |
-
if ( is_wp_error( $response ) ) {
|
207 |
-
return array();
|
208 |
-
}
|
209 |
-
$response_data = json_decode( wp_remote_retrieve_body( $response ), true );
|
210 |
-
if ( ! is_array( $response_data ) ) {
|
211 |
-
return array();
|
212 |
-
}
|
213 |
-
|
214 |
-
set_transient( $cache_key, 'yes', 30 );
|
215 |
-
|
216 |
-
if ( strval( $response_data['code'] ) !== '200' ) {
|
217 |
-
return array();
|
218 |
-
}
|
219 |
-
$response_data = $response_data['data'];
|
220 |
-
if ( ! is_array( $response_data ) ) {
|
221 |
-
return array();
|
222 |
-
}
|
223 |
-
$option_data = array(
|
224 |
-
$this->get_safe_updates_hash( $request_data ) => $response_data,
|
225 |
-
);
|
226 |
-
|
227 |
-
$this->set_option( 'checks', $option_data );
|
228 |
-
|
229 |
-
return $response_data;
|
230 |
-
}
|
231 |
-
|
232 |
-
/**
|
233 |
-
* Get cached safe updates api data.
|
234 |
-
*
|
235 |
-
* @param array $args Args to check.
|
236 |
-
*
|
237 |
-
* @return array Api data.
|
238 |
-
*/
|
239 |
-
private function get_safe_updates_data( $args = array() ) {
|
240 |
-
|
241 |
-
$payload_sha = $this->get_safe_updates_hash( $args );
|
242 |
-
$checks = $this->get_option( 'checks' );
|
243 |
-
|
244 |
-
if ( ! isset( $checks[ $payload_sha ] ) || empty( $checks[ $payload_sha ] ) || ! is_array( $checks[ $payload_sha ] ) || $checks[ $payload_sha ]['theme'] !== $args['theme'] ) {
|
245 |
-
return array();
|
246 |
-
}
|
247 |
-
|
248 |
-
return $checks[ $payload_sha ];
|
249 |
-
}
|
250 |
-
|
251 |
-
/**
|
252 |
-
* Get hash key based on the request data.
|
253 |
-
*
|
254 |
-
* @param array $args Arguments used to generate hash.
|
255 |
-
*
|
256 |
-
* @return string Hash key.
|
257 |
-
*/
|
258 |
-
private function get_safe_updates_hash( $args = array() ) {
|
259 |
-
ksort( $args );
|
260 |
-
|
261 |
-
$payload_sha = hash_hmac( 'sha256', json_encode( $args ), self::API_ENDPOINT );
|
262 |
-
|
263 |
-
return $payload_sha;
|
264 |
-
}
|
265 |
-
|
266 |
-
/**
|
267 |
-
* Return message string for safe updates notice.
|
268 |
-
*
|
269 |
-
* @param array $args Message placeholder.
|
270 |
-
*
|
271 |
-
* @return string Message string.
|
272 |
-
*/
|
273 |
-
public function get_message_notice( $args ) {
|
274 |
-
$diff = floatval( $args['global_diff'] );
|
275 |
-
$message = sprintf(
|
276 |
-
__( 'According to OrbitFox<sup>©</sup> there is a visual difference of %1$s % between your current version and the latest one. ', 'themeisle-companion' ),
|
277 |
-
number_format( $diff, 2 )
|
278 |
-
//$args['new_version']
|
279 |
-
);
|
280 |
-
if ( $diff > 0.1 ) {
|
281 |
-
$message .= sprintf( '<a href="%1$s" target="_blank">', add_query_arg( array( 'from_orbitfox' => 'yes' ), $args['gallery_url'] ) ) . __( 'View report', 'themeisle-companion' ) . '</a> ';
|
282 |
-
} else {
|
283 |
-
$message .= __( 'Is very likely that the update is safe. ', 'themeisle-companion' );
|
284 |
-
}
|
285 |
-
|
286 |
-
return $message;
|
287 |
-
|
288 |
-
}
|
289 |
-
|
290 |
-
/**
|
291 |
-
* Method to define the options fields for the module
|
292 |
-
*
|
293 |
-
* @since 1.0.0
|
294 |
-
* @access public
|
295 |
-
* @return array
|
296 |
-
*/
|
297 |
-
public function options() {
|
298 |
-
|
299 |
-
add_filter( 'obfx_custom_control_auto_update_toggle', array( $this, 'render_custom_control' ) );
|
300 |
-
|
301 |
-
add_action( 'admin_footer', array( $this, 'admin_inline_js' ) );
|
302 |
-
add_action( 'rest_api_init', array( $this, 'register_endpoints' ) );
|
303 |
-
if ( ! $this->get_is_active() ) {
|
304 |
-
$this->set_option( 'auto_update_checks', '0' );
|
305 |
-
}
|
306 |
-
|
307 |
-
return array(
|
308 |
-
array(
|
309 |
-
'name' => 'checks',
|
310 |
-
'type' => 'custom',
|
311 |
-
'default' => array(),
|
312 |
-
),
|
313 |
-
array(
|
314 |
-
'id' => 'auto_update_toggle',
|
315 |
-
'name' => 'auto_update_toggle',
|
316 |
-
'type' => 'custom',
|
317 |
-
),
|
318 |
-
);
|
319 |
-
}
|
320 |
-
|
321 |
-
/**
|
322 |
-
* Render custom control outpu.
|
323 |
-
*
|
324 |
-
* @return string Custom control output.
|
325 |
-
*/
|
326 |
-
public function render_custom_control() {
|
327 |
-
|
328 |
-
if ( ! $this->is_wp_available() ) {
|
329 |
-
add_action( 'shutdown', function () {
|
330 |
-
$this->set_status( 'active', false );
|
331 |
-
} );
|
332 |
-
|
333 |
-
return __( 'Unfortunately, our service is available only if your are using an wordpress.org theme. We are still working to extend this feature to custom and premium themes soon. ', 'themeisle-companion' );
|
334 |
-
}
|
335 |
-
|
336 |
-
$output = '<label>' . __( 'OrbitFox<sup>©</sup> will need your current theme slug in order to run a visual comparison report between your current and latest version. We will need your consent in order to do this. <br/>Read <a href="https://orbitfox.com/safe-updates/" target="_blank"><b>more</b></a> about this process.', 'themeisle-companion' ) . '';
|
337 |
-
if ( ! $this->is_safe_updates_active() ) {
|
338 |
-
$output .= '</label></br></br><a id="obfx-safe-updates-allow" class="btn btn-success" href="#"><span class="dashicons dashicons-yes"></span> <span>' . __( 'Allow', 'themeisle-companion' ) . '</span></a>';
|
339 |
-
} else {
|
340 |
-
$output .= ' If want to disable the update feedback, you can disable the module from the upper module list ↑</label><br/><br/>';
|
341 |
-
$output .= $this->get_safe_updates_status();
|
342 |
-
|
343 |
-
}
|
344 |
-
|
345 |
-
return $output;
|
346 |
-
}
|
347 |
-
|
348 |
-
/**
|
349 |
-
* Check if theme is available on wp.org.
|
350 |
-
*
|
351 |
-
* @return bool Check result.
|
352 |
-
*/
|
353 |
-
private function is_wp_available() {
|
354 |
-
|
355 |
-
$slug = $this->get_active_theme_dir();
|
356 |
-
$cache_key = $slug . '_wporg_check';
|
357 |
-
$cache = get_transient( $cache_key );
|
358 |
-
if ( $cache !== false ) {
|
359 |
-
return $cache === 'yes';
|
360 |
-
}
|
361 |
-
$response = wp_remote_get( 'http://api.wordpress.org/themes/info/1.1/?action=theme_information&request[slug]=' . $slug );
|
362 |
-
if ( is_wp_error( $response ) ) {
|
363 |
-
set_transient( $cache_key, 'no', HOUR_IN_SECONDS );
|
364 |
-
|
365 |
-
return false;
|
366 |
-
}
|
367 |
-
$body = wp_remote_retrieve_body( $response );
|
368 |
-
if ( empty( $body ) ) {
|
369 |
-
set_transient( $cache_key, 'no', HOUR_IN_SECONDS );
|
370 |
-
|
371 |
-
return false;
|
372 |
-
}
|
373 |
-
$body = json_decode( $body, true );
|
374 |
-
if ( ! is_array( $body ) ) {
|
375 |
-
set_transient( $cache_key, 'no', HOUR_IN_SECONDS );
|
376 |
-
|
377 |
-
return false;
|
378 |
-
}
|
379 |
-
|
380 |
-
set_transient( $cache_key, 'yes', HOUR_IN_SECONDS );
|
381 |
-
|
382 |
-
return true;
|
383 |
-
}
|
384 |
-
|
385 |
-
/**
|
386 |
-
* Get safe update process message.
|
387 |
-
*
|
388 |
-
* @return string Safe updates process message.
|
389 |
-
*/
|
390 |
-
private function get_safe_updates_status() {
|
391 |
-
$theme_data = $this->is_update_available();
|
392 |
-
if ( $theme_data === false ) {
|
393 |
-
return __( 'For the moment there is no update for your current theme. We will display a notice on the themes page as soon as there is one.', 'themeisle-companion' );
|
394 |
-
|
395 |
-
}
|
396 |
-
$changes = $this->changes_check( $theme_data );
|
397 |
-
if ( empty( $changes ) ) {
|
398 |
-
return __( 'OrbitFox<sup>©</sup> is now running a visual report for your theme update. Please check the themes <a href="' . admin_url( 'themes.php' ) . '" target="_blank">update</a> page in a few minutes to see the result.', 'themeisle-companion' );
|
399 |
-
}
|
400 |
-
|
401 |
-
return '<pre class=" obfx-sf-feedback-notice mb-10">' . $this->get_message_notice( $changes ) . '</pre>';
|
402 |
-
|
403 |
-
}
|
404 |
-
|
405 |
-
/**
|
406 |
-
* Method to define actions and filters needed for the module.
|
407 |
-
*
|
408 |
-
* @codeCoverageIgnore
|
409 |
-
*
|
410 |
-
* @since 1.0.0
|
411 |
-
* @access public
|
412 |
-
*/
|
413 |
-
public function hooks() {
|
414 |
-
|
415 |
-
if ( ! $this->is_safe_updates_active() ) {
|
416 |
-
return;
|
417 |
-
}
|
418 |
-
|
419 |
-
$this->loader->add_filter( 'wp_prepare_themes_for_js', $this, 'theme_update_message' );
|
420 |
-
}
|
421 |
-
|
422 |
-
/**
|
423 |
-
* Register module safe updates feedback.
|
424 |
-
*/
|
425 |
-
public function register_endpoints() {
|
426 |
-
register_rest_route(
|
427 |
-
'obfx', '/enable_safe_updates', array(
|
428 |
-
array(
|
429 |
-
'methods' => \WP_REST_Server::CREATABLE,
|
430 |
-
'permission_callback' => function ( \WP_REST_Request $request ) {
|
431 |
-
return current_user_can( 'manage_options' );
|
432 |
-
},
|
433 |
-
'callback' => array( $this, 'safe_updates_enabler' ),
|
434 |
-
),
|
435 |
-
)
|
436 |
-
);
|
437 |
-
}
|
438 |
-
|
439 |
-
/**
|
440 |
-
* Enable safe updates feedback.
|
441 |
-
*
|
442 |
-
* @param WP_REST_Request $request Rest request.
|
443 |
-
*
|
444 |
-
* @return WP_REST_Response Feedback response.
|
445 |
-
*/
|
446 |
-
public function safe_updates_enabler( WP_REST_Request $request ) {
|
447 |
-
$status = $request->get_param( 'status' );
|
448 |
-
$response = array(
|
449 |
-
'message' => '',
|
450 |
-
'data' => '',
|
451 |
-
'code' => 'error',
|
452 |
-
|
453 |
-
);
|
454 |
-
if ( $status !== 'activate' && $status !== 'deactivate' ) {
|
455 |
-
return new WP_REST_Response( $response );
|
456 |
-
}
|
457 |
-
if ( $status === 'deactivate' ) {
|
458 |
-
$this->set_option( 'auto_update_checks', '0' );
|
459 |
-
$response = wp_parse_args( array(
|
460 |
-
'code' => 'success',
|
461 |
-
'message' => __( 'Safe updates disabled', 'themeisle-companion' )
|
462 |
-
) );
|
463 |
-
|
464 |
-
return new WP_REST_Response( $response );
|
465 |
-
}
|
466 |
-
$this->set_option( 'auto_update_checks', '1' );
|
467 |
-
|
468 |
-
$status = $this->get_safe_updates_status();
|
469 |
-
$response = wp_parse_args( array(
|
470 |
-
'code' => 'success',
|
471 |
-
'message' => $status
|
472 |
-
) );
|
473 |
-
|
474 |
-
return new WP_REST_Response( $response );
|
475 |
-
|
476 |
-
}
|
477 |
-
|
478 |
-
/**
|
479 |
-
* Add logic for module options.
|
480 |
-
*/
|
481 |
-
public function admin_inline_js() {
|
482 |
-
wp_enqueue_script( 'wp-api' );
|
483 |
-
|
484 |
-
$enable_safe_updates = get_rest_url( null, 'obfx/enable_safe_updates' );
|
485 |
-
?>
|
486 |
-
<script type='text/javascript'>
|
487 |
-
(function ($) {
|
488 |
-
$('#obfx-safe-updates-allow').on('click', function (event) {
|
489 |
-
var btn = $(this);
|
490 |
-
btn.addClass('loading');
|
491 |
-
$("#obfx-sf-update-error").remove();
|
492 |
-
wp.apiRequest({
|
493 |
-
url: "<?php echo esc_url( $enable_safe_updates ); ?>",
|
494 |
-
data: {status: 'activate'},
|
495 |
-
type: 'POST',
|
496 |
-
dataType: 'json'
|
497 |
-
}).done(function (response) {
|
498 |
-
btn.removeClass('loading');
|
499 |
-
if (response.code === 'success') {
|
500 |
-
btn.hide();
|
501 |
-
btn.after(response.message);
|
502 |
-
} else {
|
503 |
-
btn.after('<p class="label label-error mb-10" id="obfx-sf-update-error">' + response.message + '</p>');
|
504 |
-
}
|
505 |
-
|
506 |
-
}).fail(function (e) {
|
507 |
-
btn.removeClass('loading');
|
508 |
-
$("#obfx-sf-update-error").remove();
|
509 |
-
btn.after('<p class="label label-error">Can not activate the option. Please try again later.</p>');
|
510 |
-
});
|
511 |
-
return false;
|
512 |
-
});
|
513 |
-
})(jQuery)
|
514 |
-
</script>
|
515 |
-
<?php
|
516 |
-
}
|
517 |
-
|
518 |
-
/**
|
519 |
-
* Alter theme update message.
|
520 |
-
*
|
521 |
-
* @param array $themes List of themes.
|
522 |
-
*
|
523 |
-
* @return mixed Altered message.
|
524 |
-
*/
|
525 |
-
public function theme_update_message( $themes ) {
|
526 |
-
|
527 |
-
if ( ! $this->is_safe_updates_active() ) {
|
528 |
-
return $themes;
|
529 |
-
}
|
530 |
-
$info = $this->is_update_available();
|
531 |
-
if ( empty( $info ) ) {
|
532 |
-
return $themes;
|
533 |
-
}
|
534 |
-
$request_data = array(
|
535 |
-
'theme' => $info['theme'],
|
536 |
-
'current_version' => $info['current_version'],
|
537 |
-
'next_version' => $info['new_version'],
|
538 |
-
);
|
539 |
-
|
540 |
-
$data = $this->get_safe_updates_data( $request_data );
|
541 |
-
if ( empty( $data ) ) {
|
542 |
-
return $themes;
|
543 |
-
}
|
544 |
-
$changes_info = $this->get_message_notice( array(
|
545 |
-
'global_diff' => $data['global_diff'],
|
546 |
-
'current_version' => $info['current_version'],
|
547 |
-
'new_version' => $info['new_version'],
|
548 |
-
'gallery_url' => $data['gallery_url'],
|
549 |
-
) );
|
550 |
-
|
551 |
-
$themes[ $info['theme'] ]['update'] = $themes[ $info['theme'] ]['update'] . $changes_info;
|
552 |
-
|
553 |
-
return $themes;
|
554 |
-
}
|
555 |
-
|
556 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/safe-updates/js/theme-update-check.js
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Social Sharing Module Admin Script
|
3 |
-
*
|
4 |
-
* @since 1.0.0
|
5 |
-
* @package obfx_modules/theme-update-check/js
|
6 |
-
*
|
7 |
-
* @author ThemeIsle
|
8 |
-
*/
|
9 |
-
/* globals safe_updates */
|
10 |
-
var obfx_theme_check = function ($) {
|
11 |
-
'use strict';
|
12 |
-
|
13 |
-
$(
|
14 |
-
function () {
|
15 |
-
if (typeof safe_updates === 'undefined') {
|
16 |
-
return;
|
17 |
-
}
|
18 |
-
if (typeof safe_updates.check_msg !== 'undefined') {
|
19 |
-
checkUpdateThemeUpdateCore();
|
20 |
-
setInterval(checkUpdateTheme, 500);
|
21 |
-
}
|
22 |
-
|
23 |
-
function checkUpdateTheme() {
|
24 |
-
var safe_update_data = $('#obfx-safe-updates-data');
|
25 |
-
if (safe_update_data.length > 0) {
|
26 |
-
return;
|
27 |
-
}
|
28 |
-
$('div.theme.active .theme-id-container').prepend('<p id="obfx-safe-updates-data" style="position: absolute;bottom: 37px;background: #ccc;background: #fff8e5;padding: 5px;padding-left: 15px;">' + safe_updates.check_msg + '</p>');
|
29 |
-
safe_update_data.on('click', 'a', function (e) {
|
30 |
-
e.stopPropagation();
|
31 |
-
});
|
32 |
-
}
|
33 |
-
|
34 |
-
function checkUpdateThemeUpdateCore() {
|
35 |
-
|
36 |
-
$('#update-themes-table input[value=' + safe_updates.slug + ']').parent().next().find('p').append('<p>' + safe_updates.check_msg + '</p>');
|
37 |
-
|
38 |
-
}
|
39 |
-
|
40 |
-
}
|
41 |
-
);
|
42 |
-
|
43 |
-
};
|
44 |
-
|
45 |
-
obfx_theme_check(jQuery);
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
obfx_modules/social-sharing/init.php
CHANGED
@@ -27,17 +27,20 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
27 |
Â
*/
|
28 |
Â
public function __construct() {
|
29 |
Â
parent::__construct();
|
30 |
-
$this->name
|
31 |
-
|
Â
|
|
Â
|
|
Â
|
|
32 |
Â
}
|
33 |
Â
|
34 |
Â
/**
|
35 |
Â
* Define the array that contains the social networks.
|
36 |
Â
*/
|
37 |
Â
private function define_networks() {
|
38 |
-
|
39 |
-
$post_title
|
40 |
-
$post_link
|
41 |
Â
|
42 |
Â
$this->social_share_links = array(
|
43 |
Â
'facebook' => array(
|
@@ -75,19 +78,19 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
75 |
Â
'nicename' => 'Reddit',
|
76 |
Â
'icon' => 'reddit',
|
77 |
Â
),
|
78 |
-
'whatsapp'
|
79 |
Â
'link' => 'whatsapp://send?text=' . $post_link,
|
80 |
Â
'nicename' => 'WhatsApp',
|
81 |
Â
'icon' => 'whatsapp',
|
82 |
Â
'target' => '0',
|
83 |
Â
),
|
84 |
-
'mail'
|
85 |
Â
'link' => 'mailto:?&subject=' . $post_title . '&body=' . $post_link,
|
86 |
Â
'nicename' => 'Email',
|
87 |
Â
'icon' => 'mail',
|
88 |
-
'target' => '0'
|
89 |
Â
),
|
90 |
-
'sms'
|
91 |
Â
'link' => 'sms://?&body=' . $post_title . ' - ' . $post_link,
|
92 |
Â
'nicename' => 'SMS',
|
93 |
Â
'icon' => 'viber',
|
@@ -149,59 +152,59 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
149 |
Â
* @access public
|
150 |
Â
*/
|
151 |
Â
public function load() {
|
152 |
-
|
153 |
Â
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
Â
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
Â
|
171 |
Â
/**
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
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 |
Â
* Create the social links array to be passed to the front end view.
|
@@ -210,30 +213,30 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
210 |
Â
* @access private
|
211 |
Â
* @return array
|
212 |
Â
*/
|
213 |
-
|
214 |
-
|
215 |
Â
foreach ( $this->social_share_links as $network => $network_links ) {
|
216 |
-
if( $this->get_option( $network ) ) {
|
217 |
-
$social_links[ $network ]
|
218 |
-
$social_links[ $network ][
|
219 |
-
$social_links[ $network ][
|
220 |
Â
}
|
221 |
Â
}
|
222 |
-
|
223 |
-
|
224 |
Â
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
Â
* @param array $protocols List of protocols from core.
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
Â
|
238 |
Â
/**
|
239 |
Â
* Method that returns an array of scripts and styles to be loaded
|
@@ -244,31 +247,31 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
244 |
Â
* @return array
|
245 |
Â
*/
|
246 |
Â
public function public_enqueue() {
|
247 |
-
$data
|
248 |
Â
$display_on_posts = true;
|
249 |
Â
$display_on_pages = false;
|
250 |
-
if( isset( $data['module_settings']) && isset( $data['module_settings']['social-sharing']) ){
|
251 |
-
if( isset( $data['module_settings']['social-sharing']['display_on_posts'] ) ){
|
252 |
-
$display_on_posts = (bool)$data['module_settings']['social-sharing']['display_on_posts'];
|
253 |
Â
}
|
254 |
-
if( isset( $data['module_settings']['social-sharing']['display_on_pages'] ) ){
|
255 |
-
$display_on_pages = (bool)$data['module_settings']['social-sharing']['display_on_pages'];
|
256 |
Â
}
|
257 |
Â
}
|
258 |
Â
|
259 |
-
if( ( $display_on_posts === false || ! is_single() ) && ( $display_on_pages === false || ! is_page() ) ) {
|
260 |
Â
return array();
|
261 |
Â
}
|
262 |
Â
|
263 |
-
|
264 |
-
|
265 |
-
'public'
|
266 |
Â
'vendor/socicon/socicon' => false,
|
267 |
-
|
268 |
-
|
269 |
Â
'public' => array( 'jquery' ),
|
270 |
-
|
271 |
-
|
272 |
Â
}
|
273 |
Â
|
274 |
Â
/**
|
@@ -291,10 +294,10 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
291 |
Â
|
292 |
Â
return array(
|
293 |
Â
'css' => array(
|
294 |
-
'admin'
|
295 |
Â
'vendor/socicon/socicon' => false,
|
296 |
Â
),
|
297 |
-
'js'
|
298 |
Â
'admin' => array( 'jquery' ),
|
299 |
Â
),
|
300 |
Â
);
|
@@ -403,9 +406,9 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
403 |
Â
* Add hestia options.
|
404 |
Â
*/
|
405 |
Â
private function add_hestia_options( $options ) {
|
406 |
-
if( defined( 'HESTIA_VERSION' ) ) {
|
407 |
-
$option_id
|
408 |
-
$options[$option_id]['options']['2'] = 'Inline after content';
|
409 |
Â
}
|
410 |
Â
return $options;
|
411 |
Â
}
|
27 |
Â
*/
|
28 |
Â
public function __construct() {
|
29 |
Â
parent::__construct();
|
30 |
+
$this->name = __( 'Social Sharing Module', 'themeisle-companion' );
|
31 |
+
/*
|
32 |
+
* translators: %s Document anchor link.
|
33 |
+
*/
|
34 |
+
$this->description = sprintf( __( 'Add basic social sharing to your posts and pages. Check out the %s to learn more!', 'themeisle-companion' ), sprintf( '<a href="https://demo.themeisle.com/orbit-fox/2018/01/15/social-sharing-modules/" rel="nofollow" target="_blank">%s</a>', __( 'demo', 'themeisle-companion' ) ) );
|
35 |
Â
}
|
36 |
Â
|
37 |
Â
/**
|
38 |
Â
* Define the array that contains the social networks.
|
39 |
Â
*/
|
40 |
Â
private function define_networks() {
|
41 |
+
$post_categories = wp_strip_all_tags( get_the_category_list( ',' ) );
|
42 |
+
$post_title = get_the_title();
|
43 |
+
$post_link = get_the_permalink();
|
44 |
Â
|
45 |
Â
$this->social_share_links = array(
|
46 |
Â
'facebook' => array(
|
78 |
Â
'nicename' => 'Reddit',
|
79 |
Â
'icon' => 'reddit',
|
80 |
Â
),
|
81 |
+
'whatsapp' => array(
|
82 |
Â
'link' => 'whatsapp://send?text=' . $post_link,
|
83 |
Â
'nicename' => 'WhatsApp',
|
84 |
Â
'icon' => 'whatsapp',
|
85 |
Â
'target' => '0',
|
86 |
Â
),
|
87 |
+
'mail' => array(
|
88 |
Â
'link' => 'mailto:?&subject=' . $post_title . '&body=' . $post_link,
|
89 |
Â
'nicename' => 'Email',
|
90 |
Â
'icon' => 'mail',
|
91 |
+
'target' => '0',
|
92 |
Â
),
|
93 |
+
'sms' => array(
|
94 |
Â
'link' => 'sms://?&body=' . $post_title . ' - ' . $post_link,
|
95 |
Â
'nicename' => 'SMS',
|
96 |
Â
'icon' => 'viber',
|
152 |
Â
* @access public
|
153 |
Â
*/
|
154 |
Â
public function load() {
|
155 |
+
}
|
156 |
Â
|
157 |
+
/**
|
158 |
+
* Method to define hooks needed.
|
159 |
+
*
|
160 |
+
* @since 1.0.0
|
161 |
+
* @access public
|
162 |
+
* @return mixed | array
|
163 |
+
*/
|
164 |
+
public function hooks() {
|
165 |
+
$this->loader->add_filter( 'kses_allowed_protocols', $this, 'custom_allowed_protocols', 1000 );
|
166 |
Â
|
167 |
+
if ( $this->get_option( 'socials_position' ) == 2 ) {
|
168 |
+
$this->loader->add_filter( 'hestia_filter_blog_social_icons', $this, 'social_sharing_function' );
|
169 |
+
return true;
|
170 |
+
}
|
171 |
+
$this->loader->add_action( 'wp_footer', $this, 'social_sharing_function' );
|
172 |
+
}
|
173 |
Â
|
174 |
Â
/**
|
175 |
+
* Display method for the Social Sharing.
|
176 |
+
*
|
177 |
+
* @since 1.0.0
|
178 |
+
* @access public
|
179 |
+
*/
|
180 |
+
public function social_sharing_function() {
|
181 |
+
if ( ( $this->get_option( 'display_on_posts' ) && is_single() ) || ( $this->get_option( 'display_on_pages' ) && is_page() ) ) {
|
182 |
+
$class_desktop = 'obfx-sharing-left ';
|
183 |
+
switch ( $this->get_option( 'socials_position' ) ) {
|
184 |
+
case '1':
|
185 |
+
$class_desktop = 'obfx-sharing-right ';
|
186 |
+
break;
|
187 |
+
case '2':
|
188 |
+
$class_desktop = 'obfx-sharing-inline ';
|
189 |
+
}
|
190 |
Â
|
191 |
+
$class_mobile = '';
|
192 |
+
if ( $this->get_option( 'mobile_position' ) == '0' ) {
|
193 |
+
$class_mobile = 'obfx-sharing-bottom';
|
194 |
+
}
|
195 |
+
$data = array(
|
196 |
+
'desktop_class' => $class_desktop,
|
197 |
+
'mobile_class' => $class_mobile,
|
198 |
+
'show_name' => $this->get_option( 'network_name' ),
|
199 |
+
'social_links_array' => $this->social_links_array(),
|
200 |
+
);
|
201 |
Â
|
202 |
+
if ( $this->get_option( 'socials_position' ) == 2 ) {
|
203 |
+
return $this->render_view( 'hestia-social-sharing', $data );
|
204 |
+
}
|
205 |
+
echo $this->render_view( 'social-sharing', $data ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
206 |
+
}
|
207 |
+
}
|
208 |
Â
|
209 |
Â
/**
|
210 |
Â
* Create the social links array to be passed to the front end view.
|
213 |
Â
* @access private
|
214 |
Â
* @return array
|
215 |
Â
*/
|
216 |
+
private function social_links_array() {
|
217 |
+
$social_links = array();
|
218 |
Â
foreach ( $this->social_share_links as $network => $network_links ) {
|
219 |
+
if ( $this->get_option( $network ) ) {
|
220 |
+
$social_links[ $network ] = $network_links;
|
221 |
+
$social_links[ $network ]['show_mobile'] = $this->get_option( $network . '-mobile-show' );
|
222 |
+
$social_links[ $network ]['show_desktop'] = $this->get_option( $network . '-desktop-show' );
|
223 |
Â
}
|
224 |
Â
}
|
225 |
+
return $social_links;
|
226 |
+
}
|
227 |
Â
|
228 |
+
/**
|
229 |
+
* Add extra protocols to list of allowed protocols.
|
230 |
+
*
|
231 |
Â
* @param array $protocols List of protocols from core.
|
232 |
+
*
|
233 |
+
* @return array Updated list including extra protocols added.
|
234 |
+
*/
|
235 |
+
public function custom_allowed_protocols( $protocols ) {
|
236 |
+
$protocols[] = 'whatsapp';
|
237 |
+
$protocols[] = 'sms';
|
238 |
+
return $protocols;
|
239 |
+
}
|
240 |
Â
|
241 |
Â
/**
|
242 |
Â
* Method that returns an array of scripts and styles to be loaded
|
247 |
Â
* @return array
|
248 |
Â
*/
|
249 |
Â
public function public_enqueue() {
|
250 |
+
$data = get_option( 'obfx_data' );
|
251 |
Â
$display_on_posts = true;
|
252 |
Â
$display_on_pages = false;
|
253 |
+
if ( isset( $data['module_settings'] ) && isset( $data['module_settings']['social-sharing'] ) ) {
|
254 |
+
if ( isset( $data['module_settings']['social-sharing']['display_on_posts'] ) ) {
|
255 |
+
$display_on_posts = (bool) $data['module_settings']['social-sharing']['display_on_posts'];
|
256 |
Â
}
|
257 |
+
if ( isset( $data['module_settings']['social-sharing']['display_on_pages'] ) ) {
|
258 |
+
$display_on_pages = (bool) $data['module_settings']['social-sharing']['display_on_pages'];
|
259 |
Â
}
|
260 |
Â
}
|
261 |
Â
|
262 |
+
if ( ( $display_on_posts === false || ! is_single() ) && ( $display_on_pages === false || ! is_page() ) ) {
|
263 |
Â
return array();
|
264 |
Â
}
|
265 |
Â
|
266 |
+
return array(
|
267 |
+
'css' => array(
|
268 |
+
'public' => false,
|
269 |
Â
'vendor/socicon/socicon' => false,
|
270 |
+
),
|
271 |
+
'js' => array(
|
272 |
Â
'public' => array( 'jquery' ),
|
273 |
+
),
|
274 |
+
);
|
275 |
Â
}
|
276 |
Â
|
277 |
Â
/**
|
294 |
Â
|
295 |
Â
return array(
|
296 |
Â
'css' => array(
|
297 |
+
'admin' => false,
|
298 |
Â
'vendor/socicon/socicon' => false,
|
299 |
Â
),
|
300 |
+
'js' => array(
|
301 |
Â
'admin' => array( 'jquery' ),
|
302 |
Â
),
|
303 |
Â
);
|
406 |
Â
* Add hestia options.
|
407 |
Â
*/
|
408 |
Â
private function add_hestia_options( $options ) {
|
409 |
+
if ( defined( 'HESTIA_VERSION' ) ) {
|
410 |
+
$option_id = $this->search_for_id( 'socials_position', $options );
|
411 |
+
$options[ $option_id ]['options']['2'] = 'Inline after content';
|
412 |
Â
}
|
413 |
Â
return $options;
|
414 |
Â
}
|
obfx_modules/template-directory/init.php
CHANGED
@@ -63,7 +63,7 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
63 |
Â
// Get the full-width pages feature
|
64 |
Â
$this->loader->add_action( 'init', $this, 'load_template_directory_library' );
|
65 |
Â
$this->loader->add_action( 'init', $this, 'load_full_width_page_templates' );
|
66 |
-
$this->loader->add_filter( 'obfx_template_dir_products'
|
67 |
Â
}
|
68 |
Â
|
69 |
Â
/**
|
@@ -76,11 +76,14 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
76 |
Â
wp_enqueue_script( 'plugin-install' );
|
77 |
Â
wp_enqueue_script( 'updates' );
|
78 |
Â
wp_register_script( $script_handle, plugin_dir_url( $this->get_dir() ) . $this->slug . '/js/script.js', array( 'jquery' ), $this->version );
|
79 |
-
wp_localize_script(
|
Â
|
|
Â
|
|
80 |
Â
array(
|
81 |
Â
'url' => $this->get_endpoint_url( '/import_elementor' ),
|
82 |
Â
'nonce' => wp_create_nonce( 'wp_rest' ),
|
83 |
-
)
|
Â
|
|
84 |
Â
wp_enqueue_script( $script_handle );
|
85 |
Â
}
|
86 |
Â
}
|
@@ -98,9 +101,9 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
98 |
Â
'directory_page_title' => __( 'Orbit Fox Template Directory', 'themeisle-companion' ),
|
99 |
Â
'parent_page_slug' => 'obfx_companion',
|
100 |
Â
'page_slug' => 'obfx_template_dir',
|
101 |
-
)
|
102 |
Â
);
|
103 |
-
return array_merge($products, $sizzify );
|
104 |
Â
}
|
105 |
Â
|
106 |
Â
/**
|
@@ -176,7 +179,7 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
176 |
Â
*
|
177 |
Â
* @return array
|
178 |
Â
*/
|
179 |
-
public function filter_fwpt_templates_list( $list ){
|
180 |
Â
unset( $list['templates/builder-fullwidth.php'] );
|
181 |
Â
return $list;
|
182 |
Â
}
|
63 |
Â
// Get the full-width pages feature
|
64 |
Â
$this->loader->add_action( 'init', $this, 'load_template_directory_library' );
|
65 |
Â
$this->loader->add_action( 'init', $this, 'load_full_width_page_templates' );
|
66 |
+
$this->loader->add_filter( 'obfx_template_dir_products', $this, 'add_page', 90 );
|
67 |
Â
}
|
68 |
Â
|
69 |
Â
/**
|
76 |
Â
wp_enqueue_script( 'plugin-install' );
|
77 |
Â
wp_enqueue_script( 'updates' );
|
78 |
Â
wp_register_script( $script_handle, plugin_dir_url( $this->get_dir() ) . $this->slug . '/js/script.js', array( 'jquery' ), $this->version );
|
79 |
+
wp_localize_script(
|
80 |
+
$script_handle,
|
81 |
+
'importer_endpoint',
|
82 |
Â
array(
|
83 |
Â
'url' => $this->get_endpoint_url( '/import_elementor' ),
|
84 |
Â
'nonce' => wp_create_nonce( 'wp_rest' ),
|
85 |
+
)
|
86 |
+
);
|
87 |
Â
wp_enqueue_script( $script_handle );
|
88 |
Â
}
|
89 |
Â
}
|
101 |
Â
'directory_page_title' => __( 'Orbit Fox Template Directory', 'themeisle-companion' ),
|
102 |
Â
'parent_page_slug' => 'obfx_companion',
|
103 |
Â
'page_slug' => 'obfx_template_dir',
|
104 |
+
),
|
105 |
Â
);
|
106 |
+
return array_merge( $products, $sizzify );
|
107 |
Â
}
|
108 |
Â
|
109 |
Â
/**
|
179 |
Â
*
|
180 |
Â
* @return array
|
181 |
Â
*/
|
182 |
+
public function filter_fwpt_templates_list( $list ) {
|
183 |
Â
unset( $list['templates/builder-fullwidth.php'] );
|
184 |
Â
return $list;
|
185 |
Â
}
|
obfx_modules/uptime-monitor/init.php
CHANGED
@@ -79,7 +79,10 @@ class Uptime_Monitor_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
79 |
Â
$monitor_url = $this->monitor_url . '/api/monitor/create';
|
80 |
Â
$url = home_url();
|
81 |
Â
$args = array(
|
82 |
-
'body' => array(
|
Â
|
|
Â
|
|
Â
|
|
83 |
Â
);
|
84 |
Â
$response = wp_remote_post( $monitor_url, $args );
|
85 |
Â
}
|
@@ -106,7 +109,7 @@ class Uptime_Monitor_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
106 |
Â
$monitor_url = $this->monitor_url . '/api/monitor/remove';
|
107 |
Â
$url = home_url();
|
108 |
Â
$args = array(
|
109 |
-
'body' => array( 'url' => $url )
|
110 |
Â
);
|
111 |
Â
$response = wp_remote_post( $monitor_url, $args );
|
112 |
Â
$api_response = json_decode( $response['body'] );
|
@@ -180,7 +183,7 @@ class Uptime_Monitor_OBFX_Module extends Orbit_Fox_Module_Abstract {
|
|
180 |
Â
'type' => 'email',
|
181 |
Â
'default' => '',
|
182 |
Â
'placeholder' => 'Add your email.',
|
183 |
-
)
|
184 |
Â
);
|
185 |
Â
}
|
186 |
-
}
|
79 |
Â
$monitor_url = $this->monitor_url . '/api/monitor/create';
|
80 |
Â
$url = home_url();
|
81 |
Â
$args = array(
|
82 |
+
'body' => array(
|
83 |
+
'url' => $url,
|
84 |
+
'email' => $email,
|
85 |
+
),
|
86 |
Â
);
|
87 |
Â
$response = wp_remote_post( $monitor_url, $args );
|
88 |
Â
}
|
109 |
Â
$monitor_url = $this->monitor_url . '/api/monitor/remove';
|
110 |
Â
$url = home_url();
|
111 |
Â
$args = array(
|
112 |
+
'body' => array( 'url' => $url ),
|
113 |
Â
);
|
114 |
Â
$response = wp_remote_post( $monitor_url, $args );
|
115 |
Â
$api_response = json_decode( $response['body'] );
|
183 |
Â
'type' => 'email',
|
184 |
Â
'default' => '',
|
185 |
Â
'placeholder' => 'Add your email.',
|
186 |
+
),
|
187 |
Â
);
|
188 |
Â
}
|
189 |
+
}
|
readme.md
CHANGED
@@ -108,6 +108,14 @@ Activating the Orbit Fox plugin is just like any other plugin. If you've uploade
|
|
108 |
Â
5. Social Sharing Module
|
109 |
Â
|
110 |
Â
## Changelog ##
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
111 |
Â
### 2.8.14 - 2019-12-02 ###
|
112 |
Â
|
113 |
Â
* Fix fatal error with Membership Pro
|
108 |
Â
5. Social Sharing Module
|
109 |
Â
|
110 |
Â
## Changelog ##
|
111 |
+
|
112 |
+
#### [Version 2.9.0](https://github.com/Codeinwp/themeisle-companion/compare/v2.8.14...v2.9.0) (2020-02-03)
|
113 |
+
|
114 |
+
* Update dependencies
|
115 |
+
* Remove legacy modules
|
116 |
+
|
117 |
+
|
118 |
+
|
119 |
Â
### 2.8.14 - 2019-12-02 ###
|
120 |
Â
|
121 |
Â
* Fix fatal error with Membership Pro
|
readme.txt
CHANGED
@@ -108,6 +108,14 @@ Activating the Orbit Fox plugin is just like any other plugin. If you've uploade
|
|
108 |
Â
5. Social Sharing Module
|
109 |
Â
|
110 |
Â
== Changelog ==
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
111 |
Â
= 2.8.14 - 2019-12-02 =
|
112 |
Â
|
113 |
Â
* Fix fatal error with Membership Pro
|
108 |
Â
5. Social Sharing Module
|
109 |
Â
|
110 |
Â
== Changelog ==
|
111 |
+
|
112 |
+
#### [Version 2.9.0](https://github.com/Codeinwp/themeisle-companion/compare/v2.8.14...v2.9.0) (2020-02-03)
|
113 |
+
|
114 |
+
* Update dependencies
|
115 |
+
* Remove legacy modules
|
116 |
+
|
117 |
+
|
118 |
+
|
119 |
Â
= 2.8.14 - 2019-12-02 =
|
120 |
Â
|
121 |
Â
* Fix fatal error with Membership Pro
|
renovate.json
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"extends": [
|
3 |
-
"config:base"
|
4 |
-
]
|
5 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
themeisle-companion.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
Â
* Plugin Name: Orbit Fox Companion
|
16 |
Â
* Plugin URI: https://orbitfox.com/
|
17 |
Â
* Description: This swiss-knife plugin comes with a quality template library, menu/sharing icons modules, Gutenberg blocks, and newly added Elementor/BeaverBuilder page builder widgets on each release.
|
18 |
-
* Version: 2.
|
19 |
Â
* Author: Themeisle
|
20 |
Â
* Author URI: https://orbitfox.com/
|
21 |
Â
* License: GPL-2.0+
|
@@ -86,7 +86,7 @@ function run_orbit_fox() {
|
|
86 |
Â
);
|
87 |
Â
}
|
88 |
Â
|
89 |
-
require
|
90 |
Â
Autoloader::set_plugins_path( plugin_dir_path( __DIR__ ) );
|
91 |
Â
Autoloader::define_namespaces( array( 'Orbit_Fox', 'OBFX', 'OBFX_Module' ) );
|
92 |
Â
/**
|
15 |
Â
* Plugin Name: Orbit Fox Companion
|
16 |
Â
* Plugin URI: https://orbitfox.com/
|
17 |
Â
* Description: This swiss-knife plugin comes with a quality template library, menu/sharing icons modules, Gutenberg blocks, and newly added Elementor/BeaverBuilder page builder widgets on each release.
|
18 |
+
* Version: 2.9.0
|
19 |
Â
* Author: Themeisle
|
20 |
Â
* Author URI: https://orbitfox.com/
|
21 |
Â
* License: GPL-2.0+
|
86 |
Â
);
|
87 |
Â
}
|
88 |
Â
|
89 |
+
require 'class-autoloader.php';
|
90 |
Â
Autoloader::set_plugins_path( plugin_dir_path( __DIR__ ) );
|
91 |
Â
Autoloader::define_namespaces( array( 'Orbit_Fox', 'OBFX', 'OBFX_Module' ) );
|
92 |
Â
/**
|
themeisle-hash.json
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
{"class-autoloader.php":"61ea652f66f6ca0ead234c6357f88791","index.php":"39ab8276fb0e4bd3fcab3270822c5977","themeisle-companion.php":"3da8830321a7bb9e0736233636d23e3e","uninstall.php":"7abf753a29e0eb3a844c8a0ba9493b7c"}
|
Â
|
vendor/autoload.php
CHANGED
@@ -2,6 +2,6 @@
|
|
2 |
Â
|
3 |
Â
// autoload.php @generated by Composer
|
4 |
Â
|
5 |
-
require_once __DIR__ . '/composer
|
6 |
Â
|
7 |
-
return
|
2 |
Â
|
3 |
Â
// autoload.php @generated by Composer
|
4 |
Â
|
5 |
+
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
Â
|
7 |
+
return ComposerAutoloaderInitaf2b0ef54757986e855151f5842c7fbb::getLoader();
|
vendor/codeinwp/elementor-extra-widgets/README.md
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
# elementor-extra-widgets
|
Â
|
vendor/codeinwp/elementor-extra-widgets/class-elementor-extra-widgets.php
CHANGED
@@ -54,7 +54,7 @@ if ( ! class_exists( '\ThemeIsle\ElementorExtraWidgets' ) ) {
|
|
54 |
Â
|
55 |
Â
$category_args = apply_filters( 'elementor_extra_widgets_category_args', array(
|
56 |
Â
'slug' => 'obfx-elementor-widgets',
|
57 |
-
'title' => __( 'Orbit Fox Addons', '
|
58 |
Â
'icon' => 'fa fa-plug',
|
59 |
Â
) );
|
60 |
Â
|
@@ -260,7 +260,7 @@ if ( ! class_exists( '\ThemeIsle\ElementorExtraWidgets' ) ) {
|
|
260 |
Â
*/
|
261 |
Â
public function __clone() {
|
262 |
Â
// Cloning instances of the class is forbidden.
|
263 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', '
|
264 |
Â
}
|
265 |
Â
|
266 |
Â
/**
|
@@ -272,7 +272,7 @@ if ( ! class_exists( '\ThemeIsle\ElementorExtraWidgets' ) ) {
|
|
272 |
Â
*/
|
273 |
Â
public function __wakeup() {
|
274 |
Â
// Unserializing instances of the class is forbidden.
|
275 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', '
|
276 |
Â
}
|
277 |
Â
}
|
278 |
Â
}
|
54 |
Â
|
55 |
Â
$category_args = apply_filters( 'elementor_extra_widgets_category_args', array(
|
56 |
Â
'slug' => 'obfx-elementor-widgets',
|
57 |
+
'title' => __( 'Orbit Fox Addons', 'textdomain' ),
|
58 |
Â
'icon' => 'fa fa-plug',
|
59 |
Â
) );
|
60 |
Â
|
260 |
Â
*/
|
261 |
Â
public function __clone() {
|
262 |
Â
// Cloning instances of the class is forbidden.
|
263 |
+
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'textdomain' ), '1.0.0' );
|
264 |
Â
}
|
265 |
Â
|
266 |
Â
/**
|
272 |
Â
*/
|
273 |
Â
public function __wakeup() {
|
274 |
Â
// Unserializing instances of the class is forbidden.
|
275 |
+
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'textdomain' ), '1.0.0' );
|
276 |
Â
}
|
277 |
Â
}
|
278 |
Â
}
|
vendor/codeinwp/elementor-extra-widgets/widgets/elementor/posts-grid.php
CHANGED
@@ -35,7 +35,7 @@ class Posts_Grid extends Widget_Base {
|
|
35 |
Â
* @return string
|
36 |
Â
*/
|
37 |
Â
public function get_title() {
|
38 |
-
return __( 'Post Type Grid', '
|
39 |
Â
}
|
40 |
Â
|
41 |
Â
/**
|
@@ -123,7 +123,7 @@ class Posts_Grid extends Widget_Base {
|
|
123 |
Â
* Get post type categories.
|
124 |
Â
*/
|
125 |
Â
private function grid_get_all_post_type_categories( $post_type ) {
|
126 |
-
$options = array( 'all' => __( 'All Categories', '
|
127 |
Â
|
128 |
Â
if ( $post_type == 'post' ) {
|
129 |
Â
$taxonomy = 'category';
|
@@ -180,7 +180,7 @@ class Posts_Grid extends Widget_Base {
|
|
180 |
Â
$this->start_controls_section(
|
181 |
Â
'section_grid',
|
182 |
Â
[
|
183 |
-
'label' => __( 'Grid Options', '
|
184 |
Â
]
|
185 |
Â
);
|
186 |
Â
|
@@ -189,7 +189,7 @@ class Posts_Grid extends Widget_Base {
|
|
189 |
Â
'grid_post_type',
|
190 |
Â
[
|
191 |
Â
'type' => Controls_Manager::SELECT,
|
192 |
-
'label' => '<i class="fa fa-tag"></i> ' . __( 'Post Type', '
|
193 |
Â
'default' => 'post',
|
194 |
Â
'options' => $this->grid_get_all_post_types(),
|
195 |
Â
]
|
@@ -200,7 +200,7 @@ class Posts_Grid extends Widget_Base {
|
|
200 |
Â
'grid_post_categories',
|
201 |
Â
[
|
202 |
Â
'type' => Controls_Manager::SELECT,
|
203 |
-
'label' => '<i class="fa fa-folder"></i> ' . __( 'Category', '
|
204 |
Â
'options' => $this->grid_get_all_post_type_categories( 'post' ),
|
205 |
Â
'condition' => [
|
206 |
Â
'grid_post_type' => 'post',
|
@@ -214,7 +214,7 @@ class Posts_Grid extends Widget_Base {
|
|
214 |
Â
'grid_product_categories',
|
215 |
Â
[
|
216 |
Â
'type' => Controls_Manager::SELECT,
|
217 |
-
'label' => '<i class="fa fa-tag"></i> ' . __( 'Category', '
|
218 |
Â
'options' => $this->grid_get_all_post_type_categories( 'product' ),
|
219 |
Â
'condition' => [
|
220 |
Â
'grid_post_type' => 'product',
|
@@ -227,11 +227,11 @@ class Posts_Grid extends Widget_Base {
|
|
227 |
Â
'grid_style',
|
228 |
Â
[
|
229 |
Â
'type' => Controls_Manager::SELECT,
|
230 |
-
'label' => '<i class="fa fa-paint-brush"></i> ' . __( 'Style', '
|
231 |
Â
'default' => 'grid',
|
232 |
Â
'options' => [
|
233 |
-
'grid' => __( 'Grid', '
|
234 |
-
'list' => __( 'List', '
|
235 |
Â
],
|
236 |
Â
]
|
237 |
Â
);
|
@@ -241,8 +241,8 @@ class Posts_Grid extends Widget_Base {
|
|
241 |
Â
'grid_items',
|
242 |
Â
[
|
243 |
Â
'type' => Controls_Manager::NUMBER,
|
244 |
-
'label' => '<i class="fa fa-th-large"></i> ' . __( 'Items', '
|
245 |
-
'placeholder' => __( 'How many items?', '
|
246 |
Â
'default' => 6,
|
247 |
Â
]
|
248 |
Â
);
|
@@ -252,7 +252,7 @@ class Posts_Grid extends Widget_Base {
|
|
252 |
Â
'grid_columns',
|
253 |
Â
[
|
254 |
Â
'type' => Controls_Manager::SELECT,
|
255 |
-
'label' => '<i class="fa fa-columns"></i> ' . __( 'Columns', '
|
256 |
Â
'default' => 3,
|
257 |
Â
'tablet_default' => 2,
|
258 |
Â
'mobile_default' => 1,
|
@@ -271,14 +271,14 @@ class Posts_Grid extends Widget_Base {
|
|
271 |
Â
'grid_order_by',
|
272 |
Â
[
|
273 |
Â
'type' => Controls_Manager::SELECT,
|
274 |
-
'label' => '<i class="fa fa-sort"></i> ' . __( 'Order by', '
|
275 |
Â
'default' => 'date',
|
276 |
Â
'options' => [
|
277 |
-
'date' => __( 'Date', '
|
278 |
-
'title' => __( 'Title', '
|
279 |
-
'modified' => __( 'Modified date', '
|
280 |
-
'comment_count' => __( 'Comment count', '
|
281 |
-
'rand' => __( 'Random', '
|
282 |
Â
],
|
283 |
Â
]
|
284 |
Â
);
|
@@ -287,7 +287,7 @@ class Posts_Grid extends Widget_Base {
|
|
287 |
Â
$this->add_control(
|
288 |
Â
'grid_pagination',
|
289 |
Â
[
|
290 |
-
'label' => '<i class="fa fa-arrow-circle-right"></i> ' . __( 'Pagination', '
|
291 |
Â
'type' => Controls_Manager::SWITCHER,
|
292 |
Â
'default' => '',
|
293 |
Â
]
|
@@ -303,7 +303,7 @@ class Posts_Grid extends Widget_Base {
|
|
303 |
Â
$this->start_controls_section(
|
304 |
Â
'section_grid_image',
|
305 |
Â
[
|
306 |
-
'label' => __( 'Image', '
|
307 |
Â
]
|
308 |
Â
);
|
309 |
Â
|
@@ -311,13 +311,13 @@ class Posts_Grid extends Widget_Base {
|
|
311 |
Â
$this->add_control(
|
312 |
Â
'grid_image_hide',
|
313 |
Â
[
|
314 |
-
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Hide', '
|
315 |
Â
'type' => Controls_Manager::SWITCHER,
|
316 |
Â
'default' => '',
|
317 |
Â
]
|
318 |
Â
);
|
319 |
Â
|
320 |
-
$available_size = [ 'full' => __( 'Full size', '
|
321 |
Â
global $_wp_additional_image_sizes;
|
322 |
Â
if ( ! empty( $_wp_additional_image_sizes ) ) {
|
323 |
Â
foreach ( $_wp_additional_image_sizes as $label => $size_data ) {
|
@@ -331,7 +331,7 @@ class Posts_Grid extends Widget_Base {
|
|
331 |
Â
$this->add_control(
|
332 |
Â
'grid_image_size',
|
333 |
Â
[
|
334 |
-
'label' => __( 'Image size', 'plugin-domain'
|
335 |
Â
'type' => Controls_Manager::SELECT,
|
336 |
Â
'options' => array_unique( $available_size ),
|
337 |
Â
]
|
@@ -341,7 +341,7 @@ class Posts_Grid extends Widget_Base {
|
|
341 |
Â
$this->add_responsive_control(
|
342 |
Â
'grid_image_height',
|
343 |
Â
[
|
344 |
-
'label' => '<i class="fa fa-arrows-h"></i> ' . __( 'Image height', '
|
345 |
Â
'type' => Controls_Manager::SLIDER,
|
346 |
Â
'default' => [
|
347 |
Â
'size' => 220,
|
@@ -363,13 +363,13 @@ class Posts_Grid extends Widget_Base {
|
|
363 |
Â
$this->add_control(
|
364 |
Â
'grid_image_alignment',
|
365 |
Â
[
|
366 |
-
'label' => __( 'Image alignment', '
|
367 |
Â
'type' => Controls_Manager::SELECT,
|
368 |
Â
'default' => 'top',
|
369 |
Â
'options' => [
|
370 |
-
'top' => __( 'Top', '
|
371 |
-
'middle' => __( 'Middle', '
|
372 |
-
'bottom' => __( 'Bottom', '
|
373 |
Â
],
|
374 |
Â
'condition' => [
|
375 |
Â
'grid_style' => 'list'
|
@@ -382,7 +382,7 @@ class Posts_Grid extends Widget_Base {
|
|
382 |
Â
$this->add_control(
|
383 |
Â
'grid_image_link',
|
384 |
Â
[
|
385 |
-
'label' => '<i class="fa fa-link"></i> ' . __( 'Link', '
|
386 |
Â
'type' => Controls_Manager::SWITCHER,
|
387 |
Â
'default' => 'yes',
|
388 |
Â
]
|
@@ -398,7 +398,7 @@ class Posts_Grid extends Widget_Base {
|
|
398 |
Â
$this->start_controls_section(
|
399 |
Â
'section_grid_title',
|
400 |
Â
[
|
401 |
-
'label' => __( 'Title', '
|
402 |
Â
]
|
403 |
Â
);
|
404 |
Â
|
@@ -406,7 +406,7 @@ class Posts_Grid extends Widget_Base {
|
|
406 |
Â
$this->add_control(
|
407 |
Â
'grid_title_hide',
|
408 |
Â
[
|
409 |
-
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Hide', '
|
410 |
Â
'type' => Controls_Manager::SWITCHER,
|
411 |
Â
'default' => '',
|
412 |
Â
]
|
@@ -417,7 +417,7 @@ class Posts_Grid extends Widget_Base {
|
|
417 |
Â
'grid_title_tag',
|
418 |
Â
[
|
419 |
Â
'type' => Controls_Manager::SELECT,
|
420 |
-
'label' => '<i class="fa fa-code"></i> ' . __( 'Tag', '
|
421 |
Â
'default' => 'h2',
|
422 |
Â
'options' => [
|
423 |
Â
'h1' => 'H1',
|
@@ -437,7 +437,7 @@ class Posts_Grid extends Widget_Base {
|
|
437 |
Â
$this->add_control(
|
438 |
Â
'grid_title_link',
|
439 |
Â
[
|
440 |
-
'label' => '<i class="fa fa-link"></i> ' . __( 'Link', '
|
441 |
Â
'type' => Controls_Manager::SWITCHER,
|
442 |
Â
'default' => 'yes',
|
443 |
Â
]
|
@@ -453,7 +453,7 @@ class Posts_Grid extends Widget_Base {
|
|
453 |
Â
$this->start_controls_section(
|
454 |
Â
'section_grid_meta',
|
455 |
Â
[
|
456 |
-
'label' => __( 'Meta', '
|
457 |
Â
]
|
458 |
Â
);
|
459 |
Â
|
@@ -461,7 +461,7 @@ class Posts_Grid extends Widget_Base {
|
|
461 |
Â
$this->add_control(
|
462 |
Â
'grid_meta_hide',
|
463 |
Â
[
|
464 |
-
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Hide', '
|
465 |
Â
'type' => Controls_Manager::SWITCHER,
|
466 |
Â
'default' => '',
|
467 |
Â
]
|
@@ -471,17 +471,17 @@ class Posts_Grid extends Widget_Base {
|
|
471 |
Â
$this->add_control(
|
472 |
Â
'grid_meta_display',
|
473 |
Â
[
|
474 |
-
'label' => '<i class="fa fa-info-circle"></i> ' . __( 'Display', '
|
475 |
Â
'label_block' => true,
|
476 |
Â
'type' => Controls_Manager::SELECT2,
|
477 |
Â
'default' => [ 'author', 'date' ],
|
478 |
Â
'multiple' => true,
|
479 |
Â
'options' => [
|
480 |
-
'author' => __( 'Author', '
|
481 |
-
'date' => __( 'Date', '
|
482 |
-
'category' => __( 'Category', '
|
483 |
-
'tags' => __( 'Tags', '
|
484 |
-
'comments' => __( 'Comments', '
|
485 |
Â
],
|
486 |
Â
]
|
487 |
Â
);
|
@@ -491,9 +491,9 @@ class Posts_Grid extends Widget_Base {
|
|
491 |
Â
'grid_meta_categories_max',
|
492 |
Â
[
|
493 |
Â
'type' => Controls_Manager::NUMBER,
|
494 |
-
'label' => __( 'No. of Categories', '
|
495 |
-
'placeholder' => __( 'How many categories to display?', '
|
496 |
-
'default' => __( '1', '
|
497 |
Â
'condition' => [
|
498 |
Â
'grid_meta_display' => 'category',
|
499 |
Â
],
|
@@ -505,8 +505,8 @@ class Posts_Grid extends Widget_Base {
|
|
505 |
Â
'grid_meta_tags_max',
|
506 |
Â
[
|
507 |
Â
'type' => Controls_Manager::NUMBER,
|
508 |
-
'label' => __( 'No. of Tags', '
|
509 |
-
'placeholder' => __( 'How many tags to display?', '
|
510 |
Â
'condition' => [
|
511 |
Â
'grid_meta_display' => 'tags',
|
512 |
Â
],
|
@@ -517,7 +517,7 @@ class Posts_Grid extends Widget_Base {
|
|
517 |
Â
$this->add_control(
|
518 |
Â
'grid_meta_remove_icons',
|
519 |
Â
[
|
520 |
-
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Remove icons', '
|
521 |
Â
'type' => Controls_Manager::SWITCHER,
|
522 |
Â
'default' => '',
|
523 |
Â
]
|
@@ -533,7 +533,7 @@ class Posts_Grid extends Widget_Base {
|
|
533 |
Â
$this->start_controls_section(
|
534 |
Â
'section_grid_content',
|
535 |
Â
[
|
536 |
-
'label' => __( 'Content', '
|
537 |
Â
]
|
538 |
Â
);
|
539 |
Â
|
@@ -541,7 +541,7 @@ class Posts_Grid extends Widget_Base {
|
|
541 |
Â
$this->add_control(
|
542 |
Â
'grid_content_hide',
|
543 |
Â
[
|
544 |
-
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Hide', '
|
545 |
Â
'type' => Controls_Manager::SWITCHER,
|
546 |
Â
'default' => '',
|
547 |
Â
]
|
@@ -551,7 +551,7 @@ class Posts_Grid extends Widget_Base {
|
|
551 |
Â
$this->add_control(
|
552 |
Â
'grid_content_full_post',
|
553 |
Â
[
|
554 |
-
'label' => __( 'Show full content', '
|
555 |
Â
'type' => Controls_Manager::SWITCHER,
|
556 |
Â
'default' => '',
|
557 |
Â
]
|
@@ -562,8 +562,8 @@ class Posts_Grid extends Widget_Base {
|
|
562 |
Â
'grid_content_length',
|
563 |
Â
[
|
564 |
Â
'type' => Controls_Manager::NUMBER,
|
565 |
-
'label' => '<i class="fa fa-arrows-h"></i> ' . __( 'Length (words)', '
|
566 |
-
'placeholder' => __( 'Length of content (words)', '
|
567 |
Â
'default' => 30,
|
568 |
Â
'condition' => [
|
569 |
Â
'grid_content_full_post!' => 'yes'
|
@@ -575,7 +575,7 @@ class Posts_Grid extends Widget_Base {
|
|
575 |
Â
$this->add_control(
|
576 |
Â
'grid_content_price',
|
577 |
Â
[
|
578 |
-
'label' => '<i class="fa fa-usd"></i> ' . __( 'Price', '
|
579 |
Â
'type' => Controls_Manager::SWITCHER,
|
580 |
Â
'default' => 'yes',
|
581 |
Â
'condition' => [
|
@@ -588,7 +588,7 @@ class Posts_Grid extends Widget_Base {
|
|
588 |
Â
$this->add_control(
|
589 |
Â
'grid_content_default_btn',
|
590 |
Â
[
|
591 |
-
'label' => '<i class="fa fa-check-square"></i> ' . __( 'Button', '
|
592 |
Â
'type' => Controls_Manager::SWITCHER,
|
593 |
Â
'default' => 'yes',
|
594 |
Â
'condition' => [
|
@@ -602,9 +602,9 @@ class Posts_Grid extends Widget_Base {
|
|
602 |
Â
'grid_content_default_btn_text',
|
603 |
Â
[
|
604 |
Â
'type' => Controls_Manager::TEXT,
|
605 |
-
'label' => __( 'Button text', '
|
606 |
-
'placeholder' => __( 'Read more', '
|
607 |
-
'default' => __( 'Read more', '
|
608 |
Â
'condition' => [
|
609 |
Â
'grid_content_default_btn!' => '',
|
610 |
Â
'section_grid.grid_post_type!' => 'product',
|
@@ -616,7 +616,7 @@ class Posts_Grid extends Widget_Base {
|
|
616 |
Â
$this->add_control(
|
617 |
Â
'grid_content_product_btn',
|
618 |
Â
[
|
619 |
-
'label' => '<i class="fa fa-check-square"></i> ' . __( 'Button', '
|
620 |
Â
'type' => Controls_Manager::SWITCHER,
|
621 |
Â
'default' => 'yes',
|
622 |
Â
'condition' => [
|
@@ -629,23 +629,23 @@ class Posts_Grid extends Widget_Base {
|
|
629 |
Â
$this->add_responsive_control(
|
630 |
Â
'grid_content_btn_alignment',
|
631 |
Â
[
|
632 |
-
'label' => __( 'Button alignment', '
|
633 |
Â
'type' => Controls_Manager::CHOOSE,
|
634 |
Â
'options' => [
|
635 |
Â
'left' => [
|
636 |
-
'title' => __( 'Left', '
|
637 |
Â
'icon' => 'fa fa-align-left',
|
638 |
Â
],
|
639 |
Â
'center' => [
|
640 |
-
'title' => __( 'Center', '
|
641 |
Â
'icon' => 'fa fa-align-center',
|
642 |
Â
],
|
643 |
Â
'right' => [
|
644 |
-
'title' => __( 'Right', '
|
645 |
Â
'icon' => 'fa fa-align-right',
|
646 |
Â
],
|
647 |
Â
'justify' => [
|
648 |
-
'title' => __( 'Justified', '
|
649 |
Â
'icon' => 'fa fa-align-justify',
|
650 |
Â
],
|
651 |
Â
],
|
@@ -665,19 +665,19 @@ class Posts_Grid extends Widget_Base {
|
|
665 |
Â
$this->add_responsive_control(
|
666 |
Â
'grid_content_alignment',
|
667 |
Â
[
|
668 |
-
'label' => '<i class="fa fa-align-right"></i> ' . __( 'Alignment', '
|
669 |
Â
'type' => Controls_Manager::CHOOSE,
|
670 |
Â
'options' => [
|
671 |
Â
'left' => [
|
672 |
-
'title' => __( 'Left', '
|
673 |
Â
'icon' => 'fa fa-align-left',
|
674 |
Â
],
|
675 |
Â
'center' => [
|
676 |
-
'title' => __( 'Center', '
|
677 |
Â
'icon' => 'fa fa-align-center',
|
678 |
Â
],
|
679 |
Â
'right' => [
|
680 |
-
'title' => __( 'Right', '
|
681 |
Â
'icon' => 'fa fa-align-right',
|
682 |
Â
],
|
683 |
Â
],
|
@@ -700,7 +700,7 @@ class Posts_Grid extends Widget_Base {
|
|
700 |
Â
$this->start_controls_section(
|
701 |
Â
'section_grid_pagination',
|
702 |
Â
[
|
703 |
-
'label' => __( 'Pagination', '
|
704 |
Â
'condition' => [
|
705 |
Â
'section_grid.grid_pagination' => 'yes',
|
706 |
Â
],
|
@@ -711,19 +711,19 @@ class Posts_Grid extends Widget_Base {
|
|
711 |
Â
$this->add_responsive_control(
|
712 |
Â
'grid_pagination_alignment',
|
713 |
Â
[
|
714 |
-
'label' => __( 'Alignment', '
|
715 |
Â
'type' => Controls_Manager::CHOOSE,
|
716 |
Â
'options' => [
|
717 |
Â
'left' => [
|
718 |
-
'title' => __( 'Left', '
|
719 |
Â
'icon' => 'fa fa-align-left',
|
720 |
Â
],
|
721 |
Â
'center' => [
|
722 |
-
'title' => __( 'Center', '
|
723 |
Â
'icon' => 'fa fa-align-center',
|
724 |
Â
],
|
725 |
Â
'right' => [
|
726 |
-
'title' => __( 'Right', '
|
727 |
Â
'icon' => 'fa fa-align-right',
|
728 |
Â
],
|
729 |
Â
],
|
@@ -747,7 +747,7 @@ class Posts_Grid extends Widget_Base {
|
|
747 |
Â
$this->start_controls_section(
|
748 |
Â
'section_grid_style',
|
749 |
Â
[
|
750 |
-
'label' => __( 'Grid Options', '
|
751 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
752 |
Â
]
|
753 |
Â
);
|
@@ -756,7 +756,7 @@ class Posts_Grid extends Widget_Base {
|
|
756 |
Â
$this->add_responsive_control(
|
757 |
Â
'grid_style_columns_margin',
|
758 |
Â
[
|
759 |
-
'label' => __( 'Columns margin', '
|
760 |
Â
'type' => Controls_Manager::SLIDER,
|
761 |
Â
'default' => [
|
762 |
Â
'size' => 15,
|
@@ -778,7 +778,7 @@ class Posts_Grid extends Widget_Base {
|
|
778 |
Â
$this->add_responsive_control(
|
779 |
Â
'grid_style_rows_margin',
|
780 |
Â
[
|
781 |
-
'label' => __( 'Rows margin', '
|
782 |
Â
'type' => Controls_Manager::SLIDER,
|
783 |
Â
'default' => [
|
784 |
Â
'size' => 30,
|
@@ -809,7 +809,7 @@ class Posts_Grid extends Widget_Base {
|
|
809 |
Â
$this->add_control(
|
810 |
Â
'grid_items_style_heading',
|
811 |
Â
[
|
812 |
-
'label' => __( 'Items', '
|
813 |
Â
'type' => Controls_Manager::HEADING,
|
814 |
Â
'separator' => 'before',
|
815 |
Â
]
|
@@ -819,7 +819,7 @@ class Posts_Grid extends Widget_Base {
|
|
819 |
Â
$this->add_responsive_control(
|
820 |
Â
'grid_items_style_padding',
|
821 |
Â
[
|
822 |
-
'label' => __( 'Padding', '
|
823 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
824 |
Â
'size_units' => [ 'px', '%' ],
|
825 |
Â
'selectors' => [
|
@@ -832,7 +832,7 @@ class Posts_Grid extends Widget_Base {
|
|
832 |
Â
$this->add_control(
|
833 |
Â
'grid_items_style_border_radius',
|
834 |
Â
[
|
835 |
-
'label' => __( 'Border Radius', '
|
836 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
837 |
Â
'size_units' => [ 'px', '%' ],
|
838 |
Â
'selectors' => [
|
@@ -872,7 +872,7 @@ class Posts_Grid extends Widget_Base {
|
|
872 |
Â
$this->start_controls_section(
|
873 |
Â
'section_grid_image_style',
|
874 |
Â
[
|
875 |
-
'label' => __( 'Image', '
|
876 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
877 |
Â
'condition' => [
|
878 |
Â
'section_grid_image.grid_image_hide' => '',
|
@@ -884,7 +884,7 @@ class Posts_Grid extends Widget_Base {
|
|
884 |
Â
$this->add_control(
|
885 |
Â
'grid_image_style_border_radius',
|
886 |
Â
[
|
887 |
-
'label' => __( 'Border Radius', '
|
888 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
889 |
Â
'size_units' => [ 'px', '%' ],
|
890 |
Â
'selectors' => [
|
@@ -913,7 +913,7 @@ class Posts_Grid extends Widget_Base {
|
|
913 |
Â
$this->add_responsive_control(
|
914 |
Â
'grid_image_style_margin',
|
915 |
Â
[
|
916 |
-
'label' => __( 'Margin', '
|
917 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
918 |
Â
'size_units' => [ 'px' ],
|
919 |
Â
'selectors' => [
|
@@ -936,7 +936,7 @@ class Posts_Grid extends Widget_Base {
|
|
936 |
Â
$this->start_controls_section(
|
937 |
Â
'section_grid_title_style',
|
938 |
Â
[
|
939 |
-
'label' => __( 'Title', '
|
940 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
941 |
Â
'condition' => [
|
942 |
Â
'section_grid_title.grid_title_hide' => '',
|
@@ -959,7 +959,7 @@ class Posts_Grid extends Widget_Base {
|
|
959 |
Â
'grid_title_style_color',
|
960 |
Â
[
|
961 |
Â
'type' => Controls_Manager::COLOR,
|
962 |
-
'label' => __( 'Color', '
|
963 |
Â
'scheme' => [
|
964 |
Â
'type' => Scheme_Color::get_type(),
|
965 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -975,7 +975,7 @@ class Posts_Grid extends Widget_Base {
|
|
975 |
Â
$this->add_responsive_control(
|
976 |
Â
'grid_title_style_margin',
|
977 |
Â
[
|
978 |
-
'label' => __( 'Margin', '
|
979 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
980 |
Â
'size_units' => [ 'px' ],
|
981 |
Â
'selectors' => [
|
@@ -995,7 +995,7 @@ class Posts_Grid extends Widget_Base {
|
|
995 |
Â
$this->start_controls_section(
|
996 |
Â
'section_grid_meta_style',
|
997 |
Â
[
|
998 |
-
'label' => __( 'Meta', '
|
999 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
1000 |
Â
'condition' => [
|
1001 |
Â
'section_grid_meta.grid_meta_hide' => '',
|
@@ -1018,7 +1018,7 @@ class Posts_Grid extends Widget_Base {
|
|
1018 |
Â
'grid_meta_style_color',
|
1019 |
Â
[
|
1020 |
Â
'type' => Controls_Manager::COLOR,
|
1021 |
-
'label' => __( 'Color', '
|
1022 |
Â
'scheme' => [
|
1023 |
Â
'type' => Scheme_Color::get_type(),
|
1024 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -1034,7 +1034,7 @@ class Posts_Grid extends Widget_Base {
|
|
1034 |
Â
$this->add_responsive_control(
|
1035 |
Â
'grid_meta_icon_spacing',
|
1036 |
Â
[
|
1037 |
-
'label' => __( 'Icons spacing', '
|
1038 |
Â
'type' => Controls_Manager::SLIDER,
|
1039 |
Â
'range' => [
|
1040 |
Â
'px' => [
|
@@ -1052,7 +1052,7 @@ class Posts_Grid extends Widget_Base {
|
|
1052 |
Â
$this->add_responsive_control(
|
1053 |
Â
'grid_meta_style_margin',
|
1054 |
Â
[
|
1055 |
-
'label' => __( 'Margin', '
|
1056 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1057 |
Â
'size_units' => [ 'px' ],
|
1058 |
Â
'selectors' => [
|
@@ -1072,7 +1072,7 @@ class Posts_Grid extends Widget_Base {
|
|
1072 |
Â
$this->start_controls_section(
|
1073 |
Â
'section_grid_content_style',
|
1074 |
Â
[
|
1075 |
-
'label' => __( 'Content', '
|
1076 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
1077 |
Â
]
|
1078 |
Â
);
|
@@ -1095,7 +1095,7 @@ class Posts_Grid extends Widget_Base {
|
|
1095 |
Â
'grid_content_style_color',
|
1096 |
Â
[
|
1097 |
Â
'type' => Controls_Manager::COLOR,
|
1098 |
-
'label' => __( 'Color', '
|
1099 |
Â
'scheme' => [
|
1100 |
Â
'type' => Scheme_Color::get_type(),
|
1101 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -1113,7 +1113,7 @@ class Posts_Grid extends Widget_Base {
|
|
1113 |
Â
$this->add_responsive_control(
|
1114 |
Â
'grid_content_style_margin',
|
1115 |
Â
[
|
1116 |
-
'label' => __( 'Margin', '
|
1117 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1118 |
Â
'size_units' => [ 'px' ],
|
1119 |
Â
'selectors' => [
|
@@ -1129,7 +1129,7 @@ class Posts_Grid extends Widget_Base {
|
|
1129 |
Â
$this->add_control(
|
1130 |
Â
'grid_content_price_style_heading',
|
1131 |
Â
[
|
1132 |
-
'label' => __( 'Price', '
|
1133 |
Â
'type' => Controls_Manager::HEADING,
|
1134 |
Â
'separator' => 'before',
|
1135 |
Â
'condition' => [
|
@@ -1158,7 +1158,7 @@ class Posts_Grid extends Widget_Base {
|
|
1158 |
Â
'grid_content_price_style_color',
|
1159 |
Â
[
|
1160 |
Â
'type' => Controls_Manager::COLOR,
|
1161 |
-
'label' => __( 'Color', '
|
1162 |
Â
'scheme' => [
|
1163 |
Â
'type' => Scheme_Color::get_type(),
|
1164 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -1177,7 +1177,7 @@ class Posts_Grid extends Widget_Base {
|
|
1177 |
Â
$this->add_responsive_control(
|
1178 |
Â
'grid_content_price_style_margin',
|
1179 |
Â
[
|
1180 |
-
'label' => __( 'Margin', '
|
1181 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1182 |
Â
'size_units' => [ 'px' ],
|
1183 |
Â
'selectors' => [
|
@@ -1204,7 +1204,7 @@ class Posts_Grid extends Widget_Base {
|
|
1204 |
Â
$this->add_control(
|
1205 |
Â
'grid_button_style_heading',
|
1206 |
Â
[
|
1207 |
-
'label' => __( 'Button', '
|
1208 |
Â
'type' => Controls_Manager::HEADING,
|
1209 |
Â
'separator' => 'before',
|
1210 |
Â
'condition' => [
|
@@ -1234,7 +1234,7 @@ class Posts_Grid extends Widget_Base {
|
|
1234 |
Â
$this->start_controls_tab(
|
1235 |
Â
'grid_button_style_normal',
|
1236 |
Â
[
|
1237 |
-
'label' => __( 'Normal', '
|
1238 |
Â
'condition' => [
|
1239 |
Â
'section_grid_content.grid_content_default_btn!' => '',
|
1240 |
Â
'section_grid_content.grid_content_product_btn!' => '',
|
@@ -1247,7 +1247,7 @@ class Posts_Grid extends Widget_Base {
|
|
1247 |
Â
'grid_button_style_normal_text_color',
|
1248 |
Â
[
|
1249 |
Â
'type' => Controls_Manager::COLOR,
|
1250 |
-
'label' => __( 'Text Color', '
|
1251 |
Â
'scheme' => [
|
1252 |
Â
'type' => Scheme_Color::get_type(),
|
1253 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -1269,7 +1269,7 @@ class Posts_Grid extends Widget_Base {
|
|
1269 |
Â
'grid_button_style_normal_bg_color',
|
1270 |
Â
[
|
1271 |
Â
'type' => Controls_Manager::COLOR,
|
1272 |
-
'label' => __( 'Background Color', '
|
1273 |
Â
'scheme' => [
|
1274 |
Â
'type' => Scheme_Color::get_type(),
|
1275 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -1305,7 +1305,7 @@ class Posts_Grid extends Widget_Base {
|
|
1305 |
Â
$this->start_controls_tab(
|
1306 |
Â
'grid_button_style_hover',
|
1307 |
Â
[
|
1308 |
-
'label' => __( 'Hover', '
|
1309 |
Â
'condition' => [
|
1310 |
Â
'section_grid_content.grid_content_default_btn!' => '',
|
1311 |
Â
'section_grid_content.grid_content_product_btn!' => '',
|
@@ -1318,7 +1318,7 @@ class Posts_Grid extends Widget_Base {
|
|
1318 |
Â
'grid_button_style_hover_text_color',
|
1319 |
Â
[
|
1320 |
Â
'type' => Controls_Manager::COLOR,
|
1321 |
-
'label' => __( 'Text Color', '
|
1322 |
Â
'scheme' => [
|
1323 |
Â
'type' => Scheme_Color::get_type(),
|
1324 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -1339,7 +1339,7 @@ class Posts_Grid extends Widget_Base {
|
|
1339 |
Â
'grid_button_style_hover_bg_color',
|
1340 |
Â
[
|
1341 |
Â
'type' => Controls_Manager::COLOR,
|
1342 |
-
'label' => __( 'Background Color', '
|
1343 |
Â
'scheme' => [
|
1344 |
Â
'type' => Scheme_Color::get_type(),
|
1345 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -1377,7 +1377,7 @@ class Posts_Grid extends Widget_Base {
|
|
1377 |
Â
$this->add_control(
|
1378 |
Â
'grid_button_style_padding',
|
1379 |
Â
[
|
1380 |
-
'label' => __( 'Button padding', '
|
1381 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1382 |
Â
'size_units' => [ 'px' ],
|
1383 |
Â
'selectors' => [
|
@@ -1394,7 +1394,7 @@ class Posts_Grid extends Widget_Base {
|
|
1394 |
Â
$this->add_control(
|
1395 |
Â
'grid_button_style_border_radius',
|
1396 |
Â
[
|
1397 |
-
'label' => __( 'Button border radius', '
|
1398 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1399 |
Â
'size_units' => [ 'px', '%' ],
|
1400 |
Â
'selectors' => [
|
@@ -1416,7 +1416,7 @@ class Posts_Grid extends Widget_Base {
|
|
1416 |
Â
$this->start_controls_section(
|
1417 |
Â
'section_grid_pagination_style',
|
1418 |
Â
[
|
1419 |
-
'label' => __( 'Pagination', '
|
1420 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
1421 |
Â
'condition' => [
|
1422 |
Â
'section_grid.grid_pagination' => 'yes',
|
@@ -1428,7 +1428,7 @@ class Posts_Grid extends Widget_Base {
|
|
1428 |
Â
$this->add_responsive_control(
|
1429 |
Â
'grid_pagination_style_margin',
|
1430 |
Â
[
|
1431 |
-
'label' => __( 'Margin', '
|
1432 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1433 |
Â
'size_units' => [ 'px' ],
|
1434 |
Â
'selectors' => [
|
@@ -1554,8 +1554,8 @@ class Posts_Grid extends Widget_Base {
|
|
1554 |
Â
'end_size' => 1,
|
1555 |
Â
'mid_size' => 3,
|
1556 |
Â
'prev_next' => true,
|
1557 |
-
'prev_text' => esc_html__( 'Previous', '
|
1558 |
-
'next_text' => esc_html__( 'Next', '
|
1559 |
Â
'type' => 'plain',
|
1560 |
Â
'add_args' => false,
|
1561 |
Â
);
|
@@ -1682,9 +1682,9 @@ class Posts_Grid extends Widget_Base {
|
|
1682 |
Â
echo ( $settings['grid_meta_remove_icons'] == '' ) ? '<i class="fas fa-comment"></i>' : '';
|
1683 |
Â
|
1684 |
Â
if ( $settings['grid_post_type'] == 'product' ) {
|
1685 |
-
echo comments_number( __( 'No reviews', '
|
1686 |
Â
} else {
|
1687 |
-
echo comments_number( __( 'No comments', '
|
1688 |
Â
} ?>
|
1689 |
Â
</span>
|
1690 |
Â
<?php
|
35 |
Â
* @return string
|
36 |
Â
*/
|
37 |
Â
public function get_title() {
|
38 |
+
return __( 'Post Type Grid', 'textdomain' );
|
39 |
Â
}
|
40 |
Â
|
41 |
Â
/**
|
123 |
Â
* Get post type categories.
|
124 |
Â
*/
|
125 |
Â
private function grid_get_all_post_type_categories( $post_type ) {
|
126 |
+
$options = array( 'all' => __( 'All Categories', 'textdomain' ) );
|
127 |
Â
|
128 |
Â
if ( $post_type == 'post' ) {
|
129 |
Â
$taxonomy = 'category';
|
180 |
Â
$this->start_controls_section(
|
181 |
Â
'section_grid',
|
182 |
Â
[
|
183 |
+
'label' => __( 'Grid Options', 'textdomain' ),
|
184 |
Â
]
|
185 |
Â
);
|
186 |
Â
|
189 |
Â
'grid_post_type',
|
190 |
Â
[
|
191 |
Â
'type' => Controls_Manager::SELECT,
|
192 |
+
'label' => '<i class="fa fa-tag"></i> ' . __( 'Post Type', 'textdomain' ),
|
193 |
Â
'default' => 'post',
|
194 |
Â
'options' => $this->grid_get_all_post_types(),
|
195 |
Â
]
|
200 |
Â
'grid_post_categories',
|
201 |
Â
[
|
202 |
Â
'type' => Controls_Manager::SELECT,
|
203 |
+
'label' => '<i class="fa fa-folder"></i> ' . __( 'Category', 'textdomain' ),
|
204 |
Â
'options' => $this->grid_get_all_post_type_categories( 'post' ),
|
205 |
Â
'condition' => [
|
206 |
Â
'grid_post_type' => 'post',
|
214 |
Â
'grid_product_categories',
|
215 |
Â
[
|
216 |
Â
'type' => Controls_Manager::SELECT,
|
217 |
+
'label' => '<i class="fa fa-tag"></i> ' . __( 'Category', 'textdomain' ),
|
218 |
Â
'options' => $this->grid_get_all_post_type_categories( 'product' ),
|
219 |
Â
'condition' => [
|
220 |
Â
'grid_post_type' => 'product',
|
227 |
Â
'grid_style',
|
228 |
Â
[
|
229 |
Â
'type' => Controls_Manager::SELECT,
|
230 |
+
'label' => '<i class="fa fa-paint-brush"></i> ' . __( 'Style', 'textdomain' ),
|
231 |
Â
'default' => 'grid',
|
232 |
Â
'options' => [
|
233 |
+
'grid' => __( 'Grid', 'textdomain' ),
|
234 |
+
'list' => __( 'List', 'textdomain' ),
|
235 |
Â
],
|
236 |
Â
]
|
237 |
Â
);
|
241 |
Â
'grid_items',
|
242 |
Â
[
|
243 |
Â
'type' => Controls_Manager::NUMBER,
|
244 |
+
'label' => '<i class="fa fa-th-large"></i> ' . __( 'Items', 'textdomain' ),
|
245 |
+
'placeholder' => __( 'How many items?', 'textdomain' ),
|
246 |
Â
'default' => 6,
|
247 |
Â
]
|
248 |
Â
);
|
252 |
Â
'grid_columns',
|
253 |
Â
[
|
254 |
Â
'type' => Controls_Manager::SELECT,
|
255 |
+
'label' => '<i class="fa fa-columns"></i> ' . __( 'Columns', 'textdomain' ),
|
256 |
Â
'default' => 3,
|
257 |
Â
'tablet_default' => 2,
|
258 |
Â
'mobile_default' => 1,
|
271 |
Â
'grid_order_by',
|
272 |
Â
[
|
273 |
Â
'type' => Controls_Manager::SELECT,
|
274 |
+
'label' => '<i class="fa fa-sort"></i> ' . __( 'Order by', 'textdomain' ),
|
275 |
Â
'default' => 'date',
|
276 |
Â
'options' => [
|
277 |
+
'date' => __( 'Date', 'textdomain' ),
|
278 |
+
'title' => __( 'Title', 'textdomain' ),
|
279 |
+
'modified' => __( 'Modified date', 'textdomain' ),
|
280 |
+
'comment_count' => __( 'Comment count', 'textdomain' ),
|
281 |
+
'rand' => __( 'Random', 'textdomain' ),
|
282 |
Â
],
|
283 |
Â
]
|
284 |
Â
);
|
287 |
Â
$this->add_control(
|
288 |
Â
'grid_pagination',
|
289 |
Â
[
|
290 |
+
'label' => '<i class="fa fa-arrow-circle-right"></i> ' . __( 'Pagination', 'textdomain' ),
|
291 |
Â
'type' => Controls_Manager::SWITCHER,
|
292 |
Â
'default' => '',
|
293 |
Â
]
|
303 |
Â
$this->start_controls_section(
|
304 |
Â
'section_grid_image',
|
305 |
Â
[
|
306 |
+
'label' => __( 'Image', 'textdomain' ),
|
307 |
Â
]
|
308 |
Â
);
|
309 |
Â
|
311 |
Â
$this->add_control(
|
312 |
Â
'grid_image_hide',
|
313 |
Â
[
|
314 |
+
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Hide', 'textdomain' ),
|
315 |
Â
'type' => Controls_Manager::SWITCHER,
|
316 |
Â
'default' => '',
|
317 |
Â
]
|
318 |
Â
);
|
319 |
Â
|
320 |
+
$available_size = [ 'full' => __( 'Full size', 'textdomain' ) ];
|
321 |
Â
global $_wp_additional_image_sizes;
|
322 |
Â
if ( ! empty( $_wp_additional_image_sizes ) ) {
|
323 |
Â
foreach ( $_wp_additional_image_sizes as $label => $size_data ) {
|
331 |
Â
$this->add_control(
|
332 |
Â
'grid_image_size',
|
333 |
Â
[
|
334 |
+
'label' => __( 'Image size', 'plugin-domain' ),
|
335 |
Â
'type' => Controls_Manager::SELECT,
|
336 |
Â
'options' => array_unique( $available_size ),
|
337 |
Â
]
|
341 |
Â
$this->add_responsive_control(
|
342 |
Â
'grid_image_height',
|
343 |
Â
[
|
344 |
+
'label' => '<i class="fa fa-arrows-h"></i> ' . __( 'Image height', 'textdomain' ),
|
345 |
Â
'type' => Controls_Manager::SLIDER,
|
346 |
Â
'default' => [
|
347 |
Â
'size' => 220,
|
363 |
Â
$this->add_control(
|
364 |
Â
'grid_image_alignment',
|
365 |
Â
[
|
366 |
+
'label' => __( 'Image alignment', 'textdomain' ),
|
367 |
Â
'type' => Controls_Manager::SELECT,
|
368 |
Â
'default' => 'top',
|
369 |
Â
'options' => [
|
370 |
+
'top' => __( 'Top', 'textdomain' ),
|
371 |
+
'middle' => __( 'Middle', 'textdomain' ),
|
372 |
+
'bottom' => __( 'Bottom', 'textdomain' ),
|
373 |
Â
],
|
374 |
Â
'condition' => [
|
375 |
Â
'grid_style' => 'list'
|
382 |
Â
$this->add_control(
|
383 |
Â
'grid_image_link',
|
384 |
Â
[
|
385 |
+
'label' => '<i class="fa fa-link"></i> ' . __( 'Link', 'textdomain' ),
|
386 |
Â
'type' => Controls_Manager::SWITCHER,
|
387 |
Â
'default' => 'yes',
|
388 |
Â
]
|
398 |
Â
$this->start_controls_section(
|
399 |
Â
'section_grid_title',
|
400 |
Â
[
|
401 |
+
'label' => __( 'Title', 'textdomain' ),
|
402 |
Â
]
|
403 |
Â
);
|
404 |
Â
|
406 |
Â
$this->add_control(
|
407 |
Â
'grid_title_hide',
|
408 |
Â
[
|
409 |
+
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Hide', 'textdomain' ),
|
410 |
Â
'type' => Controls_Manager::SWITCHER,
|
411 |
Â
'default' => '',
|
412 |
Â
]
|
417 |
Â
'grid_title_tag',
|
418 |
Â
[
|
419 |
Â
'type' => Controls_Manager::SELECT,
|
420 |
+
'label' => '<i class="fa fa-code"></i> ' . __( 'Tag', 'textdomain' ),
|
421 |
Â
'default' => 'h2',
|
422 |
Â
'options' => [
|
423 |
Â
'h1' => 'H1',
|
437 |
Â
$this->add_control(
|
438 |
Â
'grid_title_link',
|
439 |
Â
[
|
440 |
+
'label' => '<i class="fa fa-link"></i> ' . __( 'Link', 'textdomain' ),
|
441 |
Â
'type' => Controls_Manager::SWITCHER,
|
442 |
Â
'default' => 'yes',
|
443 |
Â
]
|
453 |
Â
$this->start_controls_section(
|
454 |
Â
'section_grid_meta',
|
455 |
Â
[
|
456 |
+
'label' => __( 'Meta', 'textdomain' ),
|
457 |
Â
]
|
458 |
Â
);
|
459 |
Â
|
461 |
Â
$this->add_control(
|
462 |
Â
'grid_meta_hide',
|
463 |
Â
[
|
464 |
+
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Hide', 'textdomain' ),
|
465 |
Â
'type' => Controls_Manager::SWITCHER,
|
466 |
Â
'default' => '',
|
467 |
Â
]
|
471 |
Â
$this->add_control(
|
472 |
Â
'grid_meta_display',
|
473 |
Â
[
|
474 |
+
'label' => '<i class="fa fa-info-circle"></i> ' . __( 'Display', 'textdomain' ),
|
475 |
Â
'label_block' => true,
|
476 |
Â
'type' => Controls_Manager::SELECT2,
|
477 |
Â
'default' => [ 'author', 'date' ],
|
478 |
Â
'multiple' => true,
|
479 |
Â
'options' => [
|
480 |
+
'author' => __( 'Author', 'textdomain' ),
|
481 |
+
'date' => __( 'Date', 'textdomain' ),
|
482 |
+
'category' => __( 'Category', 'textdomain' ),
|
483 |
+
'tags' => __( 'Tags', 'textdomain' ),
|
484 |
+
'comments' => __( 'Comments', 'textdomain' ),
|
485 |
Â
],
|
486 |
Â
]
|
487 |
Â
);
|
491 |
Â
'grid_meta_categories_max',
|
492 |
Â
[
|
493 |
Â
'type' => Controls_Manager::NUMBER,
|
494 |
+
'label' => __( 'No. of Categories', 'textdomain' ),
|
495 |
+
'placeholder' => __( 'How many categories to display?', 'textdomain' ),
|
496 |
+
'default' => __( '1', 'textdomain' ),
|
497 |
Â
'condition' => [
|
498 |
Â
'grid_meta_display' => 'category',
|
499 |
Â
],
|
505 |
Â
'grid_meta_tags_max',
|
506 |
Â
[
|
507 |
Â
'type' => Controls_Manager::NUMBER,
|
508 |
+
'label' => __( 'No. of Tags', 'textdomain' ),
|
509 |
+
'placeholder' => __( 'How many tags to display?', 'textdomain' ),
|
510 |
Â
'condition' => [
|
511 |
Â
'grid_meta_display' => 'tags',
|
512 |
Â
],
|
517 |
Â
$this->add_control(
|
518 |
Â
'grid_meta_remove_icons',
|
519 |
Â
[
|
520 |
+
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Remove icons', 'textdomain' ),
|
521 |
Â
'type' => Controls_Manager::SWITCHER,
|
522 |
Â
'default' => '',
|
523 |
Â
]
|
533 |
Â
$this->start_controls_section(
|
534 |
Â
'section_grid_content',
|
535 |
Â
[
|
536 |
+
'label' => __( 'Content', 'textdomain' ),
|
537 |
Â
]
|
538 |
Â
);
|
539 |
Â
|
541 |
Â
$this->add_control(
|
542 |
Â
'grid_content_hide',
|
543 |
Â
[
|
544 |
+
'label' => '<i class="fa fa-minus-circle"></i> ' . __( 'Hide', 'textdomain' ),
|
545 |
Â
'type' => Controls_Manager::SWITCHER,
|
546 |
Â
'default' => '',
|
547 |
Â
]
|
551 |
Â
$this->add_control(
|
552 |
Â
'grid_content_full_post',
|
553 |
Â
[
|
554 |
+
'label' => __( 'Show full content', 'textdomain' ),
|
555 |
Â
'type' => Controls_Manager::SWITCHER,
|
556 |
Â
'default' => '',
|
557 |
Â
]
|
562 |
Â
'grid_content_length',
|
563 |
Â
[
|
564 |
Â
'type' => Controls_Manager::NUMBER,
|
565 |
+
'label' => '<i class="fa fa-arrows-h"></i> ' . __( 'Length (words)', 'textdomain' ),
|
566 |
+
'placeholder' => __( 'Length of content (words)', 'textdomain' ),
|
567 |
Â
'default' => 30,
|
568 |
Â
'condition' => [
|
569 |
Â
'grid_content_full_post!' => 'yes'
|
575 |
Â
$this->add_control(
|
576 |
Â
'grid_content_price',
|
577 |
Â
[
|
578 |
+
'label' => '<i class="fa fa-usd"></i> ' . __( 'Price', 'textdomain' ),
|
579 |
Â
'type' => Controls_Manager::SWITCHER,
|
580 |
Â
'default' => 'yes',
|
581 |
Â
'condition' => [
|
588 |
Â
$this->add_control(
|
589 |
Â
'grid_content_default_btn',
|
590 |
Â
[
|
591 |
+
'label' => '<i class="fa fa-check-square"></i> ' . __( 'Button', 'textdomain' ),
|
592 |
Â
'type' => Controls_Manager::SWITCHER,
|
593 |
Â
'default' => 'yes',
|
594 |
Â
'condition' => [
|
602 |
Â
'grid_content_default_btn_text',
|
603 |
Â
[
|
604 |
Â
'type' => Controls_Manager::TEXT,
|
605 |
+
'label' => __( 'Button text', 'textdomain' ),
|
606 |
+
'placeholder' => __( 'Read more', 'textdomain' ),
|
607 |
+
'default' => __( 'Read more', 'textdomain' ),
|
608 |
Â
'condition' => [
|
609 |
Â
'grid_content_default_btn!' => '',
|
610 |
Â
'section_grid.grid_post_type!' => 'product',
|
616 |
Â
$this->add_control(
|
617 |
Â
'grid_content_product_btn',
|
618 |
Â
[
|
619 |
+
'label' => '<i class="fa fa-check-square"></i> ' . __( 'Button', 'textdomain' ),
|
620 |
Â
'type' => Controls_Manager::SWITCHER,
|
621 |
Â
'default' => 'yes',
|
622 |
Â
'condition' => [
|
629 |
Â
$this->add_responsive_control(
|
630 |
Â
'grid_content_btn_alignment',
|
631 |
Â
[
|
632 |
+
'label' => __( 'Button alignment', 'textdomain' ),
|
633 |
Â
'type' => Controls_Manager::CHOOSE,
|
634 |
Â
'options' => [
|
635 |
Â
'left' => [
|
636 |
+
'title' => __( 'Left', 'textdomain' ),
|
637 |
Â
'icon' => 'fa fa-align-left',
|
638 |
Â
],
|
639 |
Â
'center' => [
|
640 |
+
'title' => __( 'Center', 'textdomain' ),
|
641 |
Â
'icon' => 'fa fa-align-center',
|
642 |
Â
],
|
643 |
Â
'right' => [
|
644 |
+
'title' => __( 'Right', 'textdomain' ),
|
645 |
Â
'icon' => 'fa fa-align-right',
|
646 |
Â
],
|
647 |
Â
'justify' => [
|
648 |
+
'title' => __( 'Justified', 'textdomain' ),
|
649 |
Â
'icon' => 'fa fa-align-justify',
|
650 |
Â
],
|
651 |
Â
],
|
665 |
Â
$this->add_responsive_control(
|
666 |
Â
'grid_content_alignment',
|
667 |
Â
[
|
668 |
+
'label' => '<i class="fa fa-align-right"></i> ' . __( 'Alignment', 'textdomain' ),
|
669 |
Â
'type' => Controls_Manager::CHOOSE,
|
670 |
Â
'options' => [
|
671 |
Â
'left' => [
|
672 |
+
'title' => __( 'Left', 'textdomain' ),
|
673 |
Â
'icon' => 'fa fa-align-left',
|
674 |
Â
],
|
675 |
Â
'center' => [
|
676 |
+
'title' => __( 'Center', 'textdomain' ),
|
677 |
Â
'icon' => 'fa fa-align-center',
|
678 |
Â
],
|
679 |
Â
'right' => [
|
680 |
+
'title' => __( 'Right', 'textdomain' ),
|
681 |
Â
'icon' => 'fa fa-align-right',
|
682 |
Â
],
|
683 |
Â
],
|
700 |
Â
$this->start_controls_section(
|
701 |
Â
'section_grid_pagination',
|
702 |
Â
[
|
703 |
+
'label' => __( 'Pagination', 'textdomain' ),
|
704 |
Â
'condition' => [
|
705 |
Â
'section_grid.grid_pagination' => 'yes',
|
706 |
Â
],
|
711 |
Â
$this->add_responsive_control(
|
712 |
Â
'grid_pagination_alignment',
|
713 |
Â
[
|
714 |
+
'label' => __( 'Alignment', 'textdomain' ),
|
715 |
Â
'type' => Controls_Manager::CHOOSE,
|
716 |
Â
'options' => [
|
717 |
Â
'left' => [
|
718 |
+
'title' => __( 'Left', 'textdomain' ),
|
719 |
Â
'icon' => 'fa fa-align-left',
|
720 |
Â
],
|
721 |
Â
'center' => [
|
722 |
+
'title' => __( 'Center', 'textdomain' ),
|
723 |
Â
'icon' => 'fa fa-align-center',
|
724 |
Â
],
|
725 |
Â
'right' => [
|
726 |
+
'title' => __( 'Right', 'textdomain' ),
|
727 |
Â
'icon' => 'fa fa-align-right',
|
728 |
Â
],
|
729 |
Â
],
|
747 |
Â
$this->start_controls_section(
|
748 |
Â
'section_grid_style',
|
749 |
Â
[
|
750 |
+
'label' => __( 'Grid Options', 'textdomain' ),
|
751 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
752 |
Â
]
|
753 |
Â
);
|
756 |
Â
$this->add_responsive_control(
|
757 |
Â
'grid_style_columns_margin',
|
758 |
Â
[
|
759 |
+
'label' => __( 'Columns margin', 'textdomain' ),
|
760 |
Â
'type' => Controls_Manager::SLIDER,
|
761 |
Â
'default' => [
|
762 |
Â
'size' => 15,
|
778 |
Â
$this->add_responsive_control(
|
779 |
Â
'grid_style_rows_margin',
|
780 |
Â
[
|
781 |
+
'label' => __( 'Rows margin', 'textdomain' ),
|
782 |
Â
'type' => Controls_Manager::SLIDER,
|
783 |
Â
'default' => [
|
784 |
Â
'size' => 30,
|
809 |
Â
$this->add_control(
|
810 |
Â
'grid_items_style_heading',
|
811 |
Â
[
|
812 |
+
'label' => __( 'Items', 'textdomain' ),
|
813 |
Â
'type' => Controls_Manager::HEADING,
|
814 |
Â
'separator' => 'before',
|
815 |
Â
]
|
819 |
Â
$this->add_responsive_control(
|
820 |
Â
'grid_items_style_padding',
|
821 |
Â
[
|
822 |
+
'label' => __( 'Padding', 'textdomain' ),
|
823 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
824 |
Â
'size_units' => [ 'px', '%' ],
|
825 |
Â
'selectors' => [
|
832 |
Â
$this->add_control(
|
833 |
Â
'grid_items_style_border_radius',
|
834 |
Â
[
|
835 |
+
'label' => __( 'Border Radius', 'textdomain' ),
|
836 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
837 |
Â
'size_units' => [ 'px', '%' ],
|
838 |
Â
'selectors' => [
|
872 |
Â
$this->start_controls_section(
|
873 |
Â
'section_grid_image_style',
|
874 |
Â
[
|
875 |
+
'label' => __( 'Image', 'textdomain' ),
|
876 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
877 |
Â
'condition' => [
|
878 |
Â
'section_grid_image.grid_image_hide' => '',
|
884 |
Â
$this->add_control(
|
885 |
Â
'grid_image_style_border_radius',
|
886 |
Â
[
|
887 |
+
'label' => __( 'Border Radius', 'textdomain' ),
|
888 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
889 |
Â
'size_units' => [ 'px', '%' ],
|
890 |
Â
'selectors' => [
|
913 |
Â
$this->add_responsive_control(
|
914 |
Â
'grid_image_style_margin',
|
915 |
Â
[
|
916 |
+
'label' => __( 'Margin', 'textdomain' ),
|
917 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
918 |
Â
'size_units' => [ 'px' ],
|
919 |
Â
'selectors' => [
|
936 |
Â
$this->start_controls_section(
|
937 |
Â
'section_grid_title_style',
|
938 |
Â
[
|
939 |
+
'label' => __( 'Title', 'textdomain' ),
|
940 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
941 |
Â
'condition' => [
|
942 |
Â
'section_grid_title.grid_title_hide' => '',
|
959 |
Â
'grid_title_style_color',
|
960 |
Â
[
|
961 |
Â
'type' => Controls_Manager::COLOR,
|
962 |
+
'label' => __( 'Color', 'textdomain' ),
|
963 |
Â
'scheme' => [
|
964 |
Â
'type' => Scheme_Color::get_type(),
|
965 |
Â
'value' => Scheme_Color::COLOR_1,
|
975 |
Â
$this->add_responsive_control(
|
976 |
Â
'grid_title_style_margin',
|
977 |
Â
[
|
978 |
+
'label' => __( 'Margin', 'textdomain' ),
|
979 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
980 |
Â
'size_units' => [ 'px' ],
|
981 |
Â
'selectors' => [
|
995 |
Â
$this->start_controls_section(
|
996 |
Â
'section_grid_meta_style',
|
997 |
Â
[
|
998 |
+
'label' => __( 'Meta', 'textdomain' ),
|
999 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
1000 |
Â
'condition' => [
|
1001 |
Â
'section_grid_meta.grid_meta_hide' => '',
|
1018 |
Â
'grid_meta_style_color',
|
1019 |
Â
[
|
1020 |
Â
'type' => Controls_Manager::COLOR,
|
1021 |
+
'label' => __( 'Color', 'textdomain' ),
|
1022 |
Â
'scheme' => [
|
1023 |
Â
'type' => Scheme_Color::get_type(),
|
1024 |
Â
'value' => Scheme_Color::COLOR_1,
|
1034 |
Â
$this->add_responsive_control(
|
1035 |
Â
'grid_meta_icon_spacing',
|
1036 |
Â
[
|
1037 |
+
'label' => __( 'Icons spacing', 'textdomain' ),
|
1038 |
Â
'type' => Controls_Manager::SLIDER,
|
1039 |
Â
'range' => [
|
1040 |
Â
'px' => [
|
1052 |
Â
$this->add_responsive_control(
|
1053 |
Â
'grid_meta_style_margin',
|
1054 |
Â
[
|
1055 |
+
'label' => __( 'Margin', 'textdomain' ),
|
1056 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1057 |
Â
'size_units' => [ 'px' ],
|
1058 |
Â
'selectors' => [
|
1072 |
Â
$this->start_controls_section(
|
1073 |
Â
'section_grid_content_style',
|
1074 |
Â
[
|
1075 |
+
'label' => __( 'Content', 'textdomain' ),
|
1076 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
1077 |
Â
]
|
1078 |
Â
);
|
1095 |
Â
'grid_content_style_color',
|
1096 |
Â
[
|
1097 |
Â
'type' => Controls_Manager::COLOR,
|
1098 |
+
'label' => __( 'Color', 'textdomain' ),
|
1099 |
Â
'scheme' => [
|
1100 |
Â
'type' => Scheme_Color::get_type(),
|
1101 |
Â
'value' => Scheme_Color::COLOR_1,
|
1113 |
Â
$this->add_responsive_control(
|
1114 |
Â
'grid_content_style_margin',
|
1115 |
Â
[
|
1116 |
+
'label' => __( 'Margin', 'textdomain' ),
|
1117 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1118 |
Â
'size_units' => [ 'px' ],
|
1119 |
Â
'selectors' => [
|
1129 |
Â
$this->add_control(
|
1130 |
Â
'grid_content_price_style_heading',
|
1131 |
Â
[
|
1132 |
+
'label' => __( 'Price', 'textdomain' ),
|
1133 |
Â
'type' => Controls_Manager::HEADING,
|
1134 |
Â
'separator' => 'before',
|
1135 |
Â
'condition' => [
|
1158 |
Â
'grid_content_price_style_color',
|
1159 |
Â
[
|
1160 |
Â
'type' => Controls_Manager::COLOR,
|
1161 |
+
'label' => __( 'Color', 'textdomain' ),
|
1162 |
Â
'scheme' => [
|
1163 |
Â
'type' => Scheme_Color::get_type(),
|
1164 |
Â
'value' => Scheme_Color::COLOR_1,
|
1177 |
Â
$this->add_responsive_control(
|
1178 |
Â
'grid_content_price_style_margin',
|
1179 |
Â
[
|
1180 |
+
'label' => __( 'Margin', 'textdomain' ),
|
1181 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1182 |
Â
'size_units' => [ 'px' ],
|
1183 |
Â
'selectors' => [
|
1204 |
Â
$this->add_control(
|
1205 |
Â
'grid_button_style_heading',
|
1206 |
Â
[
|
1207 |
+
'label' => __( 'Button', 'textdomain' ),
|
1208 |
Â
'type' => Controls_Manager::HEADING,
|
1209 |
Â
'separator' => 'before',
|
1210 |
Â
'condition' => [
|
1234 |
Â
$this->start_controls_tab(
|
1235 |
Â
'grid_button_style_normal',
|
1236 |
Â
[
|
1237 |
+
'label' => __( 'Normal', 'textdomain' ),
|
1238 |
Â
'condition' => [
|
1239 |
Â
'section_grid_content.grid_content_default_btn!' => '',
|
1240 |
Â
'section_grid_content.grid_content_product_btn!' => '',
|
1247 |
Â
'grid_button_style_normal_text_color',
|
1248 |
Â
[
|
1249 |
Â
'type' => Controls_Manager::COLOR,
|
1250 |
+
'label' => __( 'Text Color', 'textdomain' ),
|
1251 |
Â
'scheme' => [
|
1252 |
Â
'type' => Scheme_Color::get_type(),
|
1253 |
Â
'value' => Scheme_Color::COLOR_1,
|
1269 |
Â
'grid_button_style_normal_bg_color',
|
1270 |
Â
[
|
1271 |
Â
'type' => Controls_Manager::COLOR,
|
1272 |
+
'label' => __( 'Background Color', 'textdomain' ),
|
1273 |
Â
'scheme' => [
|
1274 |
Â
'type' => Scheme_Color::get_type(),
|
1275 |
Â
'value' => Scheme_Color::COLOR_1,
|
1305 |
Â
$this->start_controls_tab(
|
1306 |
Â
'grid_button_style_hover',
|
1307 |
Â
[
|
1308 |
+
'label' => __( 'Hover', 'textdomain' ),
|
1309 |
Â
'condition' => [
|
1310 |
Â
'section_grid_content.grid_content_default_btn!' => '',
|
1311 |
Â
'section_grid_content.grid_content_product_btn!' => '',
|
1318 |
Â
'grid_button_style_hover_text_color',
|
1319 |
Â
[
|
1320 |
Â
'type' => Controls_Manager::COLOR,
|
1321 |
+
'label' => __( 'Text Color', 'textdomain' ),
|
1322 |
Â
'scheme' => [
|
1323 |
Â
'type' => Scheme_Color::get_type(),
|
1324 |
Â
'value' => Scheme_Color::COLOR_1,
|
1339 |
Â
'grid_button_style_hover_bg_color',
|
1340 |
Â
[
|
1341 |
Â
'type' => Controls_Manager::COLOR,
|
1342 |
+
'label' => __( 'Background Color', 'textdomain' ),
|
1343 |
Â
'scheme' => [
|
1344 |
Â
'type' => Scheme_Color::get_type(),
|
1345 |
Â
'value' => Scheme_Color::COLOR_1,
|
1377 |
Â
$this->add_control(
|
1378 |
Â
'grid_button_style_padding',
|
1379 |
Â
[
|
1380 |
+
'label' => __( 'Button padding', 'textdomain' ),
|
1381 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1382 |
Â
'size_units' => [ 'px' ],
|
1383 |
Â
'selectors' => [
|
1394 |
Â
$this->add_control(
|
1395 |
Â
'grid_button_style_border_radius',
|
1396 |
Â
[
|
1397 |
+
'label' => __( 'Button border radius', 'textdomain' ),
|
1398 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1399 |
Â
'size_units' => [ 'px', '%' ],
|
1400 |
Â
'selectors' => [
|
1416 |
Â
$this->start_controls_section(
|
1417 |
Â
'section_grid_pagination_style',
|
1418 |
Â
[
|
1419 |
+
'label' => __( 'Pagination', 'textdomain' ),
|
1420 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
1421 |
Â
'condition' => [
|
1422 |
Â
'section_grid.grid_pagination' => 'yes',
|
1428 |
Â
$this->add_responsive_control(
|
1429 |
Â
'grid_pagination_style_margin',
|
1430 |
Â
[
|
1431 |
+
'label' => __( 'Margin', 'textdomain' ),
|
1432 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
1433 |
Â
'size_units' => [ 'px' ],
|
1434 |
Â
'selectors' => [
|
1554 |
Â
'end_size' => 1,
|
1555 |
Â
'mid_size' => 3,
|
1556 |
Â
'prev_next' => true,
|
1557 |
+
'prev_text' => esc_html__( 'Previous', 'textdomain' ),
|
1558 |
+
'next_text' => esc_html__( 'Next', 'textdomain' ),
|
1559 |
Â
'type' => 'plain',
|
1560 |
Â
'add_args' => false,
|
1561 |
Â
);
|
1682 |
Â
echo ( $settings['grid_meta_remove_icons'] == '' ) ? '<i class="fas fa-comment"></i>' : '';
|
1683 |
Â
|
1684 |
Â
if ( $settings['grid_post_type'] == 'product' ) {
|
1685 |
+
echo comments_number( __( 'No reviews', 'textdomain' ), __( '1 review', 'textdomain' ), __( '% reviews', 'textdomain' ) );
|
1686 |
Â
} else {
|
1687 |
+
echo comments_number( __( 'No comments', 'textdomain' ), __( '1 comment', 'textdomain' ), __( '% comments', 'textdomain' ) );
|
1688 |
Â
} ?>
|
1689 |
Â
</span>
|
1690 |
Â
<?php
|
vendor/codeinwp/elementor-extra-widgets/widgets/elementor/premium-placeholder.php
CHANGED
@@ -74,9 +74,9 @@ abstract class Premium_Placeholder extends \Elementor\Widget_Base {
|
|
74 |
Â
[
|
75 |
Â
'raw' => sprintf(
|
76 |
Â
'<div><h3>%s</h3><a href="%s" target="_blank">%s</a></div>',
|
77 |
-
__( 'This widget is part of the pro version of Sizzify.', '
|
78 |
Â
$this->get_upsell_link(),
|
79 |
-
__( 'Upgrade Here!', '
|
80 |
Â
),
|
81 |
Â
'type' => \Elementor\Controls_Manager::RAW_HTML,
|
82 |
Â
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
74 |
Â
[
|
75 |
Â
'raw' => sprintf(
|
76 |
Â
'<div><h3>%s</h3><a href="%s" target="_blank">%s</a></div>',
|
77 |
+
__( 'This widget is part of the pro version of Sizzify.', 'textdomain' ),
|
78 |
Â
$this->get_upsell_link(),
|
79 |
+
__( 'Upgrade Here!', 'textdomain' )
|
80 |
Â
),
|
81 |
Â
'type' => \Elementor\Controls_Manager::RAW_HTML,
|
82 |
Â
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
vendor/codeinwp/elementor-extra-widgets/widgets/elementor/pricing-table.php
CHANGED
@@ -31,7 +31,7 @@ class Pricing_Table extends Widget_Base {
|
|
31 |
Â
* @return string
|
32 |
Â
*/
|
33 |
Â
public function get_title() {
|
34 |
-
return __( 'Pricing Table', '
|
35 |
Â
}
|
36 |
Â
|
37 |
Â
/**
|
@@ -100,7 +100,7 @@ class Pricing_Table extends Widget_Base {
|
|
100 |
Â
$this->start_controls_section(
|
101 |
Â
'section_title',
|
102 |
Â
[
|
103 |
-
'label' => __( 'Plan Title', '
|
104 |
Â
]
|
105 |
Â
);
|
106 |
Â
|
@@ -108,9 +108,9 @@ class Pricing_Table extends Widget_Base {
|
|
108 |
Â
'title',
|
109 |
Â
[
|
110 |
Â
'type' => Controls_Manager::TEXT,
|
111 |
-
'label' => __( 'Title', '
|
112 |
-
'placeholder' => __( 'Title', '
|
113 |
-
'default' => __( 'Pricing Plan', '
|
114 |
Â
]
|
115 |
Â
);
|
116 |
Â
|
@@ -118,16 +118,16 @@ class Pricing_Table extends Widget_Base {
|
|
118 |
Â
'title_tag',
|
119 |
Â
[
|
120 |
Â
'type' => Controls_Manager::SELECT,
|
121 |
-
'label' => __( 'Title HTML tag', '
|
122 |
Â
'default' => 'h3',
|
123 |
Â
'options' => [
|
124 |
-
'h1' => __( 'h1', '
|
125 |
-
'h2' => __( 'h2', '
|
126 |
-
'h3' => __( 'h3', '
|
127 |
-
'h4' => __( 'h4', '
|
128 |
-
'h5' => __( 'h5', '
|
129 |
-
'h6' => __( 'h6', '
|
130 |
-
'p' => __( 'p', '
|
131 |
Â
],
|
132 |
Â
]
|
133 |
Â
);
|
@@ -136,9 +136,9 @@ class Pricing_Table extends Widget_Base {
|
|
136 |
Â
'subtitle',
|
137 |
Â
[
|
138 |
Â
'type' => Controls_Manager::TEXT,
|
139 |
-
'label' => __( 'Subtitle', '
|
140 |
-
'placeholder' => __( 'Subtitle', '
|
141 |
-
'default' => __( 'Description', '
|
142 |
Â
]
|
143 |
Â
);
|
144 |
Â
|
@@ -146,16 +146,16 @@ class Pricing_Table extends Widget_Base {
|
|
146 |
Â
'subtitle_tag',
|
147 |
Â
[
|
148 |
Â
'type' => Controls_Manager::SELECT,
|
149 |
-
'label' => __( 'Subtitle HTML Tag', '
|
150 |
Â
'default' => 'p',
|
151 |
Â
'options' => [
|
152 |
-
'h1' => __( 'h1', '
|
153 |
-
'h2' => __( 'h2', '
|
154 |
-
'h3' => __( 'h3', '
|
155 |
-
'h4' => __( 'h4', '
|
156 |
-
'h5' => __( 'h5', '
|
157 |
-
'h6' => __( 'h6', '
|
158 |
-
'p' => __( 'p', '
|
159 |
Â
],
|
160 |
Â
]
|
161 |
Â
);
|
@@ -169,7 +169,7 @@ class Pricing_Table extends Widget_Base {
|
|
169 |
Â
$this->start_controls_section(
|
170 |
Â
'section_price_tag',
|
171 |
Â
[
|
172 |
-
'label' => __( 'Price Tag', '
|
173 |
Â
]
|
174 |
Â
);
|
175 |
Â
|
@@ -177,9 +177,9 @@ class Pricing_Table extends Widget_Base {
|
|
177 |
Â
'price_tag_text',
|
178 |
Â
[
|
179 |
Â
'type' => Controls_Manager::TEXT,
|
180 |
-
'label' => __( 'Price', '
|
181 |
-
'placeholder' => __( 'Price', '
|
182 |
-
'default' => __( '50', '
|
183 |
Â
'separator' => 'after',
|
184 |
Â
]
|
185 |
Â
);
|
@@ -188,9 +188,9 @@ class Pricing_Table extends Widget_Base {
|
|
188 |
Â
'price_tag_currency',
|
189 |
Â
[
|
190 |
Â
'type' => Controls_Manager::TEXT,
|
191 |
-
'label' => __( 'Currency', '
|
192 |
-
'placeholder' => __( 'Currency', '
|
193 |
-
'default' => __( '$', '
|
194 |
Â
]
|
195 |
Â
);
|
196 |
Â
|
@@ -198,11 +198,11 @@ class Pricing_Table extends Widget_Base {
|
|
198 |
Â
'price_tag_currency_position',
|
199 |
Â
[
|
200 |
Â
'type' => Controls_Manager::SELECT,
|
201 |
-
'label' => __( 'Currency Position', '
|
202 |
Â
'default' => 'left',
|
203 |
Â
'options' => [
|
204 |
-
'left' => __( 'Before', '
|
205 |
-
'right' => __( 'After', '
|
206 |
Â
],
|
207 |
Â
]
|
208 |
Â
);
|
@@ -211,9 +211,9 @@ class Pricing_Table extends Widget_Base {
|
|
211 |
Â
'price_tag_period',
|
212 |
Â
[
|
213 |
Â
'type' => Controls_Manager::TEXT,
|
214 |
-
'label' => __( 'Period', '
|
215 |
-
'placeholder' => __( '/month', '
|
216 |
-
'default' => __( '/month', '
|
217 |
Â
'separator' => 'before',
|
218 |
Â
]
|
219 |
Â
);
|
@@ -227,50 +227,50 @@ class Pricing_Table extends Widget_Base {
|
|
227 |
Â
$this->start_controls_section(
|
228 |
Â
'section_features',
|
229 |
Â
[
|
230 |
-
'label' => __( 'Features', '
|
231 |
Â
]
|
232 |
Â
);
|
233 |
Â
|
234 |
Â
$this->add_control(
|
235 |
Â
'feature_list',
|
236 |
Â
[
|
237 |
-
'label' => __( 'Plan Features', '
|
238 |
Â
'type' => Controls_Manager::REPEATER,
|
239 |
Â
'default' => [
|
240 |
Â
[
|
241 |
-
'accent' => __( 'First', '
|
242 |
-
'text' => __( 'Feature', '
|
243 |
Â
],
|
244 |
Â
[
|
245 |
-
'accent' => __( 'Second', '
|
246 |
-
'text' => __( 'Feature', '
|
247 |
Â
],
|
248 |
Â
[
|
249 |
-
'accent' => __( 'Third', '
|
250 |
-
'text' => __( 'Feature', '
|
251 |
Â
],
|
252 |
Â
],
|
253 |
Â
'fields' => [
|
254 |
Â
[
|
255 |
Â
'type' => Controls_Manager::TEXT,
|
256 |
Â
'name' => 'accent',
|
257 |
-
'label' => __( 'Accented Text', '
|
258 |
-
'description' => __( 'Appears before feature text', '
|
259 |
Â
'label_block' => true,
|
260 |
-
'default' => __( 'Accent', '
|
261 |
Â
],
|
262 |
Â
[
|
263 |
Â
'type' => Controls_Manager::TEXT,
|
264 |
Â
'name' => 'text',
|
265 |
-
'label' => __( 'Text', '
|
266 |
Â
'label_block' => true,
|
267 |
-
'placeholder' => __( 'Plan Features', '
|
268 |
-
'default' => __( 'Feature', '
|
269 |
Â
],
|
270 |
Â
[
|
271 |
Â
'type' => Controls_Manager::ICONS,
|
272 |
Â
'name' => 'feature_icon_new',
|
273 |
-
'label' => __( 'Icon', '
|
274 |
Â
'default' => [
|
275 |
Â
'value' => 'fas fa-star',
|
276 |
Â
'library' => 'solid',
|
@@ -285,23 +285,23 @@ class Pricing_Table extends Widget_Base {
|
|
285 |
Â
$this->add_responsive_control(
|
286 |
Â
'features_align',
|
287 |
Â
[
|
288 |
-
'label' => __( 'Alignment', '
|
289 |
Â
'type' => Controls_Manager::CHOOSE,
|
290 |
Â
'options' => [
|
291 |
Â
'left' => [
|
292 |
-
'title' => __( 'Left', '
|
293 |
Â
'icon' => 'fa fa-align-left',
|
294 |
Â
],
|
295 |
Â
'center' => [
|
296 |
-
'title' => __( 'Center', '
|
297 |
Â
'icon' => 'fa fa-align-center',
|
298 |
Â
],
|
299 |
Â
'right' => [
|
300 |
-
'title' => __( 'Right', '
|
301 |
Â
'icon' => 'fa fa-align-right',
|
302 |
Â
],
|
303 |
Â
'justify' => [
|
304 |
-
'title' => __( 'Justified', '
|
305 |
Â
'icon' => 'fa fa-align-justify',
|
306 |
Â
],
|
307 |
Â
],
|
@@ -322,7 +322,7 @@ class Pricing_Table extends Widget_Base {
|
|
322 |
Â
$this->start_controls_section(
|
323 |
Â
'section_button',
|
324 |
Â
[
|
325 |
-
'label' => __( 'Button', '
|
326 |
Â
]
|
327 |
Â
);
|
328 |
Â
|
@@ -330,9 +330,9 @@ class Pricing_Table extends Widget_Base {
|
|
330 |
Â
'button_text',
|
331 |
Â
[
|
332 |
Â
'type' => Controls_Manager::TEXT,
|
333 |
-
'label' => __( 'Text', '
|
334 |
-
'placeholder' => __( 'Buy Now', '
|
335 |
-
'default' => __( 'Buy Now', '
|
336 |
Â
]
|
337 |
Â
);
|
338 |
Â
|
@@ -340,8 +340,8 @@ class Pricing_Table extends Widget_Base {
|
|
340 |
Â
'button_link',
|
341 |
Â
[
|
342 |
Â
'type' => Controls_Manager::URL,
|
343 |
-
'label' => __( 'Link', '
|
344 |
-
'placeholder' => __( 'https://example.com', '
|
345 |
Â
]
|
346 |
Â
);
|
347 |
Â
|
@@ -349,7 +349,7 @@ class Pricing_Table extends Widget_Base {
|
|
349 |
Â
'button_icon_new',
|
350 |
Â
[
|
351 |
Â
'type' => Controls_Manager::ICONS,
|
352 |
-
'label' => __( 'Icon', '
|
353 |
Â
'fa4compatibility' => 'button_icon',
|
354 |
Â
]
|
355 |
Â
);
|
@@ -358,11 +358,11 @@ class Pricing_Table extends Widget_Base {
|
|
358 |
Â
'button_icon_align',
|
359 |
Â
[
|
360 |
Â
'type' => Controls_Manager::SELECT,
|
361 |
-
'label' => __( 'Icon Position', '
|
362 |
Â
'default' => 'left',
|
363 |
Â
'options' => [
|
364 |
-
'left' => __( 'Before', '
|
365 |
-
'right' => __( 'After', '
|
366 |
Â
],
|
367 |
Â
'condition' => [
|
368 |
Â
'button_icon!' => '',
|
@@ -374,7 +374,7 @@ class Pricing_Table extends Widget_Base {
|
|
374 |
Â
'button_icon_indent',
|
375 |
Â
[
|
376 |
Â
'type' => Controls_Manager::SLIDER,
|
377 |
-
'label' => __( 'Icon Spacing', '
|
378 |
Â
'range' => [
|
379 |
Â
'px' => [
|
380 |
Â
'max' => 50,
|
@@ -399,7 +399,7 @@ class Pricing_Table extends Widget_Base {
|
|
399 |
Â
$this->start_controls_section(
|
400 |
Â
'section_header_style',
|
401 |
Â
[
|
402 |
-
'label' => __( 'Header', '
|
403 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
404 |
Â
]
|
405 |
Â
);
|
@@ -407,7 +407,7 @@ class Pricing_Table extends Widget_Base {
|
|
407 |
Â
$this->add_responsive_control(
|
408 |
Â
'header_padding',
|
409 |
Â
[
|
410 |
-
'label' => __( 'Header Padding', '
|
411 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
412 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
413 |
Â
'selectors' => [
|
@@ -420,7 +420,7 @@ class Pricing_Table extends Widget_Base {
|
|
420 |
Â
'plan_title_color',
|
421 |
Â
[
|
422 |
Â
'type' => Controls_Manager::COLOR,
|
423 |
-
'label' => __( 'Title Color', '
|
424 |
Â
'scheme' => [
|
425 |
Â
'type' => Scheme_Color::get_type(),
|
426 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -445,7 +445,7 @@ class Pricing_Table extends Widget_Base {
|
|
445 |
Â
'plan_subtitle_color',
|
446 |
Â
[
|
447 |
Â
'type' => Controls_Manager::COLOR,
|
448 |
-
'label' => __( 'Subtitle Color', '
|
449 |
Â
'scheme' => [
|
450 |
Â
'type' => Scheme_Color::get_type(),
|
451 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -470,7 +470,7 @@ class Pricing_Table extends Widget_Base {
|
|
470 |
Â
Group_Control_Background::get_type(),
|
471 |
Â
[
|
472 |
Â
'name' => 'heading_section_bg',
|
473 |
-
'label' => __( 'Section Background', '
|
474 |
Â
'types' => [ 'classic', 'gradient' ],
|
475 |
Â
'selector' => '{{WRAPPER}} .obfx-title-wrapper',
|
476 |
Â
]
|
@@ -485,7 +485,7 @@ class Pricing_Table extends Widget_Base {
|
|
485 |
Â
$this->start_controls_section(
|
486 |
Â
'section_price_box',
|
487 |
Â
[
|
488 |
-
'label' => __( 'Price Tag', '
|
489 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
490 |
Â
]
|
491 |
Â
);
|
@@ -494,7 +494,7 @@ class Pricing_Table extends Widget_Base {
|
|
494 |
Â
'price_box_padding',
|
495 |
Â
[
|
496 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
497 |
-
'label' => __( 'Price Box Padding', '
|
498 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
499 |
Â
'selectors' => [
|
500 |
Â
'{{WRAPPER}} .obfx-price-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
@@ -506,7 +506,7 @@ class Pricing_Table extends Widget_Base {
|
|
506 |
Â
Group_Control_Typography::get_type(),
|
507 |
Â
[
|
508 |
Â
'name' => 'pricing_section_bg',
|
509 |
-
'label' => __( 'Section Background', '
|
510 |
Â
'types' => [ 'classic', 'gradient' ],
|
511 |
Â
'selector' => '{{WRAPPER}} .obfx-price-wrapper',
|
512 |
Â
]
|
@@ -515,7 +515,7 @@ class Pricing_Table extends Widget_Base {
|
|
515 |
Â
$this->add_control(
|
516 |
Â
'price_tag_heading_currency',
|
517 |
Â
[
|
518 |
-
'label' => __( 'Currency', '
|
519 |
Â
'type' => Controls_Manager::HEADING,
|
520 |
Â
'separator' => 'before',
|
521 |
Â
]
|
@@ -524,7 +524,7 @@ class Pricing_Table extends Widget_Base {
|
|
524 |
Â
$this->add_control(
|
525 |
Â
'currency_color',
|
526 |
Â
[
|
527 |
-
'label' => __( 'Currency Color', '
|
528 |
Â
'type' => Controls_Manager::COLOR,
|
529 |
Â
'scheme' => [
|
530 |
Â
'type' => Scheme_Color::get_type(),
|
@@ -549,7 +549,7 @@ class Pricing_Table extends Widget_Base {
|
|
549 |
Â
$this->add_control(
|
550 |
Â
'price_tag_heading_price',
|
551 |
Â
[
|
552 |
-
'label' => __( 'Price', '
|
553 |
Â
'type' => Controls_Manager::HEADING,
|
554 |
Â
'separator' => 'before',
|
555 |
Â
]
|
@@ -558,7 +558,7 @@ class Pricing_Table extends Widget_Base {
|
|
558 |
Â
$this->add_control(
|
559 |
Â
'price_text_color',
|
560 |
Â
[
|
561 |
-
'label' => __( 'Price Color', '
|
562 |
Â
'type' => Controls_Manager::COLOR,
|
563 |
Â
'scheme' => [
|
564 |
Â
'type' => Scheme_Color::get_type(),
|
@@ -583,7 +583,7 @@ class Pricing_Table extends Widget_Base {
|
|
583 |
Â
$this->add_control(
|
584 |
Â
'price_tag_heading_period',
|
585 |
Â
[
|
586 |
-
'label' => __( 'Period', '
|
587 |
Â
'type' => Controls_Manager::HEADING,
|
588 |
Â
'separator' => 'before',
|
589 |
Â
]
|
@@ -592,7 +592,7 @@ class Pricing_Table extends Widget_Base {
|
|
592 |
Â
$this->add_control(
|
593 |
Â
'period_color',
|
594 |
Â
[
|
595 |
-
'label' => __( 'Period Color', '
|
596 |
Â
'type' => Controls_Manager::COLOR,
|
597 |
Â
'scheme' => [
|
598 |
Â
'type' => Scheme_Color::get_type(),
|
@@ -623,7 +623,7 @@ class Pricing_Table extends Widget_Base {
|
|
623 |
Â
$this->start_controls_section(
|
624 |
Â
'section_features_style',
|
625 |
Â
[
|
626 |
-
'label' => __( 'Features', '
|
627 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
628 |
Â
]
|
629 |
Â
);
|
@@ -632,7 +632,7 @@ class Pricing_Table extends Widget_Base {
|
|
632 |
Â
Group_Control_Background::get_type(),
|
633 |
Â
[
|
634 |
Â
'name' => 'features_section_bg',
|
635 |
-
'label' => __( 'Section Background', '
|
636 |
Â
'types' => [ 'classic', 'gradient' ],
|
637 |
Â
'selector' => '{{WRAPPER}} .obfx-feature-list',
|
638 |
Â
]
|
@@ -642,7 +642,7 @@ class Pricing_Table extends Widget_Base {
|
|
642 |
Â
'features_box_padding',
|
643 |
Â
[
|
644 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
645 |
-
'label' => __( 'Features List Padding', '
|
646 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
647 |
Â
'selectors' => [
|
648 |
Â
'{{WRAPPER}} .obfx-feature-list' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
@@ -653,7 +653,7 @@ class Pricing_Table extends Widget_Base {
|
|
653 |
Â
$this->add_control(
|
654 |
Â
'features_accented_heading',
|
655 |
Â
[
|
656 |
-
'label' => __( 'Accented', '
|
657 |
Â
'type' => Controls_Manager::HEADING,
|
658 |
Â
'separator' => 'before',
|
659 |
Â
]
|
@@ -663,7 +663,7 @@ class Pricing_Table extends Widget_Base {
|
|
663 |
Â
'features_accented_text_color',
|
664 |
Â
[
|
665 |
Â
'type' => Controls_Manager::COLOR,
|
666 |
-
'label' => __( 'Accented Color', '
|
667 |
Â
'scheme' => [
|
668 |
Â
'type' => Scheme_Color::get_type(),
|
669 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -687,7 +687,7 @@ class Pricing_Table extends Widget_Base {
|
|
687 |
Â
$this->add_control(
|
688 |
Â
'features_features_heading',
|
689 |
Â
[
|
690 |
-
'label' => __( 'Features', '
|
691 |
Â
'type' => Controls_Manager::HEADING,
|
692 |
Â
'separator' => 'before',
|
693 |
Â
]
|
@@ -696,7 +696,7 @@ class Pricing_Table extends Widget_Base {
|
|
696 |
Â
$this->add_control(
|
697 |
Â
'features_text_color',
|
698 |
Â
[
|
699 |
-
'label' => __( 'Features Color', '
|
700 |
Â
'type' => Controls_Manager::COLOR,
|
701 |
Â
'scheme' => [
|
702 |
Â
'type' => Scheme_Color::get_type(),
|
@@ -721,7 +721,7 @@ class Pricing_Table extends Widget_Base {
|
|
721 |
Â
$this->add_control(
|
722 |
Â
'features_icons_heading',
|
723 |
Â
[
|
724 |
-
'label' => __( 'Icons', '
|
725 |
Â
'type' => Controls_Manager::HEADING,
|
726 |
Â
'separator' => 'before',
|
727 |
Â
]
|
@@ -730,7 +730,7 @@ class Pricing_Table extends Widget_Base {
|
|
730 |
Â
$this->add_control(
|
731 |
Â
'features_icon_color',
|
732 |
Â
[
|
733 |
-
'label' => __( 'Icon Color', '
|
734 |
Â
'type' => Controls_Manager::COLOR,
|
735 |
Â
'scheme' => [
|
736 |
Â
'type' => Scheme_Color::get_type(),
|
@@ -747,7 +747,7 @@ class Pricing_Table extends Widget_Base {
|
|
747 |
Â
'features_icon_size',
|
748 |
Â
[
|
749 |
Â
'type' => Controls_Manager::SLIDER,
|
750 |
-
'label' => __( 'Icon Size', '
|
751 |
Â
'default' => [
|
752 |
Â
'size' => 16,
|
753 |
Â
],
|
@@ -767,7 +767,7 @@ class Pricing_Table extends Widget_Base {
|
|
767 |
Â
'features_icon_indent',
|
768 |
Â
[
|
769 |
Â
'type' => Controls_Manager::SLIDER,
|
770 |
-
'label' => __( 'Icon Spacing', '
|
771 |
Â
'default' => [
|
772 |
Â
'size' => 5,
|
773 |
Â
],
|
@@ -792,7 +792,7 @@ class Pricing_Table extends Widget_Base {
|
|
792 |
Â
$this->start_controls_section(
|
793 |
Â
'section_button_style',
|
794 |
Â
[
|
795 |
-
'label' => __( 'Button', '
|
796 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
797 |
Â
]
|
798 |
Â
);
|
@@ -800,7 +800,7 @@ class Pricing_Table extends Widget_Base {
|
|
800 |
Â
$this->add_group_control(
|
801 |
Â
Group_Control_Background::get_type(), [
|
802 |
Â
'name' => 'button_section_bg',
|
803 |
-
'label' => __( 'Section Background', '
|
804 |
Â
'types' => [ 'classic', 'gradient' ],
|
805 |
Â
'selector' => '{{WRAPPER}} .obfx-pricing-table-button-wrapper',
|
806 |
Â
]
|
@@ -810,7 +810,7 @@ class Pricing_Table extends Widget_Base {
|
|
810 |
Â
Group_Control_Typography::get_type(),
|
811 |
Â
[
|
812 |
Â
'name' => 'typography',
|
813 |
-
'label' => __( 'Typography', '
|
814 |
Â
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
815 |
Â
'selector' => '{{WRAPPER}} .obfx-pricing-table-button-wrapper',
|
816 |
Â
]
|
@@ -819,7 +819,7 @@ class Pricing_Table extends Widget_Base {
|
|
819 |
Â
$this->add_control(
|
820 |
Â
'border_radius',
|
821 |
Â
[
|
822 |
-
'label' => __( 'Border Radius', '
|
823 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
824 |
Â
'size_units' => [ 'px', '%' ],
|
825 |
Â
'selectors' => [
|
@@ -831,7 +831,7 @@ class Pricing_Table extends Widget_Base {
|
|
831 |
Â
$this->add_control(
|
832 |
Â
'text_padding',
|
833 |
Â
[
|
834 |
-
'label' => __( 'Padding', '
|
835 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
836 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
837 |
Â
'selectors' => [
|
@@ -844,7 +844,7 @@ class Pricing_Table extends Widget_Base {
|
|
844 |
Â
'button_icon_size',
|
845 |
Â
[
|
846 |
Â
'type' => Controls_Manager::SLIDER,
|
847 |
-
'label' => __( 'Icon Size', '
|
848 |
Â
'default' => [
|
849 |
Â
'size' => 16,
|
850 |
Â
],
|
@@ -875,7 +875,7 @@ class Pricing_Table extends Widget_Base {
|
|
875 |
Â
$this->start_controls_tab(
|
876 |
Â
'tab_background_normal',
|
877 |
Â
[
|
878 |
-
'label' => __( 'Normal', '
|
879 |
Â
]
|
880 |
Â
);
|
881 |
Â
|
@@ -883,7 +883,7 @@ class Pricing_Table extends Widget_Base {
|
|
883 |
Â
'button_text_color',
|
884 |
Â
[
|
885 |
Â
'type' => Controls_Manager::COLOR,
|
886 |
-
'label' => __( 'Text Color', '
|
887 |
Â
'scheme' => [
|
888 |
Â
'type' => Scheme_Color::get_type(),
|
889 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -898,7 +898,7 @@ class Pricing_Table extends Widget_Base {
|
|
898 |
Â
'button_bg_color',
|
899 |
Â
[
|
900 |
Â
'type' => Controls_Manager::COLOR,
|
901 |
-
'label' => __( 'Background Color', '
|
902 |
Â
'scheme' => [
|
903 |
Â
'type' => Scheme_Color::get_type(),
|
904 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -924,7 +924,7 @@ class Pricing_Table extends Widget_Base {
|
|
924 |
Â
$this->start_controls_tab(
|
925 |
Â
'tab_background_hover',
|
926 |
Â
[
|
927 |
-
'label' => __( 'Hover', '
|
928 |
Â
]
|
929 |
Â
);
|
930 |
Â
|
@@ -932,7 +932,7 @@ class Pricing_Table extends Widget_Base {
|
|
932 |
Â
'button_hover_text_color',
|
933 |
Â
[
|
934 |
Â
'type' => Controls_Manager::COLOR,
|
935 |
-
'label' => __( 'Text Color', '
|
936 |
Â
'scheme' => [
|
937 |
Â
'type' => Scheme_Color::get_type(),
|
938 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -947,7 +947,7 @@ class Pricing_Table extends Widget_Base {
|
|
947 |
Â
'button_hover_bg_color',
|
948 |
Â
[
|
949 |
Â
'type' => Controls_Manager::COLOR,
|
950 |
-
'label' => __( 'Background Color', '
|
951 |
Â
'scheme' => [
|
952 |
Â
'type' => Scheme_Color::get_type(),
|
953 |
Â
'value' => Scheme_Color::COLOR_1,
|
@@ -971,7 +971,7 @@ class Pricing_Table extends Widget_Base {
|
|
971 |
Â
$this->add_control(
|
972 |
Â
'background_hover_transition',
|
973 |
Â
[
|
974 |
-
'label' => __( 'Transition Duration', '
|
975 |
Â
'type' => Controls_Manager::SLIDER,
|
976 |
Â
'default' => [
|
977 |
Â
'size' => 0.3,
|
31 |
Â
* @return string
|
32 |
Â
*/
|
33 |
Â
public function get_title() {
|
34 |
+
return __( 'Pricing Table', 'textdomain' );
|
35 |
Â
}
|
36 |
Â
|
37 |
Â
/**
|
100 |
Â
$this->start_controls_section(
|
101 |
Â
'section_title',
|
102 |
Â
[
|
103 |
+
'label' => __( 'Plan Title', 'textdomain' ),
|
104 |
Â
]
|
105 |
Â
);
|
106 |
Â
|
108 |
Â
'title',
|
109 |
Â
[
|
110 |
Â
'type' => Controls_Manager::TEXT,
|
111 |
+
'label' => __( 'Title', 'textdomain' ),
|
112 |
+
'placeholder' => __( 'Title', 'textdomain' ),
|
113 |
+
'default' => __( 'Pricing Plan', 'textdomain' ),
|
114 |
Â
]
|
115 |
Â
);
|
116 |
Â
|
118 |
Â
'title_tag',
|
119 |
Â
[
|
120 |
Â
'type' => Controls_Manager::SELECT,
|
121 |
+
'label' => __( 'Title HTML tag', 'textdomain' ),
|
122 |
Â
'default' => 'h3',
|
123 |
Â
'options' => [
|
124 |
+
'h1' => __( 'h1', 'textdomain' ),
|
125 |
+
'h2' => __( 'h2', 'textdomain' ),
|
126 |
+
'h3' => __( 'h3', 'textdomain' ),
|
127 |
+
'h4' => __( 'h4', 'textdomain' ),
|
128 |
+
'h5' => __( 'h5', 'textdomain' ),
|
129 |
+
'h6' => __( 'h6', 'textdomain' ),
|
130 |
+
'p' => __( 'p', 'textdomain' ),
|
131 |
Â
],
|
132 |
Â
]
|
133 |
Â
);
|
136 |
Â
'subtitle',
|
137 |
Â
[
|
138 |
Â
'type' => Controls_Manager::TEXT,
|
139 |
+
'label' => __( 'Subtitle', 'textdomain' ),
|
140 |
+
'placeholder' => __( 'Subtitle', 'textdomain' ),
|
141 |
+
'default' => __( 'Description', 'textdomain' ),
|
142 |
Â
]
|
143 |
Â
);
|
144 |
Â
|
146 |
Â
'subtitle_tag',
|
147 |
Â
[
|
148 |
Â
'type' => Controls_Manager::SELECT,
|
149 |
+
'label' => __( 'Subtitle HTML Tag', 'textdomain' ),
|
150 |
Â
'default' => 'p',
|
151 |
Â
'options' => [
|
152 |
+
'h1' => __( 'h1', 'textdomain' ),
|
153 |
+
'h2' => __( 'h2', 'textdomain' ),
|
154 |
+
'h3' => __( 'h3', 'textdomain' ),
|
155 |
+
'h4' => __( 'h4', 'textdomain' ),
|
156 |
+
'h5' => __( 'h5', 'textdomain' ),
|
157 |
+
'h6' => __( 'h6', 'textdomain' ),
|
158 |
+
'p' => __( 'p', 'textdomain' ),
|
159 |
Â
],
|
160 |
Â
]
|
161 |
Â
);
|
169 |
Â
$this->start_controls_section(
|
170 |
Â
'section_price_tag',
|
171 |
Â
[
|
172 |
+
'label' => __( 'Price Tag', 'textdomain' ),
|
173 |
Â
]
|
174 |
Â
);
|
175 |
Â
|
177 |
Â
'price_tag_text',
|
178 |
Â
[
|
179 |
Â
'type' => Controls_Manager::TEXT,
|
180 |
+
'label' => __( 'Price', 'textdomain' ),
|
181 |
+
'placeholder' => __( 'Price', 'textdomain' ),
|
182 |
+
'default' => __( '50', 'textdomain' ),
|
183 |
Â
'separator' => 'after',
|
184 |
Â
]
|
185 |
Â
);
|
188 |
Â
'price_tag_currency',
|
189 |
Â
[
|
190 |
Â
'type' => Controls_Manager::TEXT,
|
191 |
+
'label' => __( 'Currency', 'textdomain' ),
|
192 |
+
'placeholder' => __( 'Currency', 'textdomain' ),
|
193 |
+
'default' => __( '$', 'textdomain' ),
|
194 |
Â
]
|
195 |
Â
);
|
196 |
Â
|
198 |
Â
'price_tag_currency_position',
|
199 |
Â
[
|
200 |
Â
'type' => Controls_Manager::SELECT,
|
201 |
+
'label' => __( 'Currency Position', 'textdomain' ),
|
202 |
Â
'default' => 'left',
|
203 |
Â
'options' => [
|
204 |
+
'left' => __( 'Before', 'textdomain' ),
|
205 |
+
'right' => __( 'After', 'textdomain' ),
|
206 |
Â
],
|
207 |
Â
]
|
208 |
Â
);
|
211 |
Â
'price_tag_period',
|
212 |
Â
[
|
213 |
Â
'type' => Controls_Manager::TEXT,
|
214 |
+
'label' => __( 'Period', 'textdomain' ),
|
215 |
+
'placeholder' => __( '/month', 'textdomain' ),
|
216 |
+
'default' => __( '/month', 'textdomain' ),
|
217 |
Â
'separator' => 'before',
|
218 |
Â
]
|
219 |
Â
);
|
227 |
Â
$this->start_controls_section(
|
228 |
Â
'section_features',
|
229 |
Â
[
|
230 |
+
'label' => __( 'Features', 'textdomain' ),
|
231 |
Â
]
|
232 |
Â
);
|
233 |
Â
|
234 |
Â
$this->add_control(
|
235 |
Â
'feature_list',
|
236 |
Â
[
|
237 |
+
'label' => __( 'Plan Features', 'textdomain' ),
|
238 |
Â
'type' => Controls_Manager::REPEATER,
|
239 |
Â
'default' => [
|
240 |
Â
[
|
241 |
+
'accent' => __( 'First', 'textdomain' ),
|
242 |
+
'text' => __( 'Feature', 'textdomain' ),
|
243 |
Â
],
|
244 |
Â
[
|
245 |
+
'accent' => __( 'Second', 'textdomain' ),
|
246 |
+
'text' => __( 'Feature', 'textdomain' ),
|
247 |
Â
],
|
248 |
Â
[
|
249 |
+
'accent' => __( 'Third', 'textdomain' ),
|
250 |
+
'text' => __( 'Feature', 'textdomain' ),
|
251 |
Â
],
|
252 |
Â
],
|
253 |
Â
'fields' => [
|
254 |
Â
[
|
255 |
Â
'type' => Controls_Manager::TEXT,
|
256 |
Â
'name' => 'accent',
|
257 |
+
'label' => __( 'Accented Text', 'textdomain' ),
|
258 |
+
'description' => __( 'Appears before feature text', 'textdomain' ),
|
259 |
Â
'label_block' => true,
|
260 |
+
'default' => __( 'Accent', 'textdomain' ),
|
261 |
Â
],
|
262 |
Â
[
|
263 |
Â
'type' => Controls_Manager::TEXT,
|
264 |
Â
'name' => 'text',
|
265 |
+
'label' => __( 'Text', 'textdomain' ),
|
266 |
Â
'label_block' => true,
|
267 |
+
'placeholder' => __( 'Plan Features', 'textdomain' ),
|
268 |
+
'default' => __( 'Feature', 'textdomain' ),
|
269 |
Â
],
|
270 |
Â
[
|
271 |
Â
'type' => Controls_Manager::ICONS,
|
272 |
Â
'name' => 'feature_icon_new',
|
273 |
+
'label' => __( 'Icon', 'textdomain' ),
|
274 |
Â
'default' => [
|
275 |
Â
'value' => 'fas fa-star',
|
276 |
Â
'library' => 'solid',
|
285 |
Â
$this->add_responsive_control(
|
286 |
Â
'features_align',
|
287 |
Â
[
|
288 |
+
'label' => __( 'Alignment', 'textdomain' ),
|
289 |
Â
'type' => Controls_Manager::CHOOSE,
|
290 |
Â
'options' => [
|
291 |
Â
'left' => [
|
292 |
+
'title' => __( 'Left', 'textdomain' ),
|
293 |
Â
'icon' => 'fa fa-align-left',
|
294 |
Â
],
|
295 |
Â
'center' => [
|
296 |
+
'title' => __( 'Center', 'textdomain' ),
|
297 |
Â
'icon' => 'fa fa-align-center',
|
298 |
Â
],
|
299 |
Â
'right' => [
|
300 |
+
'title' => __( 'Right', 'textdomain' ),
|
301 |
Â
'icon' => 'fa fa-align-right',
|
302 |
Â
],
|
303 |
Â
'justify' => [
|
304 |
+
'title' => __( 'Justified', 'textdomain' ),
|
305 |
Â
'icon' => 'fa fa-align-justify',
|
306 |
Â
],
|
307 |
Â
],
|
322 |
Â
$this->start_controls_section(
|
323 |
Â
'section_button',
|
324 |
Â
[
|
325 |
+
'label' => __( 'Button', 'textdomain' ),
|
326 |
Â
]
|
327 |
Â
);
|
328 |
Â
|
330 |
Â
'button_text',
|
331 |
Â
[
|
332 |
Â
'type' => Controls_Manager::TEXT,
|
333 |
+
'label' => __( 'Text', 'textdomain' ),
|
334 |
+
'placeholder' => __( 'Buy Now', 'textdomain' ),
|
335 |
+
'default' => __( 'Buy Now', 'textdomain' ),
|
336 |
Â
]
|
337 |
Â
);
|
338 |
Â
|
340 |
Â
'button_link',
|
341 |
Â
[
|
342 |
Â
'type' => Controls_Manager::URL,
|
343 |
+
'label' => __( 'Link', 'textdomain' ),
|
344 |
+
'placeholder' => __( 'https://example.com', 'textdomain' ),
|
345 |
Â
]
|
346 |
Â
);
|
347 |
Â
|
349 |
Â
'button_icon_new',
|
350 |
Â
[
|
351 |
Â
'type' => Controls_Manager::ICONS,
|
352 |
+
'label' => __( 'Icon', 'textdomain' ),
|
353 |
Â
'fa4compatibility' => 'button_icon',
|
354 |
Â
]
|
355 |
Â
);
|
358 |
Â
'button_icon_align',
|
359 |
Â
[
|
360 |
Â
'type' => Controls_Manager::SELECT,
|
361 |
+
'label' => __( 'Icon Position', 'textdomain' ),
|
362 |
Â
'default' => 'left',
|
363 |
Â
'options' => [
|
364 |
+
'left' => __( 'Before', 'textdomain' ),
|
365 |
+
'right' => __( 'After', 'textdomain' ),
|
366 |
Â
],
|
367 |
Â
'condition' => [
|
368 |
Â
'button_icon!' => '',
|
374 |
Â
'button_icon_indent',
|
375 |
Â
[
|
376 |
Â
'type' => Controls_Manager::SLIDER,
|
377 |
+
'label' => __( 'Icon Spacing', 'textdomain' ),
|
378 |
Â
'range' => [
|
379 |
Â
'px' => [
|
380 |
Â
'max' => 50,
|
399 |
Â
$this->start_controls_section(
|
400 |
Â
'section_header_style',
|
401 |
Â
[
|
402 |
+
'label' => __( 'Header', 'textdomain' ),
|
403 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
404 |
Â
]
|
405 |
Â
);
|
407 |
Â
$this->add_responsive_control(
|
408 |
Â
'header_padding',
|
409 |
Â
[
|
410 |
+
'label' => __( 'Header Padding', 'textdomain' ),
|
411 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
412 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
413 |
Â
'selectors' => [
|
420 |
Â
'plan_title_color',
|
421 |
Â
[
|
422 |
Â
'type' => Controls_Manager::COLOR,
|
423 |
+
'label' => __( 'Title Color', 'textdomain' ),
|
424 |
Â
'scheme' => [
|
425 |
Â
'type' => Scheme_Color::get_type(),
|
426 |
Â
'value' => Scheme_Color::COLOR_1,
|
445 |
Â
'plan_subtitle_color',
|
446 |
Â
[
|
447 |
Â
'type' => Controls_Manager::COLOR,
|
448 |
+
'label' => __( 'Subtitle Color', 'textdomain' ),
|
449 |
Â
'scheme' => [
|
450 |
Â
'type' => Scheme_Color::get_type(),
|
451 |
Â
'value' => Scheme_Color::COLOR_1,
|
470 |
Â
Group_Control_Background::get_type(),
|
471 |
Â
[
|
472 |
Â
'name' => 'heading_section_bg',
|
473 |
+
'label' => __( 'Section Background', 'textdomain' ),
|
474 |
Â
'types' => [ 'classic', 'gradient' ],
|
475 |
Â
'selector' => '{{WRAPPER}} .obfx-title-wrapper',
|
476 |
Â
]
|
485 |
Â
$this->start_controls_section(
|
486 |
Â
'section_price_box',
|
487 |
Â
[
|
488 |
+
'label' => __( 'Price Tag', 'textdomain' ),
|
489 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
490 |
Â
]
|
491 |
Â
);
|
494 |
Â
'price_box_padding',
|
495 |
Â
[
|
496 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
497 |
+
'label' => __( 'Price Box Padding', 'textdomain' ),
|
498 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
499 |
Â
'selectors' => [
|
500 |
Â
'{{WRAPPER}} .obfx-price-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
506 |
Â
Group_Control_Typography::get_type(),
|
507 |
Â
[
|
508 |
Â
'name' => 'pricing_section_bg',
|
509 |
+
'label' => __( 'Section Background', 'textdomain' ),
|
510 |
Â
'types' => [ 'classic', 'gradient' ],
|
511 |
Â
'selector' => '{{WRAPPER}} .obfx-price-wrapper',
|
512 |
Â
]
|
515 |
Â
$this->add_control(
|
516 |
Â
'price_tag_heading_currency',
|
517 |
Â
[
|
518 |
+
'label' => __( 'Currency', 'textdomain' ),
|
519 |
Â
'type' => Controls_Manager::HEADING,
|
520 |
Â
'separator' => 'before',
|
521 |
Â
]
|
524 |
Â
$this->add_control(
|
525 |
Â
'currency_color',
|
526 |
Â
[
|
527 |
+
'label' => __( 'Currency Color', 'textdomain' ),
|
528 |
Â
'type' => Controls_Manager::COLOR,
|
529 |
Â
'scheme' => [
|
530 |
Â
'type' => Scheme_Color::get_type(),
|
549 |
Â
$this->add_control(
|
550 |
Â
'price_tag_heading_price',
|
551 |
Â
[
|
552 |
+
'label' => __( 'Price', 'textdomain' ),
|
553 |
Â
'type' => Controls_Manager::HEADING,
|
554 |
Â
'separator' => 'before',
|
555 |
Â
]
|
558 |
Â
$this->add_control(
|
559 |
Â
'price_text_color',
|
560 |
Â
[
|
561 |
+
'label' => __( 'Price Color', 'textdomain' ),
|
562 |
Â
'type' => Controls_Manager::COLOR,
|
563 |
Â
'scheme' => [
|
564 |
Â
'type' => Scheme_Color::get_type(),
|
583 |
Â
$this->add_control(
|
584 |
Â
'price_tag_heading_period',
|
585 |
Â
[
|
586 |
+
'label' => __( 'Period', 'textdomain' ),
|
587 |
Â
'type' => Controls_Manager::HEADING,
|
588 |
Â
'separator' => 'before',
|
589 |
Â
]
|
592 |
Â
$this->add_control(
|
593 |
Â
'period_color',
|
594 |
Â
[
|
595 |
+
'label' => __( 'Period Color', 'textdomain' ),
|
596 |
Â
'type' => Controls_Manager::COLOR,
|
597 |
Â
'scheme' => [
|
598 |
Â
'type' => Scheme_Color::get_type(),
|
623 |
Â
$this->start_controls_section(
|
624 |
Â
'section_features_style',
|
625 |
Â
[
|
626 |
+
'label' => __( 'Features', 'textdomain' ),
|
627 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
628 |
Â
]
|
629 |
Â
);
|
632 |
Â
Group_Control_Background::get_type(),
|
633 |
Â
[
|
634 |
Â
'name' => 'features_section_bg',
|
635 |
+
'label' => __( 'Section Background', 'textdomain' ),
|
636 |
Â
'types' => [ 'classic', 'gradient' ],
|
637 |
Â
'selector' => '{{WRAPPER}} .obfx-feature-list',
|
638 |
Â
]
|
642 |
Â
'features_box_padding',
|
643 |
Â
[
|
644 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
645 |
+
'label' => __( 'Features List Padding', 'textdomain' ),
|
646 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
647 |
Â
'selectors' => [
|
648 |
Â
'{{WRAPPER}} .obfx-feature-list' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
653 |
Â
$this->add_control(
|
654 |
Â
'features_accented_heading',
|
655 |
Â
[
|
656 |
+
'label' => __( 'Accented', 'textdomain' ),
|
657 |
Â
'type' => Controls_Manager::HEADING,
|
658 |
Â
'separator' => 'before',
|
659 |
Â
]
|
663 |
Â
'features_accented_text_color',
|
664 |
Â
[
|
665 |
Â
'type' => Controls_Manager::COLOR,
|
666 |
+
'label' => __( 'Accented Color', 'textdomain' ),
|
667 |
Â
'scheme' => [
|
668 |
Â
'type' => Scheme_Color::get_type(),
|
669 |
Â
'value' => Scheme_Color::COLOR_1,
|
687 |
Â
$this->add_control(
|
688 |
Â
'features_features_heading',
|
689 |
Â
[
|
690 |
+
'label' => __( 'Features', 'textdomain' ),
|
691 |
Â
'type' => Controls_Manager::HEADING,
|
692 |
Â
'separator' => 'before',
|
693 |
Â
]
|
696 |
Â
$this->add_control(
|
697 |
Â
'features_text_color',
|
698 |
Â
[
|
699 |
+
'label' => __( 'Features Color', 'textdomain' ),
|
700 |
Â
'type' => Controls_Manager::COLOR,
|
701 |
Â
'scheme' => [
|
702 |
Â
'type' => Scheme_Color::get_type(),
|
721 |
Â
$this->add_control(
|
722 |
Â
'features_icons_heading',
|
723 |
Â
[
|
724 |
+
'label' => __( 'Icons', 'textdomain' ),
|
725 |
Â
'type' => Controls_Manager::HEADING,
|
726 |
Â
'separator' => 'before',
|
727 |
Â
]
|
730 |
Â
$this->add_control(
|
731 |
Â
'features_icon_color',
|
732 |
Â
[
|
733 |
+
'label' => __( 'Icon Color', 'textdomain' ),
|
734 |
Â
'type' => Controls_Manager::COLOR,
|
735 |
Â
'scheme' => [
|
736 |
Â
'type' => Scheme_Color::get_type(),
|
747 |
Â
'features_icon_size',
|
748 |
Â
[
|
749 |
Â
'type' => Controls_Manager::SLIDER,
|
750 |
+
'label' => __( 'Icon Size', 'textdomain' ),
|
751 |
Â
'default' => [
|
752 |
Â
'size' => 16,
|
753 |
Â
],
|
767 |
Â
'features_icon_indent',
|
768 |
Â
[
|
769 |
Â
'type' => Controls_Manager::SLIDER,
|
770 |
+
'label' => __( 'Icon Spacing', 'textdomain' ),
|
771 |
Â
'default' => [
|
772 |
Â
'size' => 5,
|
773 |
Â
],
|
792 |
Â
$this->start_controls_section(
|
793 |
Â
'section_button_style',
|
794 |
Â
[
|
795 |
+
'label' => __( 'Button', 'textdomain' ),
|
796 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
797 |
Â
]
|
798 |
Â
);
|
800 |
Â
$this->add_group_control(
|
801 |
Â
Group_Control_Background::get_type(), [
|
802 |
Â
'name' => 'button_section_bg',
|
803 |
+
'label' => __( 'Section Background', 'textdomain' ),
|
804 |
Â
'types' => [ 'classic', 'gradient' ],
|
805 |
Â
'selector' => '{{WRAPPER}} .obfx-pricing-table-button-wrapper',
|
806 |
Â
]
|
810 |
Â
Group_Control_Typography::get_type(),
|
811 |
Â
[
|
812 |
Â
'name' => 'typography',
|
813 |
+
'label' => __( 'Typography', 'textdomain' ),
|
814 |
Â
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
815 |
Â
'selector' => '{{WRAPPER}} .obfx-pricing-table-button-wrapper',
|
816 |
Â
]
|
819 |
Â
$this->add_control(
|
820 |
Â
'border_radius',
|
821 |
Â
[
|
822 |
+
'label' => __( 'Border Radius', 'textdomain' ),
|
823 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
824 |
Â
'size_units' => [ 'px', '%' ],
|
825 |
Â
'selectors' => [
|
831 |
Â
$this->add_control(
|
832 |
Â
'text_padding',
|
833 |
Â
[
|
834 |
+
'label' => __( 'Padding', 'textdomain' ),
|
835 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
836 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
837 |
Â
'selectors' => [
|
844 |
Â
'button_icon_size',
|
845 |
Â
[
|
846 |
Â
'type' => Controls_Manager::SLIDER,
|
847 |
+
'label' => __( 'Icon Size', 'textdomain' ),
|
848 |
Â
'default' => [
|
849 |
Â
'size' => 16,
|
850 |
Â
],
|
875 |
Â
$this->start_controls_tab(
|
876 |
Â
'tab_background_normal',
|
877 |
Â
[
|
878 |
+
'label' => __( 'Normal', 'textdomain' ),
|
879 |
Â
]
|
880 |
Â
);
|
881 |
Â
|
883 |
Â
'button_text_color',
|
884 |
Â
[
|
885 |
Â
'type' => Controls_Manager::COLOR,
|
886 |
+
'label' => __( 'Text Color', 'textdomain' ),
|
887 |
Â
'scheme' => [
|
888 |
Â
'type' => Scheme_Color::get_type(),
|
889 |
Â
'value' => Scheme_Color::COLOR_1,
|
898 |
Â
'button_bg_color',
|
899 |
Â
[
|
900 |
Â
'type' => Controls_Manager::COLOR,
|
901 |
+
'label' => __( 'Background Color', 'textdomain' ),
|
902 |
Â
'scheme' => [
|
903 |
Â
'type' => Scheme_Color::get_type(),
|
904 |
Â
'value' => Scheme_Color::COLOR_1,
|
924 |
Â
$this->start_controls_tab(
|
925 |
Â
'tab_background_hover',
|
926 |
Â
[
|
927 |
+
'label' => __( 'Hover', 'textdomain' ),
|
928 |
Â
]
|
929 |
Â
);
|
930 |
Â
|
932 |
Â
'button_hover_text_color',
|
933 |
Â
[
|
934 |
Â
'type' => Controls_Manager::COLOR,
|
935 |
+
'label' => __( 'Text Color', 'textdomain' ),
|
936 |
Â
'scheme' => [
|
937 |
Â
'type' => Scheme_Color::get_type(),
|
938 |
Â
'value' => Scheme_Color::COLOR_1,
|
947 |
Â
'button_hover_bg_color',
|
948 |
Â
[
|
949 |
Â
'type' => Controls_Manager::COLOR,
|
950 |
+
'label' => __( 'Background Color', 'textdomain' ),
|
951 |
Â
'scheme' => [
|
952 |
Â
'type' => Scheme_Color::get_type(),
|
953 |
Â
'value' => Scheme_Color::COLOR_1,
|
971 |
Â
$this->add_control(
|
972 |
Â
'background_hover_transition',
|
973 |
Â
[
|
974 |
+
'label' => __( 'Transition Duration', 'textdomain' ),
|
975 |
Â
'type' => Controls_Manager::SLIDER,
|
976 |
Â
'default' => [
|
977 |
Â
'size' => 0.3,
|
vendor/codeinwp/elementor-extra-widgets/widgets/elementor/services.php
CHANGED
@@ -39,7 +39,7 @@ class Services extends Widget_Base {
|
|
39 |
Â
* @return string
|
40 |
Â
*/
|
41 |
Â
public function get_title() {
|
42 |
-
return __( 'Services', '
|
43 |
Â
}
|
44 |
Â
|
45 |
Â
/**
|
@@ -88,19 +88,19 @@ class Services extends Widget_Base {
|
|
88 |
Â
$this->start_controls_section(
|
89 |
Â
'section_content',
|
90 |
Â
[
|
91 |
-
'label' => __( 'Services', '
|
92 |
Â
]
|
93 |
Â
);
|
94 |
Â
|
95 |
Â
$this->add_control(
|
96 |
Â
'services_list',
|
97 |
Â
[
|
98 |
-
'label' => __( 'Services', '
|
99 |
Â
'type' => Controls_Manager::REPEATER,
|
100 |
Â
'default' => [
|
101 |
Â
[
|
102 |
-
'title' => __( 'Award-Winning​', '
|
103 |
-
'text' => __( 'Add some text here to describe your services to the page visitors.​', '
|
104 |
Â
'icon_new' => [
|
105 |
Â
'value' => 'fas fa-trophy',
|
106 |
Â
'library' => 'solid',
|
@@ -109,8 +109,8 @@ class Services extends Widget_Base {
|
|
109 |
Â
'type' => 'icon',
|
110 |
Â
],
|
111 |
Â
[
|
112 |
-
'title' => __( 'Professional​', '
|
113 |
-
'text' => __( 'Add some text here to describe your services to the page visitors.​', '
|
114 |
Â
'icon_new' => [
|
115 |
Â
'value' => 'fas fa-suitcase',
|
116 |
Â
'library' => 'solid',
|
@@ -119,8 +119,8 @@ class Services extends Widget_Base {
|
|
119 |
Â
'type' => 'icon',
|
120 |
Â
],
|
121 |
Â
[
|
122 |
-
'title' => __( 'Consulting​', '
|
123 |
-
'text' => __( 'Add some text here to describe your services to the page visitors.​', '
|
124 |
Â
'icon_new' => [
|
125 |
Â
'value' => 'fas fa-handshake',
|
126 |
Â
'library' => 'solid',
|
@@ -134,15 +134,15 @@ class Services extends Widget_Base {
|
|
134 |
Â
'type' => Controls_Manager::CHOOSE,
|
135 |
Â
'name' => 'type',
|
136 |
Â
'label_block' => true,
|
137 |
-
'label' => __( 'Type', '
|
138 |
Â
'default' => 'icon',
|
139 |
Â
'options' => [
|
140 |
Â
'icon' => [
|
141 |
-
'title' => __( 'Icon', '
|
142 |
Â
'icon' => 'fa fa-diamond',
|
143 |
Â
],
|
144 |
Â
'image' => [
|
145 |
-
'title' => __( 'Image', '
|
146 |
Â
'icon' => 'fa fa-photo',
|
147 |
Â
],
|
148 |
Â
],
|
@@ -151,19 +151,19 @@ class Services extends Widget_Base {
|
|
151 |
Â
'type' => Controls_Manager::TEXT,
|
152 |
Â
'name' => 'title',
|
153 |
Â
'label_block' => true,
|
154 |
-
'label' => __( 'Title & Description', '
|
155 |
-
'default' => __( 'Service Title', '
|
156 |
Â
],
|
157 |
Â
[
|
158 |
Â
'type' => Controls_Manager::TEXTAREA,
|
159 |
Â
'name' => 'text',
|
160 |
-
'placeholder' => __( 'Plan Features', '
|
161 |
-
'default' => __( 'Feature', '
|
162 |
Â
],
|
163 |
Â
[
|
164 |
Â
'type' => Controls_Manager::ICONS,
|
165 |
Â
'name' => 'icon_new',
|
166 |
-
'label' => __( 'Icon', '
|
167 |
Â
'default' => [
|
168 |
Â
'value' => 'fas fa-gem',
|
169 |
Â
'library' => 'solid',
|
@@ -177,7 +177,7 @@ class Services extends Widget_Base {
|
|
177 |
Â
'type' => Controls_Manager::COLOR,
|
178 |
Â
'name' => 'color',
|
179 |
Â
'label_block' => false,
|
180 |
-
'label' => __( 'Icon Color', '
|
181 |
Â
'default' => '#333333',
|
182 |
Â
'condition' => [
|
183 |
Â
'type' => 'icon',
|
@@ -186,7 +186,7 @@ class Services extends Widget_Base {
|
|
186 |
Â
[
|
187 |
Â
'type' => Controls_Manager::MEDIA,
|
188 |
Â
'name' => 'image',
|
189 |
-
'label' => __( 'Image', '
|
190 |
Â
'condition' => [
|
191 |
Â
'type' => 'image',
|
192 |
Â
],
|
@@ -194,9 +194,9 @@ class Services extends Widget_Base {
|
|
194 |
Â
[
|
195 |
Â
'type' => Controls_Manager::URL,
|
196 |
Â
'name' => 'link',
|
197 |
-
'label' => __( 'Link to', '
|
198 |
Â
'separator' => 'before',
|
199 |
-
'placeholder' => __( 'https://example.com', '
|
200 |
Â
],
|
201 |
Â
],
|
202 |
Â
'title_field' => '{{title}}',
|
@@ -206,19 +206,19 @@ class Services extends Widget_Base {
|
|
206 |
Â
$this->add_control(
|
207 |
Â
'align',
|
208 |
Â
[
|
209 |
-
'label' => '<i class="fa fa-arrows"></i> ' . __( 'Icon Position', '
|
210 |
Â
'type' => Controls_Manager::CHOOSE,
|
211 |
Â
'options' => [
|
212 |
Â
'left' => [
|
213 |
-
'title' => __( 'Left', '
|
214 |
Â
'icon' => 'fa fa-angle-left',
|
215 |
Â
],
|
216 |
Â
'top' => [
|
217 |
-
'title' => __( 'Top', '
|
218 |
Â
'icon' => 'fa fa-angle-up',
|
219 |
Â
],
|
220 |
Â
'right' => [
|
221 |
-
'title' => __( 'Right', '
|
222 |
Â
'icon' => 'fa fa-angle-right',
|
223 |
Â
],
|
224 |
Â
],
|
@@ -233,7 +233,7 @@ class Services extends Widget_Base {
|
|
233 |
Â
'grid_columns',
|
234 |
Â
[
|
235 |
Â
'type' => Controls_Manager::SELECT,
|
236 |
-
'label' => '<i class="fa fa-columns"></i> ' . __( 'Columns', '
|
237 |
Â
'default' => 3,
|
238 |
Â
'tablet_default' => 2,
|
239 |
Â
'mobile_default' => 1,
|
@@ -256,14 +256,14 @@ class Services extends Widget_Base {
|
|
256 |
Â
$this->start_controls_section(
|
257 |
Â
'section_style_icon',
|
258 |
Â
[
|
259 |
-
'label' => __( 'Icon / Image', '
|
260 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
261 |
Â
]
|
262 |
Â
);
|
263 |
Â
$this->add_control(
|
264 |
Â
'icon_space',
|
265 |
Â
[
|
266 |
-
'label' => __( 'Spacing', '
|
267 |
Â
'type' => Controls_Manager::SLIDER,
|
268 |
Â
'default' => [
|
269 |
Â
'size' => 15,
|
@@ -284,7 +284,7 @@ class Services extends Widget_Base {
|
|
284 |
Â
$this->add_control(
|
285 |
Â
'icon_size',
|
286 |
Â
[
|
287 |
-
'label' => __( 'Size', '
|
288 |
Â
'type' => Controls_Manager::SLIDER,
|
289 |
Â
'range' => [
|
290 |
Â
'px' => [
|
@@ -306,7 +306,7 @@ class Services extends Widget_Base {
|
|
306 |
Â
$this->start_controls_section(
|
307 |
Â
'section_style_content',
|
308 |
Â
[
|
309 |
-
'label' => __( 'Content', '
|
310 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
311 |
Â
]
|
312 |
Â
);
|
@@ -314,21 +314,21 @@ class Services extends Widget_Base {
|
|
314 |
Â
$this->add_responsive_control(
|
315 |
Â
'text_align',
|
316 |
Â
[
|
317 |
-
'label' => __( 'Alignment', '
|
318 |
Â
'type' => Controls_Manager::CHOOSE,
|
319 |
Â
'toggle' => false,
|
320 |
Â
'default' => 'center',
|
321 |
Â
'options' => [
|
322 |
Â
'left' => [
|
323 |
-
'title' => __( 'Left', '
|
324 |
Â
'icon' => 'fa fa-align-left',
|
325 |
Â
],
|
326 |
Â
'center' => [
|
327 |
-
'title' => __( 'Center', '
|
328 |
Â
'icon' => 'fa fa-align-center',
|
329 |
Â
],
|
330 |
Â
'right' => [
|
331 |
-
'title' => __( 'Right', '
|
332 |
Â
'icon' => 'fa fa-align-right',
|
333 |
Â
],
|
334 |
Â
],
|
@@ -342,7 +342,7 @@ class Services extends Widget_Base {
|
|
342 |
Â
$this->add_control(
|
343 |
Â
'heading_title',
|
344 |
Â
[
|
345 |
-
'label' => __( 'Title', '
|
346 |
Â
'type' => Controls_Manager::HEADING,
|
347 |
Â
'separator' => 'before',
|
348 |
Â
]
|
@@ -351,7 +351,7 @@ class Services extends Widget_Base {
|
|
351 |
Â
$this->add_responsive_control(
|
352 |
Â
'title_bottom_space',
|
353 |
Â
[
|
354 |
-
'label' => __( 'Spacing', '
|
355 |
Â
'type' => Controls_Manager::SLIDER,
|
356 |
Â
'range' => [
|
357 |
Â
'px' => [
|
@@ -368,7 +368,7 @@ class Services extends Widget_Base {
|
|
368 |
Â
$this->add_control(
|
369 |
Â
'title_color',
|
370 |
Â
[
|
371 |
-
'label' => __( 'Color', '
|
372 |
Â
'type' => Controls_Manager::COLOR,
|
373 |
Â
'default' => '',
|
374 |
Â
'selectors' => [
|
@@ -389,7 +389,7 @@ class Services extends Widget_Base {
|
|
389 |
Â
$this->add_control(
|
390 |
Â
'heading_description',
|
391 |
Â
[
|
392 |
-
'label' => __( 'Description', '
|
393 |
Â
'type' => Controls_Manager::HEADING,
|
394 |
Â
'separator' => 'before',
|
395 |
Â
]
|
@@ -398,7 +398,7 @@ class Services extends Widget_Base {
|
|
398 |
Â
$this->add_control(
|
399 |
Â
'description_color',
|
400 |
Â
[
|
401 |
-
'label' => __( 'Color', '
|
402 |
Â
'type' => Controls_Manager::COLOR,
|
403 |
Â
'default' => '',
|
404 |
Â
'selectors' => [
|
@@ -430,7 +430,7 @@ class Services extends Widget_Base {
|
|
430 |
Â
$this->start_controls_section(
|
431 |
Â
'section_grid_style',
|
432 |
Â
[
|
433 |
-
'label' => __( 'Grid', '
|
434 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
435 |
Â
]
|
436 |
Â
);
|
@@ -439,7 +439,7 @@ class Services extends Widget_Base {
|
|
439 |
Â
$this->add_control(
|
440 |
Â
'grid_style_columns_margin',
|
441 |
Â
[
|
442 |
-
'label' => __( 'Columns margin', '
|
443 |
Â
'type' => Controls_Manager::SLIDER,
|
444 |
Â
'default' => [
|
445 |
Â
'size' => 15,
|
@@ -461,7 +461,7 @@ class Services extends Widget_Base {
|
|
461 |
Â
$this->add_control(
|
462 |
Â
'grid_style_rows_margin',
|
463 |
Â
[
|
464 |
-
'label' => __( 'Rows margin', '
|
465 |
Â
'type' => Controls_Manager::SLIDER,
|
466 |
Â
'default' => [
|
467 |
Â
'size' => 30,
|
@@ -492,7 +492,7 @@ class Services extends Widget_Base {
|
|
492 |
Â
$this->add_control(
|
493 |
Â
'grid_items_style_heading',
|
494 |
Â
[
|
495 |
-
'label' => __( 'Items', '
|
496 |
Â
'type' => Controls_Manager::HEADING,
|
497 |
Â
'separator' => 'before',
|
498 |
Â
]
|
@@ -502,7 +502,7 @@ class Services extends Widget_Base {
|
|
502 |
Â
$this->add_control(
|
503 |
Â
'grid_items_style_padding',
|
504 |
Â
[
|
505 |
-
'label' => __( 'Padding', '
|
506 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
507 |
Â
'size_units' => [ 'px', '%' ],
|
508 |
Â
'selectors' => [
|
@@ -515,7 +515,7 @@ class Services extends Widget_Base {
|
|
515 |
Â
$this->add_control(
|
516 |
Â
'grid_items_style_border_radius',
|
517 |
Â
[
|
518 |
-
'label' => __( 'Border Radius', '
|
519 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
520 |
Â
'size_units' => [ 'px', '%' ],
|
521 |
Â
'selectors' => [
|
@@ -537,7 +537,7 @@ class Services extends Widget_Base {
|
|
537 |
Â
$this->start_controls_tab(
|
538 |
Â
'tab_background_normal',
|
539 |
Â
[
|
540 |
-
'label' => __( 'Normal', '
|
541 |
Â
]
|
542 |
Â
);
|
543 |
Â
|
@@ -563,7 +563,7 @@ class Services extends Widget_Base {
|
|
563 |
Â
$this->start_controls_tab(
|
564 |
Â
'tab_background_hover',
|
565 |
Â
[
|
566 |
-
'label' => __( 'Hover', '
|
567 |
Â
]
|
568 |
Â
);
|
569 |
Â
|
@@ -587,7 +587,7 @@ class Services extends Widget_Base {
|
|
587 |
Â
$this->add_control(
|
588 |
Â
'hover_transition',
|
589 |
Â
[
|
590 |
-
'label' => __( 'Transition Duration', '
|
591 |
Â
'type' => Controls_Manager::SLIDER,
|
592 |
Â
'default' => [
|
593 |
Â
'size' => 0.3,
|
39 |
Â
* @return string
|
40 |
Â
*/
|
41 |
Â
public function get_title() {
|
42 |
+
return __( 'Services', 'textdomain' );
|
43 |
Â
}
|
44 |
Â
|
45 |
Â
/**
|
88 |
Â
$this->start_controls_section(
|
89 |
Â
'section_content',
|
90 |
Â
[
|
91 |
+
'label' => __( 'Services', 'textdomain' ),
|
92 |
Â
]
|
93 |
Â
);
|
94 |
Â
|
95 |
Â
$this->add_control(
|
96 |
Â
'services_list',
|
97 |
Â
[
|
98 |
+
'label' => __( 'Services', 'textdomain' ),
|
99 |
Â
'type' => Controls_Manager::REPEATER,
|
100 |
Â
'default' => [
|
101 |
Â
[
|
102 |
+
'title' => __( 'Award-Winning​', 'textdomain' ),
|
103 |
+
'text' => __( 'Add some text here to describe your services to the page visitors.​', 'textdomain' ),
|
104 |
Â
'icon_new' => [
|
105 |
Â
'value' => 'fas fa-trophy',
|
106 |
Â
'library' => 'solid',
|
109 |
Â
'type' => 'icon',
|
110 |
Â
],
|
111 |
Â
[
|
112 |
+
'title' => __( 'Professional​', 'textdomain' ),
|
113 |
+
'text' => __( 'Add some text here to describe your services to the page visitors.​', 'textdomain' ),
|
114 |
Â
'icon_new' => [
|
115 |
Â
'value' => 'fas fa-suitcase',
|
116 |
Â
'library' => 'solid',
|
119 |
Â
'type' => 'icon',
|
120 |
Â
],
|
121 |
Â
[
|
122 |
+
'title' => __( 'Consulting​', 'textdomain' ),
|
123 |
+
'text' => __( 'Add some text here to describe your services to the page visitors.​', 'textdomain' ),
|
124 |
Â
'icon_new' => [
|
125 |
Â
'value' => 'fas fa-handshake',
|
126 |
Â
'library' => 'solid',
|
134 |
Â
'type' => Controls_Manager::CHOOSE,
|
135 |
Â
'name' => 'type',
|
136 |
Â
'label_block' => true,
|
137 |
+
'label' => __( 'Type', 'textdomain' ),
|
138 |
Â
'default' => 'icon',
|
139 |
Â
'options' => [
|
140 |
Â
'icon' => [
|
141 |
+
'title' => __( 'Icon', 'textdomain' ),
|
142 |
Â
'icon' => 'fa fa-diamond',
|
143 |
Â
],
|
144 |
Â
'image' => [
|
145 |
+
'title' => __( 'Image', 'textdomain' ),
|
146 |
Â
'icon' => 'fa fa-photo',
|
147 |
Â
],
|
148 |
Â
],
|
151 |
Â
'type' => Controls_Manager::TEXT,
|
152 |
Â
'name' => 'title',
|
153 |
Â
'label_block' => true,
|
154 |
+
'label' => __( 'Title & Description', 'textdomain' ),
|
155 |
+
'default' => __( 'Service Title', 'textdomain' ),
|
156 |
Â
],
|
157 |
Â
[
|
158 |
Â
'type' => Controls_Manager::TEXTAREA,
|
159 |
Â
'name' => 'text',
|
160 |
+
'placeholder' => __( 'Plan Features', 'textdomain' ),
|
161 |
+
'default' => __( 'Feature', 'textdomain' ),
|
162 |
Â
],
|
163 |
Â
[
|
164 |
Â
'type' => Controls_Manager::ICONS,
|
165 |
Â
'name' => 'icon_new',
|
166 |
+
'label' => __( 'Icon', 'textdomain' ),
|
167 |
Â
'default' => [
|
168 |
Â
'value' => 'fas fa-gem',
|
169 |
Â
'library' => 'solid',
|
177 |
Â
'type' => Controls_Manager::COLOR,
|
178 |
Â
'name' => 'color',
|
179 |
Â
'label_block' => false,
|
180 |
+
'label' => __( 'Icon Color', 'textdomain' ),
|
181 |
Â
'default' => '#333333',
|
182 |
Â
'condition' => [
|
183 |
Â
'type' => 'icon',
|
186 |
Â
[
|
187 |
Â
'type' => Controls_Manager::MEDIA,
|
188 |
Â
'name' => 'image',
|
189 |
+
'label' => __( 'Image', 'textdomain' ),
|
190 |
Â
'condition' => [
|
191 |
Â
'type' => 'image',
|
192 |
Â
],
|
194 |
Â
[
|
195 |
Â
'type' => Controls_Manager::URL,
|
196 |
Â
'name' => 'link',
|
197 |
+
'label' => __( 'Link to', 'textdomain' ),
|
198 |
Â
'separator' => 'before',
|
199 |
+
'placeholder' => __( 'https://example.com', 'textdomain' ),
|
200 |
Â
],
|
201 |
Â
],
|
202 |
Â
'title_field' => '{{title}}',
|
206 |
Â
$this->add_control(
|
207 |
Â
'align',
|
208 |
Â
[
|
209 |
+
'label' => '<i class="fa fa-arrows"></i> ' . __( 'Icon Position', 'textdomain' ),
|
210 |
Â
'type' => Controls_Manager::CHOOSE,
|
211 |
Â
'options' => [
|
212 |
Â
'left' => [
|
213 |
+
'title' => __( 'Left', 'textdomain' ),
|
214 |
Â
'icon' => 'fa fa-angle-left',
|
215 |
Â
],
|
216 |
Â
'top' => [
|
217 |
+
'title' => __( 'Top', 'textdomain' ),
|
218 |
Â
'icon' => 'fa fa-angle-up',
|
219 |
Â
],
|
220 |
Â
'right' => [
|
221 |
+
'title' => __( 'Right', 'textdomain' ),
|
222 |
Â
'icon' => 'fa fa-angle-right',
|
223 |
Â
],
|
224 |
Â
],
|
233 |
Â
'grid_columns',
|
234 |
Â
[
|
235 |
Â
'type' => Controls_Manager::SELECT,
|
236 |
+
'label' => '<i class="fa fa-columns"></i> ' . __( 'Columns', 'textdomain' ),
|
237 |
Â
'default' => 3,
|
238 |
Â
'tablet_default' => 2,
|
239 |
Â
'mobile_default' => 1,
|
256 |
Â
$this->start_controls_section(
|
257 |
Â
'section_style_icon',
|
258 |
Â
[
|
259 |
+
'label' => __( 'Icon / Image', 'textdomain' ),
|
260 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
261 |
Â
]
|
262 |
Â
);
|
263 |
Â
$this->add_control(
|
264 |
Â
'icon_space',
|
265 |
Â
[
|
266 |
+
'label' => __( 'Spacing', 'textdomain' ),
|
267 |
Â
'type' => Controls_Manager::SLIDER,
|
268 |
Â
'default' => [
|
269 |
Â
'size' => 15,
|
284 |
Â
$this->add_control(
|
285 |
Â
'icon_size',
|
286 |
Â
[
|
287 |
+
'label' => __( 'Size', 'textdomain' ),
|
288 |
Â
'type' => Controls_Manager::SLIDER,
|
289 |
Â
'range' => [
|
290 |
Â
'px' => [
|
306 |
Â
$this->start_controls_section(
|
307 |
Â
'section_style_content',
|
308 |
Â
[
|
309 |
+
'label' => __( 'Content', 'textdomain' ),
|
310 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
311 |
Â
]
|
312 |
Â
);
|
314 |
Â
$this->add_responsive_control(
|
315 |
Â
'text_align',
|
316 |
Â
[
|
317 |
+
'label' => __( 'Alignment', 'textdomain' ),
|
318 |
Â
'type' => Controls_Manager::CHOOSE,
|
319 |
Â
'toggle' => false,
|
320 |
Â
'default' => 'center',
|
321 |
Â
'options' => [
|
322 |
Â
'left' => [
|
323 |
+
'title' => __( 'Left', 'textdomain' ),
|
324 |
Â
'icon' => 'fa fa-align-left',
|
325 |
Â
],
|
326 |
Â
'center' => [
|
327 |
+
'title' => __( 'Center', 'textdomain' ),
|
328 |
Â
'icon' => 'fa fa-align-center',
|
329 |
Â
],
|
330 |
Â
'right' => [
|
331 |
+
'title' => __( 'Right', 'textdomain' ),
|
332 |
Â
'icon' => 'fa fa-align-right',
|
333 |
Â
],
|
334 |
Â
],
|
342 |
Â
$this->add_control(
|
343 |
Â
'heading_title',
|
344 |
Â
[
|
345 |
+
'label' => __( 'Title', 'textdomain' ),
|
346 |
Â
'type' => Controls_Manager::HEADING,
|
347 |
Â
'separator' => 'before',
|
348 |
Â
]
|
351 |
Â
$this->add_responsive_control(
|
352 |
Â
'title_bottom_space',
|
353 |
Â
[
|
354 |
+
'label' => __( 'Spacing', 'textdomain' ),
|
355 |
Â
'type' => Controls_Manager::SLIDER,
|
356 |
Â
'range' => [
|
357 |
Â
'px' => [
|
368 |
Â
$this->add_control(
|
369 |
Â
'title_color',
|
370 |
Â
[
|
371 |
+
'label' => __( 'Color', 'textdomain' ),
|
372 |
Â
'type' => Controls_Manager::COLOR,
|
373 |
Â
'default' => '',
|
374 |
Â
'selectors' => [
|
389 |
Â
$this->add_control(
|
390 |
Â
'heading_description',
|
391 |
Â
[
|
392 |
+
'label' => __( 'Description', 'textdomain' ),
|
393 |
Â
'type' => Controls_Manager::HEADING,
|
394 |
Â
'separator' => 'before',
|
395 |
Â
]
|
398 |
Â
$this->add_control(
|
399 |
Â
'description_color',
|
400 |
Â
[
|
401 |
+
'label' => __( 'Color', 'textdomain' ),
|
402 |
Â
'type' => Controls_Manager::COLOR,
|
403 |
Â
'default' => '',
|
404 |
Â
'selectors' => [
|
430 |
Â
$this->start_controls_section(
|
431 |
Â
'section_grid_style',
|
432 |
Â
[
|
433 |
+
'label' => __( 'Grid', 'textdomain' ),
|
434 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
435 |
Â
]
|
436 |
Â
);
|
439 |
Â
$this->add_control(
|
440 |
Â
'grid_style_columns_margin',
|
441 |
Â
[
|
442 |
+
'label' => __( 'Columns margin', 'textdomain' ),
|
443 |
Â
'type' => Controls_Manager::SLIDER,
|
444 |
Â
'default' => [
|
445 |
Â
'size' => 15,
|
461 |
Â
$this->add_control(
|
462 |
Â
'grid_style_rows_margin',
|
463 |
Â
[
|
464 |
+
'label' => __( 'Rows margin', 'textdomain' ),
|
465 |
Â
'type' => Controls_Manager::SLIDER,
|
466 |
Â
'default' => [
|
467 |
Â
'size' => 30,
|
492 |
Â
$this->add_control(
|
493 |
Â
'grid_items_style_heading',
|
494 |
Â
[
|
495 |
+
'label' => __( 'Items', 'textdomain' ),
|
496 |
Â
'type' => Controls_Manager::HEADING,
|
497 |
Â
'separator' => 'before',
|
498 |
Â
]
|
502 |
Â
$this->add_control(
|
503 |
Â
'grid_items_style_padding',
|
504 |
Â
[
|
505 |
+
'label' => __( 'Padding', 'textdomain' ),
|
506 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
507 |
Â
'size_units' => [ 'px', '%' ],
|
508 |
Â
'selectors' => [
|
515 |
Â
$this->add_control(
|
516 |
Â
'grid_items_style_border_radius',
|
517 |
Â
[
|
518 |
+
'label' => __( 'Border Radius', 'textdomain' ),
|
519 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
520 |
Â
'size_units' => [ 'px', '%' ],
|
521 |
Â
'selectors' => [
|
537 |
Â
$this->start_controls_tab(
|
538 |
Â
'tab_background_normal',
|
539 |
Â
[
|
540 |
+
'label' => __( 'Normal', 'textdomain' ),
|
541 |
Â
]
|
542 |
Â
);
|
543 |
Â
|
563 |
Â
$this->start_controls_tab(
|
564 |
Â
'tab_background_hover',
|
565 |
Â
[
|
566 |
+
'label' => __( 'Hover', 'textdomain' ),
|
567 |
Â
]
|
568 |
Â
);
|
569 |
Â
|
587 |
Â
$this->add_control(
|
588 |
Â
'hover_transition',
|
589 |
Â
[
|
590 |
+
'label' => __( 'Transition Duration', 'textdomain' ),
|
591 |
Â
'type' => Controls_Manager::SLIDER,
|
592 |
Â
'default' => [
|
593 |
Â
'size' => 0.3,
|
vendor/codeinwp/elementor-extra-widgets/widgets/woo/best-products.php
CHANGED
@@ -12,11 +12,11 @@ class Woo_Best_Products extends EAW_WP_Widget {
|
|
12 |
Â
public function __construct() {
|
13 |
Â
$widget_ops = array(
|
14 |
Â
'classname' => 'woo_best_products',
|
15 |
-
'description' => __( 'Woo Best Selling Products - designed for use with the Elementor Page Builder plugin', '
|
16 |
Â
'customize_selective_refresh' => true,
|
17 |
Â
);
|
18 |
Â
|
19 |
-
parent::__construct( 'woo-best-products', __( 'Woo Best Selling Products', '
|
20 |
Â
$this->alt_option_name = 'woo_best_products';
|
21 |
Â
|
22 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
@@ -47,7 +47,7 @@ class Woo_Best_Products extends EAW_WP_Widget {
|
|
47 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
48 |
Â
|
49 |
Â
if ( '' == $title ) {
|
50 |
-
$title = __( 'Best Sellers', '
|
51 |
Â
}
|
52 |
Â
|
53 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
@@ -138,19 +138,19 @@ class Woo_Best_Products extends EAW_WP_Widget {
|
|
138 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
139 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
140 |
Â
<p>
|
141 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
142 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
143 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
144 |
Â
</p>
|
145 |
Â
|
146 |
Â
<p>
|
147 |
-
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', '
|
148 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
149 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
150 |
Â
size="3"/></p>
|
151 |
Â
|
152 |
Â
<p>
|
153 |
-
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', '
|
154 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
155 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
156 |
Â
size="3"/>
|
12 |
Â
public function __construct() {
|
13 |
Â
$widget_ops = array(
|
14 |
Â
'classname' => 'woo_best_products',
|
15 |
+
'description' => __( 'Woo Best Selling Products - designed for use with the Elementor Page Builder plugin', 'textdomain' ),
|
16 |
Â
'customize_selective_refresh' => true,
|
17 |
Â
);
|
18 |
Â
|
19 |
+
parent::__construct( 'woo-best-products', __( 'Woo Best Selling Products', 'textdomain' ), $widget_ops );
|
20 |
Â
$this->alt_option_name = 'woo_best_products';
|
21 |
Â
|
22 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
47 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
48 |
Â
|
49 |
Â
if ( '' == $title ) {
|
50 |
+
$title = __( 'Best Sellers', 'textdomain' );
|
51 |
Â
}
|
52 |
Â
|
53 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
138 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
139 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
140 |
Â
<p>
|
141 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'textdomain' ); ?></label>
|
142 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
143 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
144 |
Â
</p>
|
145 |
Â
|
146 |
Â
<p>
|
147 |
+
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', 'textdomain' ); ?></label>
|
148 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
149 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
150 |
Â
size="3"/></p>
|
151 |
Â
|
152 |
Â
<p>
|
153 |
+
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', 'textdomain' ); ?></label>
|
154 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
155 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
156 |
Â
size="3"/>
|
vendor/codeinwp/elementor-extra-widgets/widgets/woo/featured-products.php
CHANGED
@@ -10,11 +10,11 @@ class Woo_Featured_Products extends EAW_WP_Widget {
|
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_featured_products',
|
13 |
-
'description' => __( 'Woo Featured Products - designed for use with the Elementor Page Builder plugin', '
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
-
parent::__construct( 'woo-featured-products', __( 'Woo Featured Products', '
|
18 |
Â
$this->alt_option_name = 'woo_featured_products';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
@@ -52,7 +52,7 @@ class Woo_Featured_Products extends EAW_WP_Widget {
|
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
-
$title = __( 'Recommended For You', '
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
@@ -146,19 +146,19 @@ class Woo_Featured_Products extends EAW_WP_Widget {
|
|
146 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
147 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
148 |
Â
<p>
|
149 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
150 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
151 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
152 |
Â
</p>
|
153 |
Â
|
154 |
Â
<p>
|
155 |
-
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', '
|
156 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
157 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
158 |
Â
size="3"/></p>
|
159 |
Â
|
160 |
Â
<p>
|
161 |
-
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', '
|
162 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
163 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
164 |
Â
size="3"/></p>
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_featured_products',
|
13 |
+
'description' => __( 'Woo Featured Products - designed for use with the Elementor Page Builder plugin', 'textdomain' ),
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
+
parent::__construct( 'woo-featured-products', __( 'Woo Featured Products', 'textdomain' ), $widget_ops );
|
18 |
Â
$this->alt_option_name = 'woo_featured_products';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
+
$title = __( 'Recommended For You', 'textdomain' );
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
146 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
147 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
148 |
Â
<p>
|
149 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'textdomain' ); ?></label>
|
150 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
151 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
152 |
Â
</p>
|
153 |
Â
|
154 |
Â
<p>
|
155 |
+
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', 'textdomain' ); ?></label>
|
156 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
157 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
158 |
Â
size="3"/></p>
|
159 |
Â
|
160 |
Â
<p>
|
161 |
+
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', 'textdomain' ); ?></label>
|
162 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
163 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
164 |
Â
size="3"/></p>
|
vendor/codeinwp/elementor-extra-widgets/widgets/woo/popular-products.php
CHANGED
@@ -10,11 +10,11 @@ class Woo_Popular_Products extends EAW_WP_Widget {
|
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_popular_products',
|
13 |
-
'description' => __( 'Woo Popular Products - designed for use with the Elementor Page Builder plugin', '
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
-
parent::__construct( 'woo-popular-products', __( 'Woo Popular Products', '
|
18 |
Â
$this->alt_option_name = 'woo_popular_products';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
@@ -52,7 +52,7 @@ class Woo_Popular_Products extends EAW_WP_Widget {
|
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
-
$title = __( 'Fan Favorites', '
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
@@ -146,19 +146,19 @@ class Woo_Popular_Products extends EAW_WP_Widget {
|
|
146 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
147 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
148 |
Â
<p>
|
149 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
150 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
151 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
152 |
Â
</p>
|
153 |
Â
|
154 |
Â
<p>
|
155 |
-
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', '
|
156 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
157 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
158 |
Â
size="3"/></p>
|
159 |
Â
|
160 |
Â
<p>
|
161 |
-
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', '
|
162 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
163 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
164 |
Â
size="3"/></p>
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_popular_products',
|
13 |
+
'description' => __( 'Woo Popular Products - designed for use with the Elementor Page Builder plugin', 'textdomain' ),
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
+
parent::__construct( 'woo-popular-products', __( 'Woo Popular Products', 'textdomain' ), $widget_ops );
|
18 |
Â
$this->alt_option_name = 'woo_popular_products';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
+
$title = __( 'Fan Favorites', 'textdomain' );
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
146 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
147 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
148 |
Â
<p>
|
149 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'textdomain' ); ?></label>
|
150 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
151 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
152 |
Â
</p>
|
153 |
Â
|
154 |
Â
<p>
|
155 |
+
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', 'textdomain' ); ?></label>
|
156 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
157 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
158 |
Â
size="3"/></p>
|
159 |
Â
|
160 |
Â
<p>
|
161 |
+
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', 'textdomain' ); ?></label>
|
162 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
163 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
164 |
Â
size="3"/></p>
|
vendor/codeinwp/elementor-extra-widgets/widgets/woo/products-categories.php
CHANGED
@@ -10,11 +10,11 @@ class Woo_Product_Categories extends EAW_WP_Widget {
|
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_product_categories',
|
13 |
-
'description' => __( 'Woo Product Categories - designed for use with the Elementor Page Builder plugin', '
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
-
parent::__construct( 'woo-product-categories', __( 'Woo Product Categories', '
|
18 |
Â
$this->alt_option_name = 'woo_product_categories';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
@@ -52,7 +52,7 @@ class Woo_Product_Categories extends EAW_WP_Widget {
|
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
-
$title = __( 'Shop By Categories', '
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 3;
|
@@ -148,19 +148,19 @@ class Woo_Product_Categories extends EAW_WP_Widget {
|
|
148 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 3;
|
149 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 3; ?>
|
150 |
Â
<p>
|
151 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
152 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
153 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
154 |
Â
</p>
|
155 |
Â
|
156 |
Â
<p>
|
157 |
-
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of categories to show:', '
|
158 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
159 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
160 |
Â
size="3"/></p>
|
161 |
Â
|
162 |
Â
<p>
|
163 |
-
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', '
|
164 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
165 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
166 |
Â
size="3"/></p>
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_product_categories',
|
13 |
+
'description' => __( 'Woo Product Categories - designed for use with the Elementor Page Builder plugin', 'textdomain' ),
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
+
parent::__construct( 'woo-product-categories', __( 'Woo Product Categories', 'textdomain' ), $widget_ops );
|
18 |
Â
$this->alt_option_name = 'woo_product_categories';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
+
$title = __( 'Shop By Categories', 'textdomain' );
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 3;
|
148 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 3;
|
149 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 3; ?>
|
150 |
Â
<p>
|
151 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'textdomain' ); ?></label>
|
152 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
153 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
154 |
Â
</p>
|
155 |
Â
|
156 |
Â
<p>
|
157 |
+
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of categories to show:', 'textdomain' ); ?></label>
|
158 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
159 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
160 |
Â
size="3"/></p>
|
161 |
Â
|
162 |
Â
<p>
|
163 |
+
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', 'textdomain' ); ?></label>
|
164 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
165 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
166 |
Â
size="3"/></p>
|
vendor/codeinwp/elementor-extra-widgets/widgets/woo/recent-products.php
CHANGED
@@ -10,11 +10,11 @@ class Woo_Recent_Products extends EAW_WP_Widget {
|
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_recent_products',
|
13 |
-
'description' => __( 'Woo Recent Products - designed for use with the Elementor Page Builder plugin', '
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
-
parent::__construct( 'woo-recent-products', __( 'Woo Recent Products', '
|
18 |
Â
$this->alt_option_name = 'woo_recent_products';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
@@ -52,7 +52,7 @@ class Woo_Recent_Products extends EAW_WP_Widget {
|
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
-
$title = __( 'New In', '
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
@@ -144,19 +144,19 @@ class Woo_Recent_Products extends EAW_WP_Widget {
|
|
144 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
145 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
146 |
Â
<p>
|
147 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
148 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
149 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
150 |
Â
</p>
|
151 |
Â
|
152 |
Â
<p>
|
153 |
-
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', '
|
154 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
155 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
156 |
Â
size="3"/></p>
|
157 |
Â
|
158 |
Â
<p>
|
159 |
-
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', '
|
160 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
161 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
162 |
Â
size="3"/></p>
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_recent_products',
|
13 |
+
'description' => __( 'Woo Recent Products - designed for use with the Elementor Page Builder plugin', 'textdomain' ),
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
+
parent::__construct( 'woo-recent-products', __( 'Woo Recent Products', 'textdomain' ), $widget_ops );
|
18 |
Â
$this->alt_option_name = 'woo_recent_products';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
+
$title = __( 'New In', 'textdomain' );
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
144 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
145 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
146 |
Â
<p>
|
147 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'textdomain' ); ?></label>
|
148 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
149 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
150 |
Â
</p>
|
151 |
Â
|
152 |
Â
<p>
|
153 |
+
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', 'textdomain' ); ?></label>
|
154 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
155 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
156 |
Â
size="3"/></p>
|
157 |
Â
|
158 |
Â
<p>
|
159 |
+
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', 'textdomain' ); ?></label>
|
160 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
161 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
162 |
Â
size="3"/></p>
|
vendor/codeinwp/elementor-extra-widgets/widgets/woo/sale-products.php
CHANGED
@@ -10,11 +10,11 @@ class Woo_Sale_Products extends EAW_WP_Widget {
|
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_sale_products',
|
13 |
-
'description' => __( 'Woo On Sale Products - designed for use with the Elementor Page Builder plugin', '
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
-
parent::__construct( 'woo-sale-products', __( 'Woo On Sale Products', '
|
18 |
Â
$this->alt_option_name = 'woo_sale_products';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
@@ -52,7 +52,7 @@ class Woo_Sale_Products extends EAW_WP_Widget {
|
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
-
$title = __( 'On Sale', '
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
@@ -144,19 +144,19 @@ class Woo_Sale_Products extends EAW_WP_Widget {
|
|
144 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
145 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
146 |
Â
<p>
|
147 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
148 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
149 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
150 |
Â
</p>
|
151 |
Â
|
152 |
Â
<p>
|
153 |
-
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', '
|
154 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
155 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
156 |
Â
size="3"/></p>
|
157 |
Â
|
158 |
Â
<p>
|
159 |
-
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', '
|
160 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
161 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
162 |
Â
size="3"/>
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'woo_sale_products',
|
13 |
+
'description' => __( 'Woo On Sale Products - designed for use with the Elementor Page Builder plugin', 'textdomain' ),
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
+
parent::__construct( 'woo-sale-products', __( 'Woo On Sale Products', 'textdomain' ), $widget_ops );
|
18 |
Â
$this->alt_option_name = 'woo_sale_products';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
52 |
Â
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
|
53 |
Â
|
54 |
Â
if ( '' == $title ) {
|
55 |
+
$title = __( 'On Sale', 'textdomain' );
|
56 |
Â
}
|
57 |
Â
|
58 |
Â
$limit = ( ! empty( $instance['limit'] ) ) ? absint( $instance['limit'] ) : 4;
|
144 |
Â
$limit = isset( $instance['limit'] ) ? absint( $instance['limit'] ) : 4;
|
145 |
Â
$columns = isset( $instance['columns '] ) ? absint( $instance['columns '] ) : 4; ?>
|
146 |
Â
<p>
|
147 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'textdomain' ); ?></label>
|
148 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
149 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
150 |
Â
</p>
|
151 |
Â
|
152 |
Â
<p>
|
153 |
+
<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of products to show:', 'textdomain' ); ?></label>
|
154 |
Â
<input id="<?php echo $this->get_field_id( 'limit' ); ?>"
|
155 |
Â
name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo $limit; ?>"
|
156 |
Â
size="3"/></p>
|
157 |
Â
|
158 |
Â
<p>
|
159 |
+
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><?php _e( 'Number of Columns:', 'textdomain' ); ?></label>
|
160 |
Â
<input id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
161 |
Â
name="<?php echo $this->get_field_name( 'columns' ); ?>" type="text" value="<?php echo $columns; ?>"
|
162 |
Â
size="3"/>
|
vendor/codeinwp/elementor-extra-widgets/widgets/wp/eaw-posts-widget-plus.php
CHANGED
@@ -10,11 +10,11 @@ class EAW_Recent_Posts_Plus extends WP_Widget {
|
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'widget_recent_posts_plus',
|
13 |
-
'description' => __( 'Recent posts with featured image - ideal for use with Elementor Page Builder plugin', '
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
-
parent::__construct( 'eaw-recent-posts-plus', __( 'EAW: Elementor Posts By Category', '
|
18 |
Â
$this->alt_option_name = 'widget_recent_entries_plus';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
@@ -154,19 +154,19 @@ class EAW_Recent_Posts_Plus extends WP_Widget {
|
|
154 |
Â
$show_excerpt = isset( $instance['show_excerpt'] ) ? (bool) $instance['show_excerpt'] : false;
|
155 |
Â
$category = isset( $instance['category'] ) ? $instance['category'] : ''; ?>
|
156 |
Â
<p>
|
157 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
158 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
159 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
160 |
Â
</p>
|
161 |
Â
|
162 |
Â
<p>
|
163 |
-
<label for="<?php echo $this->get_field_id( 'number' ); ?>"><?php _e( 'Number of posts to show:', '
|
164 |
Â
<input id="<?php echo $this->get_field_id( 'number' ); ?>"
|
165 |
Â
name="<?php echo $this->get_field_name( 'number' ); ?>" type="text" value="<?php echo $number; ?>"
|
166 |
Â
size="3"/></p>
|
167 |
Â
|
168 |
Â
<p>
|
169 |
-
<label for="rpjc_widget_cat_recent_posts_category"><?php _e( 'Category', '
|
170 |
Â
<?php
|
171 |
Â
wp_dropdown_categories(
|
172 |
Â
array(
|
@@ -184,11 +184,11 @@ class EAW_Recent_Posts_Plus extends WP_Widget {
|
|
184 |
Â
<p><input class="checkbox" type="checkbox" <?php checked( $show_excerpt ); ?>
|
185 |
Â
id="<?php echo $this->get_field_id( 'show_excerpt' ); ?>"
|
186 |
Â
name="<?php echo $this->get_field_name( 'show_excerpt' ); ?>"/>
|
187 |
-
<label for="<?php echo $this->get_field_id( 'show_dexcerpt' ); ?>"><?php _e( 'Display post excerpt?', '
|
188 |
Â
</p>
|
189 |
Â
|
190 |
Â
<p>
|
191 |
-
<label for="<?php echo $this->get_field_id( 'excerptcount' ); ?>"><?php _e( 'Excerpt length to show:', '
|
192 |
Â
<input id="<?php echo $this->get_field_id( 'excerptcount' ); ?>"
|
193 |
Â
name="<?php echo $this->get_field_name( 'excerptcount' ); ?>" type="text"
|
194 |
Â
value="<?php echo $excerptcount; ?>" size="3"/></p>
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'widget_recent_posts_plus',
|
13 |
+
'description' => __( 'Recent posts with featured image - ideal for use with Elementor Page Builder plugin', 'textdomain' ),
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
+
parent::__construct( 'eaw-recent-posts-plus', __( 'EAW: Elementor Posts By Category', 'textdomain' ), $widget_ops );
|
18 |
Â
$this->alt_option_name = 'widget_recent_entries_plus';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
154 |
Â
$show_excerpt = isset( $instance['show_excerpt'] ) ? (bool) $instance['show_excerpt'] : false;
|
155 |
Â
$category = isset( $instance['category'] ) ? $instance['category'] : ''; ?>
|
156 |
Â
<p>
|
157 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'textdomain' ); ?></label>
|
158 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
159 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
160 |
Â
</p>
|
161 |
Â
|
162 |
Â
<p>
|
163 |
+
<label for="<?php echo $this->get_field_id( 'number' ); ?>"><?php _e( 'Number of posts to show:', 'textdomain' ); ?></label>
|
164 |
Â
<input id="<?php echo $this->get_field_id( 'number' ); ?>"
|
165 |
Â
name="<?php echo $this->get_field_name( 'number' ); ?>" type="text" value="<?php echo $number; ?>"
|
166 |
Â
size="3"/></p>
|
167 |
Â
|
168 |
Â
<p>
|
169 |
+
<label for="rpjc_widget_cat_recent_posts_category"><?php _e( 'Category', 'textdomain' ); ?>:</label>
|
170 |
Â
<?php
|
171 |
Â
wp_dropdown_categories(
|
172 |
Â
array(
|
184 |
Â
<p><input class="checkbox" type="checkbox" <?php checked( $show_excerpt ); ?>
|
185 |
Â
id="<?php echo $this->get_field_id( 'show_excerpt' ); ?>"
|
186 |
Â
name="<?php echo $this->get_field_name( 'show_excerpt' ); ?>"/>
|
187 |
+
<label for="<?php echo $this->get_field_id( 'show_dexcerpt' ); ?>"><?php _e( 'Display post excerpt?', 'textdomain' ); ?></label>
|
188 |
Â
</p>
|
189 |
Â
|
190 |
Â
<p>
|
191 |
+
<label for="<?php echo $this->get_field_id( 'excerptcount' ); ?>"><?php _e( 'Excerpt length to show:', 'textdomain' ); ?></label>
|
192 |
Â
<input id="<?php echo $this->get_field_id( 'excerptcount' ); ?>"
|
193 |
Â
name="<?php echo $this->get_field_name( 'excerptcount' ); ?>" type="text"
|
194 |
Â
value="<?php echo $excerptcount; ?>" size="3"/></p>
|
vendor/codeinwp/elementor-extra-widgets/widgets/wp/eaw-posts-widget.php
CHANGED
@@ -10,11 +10,11 @@ class EAW_Recent_Posts extends WP_Widget {
|
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'widget_recent_posts',
|
13 |
-
'description' => __( 'Recent posts with featured image - ideal for use with Elementor Page Builder plugin', '
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
-
parent::__construct( 'eaw-recent-posts', __( 'EAW: Elementor Recent Posts', '
|
18 |
Â
$this->alt_option_name = 'widget_recent_entries';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
@@ -149,13 +149,13 @@ class EAW_Recent_Posts extends WP_Widget {
|
|
149 |
Â
$excerptcount = isset( $instance['excerptcount '] ) ? absint( $instance['excerptcount '] ) : 20;
|
150 |
Â
$show_excerpt = isset( $instance['show_excerpt'] ) ? (bool) $instance['show_excerpt'] : false; ?>
|
151 |
Â
<p>
|
152 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', '
|
153 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
154 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
155 |
Â
</p>
|
156 |
Â
|
157 |
Â
<p>
|
158 |
-
<label for="<?php echo $this->get_field_id( 'number' ); ?>"><?php _e( 'Number of posts to show:', '
|
159 |
Â
<input id="<?php echo $this->get_field_id( 'number' ); ?>"
|
160 |
Â
name="<?php echo $this->get_field_name( 'number' ); ?>" type="text" value="<?php echo $number; ?>"
|
161 |
Â
size="3"/></p>
|
@@ -163,11 +163,11 @@ class EAW_Recent_Posts extends WP_Widget {
|
|
163 |
Â
<p><input class="checkbox" type="checkbox" <?php checked( $show_excerpt ); ?>
|
164 |
Â
id="<?php echo $this->get_field_id( 'show_excerpt' ); ?>"
|
165 |
Â
name="<?php echo $this->get_field_name( 'show_excerpt' ); ?>"/>
|
166 |
-
<label for="<?php echo $this->get_field_id( 'show_dexcerpt' ); ?>"><?php _e( 'Display post excerpt?', '
|
167 |
Â
</p>
|
168 |
Â
|
169 |
Â
<p>
|
170 |
-
<label for="<?php echo $this->get_field_id( 'excerptcount' ); ?>"><?php _e( 'Excerpt length to show:', '
|
171 |
Â
<input id="<?php echo $this->get_field_id( 'excerptcount' ); ?>"
|
172 |
Â
name="<?php echo $this->get_field_name( 'excerptcount' ); ?>" type="text"
|
173 |
Â
value="<?php echo $excerptcount; ?>" size="3"/></p>
|
10 |
Â
public function __construct() {
|
11 |
Â
$widget_ops = array(
|
12 |
Â
'classname' => 'widget_recent_posts',
|
13 |
+
'description' => __( 'Recent posts with featured image - ideal for use with Elementor Page Builder plugin', 'textdomain' ),
|
14 |
Â
'customize_selective_refresh' => true,
|
15 |
Â
);
|
16 |
Â
|
17 |
+
parent::__construct( 'eaw-recent-posts', __( 'EAW: Elementor Recent Posts', 'textdomain' ), $widget_ops );
|
18 |
Â
$this->alt_option_name = 'widget_recent_entries';
|
19 |
Â
|
20 |
Â
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
|
149 |
Â
$excerptcount = isset( $instance['excerptcount '] ) ? absint( $instance['excerptcount '] ) : 20;
|
150 |
Â
$show_excerpt = isset( $instance['show_excerpt'] ) ? (bool) $instance['show_excerpt'] : false; ?>
|
151 |
Â
<p>
|
152 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'textdomain' ); ?></label>
|
153 |
Â
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
154 |
Â
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>"/>
|
155 |
Â
</p>
|
156 |
Â
|
157 |
Â
<p>
|
158 |
+
<label for="<?php echo $this->get_field_id( 'number' ); ?>"><?php _e( 'Number of posts to show:', 'textdomain' ); ?></label>
|
159 |
Â
<input id="<?php echo $this->get_field_id( 'number' ); ?>"
|
160 |
Â
name="<?php echo $this->get_field_name( 'number' ); ?>" type="text" value="<?php echo $number; ?>"
|
161 |
Â
size="3"/></p>
|
163 |
Â
<p><input class="checkbox" type="checkbox" <?php checked( $show_excerpt ); ?>
|
164 |
Â
id="<?php echo $this->get_field_id( 'show_excerpt' ); ?>"
|
165 |
Â
name="<?php echo $this->get_field_name( 'show_excerpt' ); ?>"/>
|
166 |
+
<label for="<?php echo $this->get_field_id( 'show_dexcerpt' ); ?>"><?php _e( 'Display post excerpt?', 'textdomain' ); ?></label>
|
167 |
Â
</p>
|
168 |
Â
|
169 |
Â
<p>
|
170 |
+
<label for="<?php echo $this->get_field_id( 'excerptcount' ); ?>"><?php _e( 'Excerpt length to show:', 'textdomain' ); ?></label>
|
171 |
Â
<input id="<?php echo $this->get_field_id( 'excerptcount' ); ?>"
|
172 |
Â
name="<?php echo $this->get_field_name( 'excerptcount' ); ?>" type="text"
|
173 |
Â
value="<?php echo $excerptcount; ?>" size="3"/></p>
|
vendor/codeinwp/full-width-page-templates/README.md
DELETED
@@ -1,119 +0,0 @@
|
|
1 |
-
# Full-Width Templates
|
2 |
-
-------------
|
3 |
-
A composer library which injects, in WordPress Dashboard, a Full-Width option in the Page Template selector.
|
4 |
-
|
5 |
-
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ff19f3a4a9724f5c97f88d64fbbc1493)](https://www.codacy.com/app/andrei.lupu/full-width-page-templates?utm_source=github.com&utm_medium=referral&utm_content=Codeinwp/full-width-page-templates&utm_campaign=Badge_Grade)
|
6 |
-
|
7 |
-
#### Supported Builders:
|
8 |
-
* A plain simple WordPress page
|
9 |
-
* Elementor
|
10 |
-
|
11 |
-
### Compatible themes?
|
12 |
-
At this moment this library ensures compatibility with the follwing WordPress themes(and more to come):
|
13 |
-
* [Hestia](https://wordpress.org/themes/hestia/) - by ThemeIsle
|
14 |
-
* [Hestia Pro](https://themeisle.com/themes/hestia-pro/) - by ThemeIsle
|
15 |
-
* [Zerif Lite](https://themeisle.com/themes/zerif-lite) - by ThemeIsle
|
16 |
-
* [ShopIsle](https://wordpress.org/themes/shop-isle/) - by ThemeIsle
|
17 |
-
* [Orfeo](https://themeisle.com/themes/orfeo) - by ThemeIsle
|
18 |
-
* [Edge](https://wordpress.org/themes/edge/) - By themefreesia
|
19 |
-
* [Experon](https://wordpress.org/themes/experon/) - ThinkUpThemes
|
20 |
-
* [Genesis](http://my.studiopress.com/themes/genesis/) - By StudioPress
|
21 |
-
* [GeneratePress](https://wordpress.org/themes/generatepress/) - By Tom Usborne
|
22 |
-
* [Storefront](https://wordpress.org/themes/storefront/) - by WooThemes/Automattic
|
23 |
-
* [TwentyTwelve](https://wordpress.org/themes/twentytwelve/) - by WordPress.org
|
24 |
-
* [TwentyThirteen](https://wordpress.org/themes/twentythirteen/) - by WordPress.org
|
25 |
-
* [TwentyFourteen](https://wordpress.org/themes/twentyfourteen/) - by WordPress.org
|
26 |
-
* [TwentyFifteen](https://wordpress.org/themes/twentyfifteen/) - by WordPress.org
|
27 |
-
* [TwentySixteen](https://wordpress.org/themes/twentysixteen/) - by WordPress.org
|
28 |
-
* [TwentySeventeen](https://wordpress.org/themes/twentyseventeen/) - by WordPress.org
|
29 |
-
* [Vantage](https://wordpress.org/themes/vantage/) - by Greg Priday
|
30 |
-
* [Virtue](https://wordpress.org/themes/virtue/) - by Kadence Themes
|
31 |
-
* [Enlightenment](https://wordpress.org/themes/enlightenment/) - by Daniel Tara
|
32 |
-
* [Actions](https://wordpress.org/themes/actions/) - by WPDevHQ
|
33 |
-
* [ActionsPro](https://wpdevhq.com/themes/actions-pro/) - by WPDevHQ
|
34 |
-
* [Kale](https://wordpress.org/themes/kale/) - by lyrathemes
|
35 |
-
* [InVogue](https://wordpress.org/themes/invogue) - by Kaira
|
36 |
-
* [Universal-Store](https://wordpress.org/themes/universal-store/) - by Themes4WP
|
37 |
-
* [Editorial](https://wordpress.org/themes/editorial/) - by Mystery Themes
|
38 |
-
* [Renden Business](https://wordpress.org/themes/renden-business/) - by ThinkUpThemes
|
39 |
-
* [Spacious](https://wordpress.org/themes/spacious/) - by ThemeGrill
|
40 |
-
* [Flash](https://wordpress.org/themes/spacious/) - by ThemeGrill
|
41 |
-
* [Writee](https://wordpress.org/themes/writee/) - by Scissor Themes
|
42 |
-
* [VT Blogging](https://wordpress.org/themes/vt-blogging/) - by VolThemes
|
43 |
-
* [One Page Express](https://wordpress.org/themes/one-page-express/) - by horearadu
|
44 |
-
* [Primer](https://wordpress.org/themes/primer/) - by GoDaddy
|
45 |
-
* [Vantage](https://wordpress.org/themes/vantage/) - by SiteOrigin
|
46 |
-
* [Customizr](https://wordpress.org/themes/customizr/) - by Nicolas Guillaume
|
47 |
-
* [Nikko Portfolio](https://wordpress.org/themes/nikko-portfolio/) - by Colormelon
|
48 |
-
* [Poseidon](https://wordpress.org/themes/poseidon/) - by ThemeZee
|
49 |
-
* [Envo Business](https://wordpress.org/themes/envo-business/) - by EnvoThemes
|
50 |
-
* [Hueman](https://wordpress.org/themes/hueman/) - by Nicolas Guillaume
|
51 |
-
* [News Portal](https://wordpress.org/themes/news-portal/) - by Mystery Themes
|
52 |
-
* [Illdy](https://wordpress.org/themes/illdy/) - by Silkalns
|
53 |
-
* [Envy Blog](https://wordpress.org/themes/envy-blog/) - by Precise Themes
|
54 |
-
* [Avant](https://wordpress.org/themes/avant/) - by Kaira
|
55 |
-
* [OceanWP](https://wordpress.org/themes/oceanwp/) - by oceanwp
|
56 |
-
* [Astra](https://wordpress.org/themes/astra/) - by Brainstorm Force
|
57 |
-
* [Mesmerize](https://wordpress.org/themes/mesmerize/) - by horearadu
|
58 |
-
* [Sydney](https://wordpress.org/themes/sydney/) - by athemes
|
59 |
-
* [Ashe](https://wordpress.org/themes/ashe/) - by Royal Flush
|
60 |
-
* [Lodestar](https://wordpress.org/themes/lodestar/) - by Automattic
|
61 |
-
* [Total](https://wordpress.org/themes/total/) - by Hash Themes
|
62 |
-
* [Consulting](https://wordpress.org/themes/consulting/) - by ThinkUpThemes
|
63 |
-
* [ColorMag](https://wordpress.org/themes/colormag/) - by ThemeGrill
|
64 |
-
* [OnePress](https://wordpress.org/themes/onepress/) - by FameThemes
|
65 |
-
* [Shapely](https://wordpress.org/themes/shapely/) - by Silkalns
|
66 |
-
* [HitMag](https://wordpress.org/themes/hitmag/) - by ThemezHut
|
67 |
-
* [Divi](https://www.elegantthemes.com/gallery/divi) - by Elegant Themes
|
68 |
-
|
69 |
-
### How to use it?
|
70 |
-
Well, this is a Composer library so you will need to add this it as a dependency on your project( either plugin or a theme ) like this:
|
71 |
-
```
|
72 |
-
"require": {
|
73 |
-
"codeinwp/full-width-page-templates": "master"
|
74 |
-
}
|
75 |
-
```
|
76 |
-
And run a via the terminal a `composer install` and hope that you have Composer installed globally.
|
77 |
-
|
78 |
-
The last step is the initialization. Call this wherever you like:
|
79 |
-
```
|
80 |
-
if ( class_exists( '\ThemeIsle\FullWidthTemplates' ) ) {
|
81 |
-
\ThemeIsle\FullWidthTemplates::instance();
|
82 |
-
}
|
83 |
-
```
|
84 |
-
|
85 |
-
### Work with this repository?
|
86 |
-
To work directly with this repository, I use and recommend the following way.
|
87 |
-
|
88 |
-
Clone this repository inside the [mu-plugins](https://codex.wordpress.org/Must_Use_Plugins) WordPress directory. This way, we can be sure that the cloned version of this
|
89 |
-
library will have priority before the one loaded from Composer.
|
90 |
-
After cloning you need to create a php file, like `load-fwt-lib.php`(I'm so bad at naming) and inside you will need to require the loader like this:
|
91 |
-
```
|
92 |
-
<?php
|
93 |
-
require_once( dirname( __FILE__ ) . '/full-width-page-templates/load.php' );
|
94 |
-
```
|
95 |
-
|
96 |
-
### How to make a theme compatible with the full-width template?
|
97 |
-
|
98 |
-
To add a new theme to the compatibility list, clone this repository(as we talked above) create a new directory with the
|
99 |
-
theme's name in the `themes` directory.
|
100 |
-
This theme directory supports two files:
|
101 |
-
|
102 |
-
* `inline-style.php` - A file loaded at the right moment to add an inline style
|
103 |
-
* `functions.php` - An optional file to add actions and filters.
|
104 |
-
|
105 |
-
Our goal here is to add a CSS snippet which will make sure that the page container width full.
|
106 |
-
So make use of the `inline-style.php` and add a snipet like this:
|
107 |
-
```
|
108 |
-
<?php
|
109 |
-
/* Support for the {Theme Name} theme */
|
110 |
-
$style = '.page-template-builder-fullwidth-std .site-content {
|
111 |
-
width: 100%;
|
112 |
-
padding: 0;
|
113 |
-
margin:0;
|
114 |
-
}';
|
115 |
-
wp_add_inline_style( '{theme-style}', $style );
|
116 |
-
```
|
117 |
-
Where `{theme-style}` must be an enqueued style.(For example, Twenty Seventeen has 'twentyseventeen-style')
|
118 |
-
|
119 |
-
Don't forget to add the new theme to this README.md ;)
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
vendor/codeinwp/full-width-page-templates/builders/class-elementor-full-width-templates.php
CHANGED
@@ -104,7 +104,7 @@ class Elementor {
|
|
104 |
Â
*/
|
105 |
Â
public function __clone() {
|
106 |
Â
// Cloning instances of the class is forbidden.
|
107 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', '
|
108 |
Â
}
|
109 |
Â
|
110 |
Â
/**
|
@@ -116,6 +116,6 @@ class Elementor {
|
|
116 |
Â
*/
|
117 |
Â
public function __wakeup() {
|
118 |
Â
// Unserializing instances of the class is forbidden.
|
119 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', '
|
120 |
Â
}
|
121 |
Â
}
|
104 |
Â
*/
|
105 |
Â
public function __clone() {
|
106 |
Â
// Cloning instances of the class is forbidden.
|
107 |
+
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'textdomain' ), '1.0.0' );
|
108 |
Â
}
|
109 |
Â
|
110 |
Â
/**
|
116 |
Â
*/
|
117 |
Â
public function __wakeup() {
|
118 |
Â
// Unserializing instances of the class is forbidden.
|
119 |
+
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'textdomain' ), '1.0.0' );
|
120 |
Â
}
|
121 |
Â
}
|
vendor/codeinwp/full-width-page-templates/builders/class-none-full-width-templates.php
CHANGED
@@ -76,7 +76,7 @@ class None {
|
|
76 |
Â
*/
|
77 |
Â
public function __clone() {
|
78 |
Â
// Cloning instances of the class is forbidden.
|
79 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', '
|
80 |
Â
}
|
81 |
Â
|
82 |
Â
/**
|
@@ -88,6 +88,6 @@ class None {
|
|
88 |
Â
*/
|
89 |
Â
public function __wakeup() {
|
90 |
Â
// Unserializing instances of the class is forbidden.
|
91 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', '
|
92 |
Â
}
|
93 |
Â
}
|
76 |
Â
*/
|
77 |
Â
public function __clone() {
|
78 |
Â
// Cloning instances of the class is forbidden.
|
79 |
+
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'textdomain' ), '1.0.0' );
|
80 |
Â
}
|
81 |
Â
|
82 |
Â
/**
|
88 |
Â
*/
|
89 |
Â
public function __wakeup() {
|
90 |
Â
// Unserializing instances of the class is forbidden.
|
91 |
+
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'textdomain' ), '1.0.0' );
|
92 |
Â
}
|
93 |
Â
}
|
vendor/codeinwp/full-width-page-templates/class-full-width-templates.php
CHANGED
@@ -39,8 +39,8 @@ if ( ! class_exists( '\ThemeIsle\FullWidthTemplates' ) ) {
|
|
39 |
Â
|
40 |
Â
// Add your templates to this array.
|
41 |
Â
$this->templates = apply_filters( 'fwpt_templates_list', array(
|
42 |
-
'templates/builder-fullwidth.php' => html_entity_decode( '↔ ' ) . __( 'Page Builder - Full Width - Blank', '
|
43 |
-
'templates/builder-fullwidth-std.php' => html_entity_decode( '↔ ' ) . __( 'Page Builder - Full Width', '
|
44 |
Â
) );
|
45 |
Â
|
46 |
Â
add_filter( 'theme_page_templates', array( $this, 'add_pages_in_dropdown' ) );
|
@@ -194,7 +194,7 @@ if ( ! class_exists( '\ThemeIsle\FullWidthTemplates' ) ) {
|
|
194 |
Â
*/
|
195 |
Â
public function __clone() {
|
196 |
Â
// Cloning instances of the class is forbidden.
|
197 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', '
|
198 |
Â
}
|
199 |
Â
|
200 |
Â
/**
|
@@ -206,7 +206,7 @@ if ( ! class_exists( '\ThemeIsle\FullWidthTemplates' ) ) {
|
|
206 |
Â
*/
|
207 |
Â
public function __wakeup() {
|
208 |
Â
// Unserializing instances of the class is forbidden.
|
209 |
-
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', '
|
210 |
Â
}
|
211 |
Â
}
|
212 |
Â
}
|
39 |
Â
|
40 |
Â
// Add your templates to this array.
|
41 |
Â
$this->templates = apply_filters( 'fwpt_templates_list', array(
|
42 |
+
'templates/builder-fullwidth.php' => html_entity_decode( '↔ ' ) . __( 'Page Builder - Full Width - Blank', 'textdomain' ),
|
43 |
+
'templates/builder-fullwidth-std.php' => html_entity_decode( '↔ ' ) . __( 'Page Builder - Full Width', 'textdomain' ),
|
44 |
Â
) );
|
45 |
Â
|
46 |
Â
add_filter( 'theme_page_templates', array( $this, 'add_pages_in_dropdown' ) );
|
194 |
Â
*/
|
195 |
Â
public function __clone() {
|
196 |
Â
// Cloning instances of the class is forbidden.
|
197 |
+
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'textdomain' ), '1.0.0' );
|
198 |
Â
}
|
199 |
Â
|
200 |
Â
/**
|
206 |
Â
*/
|
207 |
Â
public function __wakeup() {
|
208 |
Â
// Unserializing instances of the class is forbidden.
|
209 |
+
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'textdomain' ), '1.0.0' );
|
210 |
Â
}
|
211 |
Â
}
|
212 |
Â
}
|
vendor/codeinwp/gutenberg-blocks/CHANGELOG.md
ADDED
@@ -0,0 +1,24 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
##### [Version 1.3.5](https://github.com/Codeinwp/gutenberg-blocks/compare/v1.3.4...v1.3.5) (2020-02-03)
|
2 |
+
|
3 |
+
* Fix issue with library autoloading in different plugins
|
4 |
+
|
5 |
+
##### [Version 1.3.4](https://github.com/Codeinwp/gutenberg-blocks/compare/v1.3.3...v1.3.4) (2020-01-09)
|
6 |
+
|
7 |
+
Fix issue with icons not appearing in Chrome
|
8 |
+
Fix issue with icons not appearing in Chrome
|
9 |
+
|
10 |
+
##### [Version 1.3.3](https://github.com/Codeinwp/gutenberg-blocks/compare/v1.3.2...v1.3.3) (2020-01-09)
|
11 |
+
|
12 |
+
Fix composer loading condition
|
13 |
+
|
14 |
+
##### [Version 1.3.2](https://github.com/Codeinwp/gutenberg-blocks/compare/v1.3.1...v1.3.2) (2020-01-09)
|
15 |
+
|
16 |
+
- Add Slider Transforms [#142](https://github.com/Codeinwp/gutenberg-blocks/issues/142)
|
17 |
+
- Improve Onboarding Experience & New Icons: [#144](https://github.com/Codeinwp/gutenberg-blocks/issues/144)
|
18 |
+
- Remove deprecated blocks: [#103](https://github.com/Codeinwp/gutenberg-blocks/issues/103)
|
19 |
+
- React Hooks: [#145](https://github.com/Codeinwp/gutenberg-blocks/issues/145)
|
20 |
+
- Remove background from Posts Block: [#149](https://github.com/Codeinwp/gutenberg-blocks/issues/149)
|
21 |
+
- Allow changing Title tag in Posts Block: [#147](https://github.com/Codeinwp/gutenberg-blocks/issues/147)
|
22 |
+
- Change Category from H6 to Span: [#148](https://github.com/Codeinwp/gutenberg-blocks/issues/148)
|
23 |
+
- Option to remove the image's box-shadow: [#146](https://github.com/Codeinwp/gutenberg-blocks/issues/146)
|
24 |
+
- Fix domino effect in Sizing Component: [#151](https://github.com/Codeinwp/gutenberg-blocks/issues/151)
|
vendor/codeinwp/gutenberg-blocks/Readme.md
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
ThemeIsle Gutenberg Blocks
|
2 |
-
--------------------------
|
3 |
-
|
4 |
-
General structure of this module should be as the following:
|
5 |
-
|
6 |
-
* Load the transpiled code from the `build` dir, aka the "dist" folder.
|
7 |
-
* The functionality for each block should be isolated in it's own folder inside the `blocks` dir.
|
8 |
-
* If a block needs server side rendering than it should have an extension class of the `Base_Block` class.
|
9 |
-
* Any server side data handling should happen in the `store`.
|
10 |
-
|
11 |
-
You can include this library like this::
|
12 |
-
|
13 |
-
```
|
14 |
-
if ( class_exists( '\ThemeIsle\GutenbergBlocks' ) ) {
|
15 |
-
\ThemeIsle\GutenbergBlocks::instance( __( 'Orbit Fox', 'textdomain' ) );
|
16 |
-
}
|
17 |
-
```
|
18 |
-
|
19 |
-
You also need to enqueue Font Awesome 5 for this module to work. Font Awesome 4 shims are recommended to avoid conflict with plugins, but not required.
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
vendor/codeinwp/gutenberg-blocks/assets/glide/glide.core.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows{-webkit-touch-callout:none;user-select:none}.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}
|
vendor/codeinwp/gutenberg-blocks/assets/glide/glide.min.js
ADDED
@@ -0,0 +1,6 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*!
|
2 |
+
* Glide.js v3.3.0
|
3 |
+
* (c) 2013-2019 Jędrzej Chałubek <jedrzej.chalubek@gmail.com> (http://jedrzejchalubek.com/)
|
4 |
+
* Released under the MIT License.
|
5 |
+
*/
|
6 |
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Glide=e()}(this,function(){"use strict";var n={type:"slider",startAt:0,perView:1,focusAt:0,gap:10,autoplay:!1,hoverpause:!0,keyboard:!0,bound:!1,swipeThreshold:80,dragThreshold:120,perSwipe:"|",touchRatio:.5,touchAngle:45,animationDuration:400,rewind:!0,rewindDuration:800,animationTimingFunc:"cubic-bezier(.165, .840, .440, 1)",waitForTransition:!0,throttle:10,direction:"ltr",peek:0,breakpoints:{},classes:{swipeable:"glide--swipeable",dragging:"glide--dragging",direction:{ltr:"glide--ltr",rtl:"glide--rtl"},type:{slider:"glide--slider",carousel:"glide--carousel"},slide:{clone:"glide__slide--clone",active:"glide__slide--active"},arrow:{disabled:"glide__arrow--disabled"},nav:{active:"glide__bullet--active"}}};function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t=function(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),t};function s(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function y(t){return parseInt(t)}function o(t){return"string"==typeof t}function u(t){var e=void 0===t?"undefined":r(t);return"function"===e||"object"===e&&!!t}function c(t){return"function"==typeof t}function l(t){return void 0===t}function f(t){return t.constructor===Array}function d(t,e,n){Object.defineProperty(t,e,n)}function h(t,e){var n=a({},t,e);return e.hasOwnProperty("classes")&&(n.classes=a({},t.classes,e.classes),e.classes.hasOwnProperty("direction")&&(n.classes.direction=a({},t.classes.direction,e.classes.direction)),e.classes.hasOwnProperty("type")&&(n.classes.type=a({},t.classes.type,e.classes.type)),e.classes.hasOwnProperty("slide")&&(n.classes.slide=a({},t.classes.slide,e.classes.slide)),e.classes.hasOwnProperty("arrow")&&(n.classes.arrow=a({},t.classes.arrow,e.classes.arrow)),e.classes.hasOwnProperty("nav")&&(n.classes.nav=a({},t.classes.nav,e.classes.nav))),e.hasOwnProperty("breakpoints")&&(n.breakpoints=a({},t.breakpoints,e.breakpoints)),n}var v=(t(e,[{key:"on",value:function(t,e){if(f(t))for(var n=0;n<t.length;n++)this.on(t[n],e);this.hop.call(this.events,t)||(this.events[t]=[]);var i=this.events[t].push(e)-1;return{remove:function(){delete this.events[t][i]}}}},{key:"emit",value:function(t,e){if(f(t))for(var n=0;n<t.length;n++)this.emit(t[n],e);this.hop.call(this.events,t)&&this.events[t].forEach(function(t){t(e||{})})}}]),e);function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};i(this,e),this.events=t,this.hop=t.hasOwnProperty}var p=(t(m,[{key:"mount",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};return this._e.emit("mount.before"),u(e)&&(this._c=function(t,e,n){var i={};for(var r in e)c(e[r])&&(i[r]=e[r](t,i,n));for(var s in i)c(i[s].mount)&&i[s].mount();return i}(this,e,this._e)),this._e.emit("mount.after"),this}},{key:"mutate",value:function(t){var e=0<arguments.length&&void 0!==t?t:[];return f(e)&&(this._t=e),this}},{key:"update",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};return this.settings=h(this.settings,e),e.hasOwnProperty("startAt")&&(this.index=e.startAt),this._e.emit("update"),this}},{key:"go",value:function(t){return this._c.Run.make(t),this}},{key:"move",value:function(t){return this._c.Transition.disable(),this._c.Move.make(t),this}},{key:"destroy",value:function(){return this._e.emit("destroy"),this}},{key:"play",value:function(t){var e=0<arguments.length&&void 0!==t&&t;return e&&(this.settings.autoplay=e),this._e.emit("play"),this}},{key:"pause",value:function(){return this._e.emit("pause"),this}},{key:"disable",value:function(){return this.disabled=!0,this}},{key:"enable",value:function(){return this.disabled=!1,this}},{key:"on",value:function(t,e){return this._e.on(t,e),this}},{key:"isType",value:function(t){return this.settings.type===t}},{key:"settings",get:function(){return this._o},set:function(t){u(t)&&(this._o=t)}},{key:"index",get:function(){return this._i},set:function(t){this._i=y(t)}},{key:"type",get:function(){return this.settings.type}},{key:"disabled",get:function(){return this._d},set:function(t){this._d=!!t}}]),m);function m(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};i(this,m),this._c={},this._t=[],this._e=new v,this.disabled=!1,this.selector=t,this.settings=h(n,e),this.index=this.settings.startAt}function g(){return(new Date).getTime()}function b(n,i,r){var s=void 0,o=void 0,u=void 0,a=void 0,c=0;r=r||{};function l(){c=!1===r.leading?0:g(),s=null,a=n.apply(o,u),s||(o=u=null)}function t(){var t=g();c||!1!==r.leading||(c=t);var e=i-(t-c);return o=this,u=arguments,e<=0||i<e?(s&&(clearTimeout(s),s=null),c=t,a=n.apply(o,u),s||(o=u=null)):s||!1===r.trailing||(s=setTimeout(l,e)),a}return t.cancel=function(){clearTimeout(s),c=0,s=o=u=null},t}var w={ltr:["marginLeft","marginRight"],rtl:["marginRight","marginLeft"]};function _(t){if(t&&t.parentNode){for(var e=t.parentNode.firstChild,n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}return[]}function k(t){return!!(t&&t instanceof window.HTMLElement)}var S='[data-glide-el="track"]';var H=(t(T,[{key:"on",value:function(t,e,n,i){var r=3<arguments.length&&void 0!==i&&i;o(t)&&(t=[t]);for(var s=0;s<t.length;s++)this.listeners[t[s]]=n,e.addEventListener(t[s],this.listeners[t[s]],r)}},{key:"off",value:function(t,e,n){var i=2<arguments.length&&void 0!==n&&n;o(t)&&(t=[t]);for(var r=0;r<t.length;r++)e.removeEventListener(t[r],this.listeners[t[r]],i)}},{key:"destroy",value:function(){delete this.listeners}}]),T);function T(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};i(this,T),this.listeners=t}var O=["ltr","rtl"],x={">":"<","<":">","=":"="};function A(t,e){return{modify:function(t){return e.Direction.is("rtl")?-t:t}}}function P(i,r,s){var o=[function(t,n){return{modify:function(t){var e=Math.floor(t/n.Sizes.slideWidth);return t+n.Gaps.value*e}}},function(t,e){return{modify:function(t){return t+e.Clones.grow/2}}},function(n,i){return{modify:function(t){if(0<=n.settings.focusAt){var e=i.Peek.value;return u(e)?t-e.before:t-e}return t}}},function(s,o){return{modify:function(t){var e=o.Gaps.value,n=o.Sizes.width,i=s.settings.focusAt,r=o.Sizes.slideWidth;return"center"===i?t-(n/2-r/2):t-r*i-e*i}}}].concat(i._t,[A]);return{mutate:function(t){for(var e=0;e<o.length;e++){var n=o[e];c(n)&&c(n().modify)&&(t=n(i,r,s).modify(t))}return t}}}var M=!1;try{var z=Object.defineProperty({},"passive",{get:function(){M=!0}});window.addEventListener("testPassive",null,z),window.removeEventListener("testPassive",null,z)}catch(t){}var C=M,L=["touchstart","mousedown"],R=["touchmove","mousemove"],D=["touchend","touchcancel","mouseup","mouseleave"],E=["mousedown","mousemove","mouseup","mouseleave"];function j(t){return u(t)?function(n){return Object.keys(n).sort().reduce(function(t,e){return t[e]=n[e],t[e],t},{})}(t):{}}var W={Html:function(e,t){var n={mount:function(){this.root=e.selector,this.track=this.root.querySelector(S),this.slides=Array.prototype.slice.call(this.wrapper.children).filter(function(t){return!t.classList.contains(e.settings.classes.slide.clone)})}};return d(n,"root",{get:function(){return n._r},set:function(t){o(t)&&(t=document.querySelector(t)),k(t)&&(n._r=t)}}),d(n,"track",{get:function(){return n._t},set:function(t){k(t)&&(n._t=t)}}),d(n,"wrapper",{get:function(){return n.track.children[0]}}),n},Translate:function(i,r,n){var s={set:function(t){var e=P(i,r).mutate(t);r.Html.wrapper.style.transform="translate3d("+-1*e+"px, 0px, 0px)"},remove:function(){r.Html.wrapper.style.transform=""},getStartIndex:function(){var t=r.Sizes.length,e=i.index,n=i.settings.perView;return r.Run.isOffset(">")||r.Run.isOffset("|>")?t+(e-n):(e+n)%t},getTravelDistance:function(){var t=r.Sizes.slideWidth*i.settings.perView;return r.Run.isOffset(">")||r.Run.isOffset("|>")?-1*t:t}};return n.on("move",function(t){if(!i.isType("carousel")||!r.Run.isOffset())return s.set(t.movement);r.Transition.after(function(){n.emit("translate.jump"),s.set(r.Sizes.slideWidth*i.index)});var e=r.Sizes.slideWidth*r.Translate.getStartIndex();return s.set(e-r.Translate.getTravelDistance())}),n.on("destroy",function(){s.remove()}),s},Transition:function(n,i,t){var r=!1,e={compose:function(t){var e=n.settings;return r?t+" 0ms "+e.animationTimingFunc:t+" "+this.duration+"ms "+e.animationTimingFunc},set:function(t){var e=0<arguments.length&&void 0!==t?t:"transform";i.Html.wrapper.style.transition=this.compose(e)},remove:function(){i.Html.wrapper.style.transition=""},after:function(t){setTimeout(function(){t()},this.duration)},enable:function(){r=!1,this.set()},disable:function(){r=!0,this.set()}};return d(e,"duration",{get:function(){var t=n.settings;return n.isType("slider")&&i.Run.offset?t.rewindDuration:t.animationDuration}}),t.on("move",function(){e.set()}),t.on(["build.before","resize","translate.jump"],function(){e.disable()}),t.on("run",function(){e.enable()}),t.on("destroy",function(){e.remove()}),e},Direction:function(t,e,n){var i={mount:function(){this.value=t.settings.direction},resolve:function(t){var e=t.slice(0,1);return this.is("rtl")?t.split(e).join(x[e]):t},is:function(t){return this.value===t},addClass:function(){e.Html.root.classList.add(t.settings.classes.direction[this.value])},removeClass:function(){e.Html.root.classList.remove(t.settings.classes.direction[this.value])}};return d(i,"value",{get:function(){return i._v},set:function(t){-1<O.indexOf(t)&&(i._v=t)}}),n.on(["destroy","update"],function(){i.removeClass()}),n.on("update",function(){i.mount()}),n.on(["build.before","update"],function(){i.addClass()}),i},Peek:function(n,t,e){var i={mount:function(){this.value=n.settings.peek}};return d(i,"value",{get:function(){return i._v},set:function(t){u(t)?(t.before=y(t.before),t.after=y(t.after)):t=y(t),i._v=t}}),d(i,"reductor",{get:function(){var t=i.value,e=n.settings.perView;return u(t)?t.before/e+t.after/e:2*t/e}}),e.on(["resize","update"],function(){i.mount()}),i},Sizes:function(t,i,e){var n={setupSlides:function(){for(var t=this.slideWidth+"px",e=i.Html.slides,n=0;n<e.length;n++)e[n].style.width=t},setupWrapper:function(){i.Html.wrapper.style.width=this.wrapperSize+"px"},remove:function(){for(var t=i.Html.slides,e=0;e<t.length;e++)t[e].style.width="";i.Html.wrapper.style.width=""}};return d(n,"length",{get:function(){return i.Html.slides.length}}),d(n,"width",{get:function(){return i.Html.root.offsetWidth}}),d(n,"wrapperSize",{get:function(){return n.slideWidth*n.length+i.Gaps.grow+i.Clones.grow}}),d(n,"slideWidth",{get:function(){return n.width/t.settings.perView-i.Peek.reductor-i.Gaps.reductor}}),e.on(["build.before","resize","update"],function(){n.setupSlides(),n.setupWrapper()}),e.on("destroy",function(){n.remove()}),n},Gaps:function(e,s,t){var n={apply:function(t){for(var e=0,n=t.length;e<n;e++){var i=t[e].style,r=s.Direction.value;i[w[r][0]]=0!==e?this.value/2+"px":"",e!==t.length-1?i[w[r][1]]=this.value/2+"px":i[w[r][1]]=""}},remove:function(t){for(var e=0,n=t.length;e<n;e++){var i=t[e].style;i.marginLeft="",i.marginRight=""}}};return d(n,"value",{get:function(){return y(e.settings.gap)}}),d(n,"grow",{get:function(){return n.value*s.Sizes.length}}),d(n,"reductor",{get:function(){var t=e.settings.perView;return n.value*(t-1)/t}}),t.on(["build.after","update"],b(function(){n.apply(s.Html.wrapper.children)},30)),t.on("destroy",function(){n.remove(s.Html.wrapper.children)}),n},Move:function(t,i,r){var e={mount:function(){this._o=0},make:function(t){var e=this,n=0<arguments.length&&void 0!==t?t:0;this.offset=n,r.emit("move",{movement:this.value}),i.Transition.after(function(){r.emit("move.after",{movement:e.value})})}};return d(e,"offset",{get:function(){return e._o},set:function(t){e._o=l(t)?0:y(t)}}),d(e,"translate",{get:function(){return i.Sizes.slideWidth*t.index}}),d(e,"value",{get:function(){var t=this.offset,e=this.translate;return i.Direction.is("rtl")?e+t:e-t}}),r.on(["build.before","run"],function(){e.make()}),e},Clones:function(v,p,t){var e={mount:function(){this.items=[],v.isType("carousel")&&(this.items=this.collect())},collect:function(t){for(var e=0<arguments.length&&void 0!==t?t:[],n=p.Html.slides,i=v.settings,r=i.perView,s=i.classes,o=r+ +!!v.settings.peek+Math.round(r/2),u=n.slice(0,o).reverse(),a=n.slice(-1*o),c=0;c<Math.max(1,Math.floor(r/n.length));c++){for(var l=0;l<u.length;l++){var f=u[l].cloneNode(!0);f.classList.add(s.slide.clone),e.push(f)}for(var d=0;d<a.length;d++){var h=a[d].cloneNode(!0);h.classList.add(s.slide.clone),e.unshift(h)}}return e},append:function(){for(var t=this.items,e=p.Html,n=e.wrapper,i=e.slides,r=Math.floor(t.length/2),s=t.slice(0,r).reverse(),o=t.slice(-1*r).reverse(),u=p.Sizes.slideWidth+"px",a=0;a<o.length;a++)n.appendChild(o[a]);for(var c=0;c<s.length;c++)n.insertBefore(s[c],i[0]);for(var l=0;l<t.length;l++)t[l].style.width=u},remove:function(){for(var t=this.items,e=0;e<t.length;e++)p.Html.wrapper.removeChild(t[e])}};return d(e,"grow",{get:function(){return(p.Sizes.slideWidth+p.Gaps.value)*e.items.length}}),t.on("update",function(){e.remove(),e.mount(),e.append()}),t.on("build.before",function(){v.isType("carousel")&&e.append()}),t.on("destroy",function(){e.remove()}),e},Resize:function(t,e,n){var i=new H,r={mount:function(){this.bind()},bind:function(){i.on("resize",window,b(function(){n.emit("resize")},t.settings.throttle))},unbind:function(){i.off("resize",window)}};return n.on("destroy",function(){r.unbind(),i.destroy()}),r},Build:function(i,r,t){var e={mount:function(){t.emit("build.before"),this.typeClass(),this.activeClass(),t.emit("build.after")},typeClass:function(){r.Html.root.classList.add(i.settings.classes.type[i.settings.type])},activeClass:function(){var e=i.settings.classes,t=r.Html.slides[i.index];t&&(t.classList.add(e.slide.active),_(t).forEach(function(t){t.classList.remove(e.slide.active)}))},removeClasses:function(){var t=i.settings.classes,e=t.type,n=t.slide;r.Html.root.classList.remove(e[i.settings.type]),r.Html.slides.forEach(function(t){t.classList.remove(n.active)})}};return t.on(["destroy","update"],function(){e.removeClasses()}),t.on(["resize","update"],function(){e.mount()}),t.on("move.after",function(){e.activeClass()}),e},Run:function(u,n,i){var a={mount:function(){this._o=!1},make:function(t){var e=this;u.disabled||(u.settings.waitForTransition&&u.disable(),this.move=t,i.emit("run.before",this.move),this.calculate(),i.emit("run",this.move),n.Transition.after(function(){e.isStart()&&i.emit("run.start",e.move),e.isEnd()&&i.emit("run.end",e.move),e.isOffset()&&(e._o=!1,i.emit("run.offset",e.move)),i.emit("run.after",e.move),u.enable()}))},calculate:function(){var t=this.move,e=this.length,n=t.steps,i=t.direction,r=1;if("="!==i)if(">"!==i||">"!==n)if("<"!==i||"<"!==n){if("|"===i&&(r=u.settings.perView||1),">"===i||"|"===i&&">"===n){var s=function(t){var e=u.index;if(u.isType("carousel"))return e+t;return e+(t-e%t)}(r);return e<s&&(this._o=!0),void(u.index=function(t,e){var n=a.length;if(t<=n)return t;if(u.isType("carousel"))return t-(n+1);if(u.settings.rewind)return a.isBound()&&!a.isEnd()?n:0;if(a.isBound())return n;return Math.floor(n/e)*e}(s,r))}if("<"===i||"|"===i&&"<"===n){var o=function(t){var e=u.index;if(u.isType("carousel"))return e-t;return(Math.ceil(e/t)-1)*t}(r);return o<0&&(this._o=!0),void(u.index=function(t,e){var n=a.length;if(0<=t)return t;if(u.isType("carousel"))return t+(n+1);if(u.settings.rewind)return a.isBound()&&a.isStart()?n:Math.floor(n/e)*e;return 0}(o,r))}}else u.index=0;else u.index=e;else u.index=n},isStart:function(){return u.index<=0},isEnd:function(){return u.index>=this.length},isOffset:function(t){var e=0<arguments.length&&void 0!==t?t:void 0;return e?!!this._o&&("|>"===e?"|"===this.move.direction&&">"===this.move.steps:"|<"===e?"|"===this.move.direction&&"<"===this.move.steps:this.move.direction===e):this._o},isBound:function(){return u.isType("slider")&&"center"!==u.settings.focusAt&&u.settings.bound}};return d(a,"move",{get:function(){return this._m},set:function(t){var e=t.substr(1);this._m={direction:t.substr(0,1),steps:e?y(e)?y(e):e:0}}}),d(a,"length",{get:function(){var t=u.settings,e=n.Html.slides.length;return this.isBound()?e-1-(y(t.perView)-1)+y(t.focusAt):e-1}}),d(a,"offset",{get:function(){return this._o}}),a},Swipe:function(d,h,v){var r=new H,p=0,m=0,g=0,n=!1,s=!!C&&{passive:!0},t={mount:function(){this.bindSwipeStart()},start:function(t){if(!n&&!d.disabled){this.disable();var e=this.touches(t);p=null,m=y(e.pageX),g=y(e.pageY),this.bindSwipeMove(),this.bindSwipeEnd(),v.emit("swipe.start")}},move:function(t){if(!d.disabled){var e=d.settings,n=e.touchAngle,i=e.touchRatio,r=e.classes,s=this.touches(t),o=y(s.pageX)-m,u=y(s.pageY)-g,a=Math.abs(o<<2),c=Math.abs(u<<2),l=Math.sqrt(a+c),f=Math.sqrt(c);if(!(180*(p=Math.asin(f/l))/Math.PI<n))return!1;t.stopPropagation(),h.Move.make(o*function(t){return parseFloat(t)}(i)),h.Html.root.classList.add(r.dragging),v.emit("swipe.move")}},end:function(t){if(!d.disabled){var e=d.settings,n=e.perSwipe,i=e.touchAngle,r=e.classes,s=this.touches(t),o=this.threshold(t),u=s.pageX-m,a=180*p/Math.PI;this.enable(),o<u&&a<i?h.Run.make(h.Direction.resolve(n+"<")):u<-o&&a<i?h.Run.make(h.Direction.resolve(n+">")):h.Move.make(),h.Html.root.classList.remove(r.dragging),this.unbindSwipeMove(),this.unbindSwipeEnd(),v.emit("swipe.end")}},bindSwipeStart:function(){var e=this,t=d.settings,n=t.swipeThreshold,i=t.dragThreshold;n&&r.on(L[0],h.Html.wrapper,function(t){e.start(t)},s),i&&r.on(L[1],h.Html.wrapper,function(t){e.start(t)},s)},unbindSwipeStart:function(){r.off(L[0],h.Html.wrapper,s),r.off(L[1],h.Html.wrapper,s)},bindSwipeMove:function(){var e=this;r.on(R,h.Html.wrapper,b(function(t){e.move(t)},d.settings.throttle),s)},unbindSwipeMove:function(){r.off(R,h.Html.wrapper,s)},bindSwipeEnd:function(){var e=this;r.on(D,h.Html.wrapper,function(t){e.end(t)})},unbindSwipeEnd:function(){r.off(D,h.Html.wrapper)},touches:function(t){return-1<E.indexOf(t.type)?t:t.touches[0]||t.changedTouches[0]},threshold:function(t){var e=d.settings;return-1<E.indexOf(t.type)?e.dragThreshold:e.swipeThreshold},enable:function(){return n=!1,h.Transition.enable(),this},disable:function(){return n=!0,h.Transition.disable(),this}};return v.on("build.after",function(){h.Html.root.classList.add(d.settings.classes.swipeable)}),v.on("destroy",function(){t.unbindSwipeStart(),t.unbindSwipeMove(),t.unbindSwipeEnd(),r.destroy()}),t},Images:function(t,e,n){var i=new H,r={mount:function(){this.bind()},bind:function(){i.on("dragstart",e.Html.wrapper,this.dragstart)},unbind:function(){i.off("dragstart",e.Html.wrapper)},dragstart:function(t){t.preventDefault()}};return n.on("destroy",function(){r.unbind(),i.destroy()}),r},Anchors:function(t,e,n){var i=new H,r=!1,s=!1,o={mount:function(){this._a=e.Html.wrapper.querySelectorAll("a"),this.bind()},bind:function(){i.on("click",e.Html.wrapper,this.click)},unbind:function(){i.off("click",e.Html.wrapper)},click:function(t){s&&(t.stopPropagation(),t.preventDefault())},detach:function(){if(s=!0,!r){for(var t=0;t<this.items.length;t++)this.items[t].draggable=!1,this.items[t].setAttribute("data-href",this.items[t].getAttribute("href")),this.items[t].removeAttribute("href");r=!0}return this},attach:function(){if(s=!1,r){for(var t=0;t<this.items.length;t++)this.items[t].draggable=!0,this.items[t].setAttribute("href",this.items[t].getAttribute("data-href"));r=!1}return this}};return d(o,"items",{get:function(){return o._a}}),n.on("swipe.move",function(){o.detach()}),n.on("swipe.end",function(){e.Transition.after(function(){o.attach()})}),n.on("destroy",function(){o.attach(),o.unbind(),i.destroy()}),o},Controls:function(i,e,t){var n=new H,r=!!C&&{passive:!0},s={mount:function(){this._n=e.Html.root.querySelectorAll('[data-glide-el="controls[nav]"]'),this._c=e.Html.root.querySelectorAll('[data-glide-el^="controls"]'),this.addBindings()},setActive:function(){for(var t=0;t<this._n.length;t++)this.addClass(this._n[t].children)},removeActive:function(){for(var t=0;t<this._n.length;t++)this.removeClass(this._n[t].children)},addClass:function(t){var e=i.settings,n=t[i.index];n&&(n.classList.add(e.classes.nav.active),_(n).forEach(function(t){t.classList.remove(e.classes.nav.active)}))},removeClass:function(t){var e=t[i.index];e&&e.classList.remove(i.settings.classes.nav.active)},addBindings:function(){for(var t=0;t<this._c.length;t++)this.bind(this._c[t].children)},removeBindings:function(){for(var t=0;t<this._c.length;t++)this.unbind(this._c[t].children)},bind:function(t){for(var e=0;e<t.length;e++)n.on("click",t[e],this.click),n.on("touchstart",t[e],this.click,r)},unbind:function(t){for(var e=0;e<t.length;e++)n.off(["click","touchstart"],t[e])},click:function(t){t.preventDefault(),e.Run.make(e.Direction.resolve(t.currentTarget.getAttribute("data-glide-dir")))}};return d(s,"items",{get:function(){return s._c}}),t.on(["mount.after","move.after"],function(){s.setActive()}),t.on("destroy",function(){s.removeBindings(),s.removeActive(),n.destroy()}),s},Keyboard:function(t,e,n){var i=new H,r={mount:function(){t.settings.keyboard&&this.bind()},bind:function(){i.on("keyup",document,this.press)},unbind:function(){i.off("keyup",document)},press:function(t){39===t.keyCode&&e.Run.make(e.Direction.resolve(">")),37===t.keyCode&&e.Run.make(e.Direction.resolve("<"))}};return n.on(["destroy","update"],function(){r.unbind()}),n.on("update",function(){r.mount()}),n.on("destroy",function(){i.destroy()}),r},Autoplay:function(e,n,t){var i=new H,r={mount:function(){this.start(),e.settings.hoverpause&&this.bind()},start:function(){var t=this;e.settings.autoplay&&l(this._i)&&(this._i=setInterval(function(){t.stop(),n.Run.make(">"),t.start()},this.time))},stop:function(){this._i=clearInterval(this._i)},bind:function(){var t=this;i.on("mouseover",n.Html.root,function(){t.stop()}),i.on("mouseout",n.Html.root,function(){t.start()})},unbind:function(){i.off(["mouseover","mouseout"],n.Html.root)}};return d(r,"time",{get:function(){var t=n.Html.slides[e.index].getAttribute("data-glide-autoplay");return y(t||e.settings.autoplay)}}),t.on(["destroy","update"],function(){r.unbind()}),t.on(["run.before","pause","destroy","swipe.start","update"],function(){r.stop()}),t.on(["run.after","play","swipe.end"],function(){r.start()}),t.on("update",function(){r.mount()}),t.on("destroy",function(){i.destroy()}),r},Breakpoints:function(t,e,n){var i=new H,r=t.settings,s=j(r.breakpoints),o=a({},r),u={match:function(t){if(void 0!==window.matchMedia)for(var e in t)if(t.hasOwnProperty(e)&&window.matchMedia("(max-width: "+e+"px)").matches)return t[e];return o}};return a(r,u.match(s)),i.on("resize",window,b(function(){t.settings=h(r,u.match(s))},t.settings.throttle)),n.on("update",function(){s=j(s),o=a({},r)}),n.on("destroy",function(){i.off("resize",window)}),u}};function B(){return i(this,B),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(B.__proto__||Object.getPrototypeOf(B)).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(B,p),t(B,[{key:"mount",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};return function t(e,n,i){null===e&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,n);if(void 0===r){var s=Object.getPrototypeOf(e);return null===s?void 0:t(s,n,i)}if("value"in r)return r.value;var o=r.get;return void 0!==o?o.call(i):void 0}(B.prototype.__proto__||Object.getPrototypeOf(B.prototype),"mount",this).call(this,a({},W,e))}}]),B});
|
vendor/codeinwp/gutenberg-blocks/assets/glide/glide.theme.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
.glide__arrow{position:absolute;display:block;top:50%;z-index:2;color:white;text-transform:uppercase;padding:9px 12px;background-color:transparent;border:2px solid rgba(255,255,255,0.5);border-radius:4px;box-shadow:0 0.25em 0.5em 0 rgba(0,0,0,0.1);text-shadow:0 0.25em 0.5em rgba(0,0,0,0.1);opacity:1;cursor:pointer;transition:opacity 150ms ease, border 300ms ease-in-out;transform:translateY(-50%);line-height:1}.glide__arrow:focus{outline:none}.glide__arrow:hover{border-color:white}.glide__arrow--left{left:2em}.glide__arrow--right{right:2em}.glide__arrow--disabled{opacity:0.33}.glide__bullets{position:absolute;z-index:2;bottom:2em;left:50%;display:inline-flex;list-style:none;transform:translateX(-50%)}.glide__bullet{background-color:rgba(255,255,255,0.5);width:9px;height:9px;padding:0;border-radius:50%;border:2px solid transparent;transition:all 300ms ease-in-out;cursor:pointer;line-height:0;box-shadow:0 0.25em 0.5em 0 rgba(0,0,0,0.1);margin:0 0.25em}.glide__bullet:focus{outline:none}.glide__bullet:hover,.glide__bullet:focus{border:2px solid white;background-color:rgba(255,255,255,0.5)}.glide__bullet--active{background-color:white}.glide--swipeable{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.glide--dragging{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}
|
vendor/codeinwp/gutenberg-blocks/autoloader.php
CHANGED
@@ -7,6 +7,11 @@
|
|
7 |
Â
|
8 |
Â
namespace ThemeIsle\GutenbergBlocks;
|
9 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
10 |
Â
class Autoloader {
|
11 |
Â
/**
|
12 |
Â
* An associative array where the key is a namespace prefix and the value
|
@@ -31,24 +36,24 @@ class Autoloader {
|
|
31 |
Â
* @param string $prefix The namespace prefix.
|
32 |
Â
* @param string $base_dir A base directory for class files in the
|
33 |
Â
* namespace.
|
34 |
-
* @param bool
|
35 |
-
*
|
36 |
-
*
|
37 |
Â
* @return void
|
38 |
Â
*/
|
39 |
Â
public function add_namespace( $prefix, $base_dir, $prepend = false ) {
|
40 |
-
// normalize namespace prefix
|
41 |
Â
$prefix = trim( $prefix, '\\' ) . '\\';
|
42 |
Â
|
43 |
-
// normalize the base directory with a trailing separator
|
44 |
Â
$base_dir = rtrim( $base_dir, DIRECTORY_SEPARATOR ) . '/';
|
45 |
Â
|
46 |
-
// initialize the namespace prefix array
|
47 |
Â
if ( isset( $this->prefixes[ $prefix ] ) === false ) {
|
48 |
Â
$this->prefixes[ $prefix ] = array();
|
49 |
Â
}
|
50 |
Â
|
51 |
-
// retain the base directory for the namespace prefix
|
52 |
Â
if ( $prepend ) {
|
53 |
Â
array_unshift( $this->prefixes[ $prefix ], $base_dir );
|
54 |
Â
} else {
|
@@ -64,31 +69,31 @@ class Autoloader {
|
|
64 |
Â
* failure.
|
65 |
Â
*/
|
66 |
Â
public function load_class( $class ) {
|
67 |
-
// the current namespace prefix
|
68 |
Â
$prefix = $class;
|
69 |
Â
|
70 |
-
// work backwards through the namespace names of the fully-qualified
|
71 |
-
// class name to find a mapped file name
|
72 |
-
while ( false !== $pos = strrpos( $prefix, '\\' ) ) {
|
73 |
Â
|
74 |
-
// retain the trailing namespace separator in the prefix
|
75 |
Â
$prefix = substr( $class, 0, $pos + 1 );
|
76 |
Â
|
77 |
-
// the rest is the relative class name
|
78 |
Â
$relative_class = substr( $class, $pos + 1 );
|
79 |
Â
|
80 |
-
// try to load a mapped file for the prefix and relative class
|
81 |
Â
$mapped_file = $this->load_mapped_file( $prefix, $relative_class );
|
82 |
Â
if ( $mapped_file ) {
|
83 |
Â
return $mapped_file;
|
84 |
Â
}
|
85 |
Â
|
86 |
-
// remove the trailing namespace separator for the next iteration
|
87 |
-
// of strrpos()
|
88 |
Â
$prefix = rtrim( $prefix, '\\' );
|
89 |
Â
}
|
90 |
Â
|
91 |
-
// never found a mapped file
|
92 |
Â
return false;
|
93 |
Â
}
|
94 |
Â
|
@@ -106,12 +111,12 @@ class Autoloader {
|
|
106 |
Â
return false;
|
107 |
Â
}
|
108 |
Â
|
109 |
-
// look through base directories for this namespace prefix
|
110 |
Â
foreach ( $this->prefixes[ $prefix ] as $base_dir ) {
|
111 |
Â
|
112 |
Â
// replace the namespace prefix with the base directory,
|
113 |
Â
// replace namespace separators with directory separators
|
114 |
-
// in the relative class name, append with .php
|
115 |
Â
$relative_class = strtolower( str_replace( '\\', '/', $relative_class ) );
|
116 |
Â
$relative_class = str_replace( '_', '-', $relative_class );
|
117 |
Â
|
@@ -122,14 +127,14 @@ class Autoloader {
|
|
122 |
Â
}
|
123 |
Â
$file = $base_dir . $relative_class . '.php';
|
124 |
Â
|
125 |
-
// if the mapped file exists, require it
|
126 |
Â
if ( $this->require_file( $file ) ) {
|
127 |
-
// yes, we're done
|
128 |
Â
return $file;
|
129 |
Â
}
|
130 |
Â
}
|
131 |
Â
|
132 |
-
// never found it
|
133 |
Â
return false;
|
134 |
Â
}
|
135 |
Â
|
7 |
Â
|
8 |
Â
namespace ThemeIsle\GutenbergBlocks;
|
9 |
Â
|
10 |
+
/**
|
11 |
+
* Class Autoloader
|
12 |
+
*
|
13 |
+
* @package ThemeIsle\GutenbergBlocks
|
14 |
+
*/
|
15 |
Â
class Autoloader {
|
16 |
Â
/**
|
17 |
Â
* An associative array where the key is a namespace prefix and the value
|
36 |
Â
* @param string $prefix The namespace prefix.
|
37 |
Â
* @param string $base_dir A base directory for class files in the
|
38 |
Â
* namespace.
|
39 |
+
* @param bool $prepend If true, prepend the base directory to the stack
|
40 |
+
* instead of appending it; this causes it to be searched first rather
|
41 |
+
* than last.
|
42 |
Â
* @return void
|
43 |
Â
*/
|
44 |
Â
public function add_namespace( $prefix, $base_dir, $prepend = false ) {
|
45 |
+
// normalize namespace prefix.
|
46 |
Â
$prefix = trim( $prefix, '\\' ) . '\\';
|
47 |
Â
|
48 |
+
// normalize the base directory with a trailing separator.
|
49 |
Â
$base_dir = rtrim( $base_dir, DIRECTORY_SEPARATOR ) . '/';
|
50 |
Â
|
51 |
+
// initialize the namespace prefix array.
|
52 |
Â
if ( isset( $this->prefixes[ $prefix ] ) === false ) {
|
53 |
Â
$this->prefixes[ $prefix ] = array();
|
54 |
Â
}
|
55 |
Â
|
56 |
+
// retain the base directory for the namespace prefix.
|
57 |
Â
if ( $prepend ) {
|
58 |
Â
array_unshift( $this->prefixes[ $prefix ], $base_dir );
|
59 |
Â
} else {
|
69 |
Â
* failure.
|
70 |
Â
*/
|
71 |
Â
public function load_class( $class ) {
|
72 |
+
// the current namespace prefix.
|
73 |
Â
$prefix = $class;
|
74 |
Â
|
75 |
+
// work backwards through the namespace names of the fully-qualified.
|
76 |
+
// class name to find a mapped file name.
|
77 |
+
while ( false !== $pos = strrpos( $prefix, '\\' ) ) { //phpcs:ignore WordPress.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition
|
78 |
Â
|
79 |
+
// retain the trailing namespace separator in the prefix.
|
80 |
Â
$prefix = substr( $class, 0, $pos + 1 );
|
81 |
Â
|
82 |
+
// the rest is the relative class name.
|
83 |
Â
$relative_class = substr( $class, $pos + 1 );
|
84 |
Â
|
85 |
+
// try to load a mapped file for the prefix and relative class.
|
86 |
Â
$mapped_file = $this->load_mapped_file( $prefix, $relative_class );
|
87 |
Â
if ( $mapped_file ) {
|
88 |
Â
return $mapped_file;
|
89 |
Â
}
|
90 |
Â
|
91 |
+
// remove the trailing namespace separator for the next iteration.
|
92 |
+
// of strrpos().
|
93 |
Â
$prefix = rtrim( $prefix, '\\' );
|
94 |
Â
}
|
95 |
Â
|
96 |
+
// never found a mapped file.
|
97 |
Â
return false;
|
98 |
Â
}
|
99 |
Â
|
111 |
Â
return false;
|
112 |
Â
}
|
113 |
Â
|
114 |
+
// look through base directories for this namespace prefix.
|
115 |
Â
foreach ( $this->prefixes[ $prefix ] as $base_dir ) {
|
116 |
Â
|
117 |
Â
// replace the namespace prefix with the base directory,
|
118 |
Â
// replace namespace separators with directory separators
|
119 |
+
// in the relative class name, append with .php.
|
120 |
Â
$relative_class = strtolower( str_replace( '\\', '/', $relative_class ) );
|
121 |
Â
$relative_class = str_replace( '_', '-', $relative_class );
|
122 |
Â
|
127 |
Â
}
|
128 |
Â
$file = $base_dir . $relative_class . '.php';
|
129 |
Â
|
130 |
+
// if the mapped file exists, require it.
|
131 |
Â
if ( $this->require_file( $file ) ) {
|
132 |
+
// yes, we're done.
|
133 |
Â
return $file;
|
134 |
Â
}
|
135 |
Â
}
|
136 |
Â
|
137 |
+
// never found it.
|
138 |
Â
return false;
|
139 |
Â
}
|
140 |
Â
|
vendor/codeinwp/gutenberg-blocks/build/blocks.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){function t(t){for(var o,r,i=t[0],c=t[1],s=t[2],u=0,m=[];u<i.length;u++)r=i[u],Object.prototype.hasOwnProperty.call(a,r)&&a[r]&&m.push(a[r][0]),a[r]=0;for(o in c)Object.prototype.hasOwnProperty.call(c,o)&&(e[o]=c[o]);for(p&&p(t);m.length;)m.shift()();return l.push.apply(l,s||[]),n()}function n(){for(var e,t=0;t<l.length;t++){for(var n=l[t],o=!0,i=1;i<n.length;i++){var c=n[i];0!==a[c]&&(o=!1)}o&&(l.splice(t--,1),e=r(r.s=n[0]))}return e}var o={},a={2:0},l=[];function r(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.e=function(e){var t=[],n=a[e];if(0!==n)if(n)t.push(n[2]);else{var o=new Promise((function(t,o){n=a[e]=[t,o]}));t.push(n[2]=o);var l,i=document.createElement("script");i.charset="utf-8",i.timeout=120,r.nc&&i.setAttribute("nonce",r.nc),i.src=function(e){return r.p+"chunk-"+({}[e]||e)+".js"}(e);var c=new Error;l=function(t){i.onerror=i.onload=null,clearTimeout(s);var n=a[e];if(0!==n){if(n){var o=t&&("load"===t.type?"missing":t.type),l=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+o+": "+l+")",c.name="ChunkLoadError",c.type=o,c.request=l,n[1](c)}a[e]=void 0}};var s=setTimeout((function(){l({type:"timeout",target:i})}),12e4);i.onerror=i.onload=l,document.head.appendChild(i)}return Promise.all(t)},r.m=e,r.c=o,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r.oe=function(e){throw console.error(e),e};var i=window.tiOtterWebpackJsonp=window.tiOtterWebpackJsonp||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var s=0;s<i.length;s++)t(i[s]);var p=c;l.push([40,0]),n()}([,,function(e,t,n){"use strict";n.d(t,"l",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"d",(function(){return c})),n.d(t,"f",(function(){return s})),n.d(t,"e",(function(){return p})),n.d(t,"h",(function(){return u})),n.d(t,"g",(function(){return m})),n.d(t,"q",(function(){return d})),n.d(t,"i",(function(){return b})),n.d(t,"n",(function(){return g})),n.d(t,"m",(function(){return h})),n.d(t,"p",(function(){return f})),n.d(t,"o",(function(){return y})),n.d(t,"r",(function(){return w})),n.d(t,"b",(function(){return v})),n.d(t,"s",(function(){return k})),n.d(t,"j",(function(){return E})),n.d(t,"c",(function(){return C})),n.d(t,"k",(function(){return x}));var o=wp.components,a=o.Path,l=o.SVG,r=function(){return wp.element.createElement(l,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 29 32",width:"20",height:"20",className:"otter-icon"},wp.element.createElement(a,{d:"M19.831 7.877c0.001-0.003 0.001-0.005 0.001-0.009s-0-0.006-0.001-0.009l0 0c-0.047-0.081-0.092-0.164-0.132-0.247l-0.057-0.115c-0.277-0.498-0.381-0.99-1.033-1.064h-0.045c-0.001 0-0.002 0-0.003 0-0.486 0-0.883 0.382-0.908 0.862l-0 0.002c0.674 0.126 1.252 0.278 1.813 0.468l-0.092-0.027 0.283 0.096 0.147 0.053s0.028 0 0.028-0.011z"}),wp.element.createElement(a,{d:"M23.982 13.574c-0.008-2.41-0.14-4.778-0.39-7.112l0.026 0.299 0.070-0.019c0.459-0.139 0.787-0.558 0.787-1.053 0-0.479-0.307-0.887-0.735-1.037l-0.008-0.002h-0.026c-0.479-0.164-0.874-0.468-1.149-0.861l-0.005-0.007c-2.7-3.96-8.252-3.781-8.252-3.781s-5.55-0.179-8.25 3.781c-0.28 0.401-0.676 0.704-1.14 0.862l-0.016 0.005c-0.441 0.148-0.754 0.557-0.754 1.040 0 0.009 0 0.017 0 0.026l-0-0.001c-0 0.010-0.001 0.022-0.001 0.034 0 0.493 0.335 0.907 0.789 1.029l0.007 0.002 0.045 0.011c-0.224 2.034-0.356 4.403-0.364 6.801l-0 0.012s-9.493 13.012-1.277 17.515c4.733 2.431 6.881-0.769 6.881-0.769s1.397-1.661-1.784-3.355v-4.609c0.006-0.344 0.282-0.621 0.625-0.628h1.212v-0.59c0-0.275 0.223-0.498 0.498-0.498v0h1.665c0.274 0.001 0.496 0.224 0.496 0.498 0 0 0 0 0 0v0 0.59h2.721v-0.59c0-0.275 0.223-0.498 0.498-0.498v0h1.665c0.271 0.005 0.49 0.226 0.49 0.498 0 0 0 0 0 0v0 0.59h1.209c0 0 0 0 0 0 0.349 0 0.633 0.28 0.639 0.627v4.584c-3.193 1.703-1.784 3.355-1.784 3.355s2.148 3.193 6.879 0.769c8.222-4.503-1.269-17.515-1.269-17.515zM22.586 10.261c-0.097 1.461-0.67 2.772-1.563 3.797l0.007-0.008c-1.703 2.010-4.407 3.249-6.721 4.432v0c-2.325-1.177-5.026-2.416-6.736-4.432-0.883-1.019-1.455-2.329-1.555-3.769l-0.001-0.020c-0.126-2.22 0.583-5.929 3.044-6.74 2.416-0.788 3.947 1.288 4.494 2.227 0.152 0.258 0.429 0.428 0.745 0.428s0.593-0.17 0.743-0.424l0.002-0.004c0.551-0.932 2.080-3.008 4.494-2.22 2.474 0.805 3.174 4.513 3.046 6.734z"}),wp.element.createElement(a,{d:"M19.463 10.087h-0.028c-0.192 0.026-0.121 0.251-0.047 0.356 0.254 0.349 0.407 0.787 0.407 1.26 0 0.006-0 0.012-0 0.018v-0.001c-0.001 0.469-0.255 0.878-0.633 1.1l-0.006 0.003c-0.739 0.426-1.377-0.145-2.054-0.398-0.72-0.269-1.552-0.434-2.42-0.455l-0.009-0v-1.033c1.020-0.233 1.894-0.76 2.551-1.486l0.004-0.004c0.151-0.163 0.244-0.383 0.244-0.623 0-0.316-0.159-0.595-0.402-0.76l-0.003-0.002c-0.768-0.551-1.728-0.881-2.764-0.881-1.054 0-2.029 0.341-2.819 0.92l0.013-0.009c-0.224 0.166-0.367 0.429-0.367 0.726 0 0.226 0.083 0.433 0.221 0.591l-0.001-0.001c0.665 0.751 1.55 1.295 2.553 1.53l0.033 0.007v1.050c-0.742 0.021-1.448 0.14-2.118 0.343l0.057-0.015c-0.341 0.103-0.631 0.219-0.908 0.358l0.033-0.015c-0.519 0.26-1.037 0.436-1.58 0.121-0.371-0.213-0.617-0.607-0.617-1.058 0-0.002 0-0.004 0-0.007v0c0-0.002 0-0.004 0-0.007 0-0.47 0.153-0.905 0.411-1.257l-0.004 0.006c0.047-0.068 0.089-0.17 0.026-0.241s-0.189 0-0.27 0.030c-0.189 0.099-0.348 0.227-0.479 0.381l-0.002 0.002c-0.245 0.296-0.394 0.679-0.394 1.097 0 0.004 0 0.007 0 0.011v-0.001c0.008 0.706 0.393 1.321 0.964 1.651l0.009 0.005c0.296 0.178 0.654 0.283 1.036 0.283 0.364 0 0.706-0.095 1.001-0.263l-0.010 0.005c0.877-0.461 1.917-0.731 3.019-0.731 0.069 0 0.137 0.001 0.206 0.003l-0.010-0h0.030c1.277 0 2.382 0.266 3.266 0.775 0.27 0.159 0.594 0.253 0.94 0.253 0.001 0 0.002 0 0.003 0h-0c0.355-0.002 0.688-0.098 0.974-0.265l-0.009 0.005c0.606-0.357 1.007-1.007 1.007-1.75 0-0.001 0-0.003 0-0.004v0c0.001-0.026 0.002-0.056 0.002-0.086 0-0.625-0.34-1.171-0.846-1.462l-0.008-0.004c-0.056-0.040-0.125-0.065-0.199-0.070l-0.001-0zM13.101 8.831c-0.238 0.213-0.468 0.581-0.832 0.345-0.061-0.041-0.114-0.086-0.161-0.136l-0-0c-0.063-0.063-0.101-0.15-0.101-0.247 0-0.133 0.074-0.248 0.182-0.308l0.002-0.001c0.594-0.309 1.203-0.543 1.884-0.49-0.324 0.281-0.649 0.56-0.973 0.837z"}),wp.element.createElement(a,{d:"M15.89 13.578c-0.367 0.483-0.941 0.792-1.588 0.792s-1.221-0.309-1.585-0.787l-0.004-0.005c-0.064-0.103-0.177-0.171-0.306-0.171-0.199 0-0.36 0.161-0.36 0.36 0 0.091 0.034 0.174 0.090 0.238l-0-0c0.499 0.659 1.283 1.080 2.164 1.080s1.665-0.421 2.159-1.073l0.005-0.007c0.043-0.059 0.068-0.132 0.068-0.212 0-0.116-0.055-0.22-0.14-0.286l-0.001-0.001c-0.059-0.045-0.134-0.072-0.215-0.072-0.117 0-0.221 0.056-0.286 0.143l-0.001 0.001z"}),wp.element.createElement(a,{d:"M18.507 11.707c0 0.194-0.157 0.351-0.351 0.351s-0.351-0.157-0.351-0.351c0-0.194 0.157-0.351 0.351-0.351s0.351 0.157 0.351 0.351z"}),wp.element.createElement(a,{d:"M17.389 11.049c0 0.194-0.157 0.351-0.351 0.351s-0.351-0.157-0.351-0.351c0-0.194 0.157-0.351 0.351-0.351s0.351 0.157 0.351 0.351z"}),wp.element.createElement(a,{d:"M10.798 11.707c0 0.194-0.157 0.351-0.351 0.351s-0.351-0.157-0.351-0.351c0-0.194 0.157-0.351 0.351-0.351s0.351 0.157 0.351 0.351z"}),wp.element.createElement(a,{d:"M11.918 11.049c0 0.194-0.157 0.351-0.351 0.351s-0.351-0.157-0.351-0.351c0-0.194 0.157-0.351 0.351-0.351s0.351 0.157 0.351 0.351z"}),wp.element.createElement(a,{d:"M8.773 7.877c-0.001-0.003-0.002-0.005-0.002-0.009s0.001-0.006 0.002-0.009l-0 0c0.047-0.081 0.089-0.164 0.132-0.247 0.019-0.038 0.036-0.079 0.057-0.115 0.275-0.498 0.379-0.99 1.033-1.064h0.045c0 0 0.001 0 0.001 0 0.487 0 0.884 0.382 0.91 0.862l0 0.002c-0.678 0.124-1.261 0.277-1.827 0.468l0.092-0.027-0.275 0.096-0.1 0.036-0.045 0.017s-0.023 0-0.023-0.011z"}))},i=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M17.348 20.657v-0.135c1.029-0.471 1.758-1.446 1.916-2.563 0.434-0.157 0.739-0.576 0.739-1.051 0-0.408-0.221-0.774-0.562-0.969 0.036-0.111 0.065-0.223 0.087-0.335 0.182-0.901-0.025-1.822-0.583-2.592-0.548-0.758-1.373-1.281-2.321-1.473-0.255-0.051-0.515-0.077-0.773-0.077-0.813 0-1.607 0.262-2.234 0.739-0.646 0.49-1.088 1.187-1.244 1.962-0.118 0.587-0.070 1.193 0.139 1.762-0.355 0.191-0.59 0.566-0.59 0.985 0 0.481 0.31 0.901 0.751 1.055 0.163 1.144 0.916 2.128 1.978 2.587v0.106c-2.207 0.5-3.729 2.151-3.729 4.079v0.515h10.153v-0.515c0-1.929-1.522-3.58-3.729-4.080zM15.853 12.492c0.189 0 0.381 0.019 0.569 0.057 0.693 0.14 1.293 0.519 1.689 1.066 0.369 0.511 0.518 1.111 0.423 1.701-0.507-0.237-1.173-0.487-1.874-0.583-1.318-0.18-1.339-0.241-1.417-0.469l-0.252-0.728-0.579 0.512c-0.062 0.054-0.528 0.464-1.066 0.91-0.015-0.198-0.002-0.396 0.037-0.593 0.219-1.086 1.257-1.873 2.469-1.873zM13.67 16.025c0.361-0.292 0.718-0.594 0.977-0.816 0.358 0.323 0.916 0.414 1.874 0.545 0.65 0.089 1.287 0.349 1.748 0.578v1.161c0 1.268-1.031 2.299-2.299 2.299s-2.299-1.031-2.299-2.299v-1.468zM15.682 20.81c0.213 0.019 0.425 0.017 0.635-0.006v0.318l-0.318 0.177-0.317-0.176v-0.313zM12.006 24.22c0.237-1.154 1.25-2.113 2.646-2.501v0.010l1.346 0.748 1.35-0.748v-0.010c1.396 0.388 2.409 1.348 2.646 2.502l-7.987-0zM21.076 27.499h-10.153c-0.307 0-0.556-0.249-0.556-0.556s0.249-0.556 0.556-0.556h10.153c0.307 0 0.556 0.249 0.556 0.556s-0.249 0.556-0.556 0.556zM28.112 3.393h-9.422v-1.689c0-0.832-0.677-1.509-1.509-1.509h-2.363c-0.832 0-1.509 0.677-1.509 1.509v1.689h-9.422c-0.832 0-1.509 0.677-1.509 1.509v25.395c0 0.832 0.677 1.509 1.509 1.509h24.225c0.832 0 1.509-0.677 1.509-1.509v-25.395c-0-0.832-0.677-1.509-1.509-1.509zM14.421 1.703c0-0.219 0.178-0.397 0.397-0.397h2.363c0.219 0 0.397 0.178 0.397 0.397v5.083c0 0.219-0.178 0.397-0.397 0.397h-2.363c-0.219 0-0.397-0.178-0.397-0.397v-5.083zM28.509 30.297c0 0.219-0.178 0.397-0.397 0.397h-24.225c-0.219 0-0.397-0.178-0.397-0.397v-25.395c0-0.219 0.178-0.397 0.397-0.397h9.422v2.282c0 0.832 0.677 1.509 1.509 1.509h2.363c0.832 0 1.509-0.677 1.509-1.509v-2.282h9.422c0.219 0 0.397 0.178 0.397 0.397v25.395z"}))},c=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M30.457 11.777h-28.914c-0.829 0-1.503 0.674-1.503 1.503v5.606c0 0.829 0.674 1.503 1.503 1.503h28.914c0.829 0 1.503-0.674 1.503-1.503v-5.606c-0-0.829-0.674-1.503-1.503-1.503zM30.84 18.886c0 0.211-0.172 0.383-0.383 0.383h-28.914c-0.211 0-0.383-0.172-0.383-0.383v-5.606c0-0.211 0.172-0.383 0.383-0.383h28.914c0.211 0 0.383 0.172 0.383 0.383v5.606zM4.67 15.133c-0.525 0-0.95 0.425-0.95 0.95s0.425 0.95 0.95 0.95 0.95-0.425 0.95-0.95c0-0.525-0.425-0.95-0.95-0.95zM7.947 15.133c-0.525 0-0.95 0.425-0.95 0.95s0.425 0.95 0.95 0.95c0.525 0 0.95-0.425 0.95-0.95s-0.425-0.95-0.95-0.95zM11.224 15.133c-0.525 0-0.95 0.425-0.95 0.95s0.425 0.95 0.95 0.95c0.525 0 0.95-0.425 0.95-0.95s-0.425-0.95-0.95-0.95zM27.871 15.523h-11.386c-0.309 0-0.56 0.251-0.56 0.56s0.251 0.56 0.56 0.56h11.386c0.309 0 0.56-0.251 0.56-0.56s-0.251-0.56-0.56-0.56zM30.457 23.388h-28.914c-0.829 0-1.503 0.674-1.503 1.503v5.606c0 0.829 0.674 1.503 1.503 1.503h28.914c0.829 0 1.503-0.674 1.503-1.503v-5.606c-0-0.829-0.674-1.503-1.503-1.503zM30.84 30.497c0 0.211-0.172 0.383-0.383 0.383h-28.914c-0.211 0-0.383-0.172-0.383-0.383v-5.606c0-0.211 0.172-0.383 0.383-0.383h28.914c0.211 0 0.383 0.172 0.383 0.383v5.606zM4.67 26.744c-0.525 0-0.95 0.425-0.95 0.95s0.425 0.95 0.95 0.95 0.95-0.425 0.95-0.95c0-0.525-0.425-0.95-0.95-0.95zM7.947 26.744c-0.525 0-0.95 0.425-0.95 0.95s0.425 0.95 0.95 0.95c0.525 0 0.95-0.425 0.95-0.95s-0.425-0.95-0.95-0.95zM11.224 26.744c-0.525 0-0.95 0.425-0.95 0.95s0.425 0.95 0.95 0.95c0.525 0 0.95-0.425 0.95-0.95s-0.425-0.95-0.95-0.95zM27.871 27.134h-11.386c-0.309 0-0.56 0.251-0.56 0.56s0.251 0.56 0.56 0.56h11.386c0.309 0 0.56-0.251 0.56-0.56s-0.251-0.56-0.56-0.56zM30.457 0h-28.914c-0.829 0-1.503 0.674-1.503 1.503v5.606c0 0.829 0.674 1.503 1.503 1.503h28.914c0.829 0 1.503-0.674 1.503-1.503v-5.606c0-0.829-0.674-1.503-1.503-1.503zM30.84 7.109c0 0.211-0.172 0.383-0.383 0.383h-28.914c-0.211 0-0.383-0.172-0.383-0.383v-5.606c0-0.211 0.172-0.383 0.383-0.383h28.914c0.211 0 0.383 0.172 0.383 0.383v5.606zM5.62 4.306c0 0.525-0.425 0.95-0.95 0.95s-0.95-0.425-0.95-0.95c0-0.525 0.425-0.95 0.95-0.95s0.95 0.425 0.95 0.95zM7.947 3.356c-0.525 0-0.95 0.425-0.95 0.95s0.425 0.95 0.95 0.95c0.525 0 0.95-0.425 0.95-0.95s-0.425-0.95-0.95-0.95zM11.224 3.356c-0.525 0-0.95 0.425-0.95 0.95s0.425 0.95 0.95 0.95c0.525 0 0.95-0.425 0.95-0.95s-0.425-0.95-0.95-0.95zM27.871 3.746h-11.386c-0.309 0-0.56 0.251-0.56 0.56s0.251 0.56 0.56 0.56h11.386c0.309 0 0.56-0.251 0.56-0.56s-0.251-0.56-0.56-0.56z"}))},s=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M30.584 0.099h-29.068c-0.781 0-1.417 0.635-1.417 1.416v29.068c0 0.781 0.635 1.416 1.417 1.416h29.068c0.781 0 1.416-0.635 1.416-1.416v-29.068c0-0.781-0.635-1.416-1.416-1.416zM1.515 1.219h29.068c0.163 0 0.296 0.133 0.296 0.296v3.476h-29.661v-3.476c0-0.163 0.133-0.296 0.296-0.296zM30.584 30.88h-29.068c-0.163 0-0.296-0.133-0.296-0.296v-24.472h29.661v24.472c0 0.163-0.133 0.296-0.296 0.296zM26.999 20.461h-21.062c-0.838 0-1.52 0.682-1.52 1.52v5.601c0 0.838 0.682 1.52 1.52 1.52h21.062c0.838 0 1.52-0.682 1.52-1.52v-5.601c0-0.838-0.682-1.52-1.52-1.52zM27.399 27.582c0 0.221-0.18 0.4-0.4 0.4h-21.062c-0.221 0-0.4-0.18-0.4-0.4v-5.601c0-0.221 0.179-0.4 0.4-0.4h21.062c0.221 0 0.4 0.179 0.4 0.4v5.601zM5.937 16.247h5.432c0.838 0 1.52-0.682 1.52-1.52v-5.432c0-0.838-0.682-1.52-1.52-1.52h-5.432c-0.838 0-1.52 0.682-1.52 1.52v5.432c0 0.838 0.682 1.52 1.52 1.52zM5.537 9.294c0-0.221 0.179-0.4 0.4-0.4h5.432c0.221 0 0.4 0.179 0.4 0.4v5.432c0 0.221-0.18 0.4-0.4 0.4h-5.432c-0.221 0-0.4-0.18-0.4-0.4v-5.432zM27.959 17.714h-22.982c-0.309 0-0.56 0.251-0.56 0.56s0.251 0.56 0.56 0.56h22.982c0.309 0 0.56-0.251 0.56-0.56s-0.251-0.56-0.56-0.56zM27.959 14.793h-12.696c-0.309 0-0.56 0.251-0.56 0.56s0.251 0.56 0.56 0.56h12.696c0.309 0 0.56-0.251 0.56-0.56s-0.251-0.56-0.56-0.56zM27.959 11.433h-12.696c-0.309 0-0.56 0.251-0.56 0.56s0.251 0.56 0.56 0.56h12.696c0.309 0 0.56-0.251 0.56-0.56s-0.251-0.56-0.56-0.56zM27.959 8.072h-12.696c-0.309 0-0.56 0.251-0.56 0.56s0.251 0.56 0.56 0.56h12.696c0.309 0 0.56-0.251 0.56-0.56s-0.251-0.56-0.56-0.56zM4.543 3.051c0 0.497-0.403 0.9-0.9 0.9s-0.9-0.403-0.9-0.9c0-0.497 0.403-0.9 0.9-0.9s0.9 0.403 0.9 0.9zM7.384 3.051c0 0.497-0.403 0.9-0.9 0.9s-0.9-0.403-0.9-0.9c0-0.497 0.403-0.9 0.9-0.9s0.9 0.403 0.9 0.9zM10.224 3.051c0 0.497-0.403 0.9-0.9 0.9s-0.9-0.403-0.9-0.9c0-0.497 0.403-0.9 0.9-0.9s0.9 0.403 0.9 0.9z"}))},p=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M31.276 3.351h-14.587l-3.23-3.028c-0.103-0.097-0.239-0.15-0.38-0.15h-12.354c-0.307 0-0.556 0.249-0.556 0.556v30.697c0 0.307 0.249 0.556 0.556 0.556h30.551c0.307 0 0.556-0.249 0.556-0.556v-27.518c0-0.307-0.249-0.556-0.556-0.556zM1.281 1.286h11.578l3.23 3.028c0.103 0.097 0.239 0.15 0.38 0.15h14.25v3.013h-29.439v-6.191zM30.719 30.87h-29.439v-22.281h29.439v22.281z"}))},u=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M30.958 13.988h-0.64c-0.572-5.298-4.029-9.744-8.764-11.73h5.439v0.555c0 0.309 0.25 0.559 0.559 0.559h2.23c0.309 0 0.559-0.25 0.559-0.559v-2.229c0-0.309-0.25-0.559-0.559-0.559h-2.23c-0.309 0-0.559 0.25-0.559 0.559v0.555h-9.319v-0.555c0-0.309-0.25-0.559-0.559-0.559h-2.23c-0.309 0-0.559 0.25-0.559 0.559v0.555h-9.319v-0.555c0-0.309-0.25-0.559-0.559-0.559h-2.229c-0.309 0-0.559 0.25-0.559 0.559v2.229c0 0.309 0.25 0.559 0.559 0.559h2.229c0.309 0 0.559-0.25 0.559-0.559v-0.555h5.439c-4.735 1.987-8.191 6.432-8.764 11.73h-0.64c-0.309 0-0.559 0.25-0.559 0.559v2.229c0 0.309 0.25 0.559 0.559 0.559h2.23c0.309 0 0.559-0.25 0.559-0.559v-2.229c0-0.309-0.25-0.559-0.559-0.559h-0.464c0.709-6.044 5.49-10.86 11.518-11.621v0.446c0 0.309 0.25 0.559 0.559 0.559h2.23c0.309 0 0.559-0.25 0.559-0.559v-0.446c6.028 0.761 10.809 5.578 11.518 11.621h-0.464c-0.309 0-0.559 0.25-0.559 0.559v2.23c0 0.309 0.25 0.559 0.559 0.559h2.23c0.309 0 0.559-0.25 0.559-0.559v-2.229c0-0.309-0.25-0.559-0.559-0.559zM29.223 2.253h-1.111v-1.111h1.111v1.111zM2.777 1.142h1.111v1.111h-1.111v-1.111zM2.712 15.608v0.609h-1.111v-0.973c0.001-0.046 0.002-0.092 0.003-0.138h1.108v0.501zM16 1.142c0.186 0 0.371 0.005 0.555 0.012v1.099h-1.111v-1.099c0.184-0.007 0.37-0.012 0.556-0.012zM30.399 15.25v0.967h-1.111v-1.111h1.107c0.002 0.048 0.003 0.096 0.004 0.144zM16.512 4.461c-0.089-0.204-0.29-0.336-0.513-0.336s-0.424 0.132-0.513 0.336l-7.287 16.694c-0.058 0.134-0.062 0.285-0.011 0.421l0.009 0.023c0.059 0.157 0.186 0.279 0.345 0.333 1.743 0.585 2.914 2.213 2.914 4.052 0 0.766-0.206 1.518-0.595 2.175-0.012 0.020-0.022 0.041-0.032 0.063-0.063 0.091-0.101 0.201-0.101 0.32v2.832c0 0.307 0.248 0.557 0.555 0.559l9.42 0.068c0.001 0 0.003 0 0.004 0 0.307 0 0.557-0.248 0.559-0.555 0.002-0.309-0.246-0.561-0.555-0.563l-8.865-0.064v-1.405h8.654c0.234 0 0.443-0.145 0.524-0.364l0.153-0.41c0.059-0.158 0.043-0.335-0.043-0.48-0.389-0.657-0.595-1.409-0.595-2.174 0-1.838 1.171-3.467 2.914-4.052 0.16-0.054 0.287-0.176 0.346-0.334l0.009-0.023c0.051-0.136 0.047-0.287-0.011-0.42l-7.287-16.694zM16 20.028c0.619 0 1.122 0.503 1.122 1.122s-0.504 1.122-1.122 1.122c-0.619 0-1.122-0.503-1.122-1.122s0.503-1.122 1.122-1.122zM19.424 25.983c0 0.802 0.179 1.591 0.52 2.31h-7.887c0.341-0.719 0.52-1.509 0.52-2.31 0-2.121-1.235-4.020-3.127-4.894l5.991-13.726v11.616c-0.966 0.249-1.682 1.128-1.682 2.17 0 1.236 1.005 2.241 2.241 2.241s2.241-1.005 2.241-2.241c0-1.043-0.716-1.921-1.682-2.17v-11.616l5.991 13.726c-1.892 0.874-3.127 2.773-3.127 4.894z"}))},m=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M30.424 0.171h-28.847c-0.775 0-1.406 0.631-1.406 1.406v28.848c0 0.775 0.631 1.406 1.406 1.406h28.847c0.775 0 1.406-0.631 1.406-1.406v-28.848c0-0.775-0.631-1.406-1.406-1.406zM1.576 1.282h28.847c0.162 0 0.294 0.132 0.294 0.294v3.45h-29.435v-3.45c0-0.162 0.132-0.294 0.294-0.294zM30.424 30.718h-28.847c-0.162 0-0.294-0.132-0.294-0.294v-24.286h29.435v24.286c0 0.162-0.132 0.294-0.294 0.294zM3.688 3.994c0.493 0 0.893-0.4 0.893-0.893s-0.4-0.893-0.893-0.893-0.893 0.4-0.893 0.893c0 0.493 0.4 0.893 0.893 0.893zM6.507 3.994c0.493 0 0.893-0.4 0.893-0.893s-0.4-0.893-0.893-0.893-0.893 0.4-0.893 0.893c0 0.493 0.4 0.893 0.893 0.893zM9.326 3.994c0.493 0 0.893-0.4 0.893-0.893s-0.4-0.893-0.893-0.893-0.893 0.4-0.893 0.893c0 0.493 0.4 0.893 0.893 0.893zM20.662 19.394l3.855-3.758c0.152-0.148 0.206-0.369 0.141-0.57s-0.239-0.348-0.449-0.378l-5.328-0.774-2.383-4.828c-0.094-0.19-0.287-0.31-0.498-0.31s-0.405 0.12-0.498 0.31l-2.383 4.828-5.328 0.774c-0.209 0.030-0.383 0.177-0.449 0.378s-0.011 0.422 0.141 0.57l3.855 3.758-0.91 5.307c-0.036 0.209 0.050 0.419 0.221 0.544s0.398 0.141 0.585 0.042l4.766-2.506 4.766 2.506c0.081 0.043 0.17 0.064 0.259 0.064 0.115 0 0.23-0.036 0.327-0.106 0.171-0.124 0.257-0.335 0.221-0.544l-0.91-5.307zM16.259 21.661c-0.162-0.085-0.355-0.085-0.517 0l-4.027 2.117 0.769-4.485c0.031-0.18-0.029-0.364-0.16-0.492l-3.258-3.176 4.503-0.654c0.181-0.026 0.338-0.14 0.418-0.304l2.014-4.080 2.014 4.080c0.081 0.164 0.238 0.278 0.419 0.304l4.503 0.654-3.258 3.176c-0.131 0.128-0.191 0.312-0.16 0.492l0.769 4.485-4.027-2.117zM16 25.179c-0.307 0-0.556 0.249-0.556 0.556v1.887c0 0.307 0.249 0.556 0.556 0.556s0.556-0.249 0.556-0.556v-1.887c0-0.307-0.249-0.556-0.556-0.556zM25.319 20.446l-1.794-0.583c-0.293-0.095-0.606 0.065-0.7 0.357s0.065 0.606 0.357 0.7l1.794 0.583c0.057 0.019 0.115 0.027 0.172 0.027 0.234 0 0.452-0.149 0.529-0.384 0.095-0.292-0.065-0.606-0.357-0.7zM20.218 12.197c0.099 0.072 0.213 0.106 0.326 0.106 0.172 0 0.341-0.079 0.45-0.229l1.109-1.526c0.18-0.248 0.125-0.596-0.123-0.776s-0.596-0.125-0.776 0.123l-1.109 1.526c-0.18 0.248-0.125 0.596 0.123 0.776zM11.006 12.075c0.109 0.15 0.278 0.229 0.45 0.229 0.113 0 0.228-0.034 0.326-0.106 0.248-0.18 0.303-0.528 0.123-0.776l-1.109-1.526c-0.18-0.248-0.528-0.303-0.776-0.123s-0.303 0.528-0.123 0.776l1.109 1.526zM8.475 19.863l-1.794 0.583c-0.292 0.095-0.452 0.408-0.357 0.7 0.076 0.235 0.294 0.384 0.529 0.384 0.057 0 0.115-0.009 0.172-0.027l1.794-0.583c0.292-0.095 0.452-0.408 0.357-0.7s-0.408-0.452-0.7-0.357z"}))},d=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M6.348 13.197c-0.308 0-0.557 0.249-0.557 0.557s0.249 0.557 0.557 0.557c0.495 0 1.655 0.598 1.655 1.759 0 0.308 0.249 0.557 0.557 0.557s0.557-0.249 0.557-0.557c0-1.886-1.803-2.873-2.769-2.873zM25.842 3.161c0.495 0 1.655 0.598 1.655 1.759 0 0.308 0.249 0.557 0.557 0.557s0.557-0.249 0.557-0.557c0-1.886-1.802-2.873-2.769-2.873-0.308 0-0.557 0.249-0.557 0.557s0.249 0.557 0.557 0.557zM25.742 22.433c-0.826 0-1.641 0.22-2.359 0.636-0.567 0.328-1.040 0.758-1.41 1.252l-11.344-6.569c0.069-0.174 0.13-0.353 0.179-0.537 0.276-1.036 0.194-2.11-0.226-3.079l11.319-6.555c0.878 1.235 2.316 1.986 3.848 1.986 0.825 0 1.641-0.22 2.359-0.636 1.090-0.631 1.869-1.649 2.194-2.866s0.155-2.488-0.476-3.578c-0.841-1.452-2.406-2.353-4.085-2.353-0.826 0-1.641 0.22-2.359 0.636-2.051 1.188-2.872 3.694-2.015 5.833l-11.344 6.569c-0.884-1.176-2.285-1.888-3.776-1.888-0.825 0-1.641 0.22-2.359 0.636-2.25 1.303-3.021 4.194-1.718 6.444 0.841 1.452 2.406 2.353 4.085 2.353 0.826 0 1.641-0.22 2.359-0.636 0.595-0.345 1.097-0.805 1.483-1.35l11.319 6.554c-0.567 1.323-0.526 2.888 0.249 4.227 0.841 1.452 2.406 2.353 4.085 2.353 0.825 0 1.641-0.22 2.359-0.636 1.090-0.631 1.869-1.649 2.194-2.866s0.155-2.488-0.476-3.578c-0.841-1.452-2.406-2.353-4.085-2.353zM23.941 1.734c0.549-0.318 1.171-0.486 1.801-0.486 1.283 0 2.479 0.689 3.121 1.798 0.482 0.833 0.611 1.803 0.363 2.733s-0.843 1.707-1.675 2.189c-0.549 0.318-1.171 0.486-1.801 0.486-1.283 0-2.479-0.689-3.121-1.798-0.995-1.719-0.407-3.927 1.312-4.922zM8.056 19.117c-0.549 0.318-1.171 0.486-1.801 0.486-1.283 0-2.479-0.689-3.121-1.797-0.995-1.719-0.407-3.927 1.312-4.922 0.549-0.318 1.171-0.486 1.801-0.486 1.283 0 2.479 0.689 3.121 1.798 0.482 0.833 0.611 1.803 0.363 2.733s-0.843 1.707-1.675 2.189zM29.226 28.077c-0.248 0.93-0.843 1.707-1.675 2.189-0.549 0.318-1.171 0.486-1.801 0.486-1.283 0-2.479-0.689-3.121-1.797-0.995-1.719-0.407-3.927 1.312-4.922 0.549-0.318 1.171-0.486 1.801-0.486 1.283 0 2.479 0.689 3.121 1.798 0.482 0.832 0.611 1.803 0.363 2.733zM25.842 24.346c-0.308 0-0.557 0.249-0.557 0.557s0.249 0.557 0.557 0.557c0.495 0 1.655 0.598 1.655 1.759 0 0.308 0.249 0.557 0.557 0.557s0.557-0.249 0.557-0.557c0-1.886-1.802-2.873-2.769-2.873z"}))},b=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M16 27.667l7.849-7.849c0.146-0.139 0.464-0.469 0.478-0.483l0.006-0.007c1.972-2.116 3.059-4.874 3.059-7.766 0-6.282-5.11-11.392-11.392-11.392s-11.392 5.11-11.392 11.392c0 2.893 1.086 5.651 3.058 7.766l8.334 8.339zM16 1.265c5.677 0 10.297 4.619 10.297 10.297 0 2.613-0.981 5.104-2.761 7.016-0.092 0.096-0.343 0.353-0.446 0.451l-7.089 7.089-7.539-7.543c-1.779-1.911-2.758-4.401-2.758-7.012 0-5.678 4.619-10.297 10.297-10.297zM17.755 4.005c1.966 0 5.792 2.149 5.792 6.090 0 0.303 0.245 0.548 0.548 0.548s0.548-0.245 0.548-0.548c0-2.051-0.906-3.953-2.552-5.354-1.306-1.112-3.008-1.831-4.335-1.831-0.302 0-0.548 0.245-0.548 0.548s0.245 0.548 0.548 0.548zM22.875 24.197c-0.427-0.174-0.886-0.33-1.371-0.467l-0.897 0.897c2.645 0.631 4.275 1.756 4.275 2.802 0 1.564-3.648 3.306-8.882 3.306s-8.882-1.742-8.882-3.306c0-1.045 1.631-2.171 4.275-2.802l-0.897-0.897c-0.485 0.137-0.944 0.293-1.371 0.467-2.001 0.818-3.102 1.966-3.102 3.232s1.102 2.415 3.102 3.232c1.845 0.754 4.287 1.169 6.875 1.169s5.030-0.415 6.875-1.169c2.001-0.818 3.102-1.966 3.102-3.232s-1.102-2.415-3.102-3.232zM16.032 16.804c-3.043 0-5.519-2.476-5.519-5.519s2.476-5.519 5.519-5.519c3.043 0 5.519 2.476 5.519 5.519s-2.476 5.519-5.519 5.519zM16.032 6.862c-2.439 0-4.423 1.984-4.423 4.423s1.984 4.423 4.423 4.423c2.439 0 4.423-1.984 4.423-4.423s-1.984-4.423-4.423-4.423z"}))},g=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M4.285 5.775c0.004 0 0.009 0.001 0.013 0.001h8.279c0.307 0 0.556-0.249 0.556-0.556s-0.249-0.556-0.556-0.556h-8.279c-0.307 0-0.556 0.249-0.556 0.556 0 0.302 0.242 0.548 0.542 0.555zM3.743 8.005c0 0.307 0.249 0.556 0.556 0.556h13.679c0.307 0 0.556-0.249 0.556-0.556s-0.249-0.556-0.556-0.556h-13.679c-0.307 0-0.556 0.249-0.556 0.556zM17.977 10.236h-13.679c-0.145 0-0.276 0.056-0.375 0.147-0.11 0.102-0.18 0.247-0.18 0.409 0 0.307 0.249 0.556 0.556 0.556h13.679c0.307 0 0.556-0.249 0.556-0.556 0-0.162-0.070-0.307-0.18-0.409-0.099-0.091-0.23-0.147-0.375-0.147zM17.977 13.022h-13.679c-0.307 0-0.556 0.249-0.556 0.556s0.249 0.556 0.556 0.556h13.679c0.307 0 0.556-0.249 0.556-0.556s-0.249-0.556-0.556-0.556zM17.977 15.807h-13.679c-0.145 0-0.276 0.056-0.375 0.147-0.11 0.102-0.18 0.247-0.18 0.409 0 0.307 0.249 0.556 0.556 0.556h13.679c0.307 0 0.556-0.249 0.556-0.556 0-0.162-0.070-0.307-0.18-0.409-0.099-0.091-0.23-0.147-0.375-0.147zM17.977 18.593h-13.679c-0.307 0-0.556 0.249-0.556 0.555s0.249 0.556 0.556 0.556h13.679c0.307 0 0.556-0.249 0.556-0.556s-0.249-0.555-0.556-0.555zM17.977 21.379h-13.679c-0.307 0-0.556 0.249-0.556 0.556s0.249 0.556 0.556 0.556h13.679c0.307 0 0.556-0.249 0.556-0.556s-0.249-0.556-0.556-0.556zM17.977 24.165h-13.679c-0.145 0-0.276 0.056-0.375 0.147-0.11 0.102-0.18 0.247-0.18 0.409 0 0.307 0.249 0.556 0.556 0.556h13.679c0.307 0 0.556-0.249 0.556-0.556 0-0.162-0.070-0.307-0.18-0.409-0.099-0.091-0.23-0.147-0.375-0.147zM21.93 4.466l-4.277-3.87c-0.094-0.085-0.212-0.132-0.334-0.139h-15.831c-0.812 0-1.473 0.664-1.473 1.481v28.153c0 0.817 0.661 1.481 1.473 1.481h19.174c0.812 0 1.473-0.664 1.473-1.481v-25.222c-0.008-0.163-0.086-0.308-0.205-0.403zM17.833 2.238l2.331 2.109h-2.331v-2.109zM21.043 30.091c0 0.215-0.171 0.39-0.381 0.39h-19.174c-0.21 0-0.382-0.175-0.382-0.39v-28.153c0-0.215 0.171-0.39 0.382-0.39h15.251v3.348c0 0.303 0.245 0.549 0.547 0.549h3.758v24.647zM31.975 3.213c-0.125-1.57-1.442-2.809-3.044-2.809-0 0-0 0-0 0-0.816 0-1.583 0.318-2.16 0.895-0.519 0.519-0.827 1.191-0.884 1.915h-0.010v0.242c0 0.001-0 0.002-0 0.003s0 0.001 0 0.001l-0 24.342h0.003c0.010 0.096 0.045 0.191 0.108 0.273l2.509 3.305c0.103 0.136 0.264 0.216 0.435 0.216s0.331-0.080 0.435-0.216l2.508-3.305c0.063-0.083 0.098-0.177 0.108-0.274h0.003v-24.589h-0.011zM27.543 2.070c0.371-0.371 0.864-0.575 1.388-0.575h0c0.893 0 1.649 0.6 1.886 1.417h-3.772c0.091-0.315 0.26-0.604 0.498-0.842zM28.362 26.711l-1.394 0 0-22.406h3.926v22.406h-1.442l0-18.071-1.090 0 0 18.071zM28.931 30.148l-1.781-2.346 3.562-0-1.781 2.346z"}))},h=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M31.908 1.543c0-0.815-0.677-1.478-1.51-1.478h-28.731c-0.815 0-1.478 0.677-1.478 1.51v14.441c0 0.022 0.002 0.044 0.004 0.065-0.003 0.021-0.004 0.043-0.004 0.065v14.357c0 0.815 0.677 1.478 1.51 1.478h28.731c0.815 0 1.478-0.677 1.478-1.51v-14.441c0-0.022-0.002-0.044-0.004-0.065 0.003-0.021 0.004-0.043 0.004-0.065v-14.357zM30.792 1.543v13.799h-4.324c0.587-0.66 0.932-1.525 0.932-2.453 0-0.737-0.218-1.423-0.592-2-0.648-1.066-1.82-1.78-3.156-1.78-2.034 0-3.689 1.655-3.689 3.689 0 0.745 0.223 1.449 0.615 2.039 0.111 0.178 0.236 0.347 0.376 0.504h-4.372v-6.025c0-0.184-0.090-0.347-0.228-0.449-0.101-0.103-0.242-0.167-0.398-0.167h-0.173c-0.24 0-0.453 0.153-0.529 0.38-0.352 1.049-1.332 1.754-2.439 1.754-0.419 0-0.815-0.101-1.166-0.28-0.776-0.444-1.301-1.279-1.301-2.235 0-1.419 1.154-2.574 2.574-2.574 0.408 0 0.799 0.096 1.147 0.27 0.546 0.305 0.976 0.804 1.185 1.426 0.052 0.155 0.169 0.275 0.314 0.335 0.092 0.065 0.204 0.103 0.322 0.103h0.133c0.308 0 0.558-0.25 0.558-0.558v-6.142h13.816c0.217 0 0.394 0.162 0.394 0.362zM1.305 1.575c0-0.217 0.162-0.394 0.362-0.394h13.732v4.404c-0.239-0.216-0.505-0.401-0.793-0.549-0.536-0.297-1.148-0.464-1.791-0.464-2.034 0-3.689 1.655-3.689 3.689 0 1.423 0.81 2.659 1.992 3.274 0.534 0.301 1.149 0.473 1.804 0.473 0.939 0 1.813-0.354 2.476-0.955v4.404h-6.016c-0.308 0-0.558 0.25-0.558 0.558v0.173c0 0.127 0.043 0.245 0.117 0.34 0.065 0.129 0.178 0.231 0.321 0.279 0.562 0.189 1.023 0.558 1.332 1.030 0.232 0.39 0.364 0.842 0.364 1.318 0 1.419-1.154 2.574-2.574 2.574-0.894 0-1.682-0.458-2.144-1.151-0.236-0.389-0.372-0.844-0.372-1.331-0-1.107 0.705-2.087 1.754-2.44 0.227-0.076 0.38-0.289 0.38-0.529v-0.133c0-0.106-0.030-0.204-0.081-0.288-0.068-0.231-0.282-0.4-0.535-0.4h-6.084v-13.883zM1.305 30.505v-13.799h4.324c-0.587 0.66-0.932 1.525-0.932 2.453 0 0.737 0.218 1.424 0.592 2 0.647 1.066 1.82 1.78 3.156 1.78 2.034 0 3.689-1.655 3.689-3.689-0-0.745-0.223-1.449-0.615-2.040-0.111-0.178-0.236-0.347-0.376-0.504h4.372v6.025c0 0.184 0.090 0.347 0.228 0.449 0.101 0.103 0.242 0.167 0.398 0.167h0.173c0.24 0 0.453-0.153 0.529-0.38 0.352-1.049 1.332-1.754 2.439-1.754 0.419 0 0.815 0.101 1.165 0.28 0.776 0.444 1.301 1.279 1.301 2.236 0 1.419-1.154 2.574-2.574 2.574-0.408 0-0.799-0.096-1.147-0.27-0.546-0.305-0.976-0.804-1.185-1.426-0.052-0.155-0.169-0.275-0.314-0.336-0.092-0.065-0.204-0.103-0.322-0.103h-0.133c-0.308 0-0.558 0.25-0.558 0.558v6.142h-13.816c-0.217-0-0.394-0.163-0.394-0.362zM30.792 30.472c0 0.217-0.162 0.394-0.362 0.394h-13.732v-4.404c0.239 0.216 0.505 0.401 0.792 0.548 0.536 0.297 1.148 0.464 1.791 0.464 2.034 0 3.689-1.655 3.689-3.689 0-1.423-0.81-2.659-1.993-3.274-0.534-0.301-1.149-0.473-1.804-0.473-0.939 0-1.813 0.354-2.476 0.955v-4.404h6.016c0.308 0 0.558-0.25 0.558-0.558v-0.173c0-0.126-0.044-0.245-0.117-0.34-0.064-0.129-0.178-0.231-0.321-0.279-0.562-0.189-1.023-0.558-1.332-1.030-0.232-0.389-0.363-0.842-0.363-1.318 0-1.419 1.154-2.574 2.574-2.574 0.894 0 1.682 0.458 2.144 1.151 0.236 0.389 0.372 0.844 0.372 1.331 0 1.107-0.705 2.087-1.754 2.439-0.227 0.076-0.38 0.289-0.38 0.529v0.133c0 0.106 0.030 0.204 0.081 0.289 0.068 0.231 0.282 0.4 0.535 0.4h6.084v13.883z"}))},f=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M15.517 23.581c-0.036 0.002-0.069-0.003-0.102-0.009-0.108-0.019-0.211-0.070-0.294-0.153l-9.153-9.153c-0.104-0.104-0.162-0.245-0.162-0.392s0.058-0.288 0.163-0.392l2.13-2.129c0.217-0.217 0.568-0.217 0.784 0l6.633 6.633 12.94-12.94c0.217-0.217 0.568-0.217 0.785 0l2.13 2.13c0.104 0.104 0.163 0.245 0.163 0.392s-0.058 0.288-0.162 0.392l-15.46 15.46c-0.104 0.104-0.245 0.163-0.392 0.163zM7.145 13.873l8.37 8.37 14.678-14.678-1.345-1.345-12.94 12.94c-0.217 0.217-0.568 0.217-0.785 0l-6.633-6.633-1.345 1.345zM30.087 11.781c0.401 1.337 0.618 2.753 0.618 4.219 0 8.108-6.596 14.704-14.705 14.704s-14.704-6.596-14.704-14.704c0-8.108 6.596-14.705 14.704-14.705 3.79 0 7.25 1.442 9.86 3.805l0.785-0.785c-2.812-2.564-6.549-4.129-10.645-4.129-8.72 0-15.814 7.094-15.814 15.814s7.094 15.814 15.814 15.814c8.72 0 15.814-7.094 15.814-15.814 0-1.784-0.297-3.501-0.845-5.102l-0.883 0.883z"}))},y=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M17.425 25.368h-3.22v-2.107c-1.234-0.109-2.518-0.463-3.389-0.944l-0.373-0.206 0.93-3.628 0.622 0.341c0.602 0.33 1.835 0.883 3.323 0.883 0.769 0 1.545-0.244 1.545-0.789 0-0.365-0.235-0.783-1.938-1.358-1.985-0.668-4.264-1.78-4.264-4.477 0-2.098 1.387-3.709 3.652-4.289v-2.162h3.22v1.931c1.366 0.11 2.263 0.465 2.838 0.736l0.416 0.196-0.937 3.53-0.621-0.298c-0.539-0.259-1.442-0.692-2.853-0.692-0.488 0-1.307 0.088-1.307 0.681 0 0.448 1.192 0.94 2.231 1.319 2.781 0.973 3.971 2.344 3.971 4.58 0 1.114-0.391 2.124-1.13 2.922-0.668 0.721-1.601 1.236-2.716 1.503v2.328zM15.307 24.266h1.016v-2.139l0.457-0.079c2.090-0.36 3.389-1.676 3.389-3.433 0-1.446-0.551-2.601-3.24-3.542-1.624-0.592-2.962-1.176-2.962-2.357 0-0.862 0.633-1.783 2.409-1.783 1.213 0 2.119 0.278 2.746 0.536l0.36-1.354c-0.565-0.222-1.372-0.445-2.517-0.479l-0.535-0.016v-1.886h-1.016v1.959l-0.45 0.084c-2.005 0.375-3.202 1.61-3.202 3.305 0 1.577 1.051 2.604 3.514 3.432 1.396 0.472 2.688 1.089 2.688 2.402 0 1.149-1.039 1.891-2.647 1.891-1.312 0-2.447-0.366-3.222-0.708l-0.369 1.437c0.709 0.309 1.808 0.617 3.045 0.654l0.535 0.016v2.058zM15.901 30.607c-8.054 0-14.607-6.552-14.607-14.606s6.552-14.607 14.607-14.607c8.054 0 14.607 6.552 14.607 14.607 0 2.567-0.667 4.981-1.834 7.079l1.095 0.293c1.174-2.2 1.841-4.71 1.841-7.373 0-8.662-7.047-15.709-15.709-15.709s-15.709 7.047-15.709 15.709 7.047 15.709 15.709 15.709c2.752 0 5.34-0.712 7.592-1.96l-0.294-1.099c-2.148 1.244-4.641 1.957-7.297 1.957zM29.539 31.709c-0.141 0-0.282-0.054-0.39-0.161l-2.673-2.673-0.86 1.786c-0.1 0.208-0.32 0.331-0.548 0.31s-0.421-0.184-0.481-0.406l-1.977-7.377c-0.051-0.19 0.004-0.393 0.143-0.532s0.342-0.194 0.532-0.143l7.377 1.977c0.222 0.060 0.385 0.252 0.406 0.481s-0.102 0.448-0.31 0.548l-1.787 0.86 2.673 2.672c0.103 0.103 0.161 0.244 0.161 0.39s-0.058 0.286-0.161 0.39l-1.717 1.717c-0.108 0.107-0.249 0.161-0.39 0.161zM26.318 27.385c0.145 0 0.285 0.057 0.39 0.161l2.832 2.832 0.938-0.938-2.832-2.832c-0.126-0.126-0.184-0.306-0.154-0.482s0.143-0.327 0.304-0.404l1.148-0.552-5.020-1.345 1.345 5.020 0.552-1.148c0.077-0.161 0.228-0.274 0.404-0.304 0.031-0.005 0.062-0.008 0.092-0.008zM20.272 5.201c1.977 0 5.826 2.162 5.826 6.126 0 0.304 0.247 0.551 0.551 0.551s0.551-0.247 0.551-0.551c0-2.063-0.912-3.976-2.568-5.387-1.314-1.119-3.025-1.842-4.361-1.842-0.304 0-0.551 0.247-0.551 0.551s0.247 0.551 0.551 0.551z"}))},w=function(){return wp.element.createElement(l,{viewBox:"0 0 32 32",style:{padding:"1px",fill:"#000000"},xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M31.438 1.423h-30.877c-0.31 0-0.562 0.251-0.562 0.562v22.175c0 0.31 0.251 0.562 0.562 0.562h3.103v5.294c0 0.201 0.107 0.386 0.281 0.486 0.087 0.050 0.184 0.075 0.281 0.075s0.194-0.025 0.281-0.075l10.012-5.78h16.919c0.31 0 0.562-0.251 0.562-0.562v-22.175c0-0.31-0.251-0.562-0.562-0.562zM30.877 23.598h-16.508c-0.099 0-0.195 0.026-0.281 0.075l-9.3 5.369v-4.883c0-0.31-0.251-0.562-0.562-0.562h-3.103v-21.052h29.753v21.052zM4.386 7.532h22.894c0.31 0 0.562-0.251 0.562-0.562s-0.251-0.562-0.562-0.562h-22.894c-0.31 0-0.562 0.251-0.562 0.562s0.251 0.562 0.562 0.562zM4.386 11.865h22.894c0.31 0 0.562-0.251 0.562-0.562s-0.251-0.562-0.562-0.562h-22.894c-0.31 0-0.562 0.251-0.562 0.562s0.251 0.562 0.562 0.562zM4.386 16.198h22.894c0.31 0 0.562-0.251 0.562-0.562s-0.251-0.562-0.562-0.562h-22.894c-0.31 0-0.562 0.251-0.562 0.562s0.251 0.562 0.562 0.562zM4.386 20.53h22.894c0.31 0 0.562-0.251 0.562-0.562s-0.251-0.562-0.562-0.562h-22.894c-0.31 0-0.562 0.252-0.562 0.562s0.251 0.562 0.562 0.562z"}))},v=function(){return wp.element.createElement(l,{viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z"}))},k=function(){return wp.element.createElement(l,{className:"custom-icon",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M17.294,17.287l-14.588,0l0,-14.574l14.588,0c0,4.858 0,9.716 0,14.574Zm-13.738,-0.85l12.888,0l0,-12.874l-12.888,0c0,4.291 0,8.583 0,12.874Z"}),wp.element.createElement("rect",{x:"4.489",y:"4.744",width:"11.022",height:"2.512"}))},E=function(){return wp.element.createElement(l,{className:"custom-icon",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M17.294,17.287l-14.588,0l0,-14.574l14.588,0c0,4.858 0,9.716 0,14.574Zm-13.738,-0.85l12.888,0l0,-12.874l-12.888,0c0,4.291 0,8.583 0,12.874Z"}),wp.element.createElement("rect",{y:"8.744",width:"11.022",x:"4.489",height:"2.512"}))},C=function(){return wp.element.createElement(l,{className:"custom-icon",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},wp.element.createElement(a,{d:"M17.294,17.287l-14.588,0l0,-14.574l14.588,0c0,4.858 0,9.716 0,14.574Zm-13.738,-0.85l12.888,0l0,-12.874l-12.888,0c0,4.291 0,8.583 0,12.874Z"}),wp.element.createElement("rect",{x:"4.489",y:"12.802",width:"11.022",height:"2.512"}))},x=wp.element.createElement(l,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"20",height:"20"},wp.element.createElement(a,{d:"M5 5H3v2h2V5zm3 8h11v-2H8v2zm9-8H6v2h11V5zM7 11H5v2h2v-2zm0 8h2v-2H7v2zm3-2v2h11v-2H10z"}))},function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return l}));var o=wp.i18n.__,a=function(e){var t=document.createElement("div");return t.innerHTML=e,void 0!==t.innerText?t.innerText:t.textContent},l=function(e){var t=[o("January"),o("February"),o("March"),o("April"),o("May"),o("June"),o("July"),o("August"),o("September"),o("October"),o("November"),o("December")],n=(e=new Date(e)).getDate(),a=e.getMonth(),l=e.getFullYear();return n+" "+t[a]+", "+l}},function(e,t,n){"use strict";var o=n(0),a=n.n(o);n(57);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function i(e,t){return!t||"object"!==l(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var p=wp.i18n.__,u=wp.components,m=u.Dropdown,d=u.IconButton,b=u.RangeControl,g=wp.compose.withInstanceId,h=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),i(this,c(t).apply(this,arguments))}var n,o,l;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(t,e),n=t,(o=[{key:"render",value:function(){var e=this,t="inspector-sizing-control-".concat(this.props.instanceId);return this.props.options&&1>this.props.options.length?p("Please specify more options."):wp.element.createElement("div",{id:t,className:"wp-block-themeisle-blocks-sizing-control"},wp.element.createElement("div",{className:"components-base-control__field"},this.props.label&&wp.element.createElement("label",{className:"components-base-control__label",htmlFor:t},this.props.label),wp.element.createElement("div",{className:a()("wp-block-themeisle-blocks-sizing-control-wrapper",{linking:this.props.type})},this.props.options.map((function(t,n){return wp.element.createElement("div",{className:"wp-block-themeisle-blocks-sizing-control-item"},t.disabled?wp.element.createElement("input",{type:"number",disabled:t.disabled,className:"wp-block-themeisle-blocks-sizing-control-item-input",id:"wp-block-themeisle-blocks-sizing-control-item-input-".concat(n)}):wp.element.createElement(m,{position:"top center",focusOnMount:!1,renderToggle:function(o){o.isOpen;var a=o.onToggle;return wp.element.createElement("input",{type:"number",className:"wp-block-themeisle-blocks-sizing-control-item-input",id:"wp-block-themeisle-blocks-sizing-control-item-input-".concat(n,"-").concat(e.props.instanceId),value:t.value,min:e.props.min,max:e.props.max,onFocus:a,onChange:function(n){return e.props.onChange(t.type,parseInt(n.target.value))}})},renderContent:function(n){return n.onToggle,wp.element.createElement("div",{className:"wp-block-themeisle-blocks-sizing-control-overlay"},wp.element.createElement(b,{value:t.value,initialPosition:t.value,beforeIcon:"minus",afterIcon:"plus",min:e.props.min,max:e.props.max,onChange:function(n){return e.props.onChange(t.type,n)}}))}}),t.label&&wp.element.createElement("label",{className:"wp-block-themeisle-blocks-sizing-control-item-label",htmlFor:"wp-block-themeisle-blocks-sizing-control-item-input-".concat(n,"-").concat(e.props.instanceId)},t.label))})),this.props.type&&wp.element.createElement("div",{className:a()("wp-block-themeisle-blocks-sizing-control-item","toggle-linking",{"is-linked":"linked"===this.props.type})},wp.element.createElement(d,{icon:"linked"===this.props.type?"admin-links":"editor-unlink",tooltip:"linked"===this.props.type?p("Unlink Values"):p("Link Values"),className:"wp-block-themeisle-blocks-sizing-control-item-input",onClick:function(){return e.props.changeType("linked"===e.props.type?"unlinked":"linked")}})))))}}])&&r(n.prototype,o),l&&r(n,l),t}(wp.element.Component);t.a=g(h)},,function(e,t,n){"use strict";var o=n(0),a=n.n(o),l=(n(56),wp.i18n.__),r=wp.components,i=r.Button,c=r.Dashicon,s=r.Dropdown,p=r.IconButton,u=wp.compose.withInstanceId;t.a=u((function(e){var t=e.label,n=e.instanceId,o=e.changeViewType,r=e.view,u=e.children,m="inspector-responsive-control-".concat(n);return wp.element.createElement("div",{id:m,className:"wp-block-themeisle-blocks-responsive-control"},wp.element.createElement("div",{className:"components-base-control__field"},wp.element.createElement("div",{className:"components-base-control__title"},wp.element.createElement("label",{className:"components-base-control__label"},t),wp.element.createElement("div",{className:"floating-controls"},wp.element.createElement(s,{position:"top left",renderToggle:function(e){var t=e.isOpen,n=e.onToggle;return wp.element.createElement(p,{icon:"mobile"===r?"smartphone":r,label:l("Responsiveness Settings"),className:"is-button",onClick:n,"aria-expanded":t})},renderContent:function(e){var t=e.onToggle;return wp.element.createElement("div",{className:"wp-block-themeisle-responsiveness-settings"},wp.element.createElement("div",{className:"responsiveness-title"},l("Responsiveness Settings")),wp.element.createElement(i,{className:a()("responsiveness-item",{"is-selected":"desktop"===r}),onClick:function(){t(),o("desktop")}},wp.element.createElement(c,{icon:"desktop"}),wp.element.createElement("span",{className:"popover-title"},l("Desktop"))),wp.element.createElement(i,{className:a()("responsiveness-item",{"is-selected":"tablet"===r}),onClick:function(){t(),o("tablet")}},wp.element.createElement(c,{icon:"tablet"}),wp.element.createElement("span",{className:"popover-title"},l("Tablet Devices"))),wp.element.createElement(i,{className:a()("responsiveness-item",{"is-selected":"mobile"===r}),onClick:function(){t(),o("mobile")}},wp.element.createElement(c,{icon:"smartphone"}),wp.element.createElement("span",{className:"popover-title"},l("Smartphones"))))}}))),u))}))},function(e,t,n){"use strict";n(55);var o=wp.components,a=o.Dropdown,l=o.IconButton,r=wp.compose.withInstanceId;t.a=r((function(e){var t=e.label,n=e.instanceId,o=e.children,r="inspector-control-panel-control-".concat(n);return wp.element.createElement("div",{className:"wp-block-themeisle-blocks-control-panel-control"},wp.element.createElement("div",{className:"components-base-control__field"},wp.element.createElement("div",{className:"components-base-control__title"},wp.element.createElement("label",{className:"components-base-control__label",for:r},t),wp.element.createElement("div",{className:"floating-controls"},wp.element.createElement(a,{position:"top left",headerTitle:t,expandOnMobile:!0,renderToggle:function(e){var n=e.isOpen,o=e.onToggle;return wp.element.createElement(l,{id:r,icon:"admin-settings",label:t,className:"is-button",onClick:o,"aria-expanded":n})},renderContent:function(){return wp.element.createElement("div",{className:"wp-block-themeisle-popover-settings"},o)}})))))}))},function(e,t){e.exports=React},function(e,t,n){"use strict";n.r(t);var o=n(0),a=n.n(o),l=(n(100),n(101),wp.components),r=l.SVG,i=l.Path;t.default=function(e){var t=e.type,n=e.front,o=e.style,l=e.fill,c=e.invert,s=e.width,p=e.height;return"none"!==o&&wp.element.createElement("div",{className:a()("wp-block-themeisle-blocks-advanced-columns-separators",t),style:!n&&s?{transform:"".concat(s?"scaleX( ".concat(s/100," )"):"")}:{}},"bigTriangle"===o&&!1===c&&wp.element.createElement(r,{id:"bigTriangle",fill:l,viewBox:"0 0 100 100",width:"100%",height:p?"".concat(p,"px"):"100",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",style:"bottom"===t?{transform:"".concat("bottom"===t?"rotate(180deg)":"")}:{}},wp.element.createElement(i,{d:"M0 0 L50 100 L100 0 Z"})),"bigTriangle"===o&&!0===c&&wp.element.createElement(r,{id:"bigTriangle",fill:l,viewBox:"0 0 100 100",width:"100%",height:p?"".concat(p,"px"):"100",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",style:"top"===t?{transform:"".concat("top"===t?"rotate(180deg)":"")}:{}},wp.element.createElement(i,{d:"M100, 0l-50, 100l-50, -100l0, 100l100, 0l0, -100Z"})),"rightCurve"===o&&!1===c&&wp.element.createElement(r,{id:"rightCurve",fill:l,viewBox:"0 0 100 100",width:"100%",height:p?"".concat(p,"px"):"100",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",style:"top"===t?{transform:"".concat("top"===t?"rotate(180deg)":"")}:{}},wp.element.createElement(i,{d:"M0 100 C 20 0 50 0 100 100 Z"})),"rightCurve"===o&&!0===c&&wp.element.createElement(r,{id:"rightCurve",fill:l,viewBox:"0 0 100 100",width:"100%",height:p?"".concat(p,"px"):"100",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",style:"top"===t?{transform:"".concat("top"===t?"rotate(180deg)":"")}:{}},wp.element.createElement(i,{d:"M0 100 C 50 0 70 0 100 100 Z"})),"curve"===o&&wp.element.createElement(r,{id:"curve",fill:l,viewBox:"0 0 100 100",width:"100%",height:p?"".concat(p,"px"):"100",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",style:"top"===t?{transform:"".concat("top"===t?"rotate(180deg)":"")}:{}},wp.element.createElement(i,{d:"M0 100 C40 0 60 0 100 100 Z"})),"slant"===o&&!1===c&&wp.element.createElement(r,{id:"slant",fill:l,viewBox:"0 0 100 100",width:"100%",height:p?"".concat(p,"px"):"100",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",style:"bottom"===t?{transform:"".concat("bottom"===t?"rotate(180deg)":"")}:{}},wp.element.createElement(i,{d:"M0 0 L100 100 L100 0 Z"})),"slant"===o&&!0===c&&wp.element.createElement(r,{id:"slant",fill:l,viewBox:"0 0 100 100",width:"100%",height:p?"".concat(p,"px"):"100",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",style:"bottom"===t?{transform:"".concat("bottom"===t?"rotate(180deg)":"")}:{}},wp.element.createElement(i,{d:"M0 0 L0 100 L100 0 Z"})),"cloud"===o&&wp.element.createElement(r,{id:"cloud",fill:l,viewBox:"0 0 100 100",width:"100%",height:p?"".concat(p,"px"):"100",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",style:"top"===t?{transform:"".concat("top"===t?"rotate(180deg)":"")}:{}},wp.element.createElement(i,{d:"M-5 100 Q 10 -100 15 100 Z M10 100 Q 20 -20 30 100 M25 100 Q 35 -70 45 100 M40 100 Q 50 -100 60 100 M55 100 Q 65 -20 75 100 M70 100 Q 75 -45 90 100 M85 100 Q 90 -50 95 100 M90 100 Q 95 -25 105 100 Z"})))}},,function(e,t,n){"use strict";n.r(t);var o=n(0),a=n.n(o),l=(n(90),n(2)),r=wp.i18n.__,i=wp.components,c=i.Button,s=i.ButtonGroup,p=i.Icon,u=i.IconButton,m=i.Tooltip,d=wp.compose.withInstanceId;t.default=d((function(e){var t=e.label,n=e.instanceId,o=e.backgroundType,i=e.changeBackgroundType,d="inspector-background-control-".concat(n);return wp.element.createElement("div",{id:d,className:"components-base-control wp-block-themeisle-blocks-advanced-columns-background-control"},wp.element.createElement("div",{className:"components-base-control__field"},wp.element.createElement("div",{className:"components-base-control__title"},wp.element.createElement("label",{className:"components-base-control__label"},t),wp.element.createElement(s,{className:"linking-controls"},wp.element.createElement(u,{icon:"admin-customizer",label:r("Color"),className:a()("is-button",{"is-primary":"color"===o}),onClick:function(){i("color")}}),wp.element.createElement(u,{icon:"format-image",label:r("Image"),className:a()("is-button",{"is-primary":"image"===o}),onClick:function(){i("image")}}),wp.element.createElement(m,{text:r("Gradient")},wp.element.createElement(c,{label:r("Gradient"),className:a()("is-button",{"is-primary":"gradient"===o}),onClick:function(){i("gradient")}},wp.element.createElement(p,{icon:l.b})))))))}))},function(e,t,n){"use strict";var o=n(0),a=n.n(o);n(54);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function i(e,t,n,o,a,l,r){try{var i=e[l](r),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(o,a)}function c(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function s(e,t){return!t||"object"!==l(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var m=lodash,d=m.startCase,b=m.toLower,g=wp.i18n.__,h=wp.compose.withInstanceId,f=wp.components,y=f.Button,w=f.BaseControl,v=f.Dropdown,k=f.MenuGroup,E=f.MenuItem,C=f.SelectControl,x=f.TextControl,T=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=s(this,p(t).apply(this,arguments))).state={fonts:null,font:[],variants:null,search:""},e}var n,o,l,m,h;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(t,e),n=t,(o=[{key:"componentDidMount",value:(m=regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("https://www.googleapis.com/webfonts/v1/webfonts?key=AIzaSyClGdkPJ1BvgLOol5JAkQY4Mv2lkLYu00k").then((function(e){return e.json()})).then((function(e){t.setState({fonts:e.items}),t.props.value&&e.items.find((function(e){if(t.props.value===e.family){var n=e.variants.filter((function(e){return!1===e.includes("italic")})).map((function(e){return{label:d(b(e)),value:e}}));return t.setState({variants:n})}}))}));case 2:case"end":return e.stop()}}),e)})),h=function(){var e=this,t=arguments;return new Promise((function(n,o){var a=m.apply(e,t);function l(e){i(a,n,o,l,r,"next",e)}function r(e){i(a,n,o,l,r,"throw",e)}l(void 0)}))},function(){return h.apply(this,arguments)})},{key:"render",value:function(){var e=this,t="inspector-google-fonts-control-".concat(this.props.instanceId);return wp.element.createElement("div",{className:"wp-block-themeisle-blocks-google-fonts-control"},wp.element.createElement(w,{label:this.props.label,id:t},null!==this.state.fonts?this.props.isSelect?wp.element.createElement(C,{value:this.props.value||"",id:t,options:[{label:g("Default"),value:""}].concat(r(this.state.fonts.map((function(e){return{label:e.family,value:e.family}})))),onChange:function(t){e.props.onChangeFontFamily(t),e.props.onChangeFontVariant("regular");var n=e.state.fonts.find((function(e){return t===e.family})),o=n.variants.filter((function(e){return!1===e.includes("italic")})).map((function(e){return{label:d(b(e)),value:e}}));e.setState({font:n,variants:o})}}):wp.element.createElement(v,{contentClassName:"wp-block-themeisle-blocks-google-fonts-popover",position:"bottom center",renderToggle:function(n){var o=n.isOpen,a=n.onToggle;return wp.element.createElement(y,{isLarge:!0,className:"wp-block-themeisle-blocks-google-fonts-button",id:t,onClick:a,"aria-expanded":o},e.props.value?e.props.value:g("Select Font Family"))},renderContent:function(t){var n=t.onToggle;return wp.element.createElement(k,{label:g("Google Fonts")},wp.element.createElement(x,{value:e.state.search,onChange:function(t){return e.setState({search:t})}}),wp.element.createElement("div",{className:"components-popover__items"},wp.element.createElement(E,{onClick:function(){n(),e.props.onChangeFontFamily(""),e.setState({font:[],variants:[],search:""})}},g("Default")),e.state.fonts.map((function(t){if(!e.state.search||t.family.toLowerCase().includes(e.state.search.toLowerCase()))return wp.element.createElement(E,{className:a()({"is-selected":t.family===e.props.value}),onClick:function(){n(),e.props.onChangeFontFamily(t.family),e.props.onChangeFontVariant("regular");var o=t.variants.filter((function(e){return!1===e.includes("italic")})).map((function(e){return{label:d(b(e)),value:e}}));e.setState({font:t,variants:o,search:""})}},t.family)}))))}}):g("Loading…")),this.state.variants&&wp.element.createElement(C,{label:g("Font Width"),value:this.props.valueVariant||"regular",options:this.state.variants,onChange:this.props.onChangeFontVariant}),wp.element.createElement(C,{label:g("Font Style"),value:this.props.valueStyle,options:[{label:g("Regular"),value:"normal"},{label:g("Italic"),value:"italic"}],onChange:this.props.onChangeFontStyle}),!this.props.disableTransform&&wp.element.createElement(C,{label:g("Font Transform"),value:this.props.valueTransform,options:[{label:g("Default"),value:"none"},{label:g("Uppercase"),value:"uppercase"},{label:g("Lowercase"),value:"lowercase"},{label:g("Capitalize"),value:"capitalize"}],onChange:this.props.onChangeTextTransform}))}}])&&c(n.prototype,o),l&&c(n,l),t}(wp.element.Component);t.a=h(T)},,function(e,t,n){"use strict";n.d(t,"b",(function(){return b})),n.d(t,"a",(function(){return g}));var o=n(0),a=n.n(o),l=(n(84),wp.components),r=l.BaseControl,i=l.Button,c=l.Dropdown,s=l.IconButton,p=l.Toolbar,u=wp.compose.withInstanceId,m=(wp.blockEditor||wp.editor).BlockControls,d=wp.element.Fragment,b=u((function(e){var t=e.instanceId,n=e.label,o=e.value,l=e.options,c=e.onChange,s="inspector-style-switcher-control-".concat(t);return wp.element.createElement(r,{id:s,label:n},wp.element.createElement("div",{className:"wp-block-themeisle-blocks-style-switcher"},l.map((function(e){return wp.element.createElement(i,{className:a()("blocks-style-switcher-item",{"is-active":e.value===o}),tabIndex:"0",onClick:function(){return function(e){return c(e)}(e.value)}},wp.element.createElement("div",{className:"blocks-style-switcher-item-preview"},wp.element.createElement("img",{src:e.image})),wp.element.createElement("div",{className:"blocks-style-switcher-item-label"},e.label))}))))})),g=function(e){var t=e.label,n=e.value,o=e.options,l=e.onChange;return wp.element.createElement(m,null,wp.element.createElement(p,{className:"wp-themesiel-blocks-block-styles-components-toolbar"},wp.element.createElement(c,{contentClassName:"wp-themesiel-blocks-block-styles-popover-content",position:"bottom center",renderToggle:function(e){var n=e.isOpen,o=e.onToggle;return wp.element.createElement(s,{className:"components-dropdown-menu__toggle",icon:"admin-appearance",onClick:o,"aria-haspopup":"true","aria-expanded":n,label:t,tooltip:t},wp.element.createElement("span",{className:"components-dropdown-menu__indicator"}))},renderContent:function(){return wp.element.createElement(d,null,wp.element.createElement("div",{className:"wp-block-themeisle-blocks-style-switcher"},o.map((function(e){return wp.element.createElement(i,{className:a()("blocks-style-switcher-item",{"is-active":e.value===n}),tabIndex:"0",onClick:function(){return function(e){return l(e)}(e.value)}},wp.element.createElement("div",{className:"blocks-style-switcher-item-preview"},wp.element.createElement("img",{src:e.image})),wp.element.createElement("div",{className:"blocks-style-switcher-item-label"},e.label))}))))}})))}},function(e,t){e.exports=ReactDOM},,function(e,t,n){"use strict";var o=n(0),a=n.n(o),l=n(38);n(60);function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var u=wp.i18n.__,m=wp.apiFetch,d=wp.components,b=d.BaseControl,g=d.IconButton,h=d.Popover,f=wp.compose,y=f.compose,w=f.withInstanceId,v=wp.data.withSelect,k=wp.element,E=k.Component,C=k.createRef,x=wp.keycodes,T=x.DOWN,S=x.ENTER,B=x.TAB,O=x.UP,M=wp.url.addQueryArgs,L=function(e){function t(){var e,n,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,(e=!(o=c(t).apply(this,arguments))||"object"!==r(o)&&"function"!=typeof o?s(n):o).bindSuggestionNode=e.bindSuggestionNode.bind(s(e)),e.updateSuggestions=e.updateSuggestions.bind(s(e)),e.onChangeValue=e.onChangeValue.bind(s(e)),e.clickSuggestion=e.clickSuggestion.bind(s(e)),e.onKeyDown=e.onKeyDown.bind(s(e)),e.autocompleteRef=e.autocompleteRef||C(),e.scrollingIntoView=!1,e.suggestionNodes=[],e.state={isOpen:!1,showSuggestions:!1,selectedSuggestion:null,suggestions:[]},e}var n,o,d;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(t,e),n=t,(o=[{key:"componentDidUpdate",value:function(){var e=this;this.state.showSuggestions&&null!==this.state.selectedSuggestion&&!this.scrollingIntoView&&null!==this.autocompleteRef.current&&(this.scrollingIntoView=!0,Object(l.a)(this.suggestionNodes[this.state.selectedSuggestion],this.autocompleteRef.current,{onlyScrollIfNeeded:!0}),setTimeout((function(){e.scrollingIntoView=!1}),100))}},{key:"componentWillUnmount",value:function(){delete this.suggestionsRequest}},{key:"bindSuggestionNode",value:function(e){var t=this;return function(n){t.suggestionNodes[e]=n}}},{key:"updateSuggestions",value:function(e){var t,n=this,o=this.props.fetchLinkSuggestions;1>=e.length||/^https?:/.test(e)?this.setState({showSuggestions:!1}):(this.setState({showSuggestions:!0}),(t=o?o(e):m({path:M("/wp/v2/search",{search:e,per_page:20,type:"post"})})).then((function(e){n.suggestionsRequest===t&&n.setState({suggestions:e})})),this.suggestionsRequest=t)}},{key:"onChangeValue",value:function(e){this.props.onChange(e.target.value),this.props.suggestions||this.updateSuggestions(e.target.value)}},{key:"clickSuggestion",value:function(e){this.props.onChange(e),this.setState({showSuggestions:!1})}},{key:"onKeyDown",value:function(e){if(this.state.showSuggestions&&1<=this.state.suggestions.length){var t=this.state.suggestions[this.state.selectedSuggestion];switch(e.keyCode){case O:e.stopPropagation(),e.preventDefault();var n=this.state.selectedSuggestion?this.state.selectedSuggestion-1:this.state.suggestions.length-1;this.setState({selectedSuggestion:n});break;case T:e.stopPropagation(),e.preventDefault();var o=null===this.state.selectedSuggestion||this.state.selectedSuggestion===this.state.suggestions.length-1?0:this.state.selectedSuggestion+1;this.setState({selectedSuggestion:o});break;case B:case S:null!==this.state.selectedSuggestion&&(e.stopPropagation(),this.clickSuggestion(t.url))}}}},{key:"render",value:function(){var e=this,t="inspector-link-control-".concat(this.props.instanceId);return wp.element.createElement(b,{id:t,label:this.props.label,help:this.props.help,className:this.props.className},wp.element.createElement("div",{className:a()("wp-block-themeisle-blocks-link-control-wrapper",{"is-open":this.state.isOpen})},wp.element.createElement("input",{type:"url",placeholder:this.props.placeholder,value:this.props.value,onChange:this.onChangeValue,onKeyDown:this.onKeyDown,className:a()("components-text-control__input",{"is-full":void 0===this.props.children})}),this.state.showSuggestions&&0<this.state.suggestions.length&&wp.element.createElement(h,{position:"bottom",noArrow:!0,focusOnMount:!1,className:"wp-block-themeisle-blocks-link-control-popover"},wp.element.createElement("div",{ref:this.autocompleteRef,className:"wp-block-themeisle-blocks-link-control-popover-container"},this.state.suggestions.map((function(t,n){return wp.element.createElement("button",{key:t.id,role:"option",tabIndex:"-1",ref:e.bindSuggestionNode(n),className:a()("block-editor-url-input__suggestion","editor-url-input__suggestion",{"is-selected":n===e.state.selectedSuggestion}),onClick:function(){return e.clickSuggestion(t.url)}},t.title||u("Untitled Post"))})))),void 0!==this.props.children&&wp.element.createElement(g,{icon:"admin-generic",tooltip:u("Link Options"),onClick:function(){return e.setState({isOpen:!e.state.isOpen})}})),this.state.isOpen&&this.props.children)}}])&&i(n.prototype,o),d&&i(n,d),t}(E);t.a=y(w,v((function(e){if(e("core/block-editor"))return{fetchLinkSuggestions:(0,e("core/block-editor").getSettings)().__experimentalFetchLinkSuggestions}})))(L)},,,function(e,t,n){"use strict";n.r(t);var o=n(0),a=n.n(o),l=(n(91),wp.i18n.__),r=wp.components,i=r.Button,c=r.Dashicon,s=r.Dropdown,p=r.IconButton,u=r.Path,m=r.SVG,d=r.Tooltip,b=wp.compose.withInstanceId,g=wp.element.Fragment;t.default=b((function(e){var t,n=e.label,o=e.instanceId,r=e.onClick,b=e.layout,h=e.layoutTablet,f=e.layoutMobile,y=e.columns,w=e.changeViewType,v=e.view,k="inspector-layout-control-".concat(o);return"desktop"===v?t=b:"tablet"===v?t=h:"mobile"===v&&(t=f),wp.element.createElement("div",{id:k,className:"wp-block-themeisle-blocks-advanced-columns-layout-control"},wp.element.createElement("div",{className:"components-base-control__field"},wp.element.createElement("div",{className:"components-base-control__title"},wp.element.createElement("label",{className:"components-base-control__label"},n),wp.element.createElement("div",{className:"linking-controls"},wp.element.createElement(s,{position:"top left",renderToggle:function(e){var t=e.isOpen,n=e.onToggle;return wp.element.createElement(p,{icon:"mobile"===v?"smartphone":v,label:l("Responsiveness Settings"),className:"is-button",onClick:n,"aria-expanded":t})},renderContent:function(e){var t=e.onToggle;return wp.element.createElement("div",{className:"wp-block-themeisle-responsiveness-settings"},wp.element.createElement("div",{className:"responsiveness-title"},l("Responsiveness Settings")),wp.element.createElement(i,{className:a()("responsiveness-item",{"is-selected":"desktop"===v}),onClick:function(){t(),w("desktop")}},wp.element.createElement(c,{icon:"desktop"}),wp.element.createElement("span",{className:"popover-title"},l("Desktop"))),wp.element.createElement(i,{className:a()("responsiveness-item",{"is-selected":"tablet"===v}),onClick:function(){t(),w("tablet")}},wp.element.createElement(c,{icon:"tablet"}),wp.element.createElement("span",{className:"popover-title"},l("Tablet Devices"))),wp.element.createElement(i,{className:a()("responsiveness-item",{"is-selected":"mobile"===v}),onClick:function(){t(),w("mobile")}},wp.element.createElement(c,{icon:"smartphone"}),wp.element.createElement("span",{className:"popover-title"},l("Smartphones"))))}}))),1===y&&wp.element.createElement(d,{text:l("Single Row")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"equal"===t}),onClick:function(){return r("equal")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M100,0V50H0V0Z"}))))||2===y&&wp.element.createElement(g,null,wp.element.createElement(d,{text:l("Equal")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"equal"===t}),onClick:function(){return r("equal")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M49,0V50H0V0Z M100,0V50H51V0Z"})))),wp.element.createElement(d,{text:l("1:2")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"oneTwo"===t}),onClick:function(){return r("oneTwo")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M32.6667,0V50H0V0Z M100,0V50H34.6667V0Z"})))),wp.element.createElement(d,{text:l("2:1")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"twoOne"===t}),onClick:function(){return r("twoOne")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M65.3333,0V50H0V0Z M100,0V50H67.3333V0Z"})))),("mobile"==v||"tablet"==v)&&wp.element.createElement(d,{text:l("Collapsed Rows")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"collapsedRows"===t}),onClick:function(){return r("collapsedRows")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M 0 0 L 100 0 L 100 24 L 0 24 L 0 0"}),wp.element.createElement(u,{d:"M 0 26 L 100 26 L 100 50 L 0 50 L 0 26"})))))||3===y&&wp.element.createElement(g,null,wp.element.createElement(d,{text:l("Equal")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"equal"===t}),onClick:function(){return r("equal")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M32,0V50H0V0Z M66,0V50H34V0Z M100,0V50H68V0Z"})))),wp.element.createElement(d,{text:l("1:1:2")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"oneOneTwo"===t}),onClick:function(){return r("oneOneTwo")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M24,0V50H0V0Z M50,0V50H26V0Z M100,0V50H52V0Z"})))),wp.element.createElement(d,{text:l("2:1:1")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"twoOneOne"===t}),onClick:function(){return r("twoOneOne")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M48,0V50H0V0Z M74,0V50H50V0Z M100,0V50H76V0Z"})))),wp.element.createElement(d,{text:l("1:2:1")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"oneTwoOne"===t}),onClick:function(){return r("oneTwoOne")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M24,0V50H0V0Z M74,0V50H26V0Z M100,0V50H76V0Z"})))),wp.element.createElement(d,{text:l("1:3:1")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"oneThreeOne"===t}),onClick:function(){return r("oneThreeOne")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M20,0V50H0V0Z M78,0V50H22V0Z M100,0V50H80V0Z"})))),("mobile"==v||"tablet"==v)&&wp.element.createElement(d,{text:l("Collapsed Rows")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"collapsedRows"===t}),onClick:function(){return r("collapsedRows")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M 0 0 L 100 0 L 100 24 L 0 24 L 0 0"}),wp.element.createElement(u,{d:"M 0 26 L 100 26 L 100 50 L 0 50 L 0 26"})))))||4===y&&wp.element.createElement(g,null,wp.element.createElement(d,{text:l("Equal")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"equal"===t}),onClick:function(){return r("equal")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M23.5,0V50H0V0Z M49,0V50H25.5V0Z M74.5,0V50H51V0Z M100,0V50H76.5V0Z"})))),("mobile"==v||"tablet"==v)&&wp.element.createElement(g,null,wp.element.createElement(d,{text:l("Two Column Grid")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"twoColumnGrid"===t}),onClick:function(){return r("twoColumnGrid")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M 0 0 L 50 0 L 50 24 L 0 24 L 0 0"}),wp.element.createElement(u,{d:"M 51 0 L 100 0 L 100 24 L 51 24 L 51 0"}),wp.element.createElement(u,{d:"M 0 26 L 50 26 L 50 50 L 0 50 L 0 26"}),wp.element.createElement(u,{d:"M 51 26 L 100 26 L 100 60 L 51 60 L 51 26"})))),wp.element.createElement(d,{text:l("Collapsed Rows")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"collapsedRows"===t}),onClick:function(){return r("collapsedRows")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M 0 0 L 100 0 L 100 24 L 0 24 L 0 0"}),wp.element.createElement(u,{d:"M 0 26 L 100 26 L 100 50 L 0 50 L 0 26"}))))))||5===y&&wp.element.createElement(g,null,wp.element.createElement(d,{text:l("Equal")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"equal"===t}),onClick:function(){return r("equal")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M18.4,0V50H0V0Z M38.8,0V50H20.4V0Z M59.2,0V50H40.8V0Z M79.6,0V50H61.2V0Z M100,0V50H81.6V0Z"})))),("mobile"==v||"tablet"==v)&&wp.element.createElement(d,{text:l("Collapsed Rows")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"collapsedRows"===t}),onClick:function(){return r("collapsedRows")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M 0 0 L 100 0 L 100 24 L 0 24 L 0 0"}),wp.element.createElement(u,{d:"M 0 26 L 100 26 L 100 50 L 0 50 L 0 26"})))))||6===y&&wp.element.createElement(g,null,wp.element.createElement(d,{text:l("Equal")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"equal"===t}),onClick:function(){return r("equal")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M15,0V50H0V0Z M32,0V50H17V0Z M49,0V50H34V0Z M66,0V50H51V0Z M83,0V50H68V0Z M100,0V50H85V0Z"})))),("mobile"==v||"tablet"==v)&&wp.element.createElement(g,null,wp.element.createElement(d,{text:l("Two Column Grid")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"twoColumnGrid"===t}),onClick:function(){return r("twoColumnGrid")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M 0 0 L 50 0 L 50 16 L 0 16 L 0 0"}),wp.element.createElement(u,{d:"M 51 0 L 100 0 L 100 16 L 51 16 L 51 0"}),wp.element.createElement(u,{d:"M 0 17 L 50 17 L 50 33 L 0 33 L 0 17"}),wp.element.createElement(u,{d:"M 51 17 L 100 17 L 100 33 L 51 33 L 51 17"}),wp.element.createElement(u,{d:"M 0 34 L 50 34 L 50 50 L 0 50 L 0 34"}),wp.element.createElement(u,{d:"M 51 34 L 100 34 L 100 50 L 51 50 L 51 34"})))),wp.element.createElement(d,{text:l("Three Column Grid")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"threeColumnGrid"===t}),onClick:function(){return r("threeColumnGrid")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M 0 0 L 33 0 L 33 24 L 0 24 L 0 0"}),wp.element.createElement(u,{d:"M 34 0 L 66 0 L 66 24 L 34 24 L 34 0"}),wp.element.createElement(u,{d:"M 67 0 L 100 0 L 100 24 L 67 24 L 67 0"}),wp.element.createElement(u,{d:"M 0 26 L 33 26 L 33 50 L 0 50 L 0 26"}),wp.element.createElement(u,{d:"M 34 26 L 66 26 L 66 60 L 34 60 L 34 26"}),wp.element.createElement(u,{d:"M 67 26 L 100 26 L 100 60 L 67 60 L 67 26"})))),wp.element.createElement(d,{text:l("Collapsed Rows")},wp.element.createElement(i,{className:a()("wp-block-themeisle-blocks-advanced-column-layout",{selected:"collapsedRows"===t}),onClick:function(){return r("collapsedRows")}},wp.element.createElement(m,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(u,{d:"M 0 0 L 100 0 L 100 24 L 0 24 L 0 0"}),wp.element.createElement(u,{d:"M 0 26 L 100 26 L 100 50 L 0 50 L 0 26"}))))))))}))},,function(e,t,n){"use strict";n.r(t);n(92);var o=n(2),a=n(0),l=n.n(a),r=n(13),c=n.n(r);n(93);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e,t){return(b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var g=lodash,h=g.startCase,f=g.toLower,y=wp.i18n.__,w=wp.components,v=w.Button,k=w.Dashicon,E=w.Icon,C=w.TextControl,x=w.Tooltip,T=w.SelectControl,S=function(e){function t(){var e,n,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,(e=!(o=m(t).apply(this,arguments))||"object"!==s(o)&&"function"!=typeof o?d(n):o).getOptions=e.getOptions.bind(d(e)),e}var n,a,r;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&b(e,t)}(t,e),n=t,(a=[{key:"getOptions",value:function(){var e;return e=("block"===this.props.tab?this.props.blocksCategories:this.props.templateCategories).map((function(e){return{label:h(f(e)),value:e}})),[{label:y("All Categories"),value:"all"}].concat(p(e))}},{key:"render",value:function(){var e=this,t=this.getOptions();return wp.element.createElement("div",{className:"library-modal-control-panel"},wp.element.createElement("div",{className:"library-modal-header"},wp.element.createElement("div",{className:"library-modal-header-logo"},this.props.preview?wp.element.createElement(v,{className:"library-modal-header-tabs-button back-to-library","aria-label":y("Back to Library"),onClick:this.props.togglePreview},wp.element.createElement(k,{icon:"arrow-left-alt"})," ",y("Back to Library")):wp.element.createElement("div",{className:"library-modal-header-tabs-button"},wp.element.createElement(E,{icon:o.l}))),!this.props.preview&&wp.element.createElement("div",{className:"library-modal-header-tabs"},wp.element.createElement(v,{className:l()("library-modal-header-tabs-button",{"is-selected":"block"===this.props.tab}),onClick:function(){return e.props.changeTab("block")}},wp.element.createElement(k,{icon:"screenoptions"}),y("Blocks")),wp.element.createElement(v,{className:l()("library-modal-header-tabs-button",{"is-selected":"template"===this.props.tab}),onClick:function(){return e.props.changeTab("template")}},wp.element.createElement(k,{icon:"editor-table"}),y("Templates"))),wp.element.createElement("div",{className:"library-modal-header-actions"},this.props.preview&&wp.element.createElement(v,{className:"library-modal-header-tabs-button insert-button",onClick:function(){return e.props.importTemplate(e.props.selectedTemplate.template_url)},tabindex:"0"},wp.element.createElement(k,{icon:"arrow-down-alt",size:16}),y("Insert")),wp.element.createElement(x,{text:y("Close")},wp.element.createElement(v,{className:"library-modal-header-tabs-button","aria-label":y("Close settings"),onClick:this.props.close},wp.element.createElement(k,{icon:"no-alt"}))))),!this.props.preview&&wp.element.createElement("div",{className:"library-modal-actions"},wp.element.createElement(T,{className:"library-modal-category-control",value:"all"===this.props.selectedCategory?"all":this.props.selectedCategory,onChange:this.props.selectCategory,options:t}),wp.element.createElement(C,{type:"text",value:this.props.search||"",placeholder:y("Search"),className:"library-modal-search-control",onChange:this.props.changeSearch})))}}])&&u(n.prototype,a),r&&u(n,r),t}(wp.element.Component);function B(e){return(B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function O(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function M(e,t){return!t||"object"!==B(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N(e,t){return(N=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var A=wp.i18n.__,P=wp.components.Notice,_=wp.element,R=_.Component,I=_.Fragment,z=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),M(this,L(t).apply(this,arguments))}var n,o,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&N(e,t)}(t,e),n=t,(o=[{key:"render",value:function(){return wp.element.createElement(I,null,!Boolean(themeisleGutenberg.isCompatible)&&wp.element.createElement("div",{className:"library-modal-error"},wp.element.createElement(P,{status:"warning",isDismissible:!1,className:"version-warning",actions:[{label:A("Update Now"),url:themeisleGutenberg.updatePath}]},A("You are using an older version of Otter. Use the latest version of Otter to have maximum compatibility with Template Library."))),this.props.isError&&wp.element.createElement("div",{className:"library-modal-error"},wp.element.createElement(P,{status:"error",onRemove:this.props.removeError},A("There seems to be an error. Please try again."))),this.props.isMissing&&wp.element.createElement("div",{className:"library-modal-error"},wp.element.createElement(P,{status:"warning",className:"library-modal-missing",onRemove:this.props.removeMissing},A("You seem to be missing some blocks that are required by your selected template."),wp.element.createElement("details",null,wp.element.createElement("summary",null,A("View Missing Blocks")),wp.element.createElement("ul",null,this.props.missingBlocks.map((function(e){return wp.element.createElement("li",null,e)})))))))}}])&&O(n.prototype,o),a&&O(n,a),t}(R),V=n(18),H=n.n(V);function j(e){return(j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function F(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function D(e,t){return!t||"object"!==j(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function G(e){return(G=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function W(e,t){return(W=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Z=wp.i18n.__,q=wp.components.Button,U=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),D(this,G(t).apply(this,arguments))}var n,o,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&W(e,t)}(t,e),n=t,(o=[{key:"render",value:function(){var e=this;return wp.element.createElement("div",{"aria-label":this.props.template.title||Z("Untitled Gutenberg Template"),className:"library-modal-content__item",tabindex:"0"},wp.element.createElement("div",{className:"library-modal-content__preview"},wp.element.createElement(H.a,null,wp.element.createElement("img",{src:this.props.template.screenshot_url||"https://raw.githubusercontent.com/Codeinwp/gutenberg-templates/master/assets/images/default.jpg"}))),wp.element.createElement("div",{className:"library-modal-content__footer"},wp.element.createElement("div",{className:"library-modal-content__footer_meta"},this.props.template.title&&"template"===this.props.template.type&&wp.element.createElement("h4",{className:"library-modal-content__footer_meta_title"},this.props.template.title,this.props.template.author&&Z(" by ")+this.props.template.author," "),this.props.template.author&&"block"===this.props.template.type&&wp.element.createElement("h4",{className:"library-modal-content__footer_meta_author"},Z("Author:")," ",this.props.template.author)),wp.element.createElement("div",{className:"library-modal-content__footer_actions"},this.props.template.demo_url&&wp.element.createElement(q,{isDefault:!0,isLarge:!0,className:"library-modal-overlay__actions",onClick:function(){return e.props.togglePreview(i)},tabindex:"0"},Z("Preview")),wp.element.createElement(q,{isPrimary:!0,isLarge:!0,className:"library-modal-overlay__actions",onClick:function(){return e.props.importTemplate(e.props.template.template_url)},tabindex:"0"},Z("Insert")))))}}])&&F(n.prototype,o),a&&F(n,a),t}(wp.element.Component);function K(e){return(K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Q(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function J(e,t){return!t||"object"!==K(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Y(e){return(Y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $(e,t){return($=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var X=wp.i18n.__,ee=wp.components.Spinner,te=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),J(this,Y(t).apply(this,arguments))}var n,o,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$(e,t)}(t,e),n=t,(o=[{key:"render",value:function(){var e=this;return this.props.preview?wp.element.createElement("div",{className:"library-modal-preview"},wp.element.createElement("iframe",{src:this.props.selectedTemplate.demo_url})):this.props.isLoaded?wp.element.createElement("div",{className:"library-modal-content"},this.props.data.map((function(t){if(t.template_url&&("all"===e.props.selectedCategory||t.categories&&t.categories.includes(e.props.selectedCategory))&&(!e.props.search||t.keywords&&t.keywords.some((function(t){return t.toLowerCase().includes(e.props.search.toLowerCase())})))&&e.props.tab===t.type)return wp.element.createElement(U,{template:t,togglePreview:e.props.togglePreview,importTemplate:e.props.importTemplate})})),wp.element.createElement("div",{"aria-label":X("Coming Soon"),className:"library-modal-content__item"},wp.element.createElement("div",{className:"library-modal-content__preview"},wp.element.createElement(H.a,null,wp.element.createElement("img",{src:"https://raw.githubusercontent.com/Codeinwp/gutenberg-templates/master/assets/images/coming-soon.jpg"}))))):wp.element.createElement("div",{className:"library-modal-loader"},wp.element.createElement(ee,null))}}])&&Q(n.prototype,o),a&&Q(n,a),t}(wp.element.Component);function ne(e){return(ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function oe(e,t,n,o,a,l,r){try{var i=e[l](r),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(o,a)}function ae(e){return function(){var t=this,n=arguments;return new Promise((function(o,a){var l=e.apply(t,n);function r(e){oe(l,o,a,r,i,"next",e)}function i(e){oe(l,o,a,r,i,"throw",e)}r(void 0)}))}}function le(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function re(e){return(re=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ie(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ce(e,t){return(ce=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}wp.i18n.__;var se=wp.apiFetch,pe=wp.components.Modal,ue=wp.compose.compose,me=wp.data,de=me.withSelect,be=me.withDispatch,ge=function(e){function t(){var e,n,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,(e=!(o=re(t).apply(this,arguments))||"object"!==ne(o)&&"function"!=typeof o?ie(n):o).changeTab=e.changeTab.bind(ie(e)),e.togglePreview=e.togglePreview.bind(ie(e)),e.removeError=e.removeError.bind(ie(e)),e.removeMissing=e.removeMissing.bind(ie(e)),e.selectCategory=e.selectCategory.bind(ie(e)),e.changeSearch=e.changeSearch.bind(ie(e)),e.changeClientId=e.changeClientId.bind(ie(e)),e.validateBlocks=e.validateBlocks.bind(ie(e)),e.importTemplate=e.importTemplate.bind(ie(e)),e.state={tab:"block",isLoaded:!1,isError:!1,isMissing:!1,selectedCategory:"all",search:"",blocksCategories:[],templateCategories:[],data:[],preview:!1,selectedTemplate:null,missingBlocks:[]},e}var n,o,a,r,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ce(e,t)}(t,e),n=t,(o=[{key:"componentDidMount",value:(i=ae(regeneratorRuntime.mark((function e(){var t,n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,se({path:"themeisle-gutenberg-blocks/v1/fetch_templates"});case 2:t=e.sent,n=[],o=[],t.map((function(e){e.categories&&e.template_url&&("block"===e.type&&e.categories.map((function(e){n.push(e)})),"template"===e.type&&e.categories.map((function(e){o.push(e)})))})),n=n.filter((function(e,t,n){return n.indexOf(e)===t})).sort(),o=o.filter((function(e,t,n){return n.indexOf(e)===t})).sort(),this.setState({blocksCategories:n,templateCategories:o,data:t,isLoaded:!0});case 9:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"changeTab",value:function(e){this.setState({tab:e,selectedCategory:"all",search:""})}},{key:"togglePreview",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.setState({preview:!this.state.preview,selectedTemplate:e})}},{key:"removeError",value:function(){this.setState({isError:!1})}},{key:"removeMissing",value:function(){this.setState({isMissing:!1})}},{key:"selectCategory",value:function(e){this.setState({selectedCategory:e})}},{key:"changeSearch",value:function(e){this.setState({search:e})}},{key:"changeClientId",value:function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.changeClientId(e)})):"object"===ne(e)&&Object.keys(e).map((function(n){"clientId"===n&&(e[n]=c()()),"innerBlocks"===n&&e[n].map((function(e){t.changeClientId(e)}))})),e}},{key:"validateBlocks",value:function(e){var t=this,n=!1,o=[];return Array.isArray(e)?e.map((function(e){return t.validateBlocks(e)})):"object"===ne(e)&&Object.keys(e).some((function(a){"name"===a&&void 0===t.props.availableBlocks.find((function(t){return t.name===e.name}))&&(o.push(e.name),n=!0),"innerBlocks"===a&&e[a].map((function(e){return t.validateBlocks(e)}))})),o=this.state.missingBlocks.concat(o).filter((function(e,t,n){return n.indexOf(e)===t})),this.setState({missingBlocks:o}),n}},{key:"importTemplate",value:(r=ae(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({preview:!1,isLoaded:!1,missingBlocks:[]}),e.next=3,se({path:"themeisle-gutenberg-blocks/v1/import_template?url=".concat(t)});case 3:n=e.sent,null!==(n=this.changeClientId(n))?(this.setState({isLoaded:!0}),this.validateBlocks(n)?this.setState({isMissing:!0}):this.props.import(n)):this.setState({isLoaded:!0,isError:!0});case 6:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"render",value:function(){return wp.element.createElement(pe,{className:l()("wp-block-themeisle-library-modal",{"is-preview":this.state.preview}),onRequestClose:this.props.close,isDismissable:!1,shouldCloseOnClickOutside:!1},wp.element.createElement(S,{preview:this.state.preview,tab:this.state.tab,changeTab:this.changeTab,blocksCategories:this.state.blocksCategories,templateCategories:this.state.templateCategories,selectedTemplate:this.state.selectedTemplate,selectedCategory:this.state.selectedCategory,search:this.state.search,togglePreview:this.togglePreview,close:this.props.close,importTemplate:this.importTemplate,selectCategory:this.selectCategory,changeSearch:this.changeSearch}),wp.element.createElement(z,{isError:this.state.isError,isMissing:this.state.isMissing,missingBlocks:this.state.missingBlocks,removeError:this.removeError,removeMissing:this.removeMissing}),wp.element.createElement(te,{preview:this.state.preview,isLoaded:this.state.isLoaded,data:this.state.data,tab:this.state.tab,selectedTemplate:this.state.selectedTemplate,selectedCategory:this.state.selectedCategory,search:this.state.search,togglePreview:this.togglePreview,importTemplate:this.importTemplate}))}}])&&le(n.prototype,o),a&&le(n,a),t}(wp.element.Component),he=ue(de((function(e,t){var n=t.clientId,o=(e("core/block-editor")||e("core/editor")).getBlock,a=e("core/blocks").getBlockTypes;return{block:o(n),availableBlocks:a()}})),be((function(e,t){var n=t.block,o=(e("core/block-editor")||e("core/editor")).replaceBlocks;return{import:function(e){return o(n.clientId,e)}}})))(ge);function fe(e){return(fe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ye(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function we(e){return(we=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ve(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ke(e,t){return(ke=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Ee=wp.i18n.__,Ce=wp.components,xe=Ce.Button,Te=Ce.Dashicon,Se=Ce.Icon,Be=Ce.Path,Oe=Ce.Placeholder,Me=Ce.SVG,Le=Ce.Tooltip,Ne=function(e){function t(){var e,n,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,(e=!(o=we(t).apply(this,arguments))||"object"!==fe(o)&&"function"!=typeof o?ve(n):o).closeModal=e.closeModal.bind(ve(e)),e.state={isLibraryOpen:!1},e}var n,a,l;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ke(e,t)}(t,e),n=t,(a=[{key:"closeModal",value:function(){this.setState({isLibraryOpen:!1})}},{key:"render",value:function(){var e=this;return wp.element.createElement(Oe,{label:Ee("Select Layout"),icon:wp.element.createElement(Se,{icon:o.f}),className:"wp-block-themeisle-onboarding-component"},wp.element.createElement("div",{className:"wp-block-themeisle-layout-picker"},wp.element.createElement(Le,{text:Ee("Single Row")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(1,"equal")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M100,0V50H0V0Z"})))),wp.element.createElement(Le,{text:Ee("Equal")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(2,"equal")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M49,0V50H0V0Z M100,0V50H51V0Z"})))),wp.element.createElement(Le,{text:Ee("1:2")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(2,"oneTwo")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M32.6667,0V50H0V0Z M100,0V50H34.6667V0Z"})))),wp.element.createElement(Le,{text:Ee("2:1")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(2,"twoOne")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M65.3333,0V50H0V0Z M100,0V50H67.3333V0Z"})))),wp.element.createElement(Le,{text:Ee("Equal")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(3,"equal")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M32,0V50H0V0Z M66,0V50H34V0Z M100,0V50H68V0Z"})))),wp.element.createElement(Le,{text:Ee("1:1:2")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(3,"oneOneTwo")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M24,0V50H0V0Z M50,0V50H26V0Z M100,0V50H52V0Z"})))),wp.element.createElement(Le,{text:Ee("2:1:1")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(3,"twoOneOne")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M48,0V50H0V0Z M74,0V50H50V0Z M100,0V50H76V0Z"})))),wp.element.createElement(Le,{text:Ee("1:2:1")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(3,"oneTwoOne")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M24,0V50H0V0Z M74,0V50H26V0Z M100,0V50H76V0Z"})))),wp.element.createElement(Le,{text:Ee("1:3:1")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(3,"oneThreeOne")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M20,0V50H0V0Z M78,0V50H22V0Z M100,0V50H80V0Z"})))),wp.element.createElement(Le,{text:Ee("Equal")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(4,"equal")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M23.5,0V50H0V0Z M49,0V50H25.5V0Z M74.5,0V50H51V0Z M100,0V50H76.5V0Z"})))),wp.element.createElement(Le,{text:Ee("Equal")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(5,"equal")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M18.4,0V50H0V0Z M38.8,0V50H20.4V0Z M59.2,0V50H40.8V0Z M79.6,0V50H61.2V0Z M100,0V50H81.6V0Z"})))),wp.element.createElement(Le,{text:Ee("Equal")},wp.element.createElement(xe,{className:"wp-block-themeisle-blocks-advanced-column-layout",onClick:function(){return e.props.setupColumns(6,"equal")}},wp.element.createElement(Me,{viewBox:"0 0 100 50",xmlns:"http://www.w3.org/1999/xlink"},wp.element.createElement(Be,{d:"M15,0V50H0V0Z M32,0V50H17V0Z M49,0V50H34V0Z M66,0V50H51V0Z M83,0V50H68V0Z M100,0V50H85V0Z"}))))),wp.element.createElement(Le,{text:Ee("Open Template Library")},wp.element.createElement(xe,{isPrimary:!0,isLarge:!0,className:"wp-block-themeisle-template-library",onClick:function(){return e.setState({isLibraryOpen:!0})}},wp.element.createElement(Te,{icon:"category"}),Ee("Template Library")),this.state.isLibraryOpen&&wp.element.createElement(he,{clientId:this.props.clientId,close:this.closeModal})))}}])&&ye(n.prototype,a),l&&ye(n,l),t}(wp.element.Component);t.default=Ne},function(e,t,n){"use strict";n.r(t);var o=n(0),a=n.n(o),l=n(3);function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function c(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var u=wp.components,m=u.Placeholder,d=u.Spinner,b=wp.data.withSelect,g=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),c(this,s(t).apply(this,arguments))}var n,o,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(t,e),n=t,(o=[{key:"render",value:function(){var e=this.props,t=e.alt,n=e.id,o=e.thumbnail,a=e.link,l=wp.element.createElement(m,null,wp.element.createElement(d,null));return o&&(l=wp.element.createElement("img",{src:o,alt:t,"data-id":n})),wp.element.createElement("div",{className:"posts-grid-post-image"},wp.element.createElement("a",{href:a},l))}}])&&i(n.prototype,o),a&&i(n,a),t}(wp.element.Component),h=b((function(e,t){var n=t.id,o=t.alt,a=t.size,l=n?e("core").getMedia(n):void 0,r=l?0<Object.keys(l.media_details.sizes).length?l.media_details.sizes[a].source_url:l.source_url:null;return l?{thumbnail:r,alt:l.alt_text||o}:{alt:o}}))(g),f=wp.i18n,y=f.__,w=f.sprintf,v=function(e){var t=e.className,n=e.attributes,o=e.posts,r=e.categoriesList,i=e.authors;return wp.element.createElement("div",{className:a()(t,"is-grid","posts-grid-columns-".concat(n.columns))},o.map((function(e){var t,o;return r&&(t=r.find((function(t){return t.id===e.categories[0]}))),i&&(o=i.find((function(t){return t.id===e.author}))),wp.element.createElement("div",{className:"posts-grid-post-blog posts-grid-post-plain"},wp.element.createElement("div",{className:"posts-grid-post"},0!==e.featured_media&&n.displayFeaturedImage&&wp.element.createElement(h,{id:e.featured_media,link:e.link,alt:e.title.rendered,size:n.imageSize}),wp.element.createElement("div",{className:"posts-grid-post-body"},n.template.map((function(a){return"category"===a&&void 0!==t&&n.displayCategory&&r?wp.element.createElement("h6",{class:"posts-grid-post-category"},t.name):"title"===a&&n.displayTitle?wp.element.createElement("h5",{className:"posts-grid-post-title"},wp.element.createElement("a",{href:e.link},Object(l.b)(e.title.rendered))):"meta"===a&&n.displayMeta&&(n.displayDate||n.displayAuthor)?wp.element.createElement("p",{className:"posts-grid-post-meta"},n.displayDate&&w(y("on %s"),Object(l.a)(e.date)),n.displayAuthor&&void 0!==o&&i&&w(y(" by %s"),o.name)):"description"===a&&0<n.excerptLength&&n.displayDescription?wp.element.createElement("p",{className:"posts-grid-post-description"},Object(l.b)(e.excerpt.rendered).substring(0,n.excerptLength)+"…"):void 0})))))})))},k=wp.i18n,E=k.__,C=k.sprintf,x=function(e){var t=e.className,n=e.attributes,o=e.posts,r=e.categoriesList,i=e.authors;return wp.element.createElement("div",{className:a()(t,"is-list")},o.map((function(e){var t,o;return r&&(t=r.find((function(t){return t.id===e.categories[0]}))),i&&(o=i.find((function(t){return t.id===e.author}))),wp.element.createElement("div",{className:"posts-grid-post-blog posts-grid-post-plain"},wp.element.createElement("div",{className:"posts-grid-post"},0!==e.featured_media&&n.displayFeaturedImage&&wp.element.createElement(h,{id:e.featured_media,link:e.link,alt:e.title.rendered,size:n.imageSize}),wp.element.createElement("div",{className:a()("posts-grid-post-body",{"is-full":!n.displayFeaturedImage})},n.template.map((function(a){return"category"===a&&void 0!==t&&n.displayCategory&&r?wp.element.createElement("h6",{class:"posts-grid-post-category"},t.name):"title"===a&&n.displayTitle?wp.element.createElement("h5",{className:"posts-grid-post-title"},wp.element.createElement("a",{href:e.link},Object(l.b)(e.title.rendered))):"meta"===a&&n.displayMeta&&(n.displayDate||n.displayAuthor)?wp.element.createElement("p",{className:"posts-grid-post-meta"},n.displayDate&&C(E("on %s"),Object(l.a)(e.date)),n.displayAuthor&&void 0!==o&&i&&C(E(" by %s"),o.name)):"description"===a&&0<n.excerptLength&&n.displayDescription?wp.element.createElement("p",{className:"posts-grid-post-description"},Object(l.b)(e.excerpt.rendered).substring(0,n.excerptLength)+"…"):void 0})))))})))};t.default=function(e){var t=e.className,n=e.attributes,o=e.posts,a=e.categoriesList,l=e.authors;return"grid"===n.style?wp.element.createElement(v,{className:t,attributes:n,posts:o,categoriesList:a,authors:l}):"list"===n.style?wp.element.createElement(x,{className:t,attributes:n,posts:o,categoriesList:a,authors:l}):void 0}},,function(e,t,n){"use strict";n.r(t);n(61),n(62),n(63),n(64)},function(e,t){var n=wp.i18n.__,o=wp.blocks.registerBlockType,a=wp.components,l=a.ExternalLink,r=a.Notice;o("themeisle-blocks/chart-pie",{title:n("Pie Chart"),description:n("Display a beautiful Pie Chart on your blog post with Pie Chart block."),icon:"chart-pie",category:"themeisle-blocks",keywords:[n("pie"),n("chart"),n("orbitfox")],attributes:{data:{type:"string",default:'[["Label","Data"],["Dogs",40],["Cats",30],["Racoons",20],["Monkeys",10]]'},options:{type:"object",default:{title:"Animals",is3D:!0}},id:{type:"string",default:""}},supports:{inserter:!1},edit:function(e){return wp.element.createElement("div",{className:e.className},wp.element.createElement(r,{status:"warning",isDismissible:!1},n("We have deprecated Pie Chart Block and it will be removed soon. For advance options and more charts, please install our Visualizer plugin:")," ",wp.element.createElement(l,{href:"http://wordpress.org/plugins/visualizer/"},n("Visualizer: Tables and Charts Manager for WordPress"))))},save:function(){return null}})},function(e,t,n){"use strict";n.r(t);n(66),n(67);var o=wp.i18n.__,a=wp.blocks.registerBlockType,l=(wp.blockEditor||wp.editor).RichText,r=wp.components.Notice;a("themeisle-blocks/notice",{title:o("Notice"),description:o("Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages."),icon:"info",category:"themeisle-blocks",keywords:["notice","info"],attributes:{content:{type:"array",source:"children",selector:"p.components-notice__content"}},supports:{align:["wide","full"],inserter:!1},styles:[{name:"sucess",label:o("Success"),isDefault:!0},{name:"info",label:o("Info")},{name:"warning",label:o("Warning")},{name:"error",label:o("Error")}],edit:function(e){var t="success";return e.attributes.className&&e.attributes.className.includes("is-style-info")?t="":e.attributes.className&&e.attributes.className.includes("is-style-warning")?t="warning":e.attributes.className&&e.attributes.className.includes("is-style-error")&&(t="error"),wp.element.createElement(r,{className:e.className,isDismissible:!1,status:t},wp.element.createElement(l,{tagName:"p",placeholder:o("Lorem ipsum dolor sit amet, consectetur adipiscing elit."),value:e.attributes.content,className:"components-notice__content",onChange:function(t){return e.setAttributes({content:t})},keepPlaceholderOnFocus:"true"}))},save:function(e){var t="success";return e.attributes.className&&e.attributes.className.includes("is-style-info")?t="":e.attributes.className&&e.attributes.className.includes("is-style-warning")?t="warning":e.attributes.className&&e.attributes.className.includes("is-style-error")&&(t="error"),wp.element.createElement(r,{className:"themeisle-block-notice",isDismissible:!1,status:t},wp.element.createElement(l.Content,{tagName:"p",className:"components-notice__content",value:e.attributes.content}))}})},function(e,t,n){"use strict";n.r(t);n(76),n(77);var o=wp.i18n.__,a=lodash.get,l=wp.blocks,r=l.registerBlockType,i=l.createBlock,c=wp.components,s=c.Toolbar,p=c.TextControl,u=wp.data.withSelect,m=wp.blockEditor||wp.editor,d=m.BlockControls,b=m.RichText;r("themeisle-blocks/tweetable",{title:o("Click To Tweet"),description:o("Click to Tweet allows visitors to easily share your content on Twitter."),icon:"twitter",category:"themeisle-blocks",keywords:[o("twitter"),o("tweet"),o("orbitfox")],attributes:{quote:{type:"string",source:"children",selector:"p",default:[]},permalink:{type:"url"},via:{type:"string"},buttonText:{type:"string",default:o("Click to Tweet")}},supports:{inserter:!1},transforms:{from:[{type:"block",blocks:["core/paragraph"],transform:function(e){var t=e.content;return i("themeisle-blocks/tweetable",{quote:t})}},{type:"block",blocks:["core/quote"],transform:function(e){var t=e.value,n=e.citation;return t&&t.length||n?(t||[]).map((function(e){return i("themeisle-blocks/tweetable",{quote:[a(e,"children.props.children","")]})})).concat(n?i("core/paragraph",{content:n}):[]):i("themeisle-blocks/tweetable")}},{type:"block",blocks:["core/pullquote"],transform:function(e){var t=e.value,n=e.citation;return t&&t.length||n?(t||[]).map((function(e){return i("themeisle-blocks/tweetable",{quote:[a(e,"children.props.children","")]})})).concat(n?i("core/paragraph",{quote:n}):[]):i("themeisle-blocks/tweetable")}}],to:[{type:"block",blocks:["core/paragraph"],transform:function(e){e.content;var t=e.quote;return t&&t.length?(t||[]).map((function(e){return i("core/paragraph",{content:t})})):i("core/paragraph")}},{type:"block",blocks:["core/quote"],transform:function(e){var t=e.quote;return i("core/quote",{value:[{children:wp.element.createElement("p",{key:"1"},t)}]})}},{type:"block",blocks:["core/pullquote"],transform:function(e){var t=e.quote;return i("core/pullquote",{value:[{children:wp.element.createElement("p",{key:"1"},t)}]})}}]},edit:u((function(e,t){var n=e("core/editor").getPermalink;return void 0===t.attributes.permalink&&t.setAttributes({permalink:n()}),{permalink:n(),props:t}}))((function(e){var t=e.props,n=e.className;return[wp.element.createElement(d,{key:"controls"},wp.element.createElement(s,null,wp.element.createElement("i",{className:"fas fa-at tweetable-icon"}),wp.element.createElement(p,{type:"text",placeholder:"Username",className:"tweetable-controls",value:t.attributes.via,onChange:function(e){t.setAttributes({via:e})}}))),wp.element.createElement("blockquote",{className:n},wp.element.createElement(b,{tagName:"p",multiline:"false",placeholder:o("What should we tweet?"),value:t.attributes.quote,formattingControls:[],onChange:function(e){t.setAttributes({quote:e})},keepPlaceholderOnFocus:!0}),wp.element.createElement(b,{tagName:"span",placeholder:o("Tweet this!"),className:"tweetbutton",value:t.attributes.buttonText?t.attributes.buttonText:o("Tweet this!"),formattingControls:[],onChange:function(e){t.setAttributes({buttonText:e})},keepPlaceholderOnFocus:!0}))]})),save:function(e){var t=e.attributes.via?"&via=".concat(e.attributes.via):"",n="http://twitter.com/share?&text=".concat(encodeURIComponent(e.attributes.quote),"&url=").concat(e.attributes.permalink).concat(t);return wp.element.createElement("blockquote",null,wp.element.createElement(b.Content,{tagName:"p",value:e.attributes.quote}),wp.element.createElement(b.Content,{tagName:"a",className:"tweetbutton",href:n,value:e.attributes.buttonText,target:"_blank"}))}})},,,,function(e,t,n){"use strict";n.r(t);var o=n(2),a=wp.i18n.__,l=wp.blocks.registerBlockType,r=(wp.blockEditor||wp.editor).InnerBlocks;l("themeisle-blocks/pricing",{title:a("Pricing"),description:a("Pricing tables are a critical part in showcasing your services, prices and overall offerings."),icon:o.o,category:"themeisle-blocks",keywords:["pricing","table","money"],edit:function(e){var t=[["themeisle-blocks/advanced-heading",{content:a("Basic"),align:"center",tag:"h5"}],["themeisle-blocks/advanced-heading",{content:a("$9.99"),align:"center",tag:"h3",fontSize:36,fontFamily:"Roboto Slab",fontVariant:"normal"}],["themeisle-blocks/advanced-heading",{content:a("Per Month"),align:"center",tag:"p",fontSize:12,marginBottom:0}],["core/separator",{}],["themeisle-blocks/advanced-heading",{content:a("First Feature"),align:"center",tag:"p",fontSize:12,marginBottom:0}],["core/separator",{}],["themeisle-blocks/advanced-heading",{content:a("Second Feature"),align:"center",tag:"p",fontSize:12,marginBottom:0}],["core/separator",{}],["themeisle-blocks/advanced-heading",{content:a("Last Feature"),align:"center",tag:"p",fontSize:12,marginBottom:0}],["core/separator",{}],["themeisle-blocks/button-group",{align:"center",buttons:1,data:[{text:a("Buy Now"),newTab:!1,color:"#ffffff",background:"#32373c",hoverColor:"#ffffff",hoverBackground:"#444a50",borderSize:0,borderRadius:3,boxShadow:!1,boxShadowColorOpacity:50,boxShadowBlur:5,boxShadowSpread:1,boxShadowHorizontal:0,boxShadowVertical:0,hoverBoxShadowColorOpacity:50,hoverBoxShadowBlur:5,hoverBoxShadowSpread:1,hoverBoxShadowHorizontal:0,hoverBoxShadowVertical:0,iconType:"none",paddingTopBottom:12,paddingLeftRight:24}]}]];return[wp.element.createElement("div",{className:e.className},wp.element.createElement(r,{template:t}))]},save:function(e){return wp.element.createElement("div",{className:e.className},wp.element.createElement(r.Content,null))}})},function(e,t,n){"use strict";n.r(t);var o=n(2),a=wp.i18n.__,l=wp.blocks.registerBlockType,r=(wp.blockEditor||wp.editor).InnerBlocks;l("themeisle-blocks/service",{title:a("Service"),description:a("Use this Service block to showcase services your website offers."),icon:o.p,category:"themeisle-blocks",keywords:["services","icon","features"],edit:function(e){var t=[["themeisle-blocks/font-awesome-icons",{fontSize:62,prefix:"fab",icon:"angellist"}],["themeisle-blocks/advanced-heading",{content:a("Basic"),align:"center",tag:"h4",marginBottom:20}],["themeisle-blocks/advanced-heading",{content:a("Lorem ipsum dolor sit amet elit do, consectetur adipiscing, sed eiusmod tempor incididunt ut labore et dolore magna aliqua."),align:"center",color:"#999999",tag:"p",fontSize:14,marginBottom:20}],["themeisle-blocks/button-group",{align:"center",buttons:1,data:[{text:a("Know More"),newTab:!1,color:"#ffffff",background:"#32373c",hoverColor:"#ffffff",hoverBackground:"#444a50",borderSize:0,borderRadius:3,boxShadow:!1,boxShadowColorOpacity:50,boxShadowBlur:5,boxShadowSpread:1,boxShadowHorizontal:0,boxShadowVertical:0,hoverBoxShadowColorOpacity:50,hoverBoxShadowBlur:5,hoverBoxShadowSpread:1,hoverBoxShadowHorizontal:0,hoverBoxShadowVertical:0,iconType:"none",paddingTopBottom:12,paddingLeftRight:24}]}]];return[wp.element.createElement("div",{className:e.className},wp.element.createElement(r,{template:t}))]},save:function(e){return wp.element.createElement("div",{className:e.className},wp.element.createElement(r.Content,null))}})},function(e,t,n){"use strict";n.r(t);var o=n(2),a=wp.i18n.__,l=wp.blocks.registerBlockType,r=(wp.blockEditor||wp.editor).InnerBlocks;l("themeisle-blocks/testimonials",{title:a("Testimonials"),description:a("Display kudos from customers and clients and display them on your website."),icon:o.r,category:"themeisle-blocks",keywords:["testimonials","quotes","business"],edit:function(e){var t=[["core/image",{align:"center"}],["themeisle-blocks/advanced-heading",{content:a("John Doe"),align:"center",fontSize:24,tag:"h3",marginTop:25,marginBottom:10,marginTopTablet:25,marginTopMobile:25}],["themeisle-blocks/advanced-heading",{content:a("Jedi Master"),align:"center",fontSize:14,tag:"h6",marginTop:10,marginBottom:10}],["themeisle-blocks/advanced-heading",{content:a('"What is the point of being alive if you don’t at least try to do something remarkable?"'),align:"center",color:"#999999",tag:"p",fontSize:14,marginTop:10,marginBottom:20}]];return[wp.element.createElement("div",{className:e.className},wp.element.createElement(r,{template:t}))]},save:function(e){return wp.element.createElement("div",{className:e.className},wp.element.createElement(r.Content,null))}})},function(e,t,n){"use strict";n.r(t);n(68),n(69);var o=n(0),a=n.n(o),l=wp.i18n.__,r=wp.blocks.registerBlockType,i=wp.blockEditor||wp.editor,c=i.ColorPalette,s=i.InnerBlocks,p=i.InspectorControls,u=i.MediaPlaceholder,m=wp.components,d=m.Button,b=m.ToggleControl,g=m.SelectControl,h=m.PanelBody,f=wp.element.Fragment;r("themeisle-blocks/pricing-table",{title:l("Pricing Table"),description:l("Pricing tables are a critical part in showcasing your services, prices and overall offerings."),icon:"slides",category:"themeisle-blocks",keywords:["pricing","table","orbitfox"],attributes:{backgroundType:{type:"string",default:"color"},backgroundColor:{type:"string",default:"#ffffff"},backgroundImageID:{type:"string"},backgroundImageURL:{type:"string"},backgroundDimmed:{type:"boolean",default:!0},backgroundParallax:{type:"boolean",default:!1}},supports:{align:["wide","full"],inserter:!1},edit:function(e){var t={background:"color"===e.attributes.backgroundType?e.attributes.backgroundColor:"url(' ".concat(e.attributes.backgroundImageURL," ')")};return[wp.element.createElement(p,null,wp.element.createElement(h,{title:l("Background")},wp.element.createElement(g,{label:l("Background Type"),value:e.attributes.backgroundType,options:[{label:"Color",value:"color"},{label:"Image",value:"image"}],onChange:function(t){e.setAttributes({backgroundType:t})}}),"color"===e.attributes.backgroundType?wp.element.createElement(c,{label:l("Background Color"),value:e.attributes.backgroundColor,onChange:function(t){e.setAttributes({backgroundColor:t})}}):e.attributes.backgroundImageURL?wp.element.createElement(f,null,wp.element.createElement(b,{label:l("Dimmed Background"),checked:e.attributes.backgroundDimmed,onChange:function(){e.setAttributes({backgroundDimmed:!e.attributes.backgroundDimmed})}}),wp.element.createElement(b,{label:l("Parallax Background"),checked:e.attributes.backgroundParallax,onChange:function(){e.setAttributes({backgroundParallax:!e.attributes.backgroundParallax})}}),wp.element.createElement("img",{src:e.attributes.backgroundImageURL}),wp.element.createElement(d,{isLarge:!0,onClick:function(){e.setAttributes({backgroundImageID:"",backgroundImageURL:""})},style:{marginTop:"10px"}},l("Change or Remove Image"))):wp.element.createElement(u,{icon:"format-image",labels:{title:l("Background Image"),name:l("an image")},value:e.attributes.backgroundImageID,onSelect:function(t){e.setAttributes({backgroundImageID:t.id,backgroundImageURL:t.url})},accept:"image/*",allowedTypes:["image"]}))),wp.element.createElement("div",{className:a()(e.className,{"is-dim":"image"===e.attributes.backgroundType&&e.attributes.backgroundDimmed},{"is-parallax":"image"===e.attributes.backgroundType&&e.attributes.backgroundParallax}),style:t},wp.element.createElement(s,{allowedBlocks:["themeisle-blocks/pricing-block"],template:[["themeisle-blocks/pricing-block"],["themeisle-blocks/pricing-block"],["themeisle-blocks/pricing-block"]]}))]},save:function(e){var t={background:"color"===e.attributes.backgroundType?e.attributes.backgroundColor:"url(' ".concat(e.attributes.backgroundImageURL," ')")};return wp.element.createElement("div",{className:a()("wp-block-themeisle-blocks-pricing-table",{"is-dim":"image"===e.attributes.backgroundType&&e.attributes.backgroundDimmed},{"is-parallax":"image"===e.attributes.backgroundType&&e.attributes.backgroundParallax}),style:t},wp.element.createElement(s.Content,null))}});var y=wp.i18n.__,w=wp.blocks.registerBlockType,v=wp.blockEditor||wp.editor,k=v.InnerBlocks,E=v.BlockControls,C=v.InspectorControls,x=v.PanelColorSettings,T=wp.components,S=T.Dashicon,B=T.Toolbar,O=T.Button,M=T.Tooltip;w("themeisle-blocks/pricing-block",{title:y("Pricing Block"),description:y("Pricing tables are a critical part in showcasing your services, prices and overall offerings."),parent:["themeisle-blocks/pricing-table"],icon:"slides",category:"themeisle-blocks",keywords:["pricing","table","orbitfox"],attributes:{featured:{type:"boolean",default:!1},backgroundColor:{type:"string",default:"#ffffff"}},supports:{inserter:!1},edit:function(e){var t=[["core/heading",{content:y("Basic"),className:"pricing-title",align:"center",level:5}],["core/paragraph",{content:y("$9.99"),align:"center",customFontSize:36}],["core/paragraph",{content:y("Per Month"),align:"center",customFontSize:12}],["core/separator",{}],["core/paragraph",{content:y("First Feature"),align:"center",fontSize:"small"}],["core/separator",{}],["core/paragraph",{content:y("Second Feature"),align:"center",fontSize:"small"}],["core/separator",{}],["core/paragraph",{content:y("Last Feature"),align:"center",fontSize:"small"}],["core/separator",{}],["core/button",{text:y("Buy Now"),className:"pricing-button",align:"center"}]];return[wp.element.createElement(E,{key:"toolbar-controls"},wp.element.createElement(B,{className:"components-toolbar"},wp.element.createElement(M,{text:y("Feature Table")},wp.element.createElement(O,{className:a()("components-icon-button","components-toolbar__control",{"is-active":e.attributes.featured}),onClick:function(){e.setAttributes({featured:!e.attributes.featured})}},wp.element.createElement(S,{icon:"star-empty"}))))),wp.element.createElement(C,null,wp.element.createElement(x,{title:y("Color Settings"),initialOpen:!0,colorSettings:[{value:e.attributes.backgroundColor,onChange:function(t){e.setAttributes({backgroundColor:t})},label:y("Background Color")}]})),wp.element.createElement("div",{className:a()("wp-block-column",{raised:e.attributes.featured}),style:{backgroundColor:e.attributes.backgroundColor}},wp.element.createElement(k,{template:t}))]},save:function(e){return wp.element.createElement("div",{className:a()("wp-block-column",{raised:e.attributes.featured}),style:{backgroundColor:e.attributes.backgroundColor}},wp.element.createElement(k.Content,null))}})},function(e,t,n){"use strict";n.r(t);n(73),n(74);var o=n(0),a=n.n(o),l=wp.i18n.__,r=wp.blocks.registerBlockType,i=wp.blockEditor||wp.editor,c=i.ColorPalette,s=i.InnerBlocks,p=i.InspectorControls,u=i.MediaPlaceholder,m=wp.components,d=m.Button,b=m.ToggleControl,g=m.SelectControl,h=m.PanelBody,f=wp.element.Fragment;r("themeisle-blocks/testimonials-area",{title:l("Testimonials Area"),description:l("Display kudos from customers and clients and display them on your website."),icon:"testimonial",category:"themeisle-blocks",keywords:["testimonials","clients","quotes"],attributes:{backgroundType:{type:"string",default:"color"},backgroundColor:{type:"string",default:"#ffffff"},backgroundImageID:{type:"string"},backgroundImageURL:{type:"string"},backgroundDimmed:{type:"boolean",default:!0},backgroundParallax:{type:"boolean",default:!1}},supports:{align:["wide","full"],inserter:!1},edit:function(e){var t={background:"color"===e.attributes.backgroundType?e.attributes.backgroundColor:"url(' ".concat(e.attributes.backgroundImageURL," ')")};return[wp.element.createElement(p,null,wp.element.createElement(h,{title:l("Background")},wp.element.createElement(g,{label:l("Background Type"),value:e.attributes.backgroundType,options:[{label:"Color",value:"color"},{label:"Image",value:"image"}],onChange:function(t){e.setAttributes({backgroundType:t})}}),"color"===e.attributes.backgroundType?wp.element.createElement(c,{label:l("Background Color"),value:e.attributes.backgroundColor,onChange:function(t){e.setAttributes({backgroundColor:t})}}):e.attributes.backgroundImageURL?wp.element.createElement(f,null,wp.element.createElement(b,{label:l("Dimmed Background"),checked:e.attributes.backgroundDimmed,onChange:function(){e.setAttributes({backgroundDimmed:!e.attributes.backgroundDimmed})}}),wp.element.createElement(b,{label:l("Parallax Background"),checked:e.attributes.backgroundParallax,onChange:function(){e.setAttributes({backgroundParallax:!e.attributes.backgroundParallax})}}),wp.element.createElement("img",{src:e.attributes.backgroundImageURL}),wp.element.createElement(d,{isLarge:!0,onClick:function(){e.setAttributes({backgroundImageID:"",backgroundImageURL:""})},style:{marginTop:"10px"}},l("Change or Remove Image"))):wp.element.createElement(u,{icon:"format-image",labels:{title:l("Background Image"),name:l("an image")},value:e.attributes.backgroundImageID,onSelect:function(t){e.setAttributes({backgroundImageID:t.id,backgroundImageURL:t.url})},accept:"image/*",allowedTypes:["image"]}))),wp.element.createElement("div",{className:a()(e.className,{"is-dim":"image"===e.attributes.backgroundType&&e.attributes.backgroundDimmed},{"is-parallax":"image"===e.attributes.backgroundType&&e.attributes.backgroundParallax}),style:t},wp.element.createElement(s,{allowedBlocks:["themeisle-blocks/testimonials-block"],template:[["themeisle-blocks/testimonials-block"],["themeisle-blocks/testimonials-block"],["themeisle-blocks/testimonials-block"]]}))]},save:function(e){var t={background:"color"===e.attributes.backgroundType?e.attributes.backgroundColor:"url(' ".concat(e.attributes.backgroundImageURL," ')")};return wp.element.createElement("div",{className:a()("wp-block-themeisle-blocks-testimonials-area",{"is-dim":"image"===e.attributes.backgroundType&&e.attributes.backgroundDimmed},{"is-parallax":"image"===e.attributes.backgroundType&&e.attributes.backgroundParallax}),style:t},wp.element.createElement(s.Content,null))}});n(75)},function(e,t,n){"use strict";n.r(t);n(70),n(71);var o=n(0),a=n.n(o),l=wp.i18n.__,r=wp.blocks.registerBlockType,i=wp.blockEditor||wp.editor,c=i.ColorPalette,s=i.InnerBlocks,p=i.InspectorControls,u=i.MediaPlaceholder,m=wp.components,d=m.Button,b=m.ToggleControl,g=m.SelectControl,h=m.PanelBody,f=wp.element.Fragment;r("themeisle-blocks/services",{title:l("Our Services"),description:l("Use this Services table to showcase services your website offers."),icon:"columns",category:"themeisle-blocks",keywords:["services","features","orbitfox"],attributes:{backgroundType:{type:"string",default:"color"},backgroundColor:{type:"string",default:"#ffffff"},backgroundImageID:{type:"string"},backgroundImageURL:{type:"string"},backgroundDimmed:{type:"boolean",default:!0},backgroundParallax:{type:"boolean",default:!1}},supports:{align:["wide","full"],inserter:!1},edit:function(e){var t={background:"color"===e.attributes.backgroundType?e.attributes.backgroundColor:"url(' ".concat(e.attributes.backgroundImageURL," ')")};return[wp.element.createElement(p,null,wp.element.createElement(h,{title:l("Background")},wp.element.createElement(g,{label:l("Background Type"),value:e.attributes.backgroundType,options:[{label:"Color",value:"color"},{label:"Image",value:"image"}],onChange:function(t){e.setAttributes({backgroundType:t})}}),"color"===e.attributes.backgroundType?wp.element.createElement(c,{label:l("Background Color"),value:e.attributes.backgroundColor,onChange:function(t){e.setAttributes({backgroundColor:t})}}):e.attributes.backgroundImageURL?wp.element.createElement(f,null,wp.element.createElement(b,{label:l("Dimmed Background"),checked:e.attributes.backgroundDimmed,onChange:function(){e.setAttributes({backgroundDimmed:!e.attributes.backgroundDimmed})}}),wp.element.createElement(b,{label:l("Parallax Background"),checked:e.attributes.backgroundParallax,onChange:function(){e.setAttributes({backgroundParallax:!e.attributes.backgroundParallax})}}),wp.element.createElement("img",{src:e.attributes.backgroundImageURL}),wp.element.createElement(d,{isLarge:!0,onClick:function(){e.setAttributes({backgroundImageID:"",backgroundImageURL:""})},style:{marginTop:"10px"}},l("Change or Remove Image"))):wp.element.createElement(u,{icon:"format-image",labels:{title:l("Background Image"),name:l("an image")},value:e.attributes.backgroundImageID,onSelect:function(t){e.setAttributes({backgroundImageID:t.id,backgroundImageURL:t.url})},accept:"image/*",allowedTypes:["image"]}))),wp.element.createElement("div",{className:a()(e.className,{"is-dim":"image"===e.attributes.backgroundType&&e.attributes.backgroundDimmed},{"is-parallax":"image"===e.attributes.backgroundType&&e.attributes.backgroundParallax}),style:t},wp.element.createElement(s,{allowedBlocks:["themeisle-blocks/service-block"],template:[["themeisle-blocks/service-block"],["themeisle-blocks/service-block"],["themeisle-blocks/service-block"]]}))]},save:function(e){var t={background:"color"===e.attributes.backgroundType?e.attributes.backgroundColor:"url(' ".concat(e.attributes.backgroundImageURL," ')")};return wp.element.createElement("div",{className:a()("wp-block-themeisle-blocks-services",{"is-dim":"image"===e.attributes.backgroundType&&e.attributes.backgroundDimmed},{"is-parallax":"image"===e.attributes.backgroundType&&e.attributes.backgroundParallax}),style:t},wp.element.createElement(s.Content,null))}});n(72)},,,function(e,t,n){n(41),n(116),n(45),n(48),n(115),n(25),n(26),n(65),n(27),n(35),n(37),n(36),n(28),n(114),n(111),n(85),n(23),n(112),n(11),n(20),n(22),n(9),n(110),n(113),n(107),n(32),n(33),e.exports=n(34)},function(e,t,n){n.p=window.themeisleGutenberg.packagePath},,,function(e,t){function n(e,t,n,o,a,l,r){try{var i=e[l](r),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(o,a)}function o(e){return function(){var t=this,o=arguments;return new Promise((function(a,l){var r=e.apply(t,o);function i(e){n(r,a,l,i,c,"next",e)}function c(e){n(r,a,l,i,c,"throw",e)}i(void 0)}))}}var a=lodash.debounce,l=wp.apiFetch,r=wp.data,i=r.select,c=r.subscribe,s=a(o(regeneratorRuntime.mark((function e(){var t,n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i("core/editor"),n=t.getCurrentPostId,o=n(),e.next=4,l({path:"themeisle-gutenberg-blocks/v1/save_post_meta/".concat(o),method:"POST"});case 4:case"end":return e.stop()}}),e)}))),1e3),p={};c((function(){var e=i("core/editor"),t=e.isCurrentPostPublished,n=e.isSavingPost,o=e.isPublishingPost,a=e.isAutosavingPost,r=e.__experimentalGetReusableBlocks,c=e.__experimentalIsSavingReusableBlock,u=a(),m=o(),d=n(),b=r(),g=t();b.map((function(e){if(e){var t=(n=e.id,c(n));t&&!e.isTemporary&&(p[e.id]={id:e.id,isSaving:!0}),t||e.isTemporary||!p[e.id]||e.id===p[e.id].id&&!t&&p[e.id].isSaving&&(p[e.id].isSaving=!1,l({path:"themeisle-gutenberg-blocks/v1/save_block_meta/".concat(e.id),method:"POST"}))}var n})),!(m||g&&d)||u||status||s()}))},function(e,t,n){"use strict";n.r(t);n(46),n(47);var o=n(2),a=wp.i18n.__,l=wp.blocks.registerBlockType,r=wp.compose,i=r.compose,c=r.withState,s=wp.components.Spinner,p=wp.data.withSelect;l("themeisle-blocks/about-author",{title:a("About Author"),description:a("About Author block is the easiest way to add a author bio below your posts."),icon:o.a,category:"themeisle-blocks",keywords:["about","author","profile"],attributes:{id:{type:"number"}},supports:{html:!1},edit:i([p((function(e,t){return{postAuthor:e("core/editor").getEditedPostAttribute("author"),authors:e("core").getAuthors(),props:t}})),c({status:0,authorDetails:{}})])((function(e){var t=e.postAuthor,n=e.authors,o=e.status,l=e.authorDetails,r=e.setState,i=e.props,c=e.className;return 0===o&&t&&n&&n.find((function(e){if(e.id===t)return t!==i.attributes.id&&i.setAttributes({id:e.id}),r({authorDetails:e,status:1}),e.id===t})),1===o&&t&&n?wp.element.createElement("section",{className:c},wp.element.createElement("div",{className:"wp-block-themeisle-author-image"},wp.element.createElement("img",{className:"author-image",src:l.avatar_urls[96],alt:l.name})),wp.element.createElement("div",{className:"wp-block-themeisle-author-data"},wp.element.createElement("h4",null,l.name),wp.element.createElement("p",null,l.description))):wp.element.createElement("div",{key:"loading",className:"wp-block-embed is-loading"},wp.element.createElement(s,null),wp.element.createElement("p",null,a("Loading…")))})),save:function(){return null}})},,function(e,t,n){},function(e,t,n){"use strict";n.r(t);var o=n(0),a=n.n(o),l=n(5),r=n.n(l),i=n(16),c=n.n(i),s=(n(51),n(52),n(53),n(2)),p=n(12),u=n(7),m=n(6),d=n(4);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?b(n,!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=wp.i18n.__,y=wp.blocks,w=y.createBlock,v=y.registerBlockType,k=wp.components,E=k.Button,C=k.Dashicon,x=k.Dropdown,T=k.DropdownMenu,S=k.IconButton,B=k.PanelBody,O=k.RangeControl,M=k.SVG,L=k.ToggleControl,N=k.Toolbar,A=wp.compose,P=A.compose,_=A.withState,R=wp.data.withSelect,I=wp.blockEditor||wp.editor,z=I.AlignmentToolbar,V=I.BlockControls,H=I.ColorPalette,j=I.InspectorControls,F=I.RichText,D=wp.element.Fragment,G=wp.viewport.withViewportMatch;v("themeisle-blocks/advanced-heading",{title:f("Advanced Heading"),description:f("Advanced Heading gives a spin to editor's Heading block with much needed customization options."),icon:s.h,category:"themeisle-blocks",keywords:[f("heading"),f("title"),f("advanced heading")],attributes:{id:{type:"string"},content:{type:"string",source:"html",selector:"h1,h2,h3,h4,h5,h6,div,p,span",default:""},tag:{default:"h2",type:"string"},align:{type:"string"},alignTablet:{type:"string"},alignMobile:{type:"string"},headingColor:{type:"string",default:"#000000"},highlightColor:{type:"string"},highlightBackground:{type:"string"},fontSize:{type:"number"},fontSizeTablet:{type:"number"},fontSizeMobile:{type:"number"},fontFamily:{type:"string"},fontVariant:{type:"string"},fontStyle:{type:"string",default:"normal"},textTransform:{type:"string",default:"none"},lineHeight:{type:"number"},letterSpacing:{type:"number"},textShadow:{type:"boolean",default:!1},textShadowColor:{type:"string",default:"#000000"},textShadowColorOpacity:{type:"number",default:50},textShadowBlur:{type:"number",default:5},textShadowHorizontal:{type:"number",default:0},textShadowVertical:{type:"number",default:0},paddingType:{type:"string",default:"linked"},paddingTypeTablet:{type:"string",default:"linked"},paddingTypeMobile:{type:"string",default:"linked"},padding:{type:"number",default:0},paddingTablet:{type:"number",default:0},paddingMobile:{type:"number",default:0},paddingTop:{type:"number",default:0},paddingTopTablet:{type:"number",default:0},paddingTopMobile:{type:"number",default:0},paddingRight:{type:"number",default:0},paddingRightTablet:{type:"number",default:0},paddingRightMobile:{type:"number",default:0},paddingBottom:{type:"number",default:0},paddingBottomTablet:{type:"number",default:0},paddingBottomMobile:{type:"number",default:0},paddingLeft:{type:"number",default:0},paddingLeftTablet:{type:"number",default:0},paddingLeftMobile:{type:"number",default:0},marginType:{type:"string",default:"unlinked"},marginTypeTablet:{type:"string",default:"unlinked"},marginTypeMobile:{type:"string",default:"unlinked"},margin:{type:"number",default:0},marginTablet:{type:"number",default:0},marginMobile:{type:"number",default:0},marginTop:{type:"number",default:0},marginTopTablet:{type:"number",default:0},marginTopMobile:{type:"number",default:0},marginBottom:{type:"number",default:25},marginBottomTablet:{type:"number",default:25},marginBottomMobile:{type:"number",default:20}},transforms:{from:[{type:"block",blocks:["core/heading"],transform:function(e){var t=e.content;return w("themeisle-blocks/advanced-heading",{content:t})}},{type:"block",blocks:["core/paragraph"],transform:function(e){var t=e.content;return w("themeisle-blocks/advanced-heading",{content:t})}}],to:[{type:"block",blocks:["core/paragraph"],transform:function(e){var t=e.content;return w("core/paragraph",{content:t})}}]},edit:P([R((function(e,t){return{props:t}})),_({tab:"style",fontSizeViewType:"desktop",alignmentViewType:"desktop",paddingViewType:"desktop",marginViewType:"desktop"}),G({isLarger:">= large",isLarge:"<= large",isSmall:">= small",isSmaller:"<= small"})])((function(e){var t=e.tab,n=e.fontSizeViewType,o=e.alignmentViewType,l=e.paddingViewType,i=e.marginViewType,s=e.setState,b=e.isLarger,y=e.isLarge,v=e.isSmall,k=e.isSmaller,A=e.props,P=A.attributes,_=P.id,R=P.content,I=P.tag,G=P.align,W=P.alignTablet,Z=P.alignMobile,q=P.headingColor,U=P.highlightColor,K=P.highlightBackground,Q=P.fontSize,J=P.fontSizeTablet,Y=P.fontSizeMobile,$=P.fontFamily,X=P.fontVariant,ee=P.fontStyle,te=P.textTransform,ne=P.lineHeight,oe=P.letterSpacing,ae=P.textShadow,le=P.textShadowColor,re=P.textShadowColorOpacity,ie=P.textShadowBlur,ce=P.textShadowHorizontal,se=P.textShadowVertical,pe=P.paddingType,ue=P.paddingTypeTablet,me=P.paddingTypeMobile,de=P.padding,be=P.paddingTablet,ge=P.paddingMobile,he=P.paddingTop,fe=P.paddingTopTablet,ye=P.paddingTopMobile,we=P.paddingRight,ve=P.paddingRightTablet,ke=P.paddingRightMobile,Ee=P.paddingBottom,Ce=P.paddingBottomTablet,xe=P.paddingBottomMobile,Te=P.paddingLeft,Se=P.paddingLeftTablet,Be=P.paddingLeftMobile,Oe=P.marginType,Me=P.marginTypeTablet,Le=P.marginTypeMobile,Ne=P.margin,Ae=P.marginTablet,Pe=P.marginMobile,_e=P.marginTop,Re=P.marginTopTablet,Ie=P.marginTopMobile,ze=P.marginBottom,Ve=P.marginBottomTablet,He=P.marginBottomMobile;if(void 0===_||_.substr(_.length-8)!==A.clientId.substr(0,8)){var je="wp-block-themeisle-blocks-advanced-heading-".concat(A.clientId.substr(0,8));A.setAttributes({id:je})}var Fe=b&&!y&&v&&!k,De=!b&&!y&&v&&!k,Ge=!(b||y||v||k),We=function(e){A.setAttributes({tag:e})},Ze=function(e){return"h1"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{style:{fontSize:"12px"},x:"0",y:"15"},"H1")):"h2"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{style:{fontSize:"12px"},x:"0",y:"15"},"H2")):"h3"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{style:{fontSize:"12px"},x:"0",y:"15"},"H3")):"h4"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{style:{fontSize:"12px"},x:"0",y:"15"},"H4")):"h5"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{style:{fontSize:"12px"},x:"0",y:"15"},"H5")):"h6"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{style:{fontSize:"12px"},x:"0",y:"15"},"H6")):"div"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{style:{fontSize:"12px"},x:"0",y:"15"},"DIV")):"p"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{x:"0",y:"15"},"P")):"span"===e?wp.element.createElement(M,{style:{width:"25px",height:"20px"}},wp.element.createElement("text",{style:{fontSize:"12px"},x:"0",y:"15"},"SPAN")):void 0},qe=function(){var e;return"desktop"===n&&(e=Q),"tablet"===n&&(e=J),"mobile"===n&&(e=Y),e};qe=qe();var Ue=function(){var e;return"desktop"===o&&(e=G),"tablet"===o&&(e=W),"mobile"===o&&(e=Z),e};Ue=Ue();var Ke=function(e){A.setAttributes({fontFamily:e,fontVariant:"normal",fontStyle:"normal"})},Qe=function(e){A.setAttributes({fontVariant:e})},Je=function(e){A.setAttributes({fontStyle:e})},Ye=function(e){A.setAttributes({textTransform:e})},$e=function(e){A.setAttributes({lineHeight:e})},Xe=function(e){A.setAttributes({letterSpacing:e})},et=function(e){var t;return"top"==e&&("desktop"===l&&(t="linked"===pe?de:he),"tablet"===l&&(t="linked"===ue?be:fe),"mobile"===l&&(t="linked"===me?ge:ye)),"right"==e&&("desktop"===l&&(t="linked"===pe?de:we),"tablet"===l&&(t="linked"===ue?be:ve),"mobile"===l&&(t="linked"===me?ge:ke)),"bottom"==e&&("desktop"===l&&(t="linked"===pe?de:Ee),"tablet"===l&&(t="linked"===ue?be:Ce),"mobile"===l&&(t="linked"===me?ge:xe)),"left"==e&&("desktop"===l&&(t="linked"===pe?de:Te),"tablet"===l&&(t="linked"===ue?be:Se),"mobile"===l&&(t="linked"===me?ge:Be)),t},tt={top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"},nt={top:"paddingTopTablet",right:"paddingRightTablet",bottom:"paddingBottomTablet",left:"paddingLeftTablet"},ot={top:"paddingTopMobile",right:"paddingRightMobile",bottom:"paddingBottomMobile",left:"paddingLeftMobile"},at=function(){var e;return"desktop"===l&&(e=pe),"tablet"===l&&(e=ue),"mobile"===l&&(e=me),e};at=at();var lt,rt,it,ct=function(e){var t;return"top"==e&&("desktop"===i&&(t="linked"===Oe?Ne:_e),"tablet"===i&&(t="linked"===Me?Ae:Re),"mobile"===i&&(t="linked"===Le?Pe:Ie)),"bottom"==e&&("desktop"===i&&(t="linked"===Oe?Ne:ze),"tablet"===i&&(t="linked"===Me?Ae:Ve),"mobile"===i&&(t="linked"===Le?Pe:He)),t},st={top:"marginTop",bottom:"marginBottom"},pt={top:"marginTopTablet",bottom:"marginBottomTablet"},ut={top:"marginTopMobile",bottom:"marginBottomMobile"},mt=function(){var e;return"desktop"===i&&(e=Oe),"tablet"===i&&(e=Me),"mobile"===i&&(e=Le),e};mt=mt(),Fe&&(lt={fontSize:"".concat(Q,"px")},rt={textAlign:G,paddingTop:"".concat("linked"===pe?de:he,"px"),paddingRight:"".concat("linked"===pe?de:we,"px"),paddingBottom:"".concat("linked"===pe?de:Ee,"px"),paddingLeft:"".concat("linked"===pe?de:Te,"px"),marginTop:"".concat("linked"===Oe?Ne:_e,"px"),marginBottom:"".concat("linked"===Oe?Ne:ze,"px")}),De&&(lt={fontSize:"".concat(J,"px")},rt={textAlign:W,paddingTop:"".concat("linked"===ue?be:fe,"px"),paddingRight:"".concat("linked"===ue?be:ve,"px"),paddingBottom:"".concat("linked"===ue?be:Ce,"px"),paddingLeft:"".concat("linked"===ue?be:Se,"px"),marginTop:"".concat("linked"===Me?Ae:Re,"px"),marginBottom:"".concat("linked"===Me?Ae:Ve,"px")}),Ge&&(lt={fontSize:"".concat(Y,"px")},rt={textAlign:Z,paddingTop:"".concat("linked"===me?ge:ye,"px"),paddingRight:"".concat("linked"===me?ge:ke,"px"),paddingBottom:"".concat("linked"===me?ge:xe,"px"),paddingLeft:"".concat("linked"===me?ge:Be,"px"),marginTop:"".concat("linked"===Le?Pe:Ie,"px"),marginBottom:"".concat("linked"===Le?Pe:He,"px")}),ae&&(it={textShadow:"".concat(ce,"px ").concat(se,"px ").concat(ie,"px ").concat(r()(le||"#000000",re))});var dt=g({color:q},lt,{fontFamily:$||"inherit",fontWeight:"regular"===X?"normal":X,fontStyle:ee,textTransform:te,lineHeight:ne&&"".concat(ne,"px"),letterSpacing:oe&&"".concat(oe,"px")},rt,{},it);return wp.element.createElement(D,null,wp.element.createElement("style",null,".".concat(_," mark {\n\t\t\t\t\t\tcolor: ").concat(U,";\n\t\t\t\t\t\tbackground: ").concat(K,";\n\t\t\t\t\t}")),$&&wp.element.createElement(c.a,{fonts:[{font:$,weights:X&&["".concat(X+("italic"===ee?":i":""))]}]}),wp.element.createElement(V,null,wp.element.createElement(T,{icon:Ze(I),label:f("Select tag"),className:"components-toolbar",controls:[{title:f("Heading 1"),icon:Ze("h1"),onClick:function(){return We("h1")}},{title:f("Heading 2"),icon:Ze("h2"),onClick:function(){return We("h2")}},{title:f("Heading 3"),icon:Ze("h3"),onClick:function(){return We("h3")}},{title:f("Heading 4"),icon:Ze("h4"),onClick:function(){return We("h4")}},{title:f("Heading 5"),icon:Ze("h5"),onClick:function(){return We("h5")}},{title:f("Heading 6"),icon:Ze("h6"),onClick:function(){return We("h6")}},{title:f("Division"),icon:Ze("div"),onClick:function(){return We("div")}},{title:f("Paragraph"),icon:Ze("p"),onClick:function(){return We("p")}},{title:f("Span Tag"),icon:Ze("span"),onClick:function(){return We("span")}}]}),wp.element.createElement(N,{className:"wp-themesiel-blocks-advanced-heading-components-toolbar"},wp.element.createElement(x,{contentClassName:"wp-themesiel-blocks-advanced-heading-popover-content",position:"bottom center",renderToggle:function(e){var t=e.isOpen,n=e.onToggle;return wp.element.createElement(S,{className:"components-dropdown-menu__toggle",icon:"editor-textcolor",onClick:n,"aria-haspopup":"true","aria-expanded":t,label:f("Typography Settings"),tooltip:f("Typography Settings")},wp.element.createElement("span",{className:"components-dropdown-menu__indicator"}))},renderContent:function(){return wp.element.createElement(D,null,wp.element.createElement(p.a,{label:f("Font Family"),value:$,onChangeFontFamily:Ke,isSelect:!0,valueVariant:X,onChangeFontVariant:Qe,valueStyle:ee,onChangeFontStyle:Je,valueTransform:te,onChangeTextTransform:Ye}),wp.element.createElement(O,{label:f("Line Height"),value:ne,onChange:$e,min:0,max:200}),wp.element.createElement(O,{label:f("Letter Spacing"),value:oe,onChange:Xe,min:-50,max:100}))}}))),wp.element.createElement(j,null,wp.element.createElement(B,{className:"wp-block-themeisle-blocks-advanced-heading-header-panel"},wp.element.createElement(E,{className:a()("header-tab",{"is-selected":"style"===t}),onClick:function(){return s({tab:"style"})}},wp.element.createElement("span",null,wp.element.createElement(C,{icon:"admin-customizer"}),f("Style"))),wp.element.createElement(E,{className:a()("header-tab",{"is-selected":"advanced"===t}),onClick:function(){return s({tab:"advanced"})}},wp.element.createElement("span",null,wp.element.createElement(C,{icon:"admin-generic"}),f("Advanced")))),"style"===t&&wp.element.createElement(D,null,wp.element.createElement(B,{title:f("General Settings")},wp.element.createElement(D,null,wp.element.createElement("p",null,f("Heading Color")),wp.element.createElement(H,{label:"Heading Color",value:q,onChange:function(e){A.setAttributes({headingColor:e})}})),wp.element.createElement(m.a,{label:"Font Size",view:n,changeViewType:function(e){s({fontSizeViewType:e})}},wp.element.createElement(O,{value:qe||"",onChange:function(e){"desktop"===n&&A.setAttributes({fontSize:e}),"tablet"===n&&A.setAttributes({fontSizeTablet:e}),"mobile"===n&&A.setAttributes({fontSizeMobile:e})},min:1,max:500})),wp.element.createElement(m.a,{label:"Alignment",view:o,changeViewType:function(e){s({alignmentViewType:e})}},wp.element.createElement(z,{value:Ue,onChange:function(e){"desktop"===o&&A.setAttributes({align:e}),"tablet"===o&&A.setAttributes({alignTablet:e}),"mobile"===o&&A.setAttributes({alignMobile:e})}}))),wp.element.createElement(B,{title:f("Typography Settings"),initialOpen:!1},wp.element.createElement(p.a,{label:f("Font Family"),value:$,onChangeFontFamily:Ke,valueVariant:X,onChangeFontVariant:Qe,valueStyle:ee,onChangeFontStyle:Je,valueTransform:te,onChangeTextTransform:Ye}),wp.element.createElement(O,{label:f("Line Height"),value:ne,onChange:$e,min:0,max:200}),wp.element.createElement(O,{label:f("Letter Spacing"),value:oe,onChange:Xe,min:-50,max:100}),wp.element.createElement(L,{label:"Shadow Properties",checked:ae,onChange:function(e){A.setAttributes({textShadow:e})}}),ae&&wp.element.createElement(D,null,wp.element.createElement(D,null,wp.element.createElement("p",null,f("Color")),wp.element.createElement(H,{label:f("Color"),value:le,onChange:function(e){A.setAttributes({textShadowColor:e})}})),wp.element.createElement(u.a,{label:"Shadow Properties"},wp.element.createElement(O,{label:f("Opacity"),value:re,onChange:function(e){A.setAttributes({textShadowColorOpacity:e})},min:0,max:100}),wp.element.createElement(O,{label:f("Blur"),value:ie,onChange:function(e){A.setAttributes({textShadowBlur:e})},min:0,max:100}),wp.element.createElement(O,{label:f("Horizontal"),value:ce,onChange:function(e){A.setAttributes({textShadowHorizontal:e})},min:-100,max:100}),wp.element.createElement(O,{label:f("Vertical"),value:se,onChange:function(e){A.setAttributes({textShadowVertical:e})},min:-100,max:100})))))||"advanced"===t&&wp.element.createElement(D,null,wp.element.createElement(B,{title:f("Highlight Color")},wp.element.createElement(D,null,wp.element.createElement("p",null,f("Highlight Color")),wp.element.createElement(H,{label:"Highlight Color",value:U,onChange:function(e){A.setAttributes({highlightColor:e})}})),wp.element.createElement(D,null,wp.element.createElement("p",null,f("Highlight Background")),wp.element.createElement(H,{label:"Highlight Background",value:K,onChange:function(e){A.setAttributes({highlightBackground:e})}}))),wp.element.createElement(B,{title:f("Padding & Margin"),initialOpen:!1},wp.element.createElement(m.a,{label:"Padding",view:l,changeViewType:function(e){s({paddingViewType:e})}},wp.element.createElement(d.a,{type:at,min:0,max:500,changeType:function(e){"desktop"===l&&A.setAttributes({paddingType:e}),"tablet"===l&&A.setAttributes({paddingTypeTablet:e}),"mobile"===l&&A.setAttributes({paddingTypeMobile:e})},onChange:function(e,t){"desktop"===l&&("linked"===pe?A.setAttributes({padding:t}):A.setAttributes(h({},tt[e],t))),"tablet"===l&&("linked"===ue?A.setAttributes({paddingTablet:t}):A.setAttributes(h({},nt[e],t))),"mobile"===l&&("linked"===me?A.setAttributes({paddingMobile:t}):A.setAttributes(h({},ot[e],t)))},options:[{label:f("Top"),type:"top",value:et("top")},{label:f("Right"),type:"right",value:et("right")},{label:f("Bottom"),type:"bottom",value:et("bottom")},{label:f("Left"),type:"left",value:et("left")}]})),wp.element.createElement(m.a,{label:"Margin",view:i,changeViewType:function(e){s({marginViewType:e})}},wp.element.createElement(d.a,{type:mt,min:-500,max:500,changeType:function(e){"desktop"===i&&A.setAttributes({marginType:e}),"tablet"===i&&A.setAttributes({marginTypeTablet:e}),"mobile"===i&&A.setAttributes({marginTypeMobile:e})},onChange:function(e,t){"desktop"===i&&("linked"===Oe?A.setAttributes({margin:t}):A.setAttributes(h({},st[e],t))),"tablet"===i&&("linked"===Me?A.setAttributes({marginTablet:t}):A.setAttributes(h({},pt[e],t))),"mobile"===i&&("linked"===Le?A.setAttributes({marginMobile:t}):A.setAttributes(h({},ut[e],t)))},options:[{label:f("Top"),type:"top",value:ct("top")},{label:f("Right"),disabled:!0},{label:f("Bottom"),type:"bottom",value:ct("bottom")},{label:f("Left"),disabled:!0}]}))))),wp.element.createElement(F,{identifier:"content",className:a()(_,A.className),value:R,placeholder:f("Write heading…"),tagName:I,formattingControls:["bold","italic","link","strikethrough","mark"],allowedFormats:["core/bold","core/italic","core/link","core/strikethrough","themeisle-blocks/mark"],onMerge:A.mergeBlocks,unstableOnSplit:A.insertBlocksAfter?function(e,t){A.setAttributes({content:e});for(var n=arguments.length,o=new Array(n>2?n-2:0),a=2;a<n;a++)o[a-2]=arguments[a];A.insertBlocksAfter([].concat(o,[w("core/paragraph",{content:t})]))}:void 0,onRemove:function(){return A.onReplace([])},style:dt,onChange:function(e){A.setAttributes({content:e})}}))})),save:function(e){var t,n=e.attributes,o=n.id,l=n.content,i=n.tag,c=n.headingColor,s=n.fontFamily,p=n.fontVariant,u=n.fontStyle,m=n.textTransform,d=n.lineHeight,b=n.letterSpacing,h=n.textShadow,f=n.textShadowColor,y=n.textShadowColorOpacity,w=n.textShadowBlur,v=n.textShadowHorizontal,k=n.textShadowVertical;h&&(t={textShadow:"".concat(v,"px ").concat(k,"px ").concat(w,"px ").concat(r()(f||"#000000",y))});var E=g({color:c,fontFamily:s,fontWeight:"regular"===p?"normal":p,fontStyle:u,textTransform:m,lineHeight:d&&"".concat(d,"px"),letterSpacing:b&&"".concat(b,"px")},t);return wp.element.createElement(F.Content,{tagName:i,value:l,id:o,className:a()(o,e.className),style:E})}})},,,,function(e,t,n){},function(e,t){var n=wp.i18n.__,o=wp.richText,a=o.registerFormatType,l=o.toggleFormat,r=wp.blockEditor||wp.editor,i=r.RichTextShortcut,c=r.RichTextToolbarButton,s=wp.element.Fragment,p="themeisle-blocks/mark";a(p,{name:p,title:n("Highlight"),tagName:"mark",className:null,edit:function(e){var t=e.isActive,o=e.value,a=e.onChange,r=function(){return a(l(o,{type:p}))};return wp.element.createElement(s,null,wp.element.createElement(i,{type:"primary",character:"m",onUse:r}),wp.element.createElement(c,{icon:"admin-customizer",title:n("Highlight"),onClick:r,isActive:t,shortcutType:"access",shortcutCharacter:"m"}))}})},,,,,,function(e,t,n){},,function(e,t,n){},,function(e,t){var n=wp.i18n.__,o=wp.blocks.registerBlockType,a=(wp.blockEditor||wp.editor).InnerBlocks;o("themeisle-blocks/accordion-area",{title:n("Accordion"),description:n("Accordion block allows you to add beautiful accordions in your posts."),icon:"menu",category:"themeisle-blocks",keywords:["accordion","collapsible","orbitfox"],supports:{inserter:!1},edit:function(e){return wp.element.createElement("div",{className:e.className},wp.element.createElement("ul",null,wp.element.createElement(a,{allowedBlocks:["themeisle-blocks/accordion-block"],template:[["themeisle-blocks/accordion-block"],["themeisle-blocks/accordion-block"],["themeisle-blocks/accordion-block"]]})))},save:function(){return wp.element.createElement("div",{className:"wp-block-themeisle-blocks-accordion-box"},wp.element.createElement("ul",null,wp.element.createElement(a.Content,null)))}})},function(e,t){var n=wp.i18n.__,o=wp.blocks.registerBlockType,a=wp.blockEditor||wp.editor,l=a.RichText,r=a.InnerBlocks;o("themeisle-blocks/accordion-block",{title:n("Accordion Item"),description:n("Accordion block allows you to add beautiful accordions in your posts."),parent:["themeisle-blocks/accordion-area"],icon:"menu",category:"themeisle-blocks",keywords:["accordion","collapsible","orbitfox"],attributes:{heading:{type:"array",source:"children",selector:".accordion-heading"}},supports:{inserter:!1},edit:function(e){var t=[["core/paragraph",{content:n("What is the point of being alive if you don’t at least try to do something remarkable?"),className:"accordion-content"}]];return wp.element.createElement("li",{className:e.className},wp.element.createElement(l,{tagName:"h4",className:"accordion-heading",value:e.attributes.heading,placeholder:"Section Title",onChange:function(t){return e.setAttributes({heading:t})}}),wp.element.createElement("div",{className:"accordion-content"},wp.element.createElement(r,{template:t,id:"accordion-content"})))},save:function(e){return wp.element.createElement("li",null,wp.element.createElement("input",{type:"checkbox",checked:!0}),wp.element.createElement("i",null),wp.element.createElement(l.Content,{tagName:"h4",className:"accordion-heading",value:e.attributes.heading}),wp.element.createElement("div",{className:"accordion-content"},wp.element.createElement(r.Content,null)))}})},function(e,t,n){"use strict";n.r(t);n(25),n(26),n(27),n(35),n(37),n(36),n(28)},function(e,t,n){},,function(e,t,n){},,function(e,t,n){},,function(e,t){var n=wp.i18n.__,o=wp.blocks.registerBlockType,a=wp.blockEditor||wp.editor,l=a.InnerBlocks,r=a.InspectorControls,i=a.PanelColorSettings;o("themeisle-blocks/service-block",{title:n("Service Block"),description:n("Use this Services table to showcase services your website offers."),parent:["themeisle-blocks/services"],icon:"slides",category:"themeisle-blocks",keywords:["pricing","table","orbitfox"],attributes:{backgroundColor:{type:"string",default:"#ffffff"}},supports:{inserter:!1},edit:function(e){var t=[["themeisle-blocks/font-awesome-icons",{fontSize:62,prefix:"fab",icon:"angellist"}],["core/heading",{content:n("Panel"),className:"service-title",align:"center",level:4}],["core/paragraph",{content:n("Small description, but a pretty long one."),className:"service-content",align:"center"}],["core/button",{text:n("Learn More"),className:"service-button",align:"center"}]];return[wp.element.createElement(r,null,wp.element.createElement(i,{title:n("Color Settings"),initialOpen:!0,colorSettings:[{value:e.attributes.backgroundColor,onChange:function(t){e.setAttributes({backgroundColor:t})},label:n("Background Color")}]})),wp.element.createElement("div",{className:"wp-block-column",style:{backgroundColor:e.attributes.backgroundColor}},wp.element.createElement(l,{template:t}))]},save:function(e){return wp.element.createElement("div",{className:"wp-block-column",style:{backgroundColor:e.attributes.backgroundColor}},wp.element.createElement(l.Content,null))}})},function(e,t,n){},,function(e,t){var n=wp.i18n.__,o=wp.blocks.registerBlockType,a=wp.blockEditor||wp.editor,l=a.InnerBlocks,r=a.InspectorControls,i=a.PanelColorSettings;o("themeisle-blocks/testimonials-block",{title:n("Testimonials Block"),description:n("Display kudos from customers and clients and display them on your website."),parent:["themeisle-blocks/testimonials-area"],icon:"testimonial",category:"themeisle-blocks",keywords:["testimonials","clients","quotes"],attributes:{backgroundColor:{type:"string",default:"#ffffff"}},supports:{inserter:!1},edit:function(e){var t=[["core/image",{align:"center"}],["core/heading",{content:n("John Doe"),className:"testimonials-title",align:"center",level:3}],["core/heading",{content:n("Jedi Master"),className:"testimonials-subtitle",align:"center",level:6}],["core/paragraph",{content:n("What is the point of being alive if you don’t at least try to do something remarkable?"),className:"testimonials-content",align:"center"}]];return[wp.element.createElement(r,null,wp.element.createElement(i,{title:n("Color Settings"),initialOpen:!0,colorSettings:[{value:e.attributes.backgroundColor,onChange:function(t){e.setAttributes({backgroundColor:t})},label:n("Background Color")}]})),wp.element.createElement("div",{className:"wp-block-column",style:{backgroundColor:e.attributes.backgroundColor}},wp.element.createElement(l,{template:t}))]},save:function(e){return wp.element.createElement("div",{className:"wp-block-column",style:{backgroundColor:e.attributes.backgroundColor}},wp.element.createElement(l.Content,null))}})},,function(e,t,n){},function(e,t,n){},,function(e,t,n){},,,,,function(e,t,n){"use strict";n.r(t);n(86),n(87);var o=n(2),a=n(3),l=wp.i18n.__,r=wp.apiFetch,i=wp.blocks.registerBlockType,c=wp.components,s=c.Placeholder,p=c.Dashicon,u=c.TextControl,m=c.Spinner,d=c.Button,b=c.Toolbar,g=c.Tooltip,h=wp.compose,f=h.compose,y=h.withState,w=(wp.blockEditor||wp.editor).BlockControls,v=wp.data.withSelect,k=wp.keycodes.ENTER;i("themeisle-blocks/plugin-cards",{title:l("Plugin Card"),description:l("Plugin Card block lets you display plugins data in your blog posts."),icon:o.m,category:"themeisle-blocks",keywords:["plugin","card","orbitfox"],attributes:{slug:{type:"string"},pluginIcon:{type:"string"},pluginName:{type:"string"},pluginAuthor:{type:"string"},pluginRating:{type:"number"},pluginDescription:{type:"string"},pluginInstalls:{type:"number"},pluginVersion:{type:"string"},pluginTested:{type:"string"},pluginLink:{type:"string"}},supports:{html:!1},edit:f([v((function(e,t){return{props:t}})),y({status:0,results:{}})])((function(e){var t,n,o,i,c,h=e.props,f=e.className,y=e.status,v=e.results,E=e.setState;return[h.attributes.pluginName&&wp.element.createElement(w,{key:"toolbar-controls"},wp.element.createElement(b,{className:"components-toolbar"},wp.element.createElement(g,{text:l("Edit Plugin Card")},wp.element.createElement(d,{className:"components-icon-button components-toolbar__control edit-plugin-card",onClick:function(){h.setAttributes({pluginIcon:"",pluginName:"",pluginAuthor:"",pluginRating:"",pluginDescription:"",pluginInstalls:"",pluginVersion:"",pluginTested:"",pluginLink:""})}},wp.element.createElement(p,{icon:"edit"}))))),wp.element.createElement("div",{className:f},h.attributes.pluginName?wp.element.createElement("div",{className:"wp-block-themeisle-plugin-card"},wp.element.createElement("div",{className:"card-header"},wp.element.createElement("div",{className:"card-main"},wp.element.createElement("div",{className:"card-logo"},wp.element.createElement("img",{src:h.attributes.pluginIcon,alt:Object(a.b)(h.attributes.pluginName),title:Object(a.b)(h.attributes.pluginName)})),wp.element.createElement("div",{className:"card-info"},wp.element.createElement("h4",null,Object(a.b)(h.attributes.pluginName)),wp.element.createElement("h5",{dangerouslySetInnerHTML:{__html:_.unescape(h.attributes.pluginAuthor)}})),wp.element.createElement("div",{className:"card-ratings",dangerouslySetInnerHTML:{__html:_.unescape((t=h.attributes.pluginRating,n=Math.floor(t/10)/2,o=Math.floor(n),i=Math.ceil(n-o),c=5-o-i,'<span className="star-full"></span>'.repeat(o)+'<span className="star-half"></span>'.repeat(i)+'<span className="star-empty"></span>'.repeat(c)))}}))),wp.element.createElement("div",{className:"card-details"},wp.element.createElement("div",{className:"card-description"},Object(a.b)(h.attributes.pluginDescription)),wp.element.createElement("div",{className:"card-stats"},wp.element.createElement("h5",null,l("Plugin Stats")),wp.element.createElement("div",{className:"card-stats-list"},wp.element.createElement("div",{className:"card-stat"},wp.element.createElement("span",{className:"card-text-large"},h.attributes.pluginInstalls.toLocaleString(),"+"),l("active installs")),wp.element.createElement("div",{className:"card-stat"},wp.element.createElement("span",{className:"card-text-large"},h.attributes.pluginVersion),l("version")),wp.element.createElement("div",{className:"card-stat"},wp.element.createElement("span",{className:"card-text-large"},h.attributes.pluginTested),l("tested up to"))))),wp.element.createElement("div",{className:"card-download"},wp.element.createElement("a",{href:h.attributes.pluginLink},l("Download")))):wp.element.createElement(s,{icon:"admin-plugins",label:l("Plugin Card")},wp.element.createElement("div",{className:"search-plugin-field"},wp.element.createElement(p,{icon:"search"}),1===y&&wp.element.createElement(m,null),wp.element.createElement(u,{type:"text",placeholder:l("Search for plugin…"),value:h.attributes.slug,onChange:function(e){h.setAttributes({slug:e})},onKeyDown:function(e){var t;e.keyCode===k&&(t=e.target.value,E({status:1}),r({path:"themeisle-gutenberg-blocks/v1/get_plugins?search='".concat(encodeURIComponent(t))}).then((function(e){var t=e.data.plugins;E({status:0,results:t})})))}}),v&&wp.element.createElement("div",{className:"plugin-card-search-results"},wp.element.createElement("div",null,Object.keys(v).map((function(e,t){var n,o=v[e];return o.icons.svg&&(n=o.icons.svg),o.icons["2x"]&&(n=o.icons["2x"]),o.icons["1x"]&&(n=o.icons["1x"]),o.icons.default&&(n=o.icons.default),wp.element.createElement("div",{className:"plugin-card-list-item",key:e,onClick:function(e){e.preventDefault(),function(e){var t;e.icons.svg&&(t=e.icons.svg),e.icons["2x"]&&(t=e.icons["2x"]),e.icons["1x"]&&(t=e.icons["1x"]),e.icons.default&&(t=e.icons.default),h.setAttributes({slug:e.slug,pluginIcon:t,pluginName:e.name,pluginAuthor:e.author,pluginRating:e.rating,pluginDescription:e.short_description,pluginInstalls:e.active_installs,pluginVersion:e.version,pluginTested:e.tested,pluginLink:e.download_link}),E({results:{}})}(o)}},wp.element.createElement("img",{src:n}),wp.element.createElement("span",{dangerouslySetInnerHTML:{__html:_.unescape(o.name)}}))})))))))]})),save:function(){return null}})},,function(e,t,n){},function(e,t,n){},,,,,,,,,,,,function(e,t,n){},,function(e,t,n){},,,function(e,t,n){},,function(e,t,n){"use strict";n.r(t);n(32),n(33),n(34)},,,function(e,t,n){"use strict";n.r(t);n(102),n(103);var o=n(0),a=n.n(o),l=n(5),r=n.n(l),i=n(2),c={1:{equal:["100"]},2:{equal:["50","50"],oneTwo:["33.34","66.66"],twoOne:["66.66","33.34"]},3:{equal:["33.33","33.33","33.33"],oneOneTwo:["25","25","50"],twoOneOne:["50","25","25"],oneTwoOne:["25","50","25"],oneThreeOne:["20","60","20"]},4:{equal:["25","25","25","25"]},5:{equal:["20","20","20","20","20"]},6:{equal:["16.66","16.66","16.66","16.66","16.66","16.66"]}},s=n(20),p=n(4),u=n(6),m=n(11),d=(n(104),wp.components),b=d.Dashicon,g=d.Tooltip,h=function(e){var t=e.title,n=e.firstColor,o=e.secondColor,l=e.isSelected,r=e.onChange,i=wp.element.createElement("button",{type:"button","aria-pressed":l,className:a()("wp-block-themeisle-blocks-responsive-control-option",{"is-active":l}),style:{background:"linear-gradient(90deg, ".concat(n," 0%, ").concat(o," 100%)")},onClick:function(){return r(n,0,o,100,"linear",90,"center center")}});return wp.element.createElement("div",{className:"wp-block-themeisle-blocks-responsive-control-option-wrapper"},t?wp.element.createElement(g,{text:t},i):i,l&&wp.element.createElement(b,{icon:"saved"}))},f=wp.i18n.__,y=[{title:f("Reef"),firstColor:"#36d1dc",secondColor:"#5b86e5"},{title:f("Mild"),firstColor:"#67B26F",secondColor:"#4ca2cd"},{title:f("Mojito"),firstColor:"#1D976C",secondColor:"#93F9B9"},{title:f("Nelson"),firstColor:"#f2709c",secondColor:"#ff9472"},{title:f("Orange Fun"),firstColor:"#fc4a1a",secondColor:"#f7b733"},{title:f("Evening Night"),firstColor:"#005AA7",secondColor:"#FFFDE4"},{title:f("Calm Darya"),firstColor:"#5f2c82",secondColor:"#49a09d"},{title:f("Opa"),firstColor:"#3D7EAA",secondColor:"#FFE47A"},{title:f("Bora Bora"),firstColor:"#2BC0E4",secondColor:"#EAECC6"},{title:f("Electric Violet"),firstColor:"#4776E6",secondColor:"#8E54E9"},{title:f("Pinky"),firstColor:"#DD5E89",secondColor:"#F7BB97"},{title:f("Purple Paradise"),firstColor:"#1D2B64",secondColor:"#F8CDDA"}],w=wp.i18n.__,v=wp.components,k=v.Button,E=v.ColorIndicator,C=v.Dropdown,x=v.RangeControl,T=v.SelectControl,S=wp.compose.withInstanceId,B=(wp.blockEditor||wp.editor).ColorPalette,O=wp.element.Fragment,M=S((function(e){var t,n=e.label,o=e.instanceId,a=e.value,l=e.customGradient,r=void 0===l||l,i=e.onChange,c="inspector-gradient-picker-control-".concat(o),s=function(e){var t=e.firstColor,n=void 0===t?a.firstColor:t,o=e.firstLocation,l=void 0===o?a.firstLocation:o,r=e.secondColor,c=void 0===r?a.secondColor:r,s=e.secondLocation,p=void 0===s?a.secondLocation:s,u=e.type,m=void 0===u?a.type:u,d=e.angle,b=void 0===d?a.angle:d,g=e.position,h=void 0===g?a.position:g;i(n,l,c,p,m,b,h)};t="linear"===a.type?"".concat(a.angle,"deg"):"at ".concat(a.position);var p="".concat(a.type,"-gradient( ").concat(t,", ").concat(a.firstColor||"rgba( 0, 0, 0, 0 )"," ").concat(a.firstLocation,"%, ").concat(a.secondColor||"rgba( 0, 0, 0, 0 )"," ").concat(a.secondLocation,"% )"),u=y.some((function(e){return e.firstColor===a.firstColor&&e.secondColor===a.secondColor}));return wp.element.createElement("div",{id:c,className:"wp-block-themeisle-blocks-responsive-control"},wp.element.createElement("div",{className:"components-base-control__field"},n&&wp.element.createElement("div",{className:"components-base-control__title"},wp.element.createElement("label",{className:"components-base-control__label"},n,!u&&wp.element.createElement(E,{colorValue:p}))),wp.element.createElement("div",{className:"wp-block-themeisle-blocks-responsive-control-presets"},y.map((function(e){return wp.element.createElement(h,{title:e.title,firstColor:e.firstColor,secondColor:e.secondColor,isSelected:e.firstColor===a.firstColor&&e.secondColor===a.secondColor,onChange:i})})),wp.element.createElement("div",{className:"wp-block-themeisle-blocks-responsive-control-custom-wrapper"},r&&wp.element.createElement(C,{className:"wp-block-themeisle-blocks-responsive-control-dropdown-link-action",contentClassName:"wp-block-themeisle-blocks-responsive-control-dropdown-content",renderToggle:function(e){var t=e.isOpen,n=e.onToggle;return wp.element.createElement(k,{"aria-expanded":t,onClick:n,isLink:!0},w("Custom Gradient"))},renderContent:function(){return wp.element.createElement(O,null,wp.element.createElement("p",null,w("First Color")),wp.element.createElement(B,{label:w("Color"),clearable:!1,value:a.firstColor,onChange:function(e){return s({firstColor:e})}}),wp.element.createElement(x,{label:w("Location"),value:a.firstLocation,min:0,max:100,onChange:function(e){return s({firstLocation:e})}}),wp.element.createElement("p",null,w("Second Color")),wp.element.createElement(B,{label:w("Color"),clearable:!1,value:a.secondColor,onChange:function(e){return s({secondColor:e})}}),wp.element.createElement(x,{label:w("Location"),value:a.secondLocation,min:0,max:100,onChange:function(e){return s({secondLocation:e})}}),wp.element.createElement(T,{label:w("Type"),value:a.type,options:[{label:"Linear",value:"linear"},{label:"Radial",value:"radial"}],onChange:function(e){return s({type:e})}}),"linear"===a.type?wp.element.createElement(x,{label:w("Angle"),value:a.angle,min:0,max:360,onChange:function(e){return s({angle:e})}}):wp.element.createElement(T,{label:w("Position"),value:a.position,options:[{label:"Top Left",value:"top left"},{label:"Top Center",value:"top center"},{label:"Top Right",value:"top right"},{label:"Center Left",value:"center left"},{label:"Center Center",value:"center center"},{label:"Center Right",value:"center right"},{label:"Bottom Left",value:"bottom left"},{label:"Bottom Center",value:"bottom center"},{label:"Bottom Right",value:"bottom right"}],onChange:function(e){return s({position:e})}}))}}),wp.element.createElement(k,{className:"wp-block-themeisle-blocks-responsive-control-clear",type:"button",isSmall:!0,isDefault:!0,onClick:function(){return i("#ffffff",0,"#ffffff",100,"linear",90,"center center")}},w("Clear"))))))})),L=n(7);function N(e){return(N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function A(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function P(e){return(P=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function R(e,t){return(R=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var I=wp.i18n.__,z=wp.blockEditor||wp.editor,V=z.__experimentalBlockNavigationList,H=z.BlockControls,j=wp.components,F=j.IconButton,D=j.Modal,G=j.Toolbar,W=wp.compose.compose,Z=wp.data,q=Z.withSelect,U=Z.withDispatch,K=wp.element,Q=K.Component,J=K.Fragment,Y=function(e){function t(){var e,n,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,(e=!(o=P(t).apply(this,arguments))||"object"!==N(o)&&"function"!=typeof o?_(n):o).toggleNavigator=e.toggleNavigator.bind(_(e)),e.state={isNavigationListOpen:!1},e}var n,o,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&R(e,t)}(t,e),n=t,(o=[{key:"toggleNavigator",value:function(e){this.setState({isNavigationListOpen:e})}},{key:"render",value:function(){var e=this;return wp.element.createElement(J,null,wp.element.createElement(H,null,wp.element.createElement(G,{className:"wp-themesiel-blocks-block-navigator-components-toolbar"},wp.element.createElement(F,{className:"components-toolbar__control",label:I("Open block navigator"),onClick:function(){return e.toggleNavigator(!0)},icon:i.k}))),this.state.isNavigationListOpen&&wp.element.createElement(D,{title:I("Block Navigator"),closeLabel:I("Close"),onRequestClose:function(){e.toggleNavigator(!1)}},wp.element.createElement(V,{blocks:[this.props.block],selectedBlockClientId:this.props.selectedBlockClientId,selectBlock:this.props.selectBlock,showNestedBlocks:!0})))}}])&&A(n.prototype,o),a&&A(n,a),t}(Q),$=W(q((function(e,t){var n=t.clientId,o=e("core/block-editor")||e("core/editor"),a=o.getSelectedBlockClientId;return{block:(0,o.getBlock)(n),selectedBlockClientId:a()}})),U((function(e,t){t.block;return{selectBlock:(e("core/block-editor")||e("core/editor")).selectBlock}})))(Y),X=n(9),ee=n(22);function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?te(n,!0).forEach((function(t){oe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):te(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function oe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ae=(wp.blockEditor||wp.editor).InnerBlocks,le=[{attributes:{align:{type:"string"},id:{type:"string"},columns:{type:"number"},layout:{type:"string"},layoutTablet:{type:"string",default:"equal"},layoutMobile:{type:"string",default:"equal"},columnsGap:{type:"string",default:"default"},paddingType:{type:"string",default:"linked"},paddingTypeTablet:{type:"string",default:"linked"},paddingTypeMobile:{type:"string",default:"linked"},padding:{type:"number",default:20},paddingTablet:{type:"number",default:20},paddingMobile:{type:"number",default:20},paddingTop:{type:"number",default:20},paddingTopTablet:{type:"number",default:20},paddingTopMobile:{type:"number",default:20},paddingRight:{type:"number",default:20},paddingRightTablet:{type:"number",default:20},paddingRightMobile:{type:"number",default:20},paddingBottom:{type:"number",default:20},paddingBottomTablet:{type:"number",default:20},paddingBottomMobile:{type:"number",default:20},paddingLeft:{type:"number",default:20},paddingLeftTablet:{type:"number",default:20},paddingLeftMobile:{type:"number",default:20},marginType:{type:"string",default:"unlinked"},marginTypeTablet:{type:"string",default:"unlinked"},marginTypeMobile:{type:"string",default:"unlinked"},margin:{type:"number",default:20},marginTablet:{type:"number",default:20},marginMobile:{type:"number",default:20},marginTop:{type:"number",default:20},marginTopTablet:{type:"number",default:20},marginTopMobile:{type:"number",default:20},marginBottom:{type:"number",default:20},marginBottomTablet:{type:"number",default:20},marginBottomMobile:{type:"number",default:20},columnsWidth:{type:"number"},columnsHeight:{type:"string",default:"auto"},columnsHeightCustom:{type:"number"},columnsHeightCustomTablet:{type:"number"},columnsHeightCustomMobile:{type:"number"},horizontalAlign:{type:"string",default:"unset"},verticalAlign:{type:"string",default:"unset"},backgroundType:{type:"string",default:"color"},backgroundColor:{type:"string"},backgroundImageID:{type:"number"},backgroundImageURL:{type:"string"},backgroundAttachment:{type:"string",default:"scroll"},backgroundPosition:{type:"string",default:"top left"},backgroundRepeat:{type:"string",default:"repeat"},backgroundSize:{type:"string",default:"auto"},backgroundGradientFirstColor:{type:"string",default:"#36d1dc"},backgroundGradientFirstLocation:{type:"number",default:0},backgroundGradientSecondColor:{type:"string",default:"#5b86e5"},backgroundGradientSecondLocation:{type:"number",default:100},backgroundGradientType:{type:"string",default:"linear"},backgroundGradientAngle:{type:"number",default:90},backgroundGradientPosition:{type:"string",default:"center center"},backgroundOverlayOpacity:{type:"number",default:50},backgroundOverlayType:{type:"string",default:"color"},backgroundOverlayColor:{type:"string"},backgroundOverlayImageID:{type:"number"},backgroundOverlayImageURL:{type:"string"},backgroundOverlayAttachment:{type:"string",default:"scroll"},backgroundOverlayPosition:{type:"string",default:"top left"},backgroundOverlayRepeat:{type:"string",default:"repeat"},backgroundOverlaySize:{type:"string",default:"auto"},backgroundOverlayGradientFirstColor:{type:"string",default:"#36d1dc"},backgroundOverlayGradientFirstLocation:{type:"number",default:0},backgroundOverlayGradientSecondColor:{type:"string",default:"#5b86e5"},backgroundOverlayGradientSecondLocation:{type:"number",default:100},backgroundOverlayGradientType:{type:"string",default:"linear"},backgroundOverlayGradientAngle:{type:"number",default:90},backgroundOverlayGradientPosition:{type:"string",default:"center center"},backgroundOverlayFilterBlur:{type:"number",default:0},backgroundOverlayFilterBrightness:{type:"number",default:10},backgroundOverlayFilterContrast:{type:"number",default:10},backgroundOverlayFilterGrayscale:{type:"number",default:0},backgroundOverlayFilterHue:{type:"number",default:0},backgroundOverlayFilterSaturate:{type:"number",default:10},backgroundOverlayBlend:{type:"string",default:"normal"},borderType:{type:"string",default:"linked"},border:{type:"number",default:0},borderTop:{type:"number",default:0},borderRight:{type:"number",default:0},borderBottom:{type:"number",default:0},borderLeft:{type:"number",default:0},borderColor:{type:"string",default:"#000000"},borderRadiusType:{type:"string",default:"linked"},borderRadius:{type:"number",default:0},borderRadiusTop:{type:"number",default:0},borderRadiusRight:{type:"number",default:0},borderRadiusBottom:{type:"number",default:0},borderRadiusLeft:{type:"number",default:0},boxShadow:{type:"boolean",default:!1},boxShadowColor:{type:"string",default:"#000000"},boxShadowColorOpacity:{type:"number",default:50},boxShadowBlur:{type:"number",default:5},boxShadowSpread:{type:"number",default:0},boxShadowHorizontal:{type:"number",default:0},boxShadowVertical:{type:"number",default:0},dividerTopType:{type:"string",default:"none"},dividerTopColor:{type:"string",default:"#000000"},dividerTopWidth:{type:"number",default:100},dividerTopWidthTablet:{type:"number",default:100},dividerTopWidthMobile:{type:"number",default:100},dividerTopHeight:{type:"number",default:100},dividerTopHeightTablet:{type:"number",default:100},dividerTopHeightMobile:{type:"number",default:100},dividerTopInvert:{type:"boolean",default:!1},dividerBottomType:{type:"string",default:"none"},dividerBottomColor:{type:"string",default:"#000000"},dividerBottomWidth:{type:"number",default:100},dividerBottomWidthTablet:{type:"number",default:100},dividerBottomWidthMobile:{type:"number",default:100},dividerBottomHeight:{type:"number",default:100},dividerBottomHeightTablet:{type:"number",default:100},dividerBottomHeightMobile:{type:"number",default:100},dividerBottomInvert:{type:"boolean",default:!1},hide:{type:"boolean",default:!1},hideTablet:{type:"boolean",default:!1},hideMobile:{type:"boolean",default:!1},columnsHTMLTag:{type:"string",default:"div"}},supports:{align:["wide","full"],html:!1},save:function(e){var t,n,o,l,i,c,s=e.attributes,p=s.id,u=s.columns,m=s.layout,d=s.layoutTablet,b=s.layoutMobile,g=s.columnsGap,h=s.columnsWidth,f=s.horizontalAlign,y=s.verticalAlign,w=s.backgroundType,v=s.backgroundColor,k=s.backgroundImageURL,E=s.backgroundAttachment,C=s.backgroundPosition,x=s.backgroundRepeat,T=s.backgroundSize,S=s.backgroundGradientFirstColor,B=s.backgroundGradientFirstLocation,O=s.backgroundGradientSecondColor,M=s.backgroundGradientSecondLocation,L=s.backgroundGradientType,N=s.backgroundGradientAngle,A=s.backgroundGradientPosition,P=s.backgroundOverlayOpacity,_=s.backgroundOverlayType,R=s.backgroundOverlayColor,I=s.backgroundOverlayImageURL,z=s.backgroundOverlayAttachment,V=s.backgroundOverlayPosition,H=s.backgroundOverlayRepeat,j=s.backgroundOverlaySize,F=s.backgroundOverlayGradientFirstColor,D=s.backgroundOverlayGradientFirstLocation,G=s.backgroundOverlayGradientSecondColor,W=s.backgroundOverlayGradientSecondLocation,Z=s.backgroundOverlayGradientType,q=s.backgroundOverlayGradientAngle,U=s.backgroundOverlayGradientPosition,K=s.backgroundOverlayFilterBlur,Q=s.backgroundOverlayFilterBrightness,J=s.backgroundOverlayFilterContrast,Y=s.backgroundOverlayFilterGrayscale,$=s.backgroundOverlayFilterHue,ee=s.backgroundOverlayFilterSaturate,te=s.backgroundOverlayBlend,oe=s.borderType,le=s.border,re=s.borderTop,ie=s.borderRight,ce=s.borderBottom,se=s.borderLeft,pe=s.borderColor,ue=s.borderRadiusType,me=s.borderRadius,de=s.borderRadiusTop,be=s.borderRadiusRight,ge=s.borderRadiusBottom,he=s.borderRadiusLeft,fe=s.boxShadow,ye=s.boxShadowColor,we=s.boxShadowColorOpacity,ve=s.boxShadowBlur,ke=s.boxShadowSpread,Ee=s.boxShadowHorizontal,Ce=s.boxShadowVertical,xe=s.dividerTopType,Te=s.dividerTopColor,Se=s.dividerTopInvert,Be=s.dividerBottomType,Oe=s.dividerBottomColor,Me=s.dividerBottomInvert,Le=s.hide,Ne=s.hideTablet,Ae=s.hideMobile,Pe=s.columnsHTMLTag;("color"===w&&(t={background:v}),"image"===w&&(t={backgroundImage:"url( '".concat(k,"' )"),backgroundAttachment:E,backgroundPosition:C,backgroundRepeat:x,backgroundSize:T}),"gradient"===w)&&(c="linear"===L?"".concat(N,"deg"):"at ".concat(A),t={background:"".concat(L,"-gradient( ").concat(c,", ").concat(S||"rgba( 0, 0, 0, 0 )"," ").concat(B,"%, ").concat(O||"rgba( 0, 0, 0, 0 )"," ").concat(M,"% )")});"linked"===oe&&(o={borderWidth:"".concat(le,"px"),borderStyle:"solid",borderColor:pe}),"unlinked"===oe&&(o={borderTopWidth:"".concat(re,"px"),borderRightWidth:"".concat(ie,"px"),borderBottomWidth:"".concat(ce,"px"),borderLeftWidth:"".concat(se,"px"),borderStyle:"solid",borderColor:pe}),"linked"===ue&&(l={borderRadius:"".concat(me,"px")}),"unlinked"===ue&&(l={borderTopLeftRadius:"".concat(de,"px"),borderTopRightRadius:"".concat(be,"px"),borderBottomRightRadius:"".concat(ge,"px"),borderBottomLeftRadius:"".concat(he,"px")}),!0===fe&&(i={boxShadow:"".concat(Ee,"px ").concat(Ce,"px ").concat(ve,"px ").concat(ke,"px ").concat(r()(ye||"#000000",we))});var _e,Re=ne({},t,{},o,{},l,{},i,{justifyContent:f});("color"===_&&(n={background:R,opacity:P/100}),"image"===_&&(n={backgroundImage:"url( '".concat(I,"' )"),backgroundAttachment:z,backgroundPosition:V,backgroundRepeat:H,backgroundSize:j,opacity:P/100}),"gradient"===_)&&(_e="linear"===Z?"".concat(q,"deg"):"at ".concat(U),n={background:"".concat(Z,"-gradient( ").concat(_e,", ").concat(F||"rgba( 0, 0, 0, 0 )"," ").concat(D,"%, ").concat(G||"rgba( 0, 0, 0, 0 )"," ").concat(W,"% )"),opacity:P/100});var Ie=ne({},n,{mixBlendMode:te,filter:"blur( ".concat(K/10,"px ) brightness( ").concat(Q/10," ) contrast( ").concat(J/10," ) grayscale( ").concat(Y/100," ) hue-rotate( ").concat($,"deg ) saturate( ").concat(ee/10," )")}),ze={};h&&(ze={maxWidth:h+"px"});var Ve=Le?"":"has-desktop-".concat(m,"-layout"),He=Ne?"":"has-tablet-".concat(d,"-layout"),je=Ae?"":"has-mobile-".concat(b,"-layout"),Fe=a()(e.className,"has-".concat(u,"-columns"),Ve,He,je,{"hide-in-desktop":Le},{"hide-in-tablet":Ne},{"hide-in-mobile":Ae},"has-".concat(g,"-gap"),"has-vertical-".concat(y));return wp.element.createElement(Pe,{className:Fe,id:p,style:Re},wp.element.createElement("div",{className:"wp-themeisle-block-overlay",style:Ie}),wp.element.createElement(X.default,{type:"top",front:!0,style:xe,fill:Te,invert:Se}),wp.element.createElement("div",{className:"innerblocks-wrap",style:ze},wp.element.createElement(ae.Content,null)),wp.element.createElement(X.default,{type:"bottom",front:!0,style:Be,fill:Oe,invert:Me}))}}];function re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ie(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?re(n,!0).forEach((function(t){ce(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):re(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var se=lodash.times,pe=wp.i18n.__,ue=wp.blocks.registerBlockType,me=wp.components,de=me.BaseControl,be=me.Button,ge=me.ButtonGroup,he=me.Dashicon,fe=me.Icon,ye=me.IconButton,we=me.PanelBody,ve=me.Tooltip,ke=me.ToggleControl,Ee=me.RangeControl,Ce=me.SelectControl,xe=me.TextControl,Te=wp.compose,Se=Te.compose,Be=Te.withState,Oe=wp.data,Me=Oe.withDispatch,Le=Oe.withSelect,Ne=wp.blockEditor||wp.editor,Ae=Ne.__experimentalBlockNavigationList,Pe=Ne.ColorPalette,_e=Ne.InnerBlocks,Re=Ne.InspectorAdvancedControls,Ie=Ne.InspectorControls,ze=Ne.MediaPlaceholder,Ve=wp.element.Fragment,He=wp.viewport.withViewportMatch;function je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?je(n,!0).forEach((function(t){De(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):je(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function De(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}ue("themeisle-blocks/advanced-columns",{title:pe("Section"),description:pe("Add a Section block that displays content in multiple columns, then add whatever content blocks you’d like."),icon:i.f,category:"themeisle-blocks",keywords:["advanced columns","layout","grid"],attributes:{id:{type:"string"},columns:{type:"number"},layout:{type:"string"},layoutTablet:{type:"string",default:"equal"},layoutMobile:{type:"string",default:"equal"},columnsGap:{type:"string",default:"default"},paddingType:{type:"string",default:"linked"},paddingTypeTablet:{type:"string",default:"linked"},paddingTypeMobile:{type:"string",default:"linked"},padding:{type:"number",default:20},paddingTablet:{type:"number",default:20},paddingMobile:{type:"number",default:20},paddingTop:{type:"number",default:20},paddingTopTablet:{type:"number",default:20},paddingTopMobile:{type:"number",default:20},paddingRight:{type:"number",default:20},paddingRightTablet:{type:"number",default:20},paddingRightMobile:{type:"number",default:20},paddingBottom:{type:"number",default:20},paddingBottomTablet:{type:"number",default:20},paddingBottomMobile:{type:"number",default:20},paddingLeft:{type:"number",default:20},paddingLeftTablet:{type:"number",default:20},paddingLeftMobile:{type:"number",default:20},marginType:{type:"string",default:"unlinked"},marginTypeTablet:{type:"string",default:"unlinked"},marginTypeMobile:{type:"string",default:"unlinked"},margin:{type:"number",default:20},marginTablet:{type:"number",default:20},marginMobile:{type:"number",default:20},marginTop:{type:"number",default:20},marginTopTablet:{type:"number",default:20},marginTopMobile:{type:"number",default:20},marginBottom:{type:"number",default:20},marginBottomTablet:{type:"number",default:20},marginBottomMobile:{type:"number",default:20},columnsWidth:{type:"number"},horizontalAlign:{type:"string",default:"unset"},columnsHeight:{type:"string",default:"auto"},columnsHeightCustom:{type:"number"},columnsHeightCustomTablet:{type:"number"},columnsHeightCustomMobile:{type:"number"},verticalAlign:{type:"string",default:"unset"},backgroundType:{type:"string",default:"color"},backgroundColor:{type:"string"},backgroundImageID:{type:"number"},backgroundImageURL:{type:"string"},backgroundAttachment:{type:"string",default:"scroll"},backgroundPosition:{type:"string",default:"top left"},backgroundRepeat:{type:"string",default:"repeat"},backgroundSize:{type:"string",default:"auto"},backgroundGradientFirstColor:{type:"string",default:"#36d1dc"},backgroundGradientFirstLocation:{type:"number",default:0},backgroundGradientSecondColor:{type:"string",default:"#5b86e5"},backgroundGradientSecondLocation:{type:"number",default:100},backgroundGradientType:{type:"string",default:"linear"},backgroundGradientAngle:{type:"number",default:90},backgroundGradientPosition:{type:"string",default:"center center"},backgroundOverlayOpacity:{type:"number",default:50},backgroundOverlayType:{type:"string",default:"color"},backgroundOverlayColor:{type:"string"},backgroundOverlayImageID:{type:"number"},backgroundOverlayImageURL:{type:"string"},backgroundOverlayAttachment:{type:"string",default:"scroll"},backgroundOverlayPosition:{type:"string",default:"top left"},backgroundOverlayRepeat:{type:"string",default:"repeat"},backgroundOverlaySize:{type:"string",default:"auto"},backgroundOverlayGradientFirstColor:{type:"string",default:"#36d1dc"},backgroundOverlayGradientFirstLocation:{type:"number",default:0},backgroundOverlayGradientSecondColor:{type:"string",default:"#5b86e5"},backgroundOverlayGradientSecondLocation:{type:"number",default:100},backgroundOverlayGradientType:{type:"string",default:"linear"},backgroundOverlayGradientAngle:{type:"number",default:90},backgroundOverlayGradientPosition:{type:"string",default:"center center"},backgroundOverlayFilterBlur:{type:"number",default:0},backgroundOverlayFilterBrightness:{type:"number",default:10},backgroundOverlayFilterContrast:{type:"number",default:10},backgroundOverlayFilterGrayscale:{type:"number",default:0},backgroundOverlayFilterHue:{type:"number",default:0},backgroundOverlayFilterSaturate:{type:"number",default:10},backgroundOverlayBlend:{type:"string",default:"normal"},borderType:{type:"string",default:"linked"},border:{type:"number",default:0},borderTop:{type:"number",default:0},borderRight:{type:"number",default:0},borderBottom:{type:"number",default:0},borderLeft:{type:"number",default:0},borderColor:{type:"string",default:"#000000"},borderRadiusType:{type:"string",default:"linked"},borderRadius:{type:"number",default:0},borderRadiusTop:{type:"number",default:0},borderRadiusRight:{type:"number",default:0},borderRadiusBottom:{type:"number",default:0},borderRadiusLeft:{type:"number",default:0},boxShadow:{type:"boolean",default:!1},boxShadowColor:{type:"string",default:"#000000"},boxShadowColorOpacity:{type:"number",default:50},boxShadowBlur:{type:"number",default:5},boxShadowSpread:{type:"number",default:0},boxShadowHorizontal:{type:"number",default:0},boxShadowVertical:{type:"number",default:0},dividerTopType:{type:"string",default:"none"},dividerTopColor:{type:"string",default:"#000000"},dividerTopWidth:{type:"number",default:100},dividerTopWidthTablet:{type:"number",default:100},dividerTopWidthMobile:{type:"number",default:100},dividerTopHeight:{type:"number",default:100},dividerTopHeightTablet:{type:"number",default:100},dividerTopHeightMobile:{type:"number",default:100},dividerTopInvert:{type:"boolean",default:!1},dividerBottomType:{type:"string",default:"none"},dividerBottomColor:{type:"string",default:"#000000"},dividerBottomWidth:{type:"number",default:100},dividerBottomWidthTablet:{type:"number",default:100},dividerBottomWidthMobile:{type:"number",default:100},dividerBottomHeight:{type:"number",default:100},dividerBottomHeightTablet:{type:"number",default:100},dividerBottomHeightMobile:{type:"number",default:100},dividerBottomInvert:{type:"boolean",default:!1},hide:{type:"boolean",default:!1},hideTablet:{type:"boolean",default:!1},hideMobile:{type:"boolean",default:!1},columnsHTMLTag:{type:"string",default:"div"}},supports:{align:["wide","full"],html:!1},deprecated:le,edit:Se([Me((function(e){return{updateBlockAttributes:(e("core/block-editor")||e("core/editor")).updateBlockAttributes}})),Le((function(e,t){var n=t.clientId;return{sectionBlock:(0,(e("core/block-editor")||e("core/editor")).getBlock)(n),props:t}})),Be({tab:"layout",columnsViewType:"desktop",paddingViewType:"desktop",marginViewType:"desktop",heightViewType:"desktop",dividerViewType:"top",dividerWidthViewType:"desktop",dividerHeightViewType:"desktop"}),He({isLarger:">= large",isLarge:"<= large",isSmall:">= small",isSmaller:"<= small"})])((function(e){var t=e.tab,n=e.columnsViewType,o=e.paddingViewType,l=e.marginViewType,d=e.heightViewType,b=e.dividerViewType,g=e.dividerWidthViewType,h=e.dividerHeightViewType,f=e.setState,y=e.isLarger,w=e.isLarge,v=e.isSmall,k=e.isSmaller,E=e.props,C=e.sectionBlock,x=e.updateBlockAttributes,T=E.attributes,S=T.id,B=T.columns,O=T.layout,N=T.layoutTablet,A=T.layoutMobile,P=T.columnsGap,_=T.paddingType,R=T.paddingTypeTablet,I=T.paddingTypeMobile,z=T.padding,V=T.paddingTablet,H=T.paddingMobile,j=T.paddingTop,F=T.paddingTopTablet,D=T.paddingTopMobile,G=T.paddingRight,W=T.paddingRightTablet,Z=T.paddingRightMobile,q=T.paddingBottom,U=T.paddingBottomTablet,K=T.paddingBottomMobile,Q=T.paddingLeft,J=T.paddingLeftTablet,Y=T.paddingLeftMobile,te=T.marginType,ne=T.marginTypeTablet,oe=T.marginTypeMobile,ae=T.margin,le=T.marginTablet,re=T.marginMobile,ue=T.marginTop,me=T.marginTopTablet,Te=T.marginTopMobile,Se=T.marginBottom,Be=T.marginBottomTablet,Oe=T.marginBottomMobile,Me=T.columnsWidth,Le=T.columnsHeight,Ne=T.columnsHeightCustom,He=T.columnsHeightCustomTablet,je=T.columnsHeightCustomMobile,Fe=T.horizontalAlign,De=T.verticalAlign,Ge=T.backgroundType,We=T.backgroundColor,Ze=T.backgroundImageID,qe=T.backgroundImageURL,Ue=T.backgroundAttachment,Ke=T.backgroundPosition,Qe=T.backgroundRepeat,Je=T.backgroundSize,Ye=T.backgroundGradientFirstColor,$e=T.backgroundGradientFirstLocation,Xe=T.backgroundGradientSecondColor,et=T.backgroundGradientSecondLocation,tt=T.backgroundGradientType,nt=T.backgroundGradientAngle,ot=T.backgroundGradientPosition,at=T.backgroundOverlayOpacity,lt=T.backgroundOverlayType,rt=T.backgroundOverlayColor,it=T.backgroundOverlayImageID,ct=T.backgroundOverlayImageURL,st=T.backgroundOverlayAttachment,pt=T.backgroundOverlayPosition,ut=T.backgroundOverlayRepeat,mt=T.backgroundOverlaySize,dt=T.backgroundOverlayGradientFirstColor,bt=T.backgroundOverlayGradientFirstLocation,gt=T.backgroundOverlayGradientSecondColor,ht=T.backgroundOverlayGradientSecondLocation,ft=T.backgroundOverlayGradientType,yt=T.backgroundOverlayGradientAngle,wt=T.backgroundOverlayGradientPosition,vt=T.backgroundOverlayFilterBlur,kt=T.backgroundOverlayFilterBrightness,Et=T.backgroundOverlayFilterContrast,Ct=T.backgroundOverlayFilterGrayscale,xt=T.backgroundOverlayFilterHue,Tt=T.backgroundOverlayFilterSaturate,St=T.backgroundOverlayBlend,Bt=T.borderType,Ot=T.border,Mt=T.borderTop,Lt=T.borderRight,Nt=T.borderBottom,At=T.borderLeft,Pt=T.borderColor,_t=T.borderRadiusType,Rt=T.borderRadius,It=T.borderRadiusTop,zt=T.borderRadiusRight,Vt=T.borderRadiusBottom,Ht=T.borderRadiusLeft,jt=T.boxShadow,Ft=T.boxShadowColor,Dt=T.boxShadowColorOpacity,Gt=T.boxShadowBlur,Wt=T.boxShadowSpread,Zt=T.boxShadowHorizontal,qt=T.boxShadowVertical,Ut=T.dividerTopType,Kt=T.dividerTopColor,Qt=T.dividerTopWidth,Jt=T.dividerTopWidthTablet,Yt=T.dividerTopWidthMobile,$t=T.dividerTopHeight,Xt=T.dividerTopHeightTablet,en=T.dividerTopHeightMobile,tn=T.dividerTopInvert,nn=T.dividerBottomType,on=T.dividerBottomColor,an=T.dividerBottomWidth,ln=T.dividerBottomWidthTablet,rn=T.dividerBottomWidthMobile,cn=T.dividerBottomHeight,sn=T.dividerBottomHeightTablet,pn=T.dividerBottomHeightMobile,un=T.dividerBottomInvert,mn=T.hide,dn=T.hideTablet,bn=T.hideMobile,gn=T.columnsHTMLTag;if(void 0===S||S.substr(S.length-8)!==E.clientId.substr(0,8)){var hn="wp-block-themeisle-blocks-advanced-columns-".concat(E.clientId.substr(0,8));E.setAttributes({id:hn})}var fn,yn,wn,vn,kn,En,Cn,xn=y&&!w&&v&&!k,Tn=!y&&!w&&v&&!k,Sn=!(y||w||v||k),Bn=gn;(xn&&(fn={paddingRight:"".concat("linked"===_?z:G,"px"),paddingLeft:"".concat("linked"===_?z:Q,"px"),marginTop:"".concat("linked"===te?ae:ue,"px"),marginBottom:"".concat("linked"===te?ae:Se,"px"),minHeight:"custom"===Le?"".concat(Ne,"px"):Le}),Tn&&(fn={paddingRight:"".concat("linked"===R?V:W,"px"),paddingLeft:"".concat("linked"===R?V:J,"px"),marginTop:"".concat("linked"===ne?le:me,"px"),marginBottom:"".concat("linked"===ne?le:Be,"px"),minHeight:"custom"===Le?"".concat(He,"px"):Le}),Sn&&(fn={paddingRight:"".concat("linked"===I?H:Z,"px"),paddingLeft:"".concat("linked"===I?H:Y,"px"),marginTop:"".concat("linked"===oe?re:Te,"px"),marginBottom:"".concat("linked"===oe?re:Oe,"px"),minHeight:"custom"===Le?"".concat(je,"px"):Le}),"color"===Ge&&(yn={background:We}),"image"===Ge&&(yn={backgroundImage:"url( '".concat(qe,"' )"),backgroundAttachment:Ue,backgroundPosition:Ke,backgroundRepeat:Qe,backgroundSize:Je}),"gradient"===Ge)&&(Cn="linear"===tt?"".concat(nt,"deg"):"at ".concat(ot),(Ye||Xe)&&(yn={background:"".concat(tt,"-gradient( ").concat(Cn,", ").concat(Ye||"rgba( 0, 0, 0, 0 )"," ").concat($e,"%, ").concat(Xe||"rgba( 0, 0, 0, 0 )"," ").concat(et,"% )")}));"linked"===Bt&&(vn={borderWidth:"".concat(Ot,"px"),borderStyle:"solid",borderColor:Pt}),"unlinked"===Bt&&(vn={borderTopWidth:"".concat(Mt,"px"),borderRightWidth:"".concat(Lt,"px"),borderBottomWidth:"".concat(Nt,"px"),borderLeftWidth:"".concat(At,"px"),borderStyle:"solid",borderColor:Pt}),"linked"===_t&&(kn={borderRadius:"".concat(Rt,"px")}),"unlinked"===_t&&(kn={borderTopLeftRadius:"".concat(It,"px"),borderTopRightRadius:"".concat(zt,"px"),borderBottomRightRadius:"".concat(Vt,"px"),borderBottomLeftRadius:"".concat(Ht,"px")}),!0===jt&&(En={boxShadow:"".concat(Zt,"px ").concat(qt,"px ").concat(Gt,"px ").concat(Wt,"px ").concat(r()(Ft||"#000000",Dt))});var On,Mn=ie({},fn,{},yn,{},vn,{},kn,{},En,{alignItems:Fe,justifyContent:De});("color"===lt&&(wn={background:rt,opacity:at/100}),"image"===lt&&(wn={backgroundImage:"url( '".concat(ct,"' )"),backgroundAttachment:st,backgroundPosition:pt,backgroundRepeat:ut,backgroundSize:mt,opacity:at/100}),"gradient"===lt)&&(On="linear"===ft?"".concat(yt,"deg"):"at ".concat(wt),wn={background:"".concat(ft,"-gradient( ").concat(On,", ").concat(dt||"rgba( 0, 0, 0, 0 )"," ").concat(bt,"%, ").concat(gt||"rgba( 0, 0, 0, 0 )"," ").concat(ht,"% )"),opacity:at/100});var Ln=ie({},wn,{mixBlendMode:St,filter:"blur( ".concat(vt/10,"px ) brightness( ").concat(kt/10," ) contrast( ").concat(Et/10," ) grayscale( ").concat(Ct/100," ) hue-rotate( ").concat(xt,"deg ) saturate( ").concat(Tt/10," )")}),Nn={};Me&&(Nn={maxWidth:Me+"px"});var An=a()(E.className,"has-".concat(B,"-columns"),"has-desktop-".concat(O,"-layout"),"has-tablet-".concat(N,"-layout"),"has-mobile-".concat(A,"-layout"),"has-".concat(P,"-gap")),Pn=function(e){f({dividerViewType:e})},_n=function(e,t){C.innerBlocks.map((function(n,o){x(n.clientId,{columnWidth:parseFloat(c[e][t][o])})}))},Rn=function(e){var t;return"top"==e&&("desktop"===o&&(t="linked"===_?z:j),"tablet"===o&&(t="linked"===R?V:F),"mobile"===o&&(t="linked"===I?H:D)),"right"==e&&("desktop"===o&&(t="linked"===_?z:G),"tablet"===o&&(t="linked"===R?V:W),"mobile"===o&&(t="linked"===I?H:Z)),"bottom"==e&&("desktop"===o&&(t="linked"===_?z:q),"tablet"===o&&(t="linked"===R?V:U),"mobile"===o&&(t="linked"===I?H:K)),"left"==e&&("desktop"===o&&(t="linked"===_?z:Q),"tablet"===o&&(t="linked"===R?V:J),"mobile"===o&&(t="linked"===I?H:Y)),t},In=function(e){var t;return"top"==e&&(xn&&(t="linked"===_?z:j),Tn&&(t="linked"===R?V:F),Sn&&(t="linked"===I?H:D)),"bottom"==e&&(xn&&(t="linked"===_?z:q),Tn&&(t="linked"===R?V:U),Sn&&(t="linked"===I?H:K)),t},zn={top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"},Vn={top:"paddingTopTablet",right:"paddingRightTablet",bottom:"paddingBottomTablet",left:"paddingLeftTablet"},Hn={top:"paddingTopMobile",right:"paddingRightMobile",bottom:"paddingBottomMobile",left:"paddingLeftMobile"},jn=function(){var e;return"desktop"===o&&(e=_),"tablet"===o&&(e=R),"mobile"===o&&(e=I),e};jn=jn();var Fn=function(e){var t;return"top"==e&&("desktop"===l&&(t="linked"===te?ae:ue),"tablet"===l&&(t="linked"===ne?le:me),"mobile"===l&&(t="linked"===oe?re:Te)),"bottom"==e&&("desktop"===l&&(t="linked"===te?ae:Se),"tablet"===l&&(t="linked"===ne?le:Be),"mobile"===l&&(t="linked"===oe?re:Oe)),t},Dn={top:"marginTop",bottom:"marginBottom"},Gn={top:"marginTopTablet",bottom:"marginBottomTablet"},Wn={top:"marginTopMobile",bottom:"marginBottomMobile"},Zn=function(){var e;return"desktop"===l&&(e=te),"tablet"===l&&(e=ne),"mobile"===l&&(e=oe),e};Zn=Zn();var qn=function(){var e;return"desktop"===d&&(e=Ne),"tablet"===d&&(e=He),"mobile"===d&&(e=je),e};qn=qn();var Un=function(e){if(Fe===e)return E.setAttributes({horizontalAlign:"unset"});E.setAttributes({horizontalAlign:e})},Kn=function(e){if(De===e)return E.setAttributes({verticalAlign:"unset"});E.setAttributes({verticalAlign:e})},Qn=function(){E.setAttributes({backgroundImageID:"",backgroundImageURL:""})},Jn=function(){E.setAttributes({backgroundOverlayImageID:"",backgroundOverlayImageURL:""})},Yn=function(e){var t;return"top"==e&&(t="linked"===Bt?Ot:Mt),"right"==e&&(t="linked"===Bt?Ot:Lt),"bottom"==e&&(t="linked"===Bt?Ot:Nt),"left"==e&&(t="linked"===Bt?Ot:At),t},$n={top:"borderTop",right:"borderRight",bottom:"borderBottom",left:"borderLeft"},Xn=function(e){var t;return"top"==e&&(t="linked"===_t?Rt:It),"right"==e&&(t="linked"===_t?Rt:zt),"bottom"==e&&(t="linked"===_t?Rt:Vt),"left"==e&&(t="linked"===_t?Rt:Ht),t},eo={top:"borderRadiusTop",right:"borderRadiusRight",bottom:"borderRadiusBottom",left:"borderRadiusLeft"},to=function(){var e;return"top"==b&&(e=Ut),"bottom"==b&&(e=nn),e};to=to();var no=function(){var e;return"top"==b&&(e=Kt),"bottom"==b&&(e=on),e};no=no();var oo=function(){var e;return"top"==b&&(e=tn),"bottom"==b&&(e=un),e};oo=oo();var ao=function(){var e;return"top"==b&&("desktop"==g&&(e=Qt),"tablet"==g&&(e=Jt),"mobile"==g&&(e=Yt)),"bottom"==b&&("desktop"==g&&(e=an),"tablet"==g&&(e=ln),"mobile"==g&&(e=rn)),e};ao=ao();var lo=function(){var e;return xn&&(e=Qt),Tn&&(e=Jt),Sn&&(e=Yt),e};lo=lo();var ro=function(){var e;return xn&&(e=an),Tn&&(e=ln),Sn&&(e=rn),e};ro=ro();var io=function(){var e;return"top"==b&&("desktop"==h&&(e=$t),"tablet"==h&&(e=Xt),"mobile"==h&&(e=en)),"bottom"==b&&("desktop"==h&&(e=cn),"tablet"==h&&(e=sn),"mobile"==h&&(e=pn)),e};io=io();var co=function(){var e;return xn&&(e=$t),Tn&&(e=Xt),Sn&&(e=en),e};co=co();var so=function(){var e;return xn&&(e=cn),Tn&&(e=sn),Sn&&(e=pn),e};so=so();var po=function(e,t){"desktop"===t&&E.setAttributes({hide:e}),"tablet"===t&&E.setAttributes({hideTablet:e}),"mobile"===t&&E.setAttributes({hideMobile:e})};return B?wp.element.createElement(Ve,null,Ae&&wp.element.createElement($,{clientId:E.clientId}),wp.element.createElement(Ie,null,wp.element.createElement(we,{className:"wp-block-themeisle-blocks-advanced-columns-header-panel"},wp.element.createElement(be,{className:a()("header-tab",{"is-selected":"layout"===t}),onClick:function(){return f({tab:"layout"})}},wp.element.createElement("span",null,wp.element.createElement(he,{icon:"editor-table"}),pe("Layout"))),wp.element.createElement(be,{className:a()("header-tab",{"is-selected":"style"===t}),onClick:function(){return f({tab:"style"})}},wp.element.createElement("span",null,wp.element.createElement(he,{icon:"admin-customizer"}),pe("Style"))),wp.element.createElement(be,{className:a()("header-tab",{"is-selected":"advanced"===t}),onClick:function(){return f({tab:"advanced"})}},wp.element.createElement("span",null,wp.element.createElement(he,{icon:"admin-generic"}),pe("Advanced")))),"layout"===t&&wp.element.createElement(Ve,null,wp.element.createElement(we,{title:pe("Columns & Layout")},wp.element.createElement(Ee,{label:pe("Columns"),value:B,onChange:function(e){6>=e&&(E.setAttributes({columns:e,layout:"equal",layoutTablet:"equal",layoutMobile:"collapsedRows"}),_n(e,"equal")),6<e&&(E.setAttributes({columns:6,layout:"equal",layoutTablet:"equal",layoutMobile:"collapsedRows"}),_n(6,"equal")),1>=e&&(E.setAttributes({columns:1,layout:"equal",layoutTablet:"equal",layoutMobile:"equal"}),_n(1,"equal"))},min:1,max:6}),wp.element.createElement(s.default,{label:pe("Layout"),columns:B,changeViewType:function(e){f({columnsViewType:e})},onClick:function(e){"desktop"===n&&(E.setAttributes({layout:e}),_n(B,e)),"tablet"===n&&E.setAttributes({layoutTablet:e}),"mobile"===n&&E.setAttributes({layoutMobile:e})},layout:O,layoutTablet:N,layoutMobile:A,view:n}),wp.element.createElement(Ce,{label:pe("Columns Gap"),value:P,options:[{label:"Default (10px)",value:"default"},{label:"No Gap",value:"nogap"},{label:"Narrow (5px)",value:"narrow"},{label:"Extended (15px)",value:"extended"},{label:"Wide (20px)",value:"wide"},{label:"Wider (30px)",value:"wider"}],onChange:function(e){E.setAttributes({columnsGap:e})}})),wp.element.createElement(we,{title:pe("Padding & Margin"),initialOpen:!1},wp.element.createElement(u.a,{label:"Padding",view:o,changeViewType:function(e){f({paddingViewType:e})}},wp.element.createElement(p.a,{type:jn,min:0,max:500,changeType:function(e){"desktop"===o&&E.setAttributes({paddingType:e}),"tablet"===o&&E.setAttributes({paddingTypeTablet:e}),"mobile"===o&&E.setAttributes({paddingTypeMobile:e})},onChange:function(e,t){"desktop"===o&&("linked"===_?E.setAttributes({padding:t}):E.setAttributes(ce({},zn[e],t))),"tablet"===o&&("linked"===R?E.setAttributes({paddingTablet:t}):E.setAttributes(ce({},Vn[e],t))),"mobile"===o&&("linked"===I?E.setAttributes({paddingMobile:t}):E.setAttributes(ce({},Hn[e],t)))},options:[{label:pe("Top"),type:"top",value:Rn("top")},{label:pe("Right"),type:"right",value:Rn("right")},{label:pe("Bottom"),type:"bottom",value:Rn("bottom")},{label:pe("Left"),type:"left",value:Rn("left")}]})),wp.element.createElement(u.a,{label:"Margin",view:l,changeViewType:function(e){f({marginViewType:e})}},wp.element.createElement(p.a,{type:Zn,min:-500,max:500,changeType:function(e){"desktop"===l&&E.setAttributes({marginType:e}),"tablet"===l&&E.setAttributes({marginTypeTablet:e}),"mobile"===l&&E.setAttributes({marginTypeMobile:e})},onChange:function(e,t){"desktop"===l&&("linked"===te?E.setAttributes({margin:t}):E.setAttributes(ce({},Dn[e],t))),"tablet"===l&&("linked"===ne?E.setAttributes({marginTablet:t}):E.setAttributes(ce({},Gn[e],t))),"mobile"===l&&("linked"===oe?E.setAttributes({marginMobile:t}):E.setAttributes(ce({},Wn[e],t)))},options:[{label:pe("Top"),type:"top",value:Fn("top")},{label:pe("Right"),disabled:!0},{label:pe("Bottom"),type:"bottom",value:Fn("bottom")},{label:pe("Left"),disabled:!0}]}))),wp.element.createElement(we,{title:pe("Section Structure"),initialOpen:!1},wp.element.createElement(Ee,{label:pe("Maximum Content Width"),value:Me||"",onChange:function(e){(0<=e&&1200>=e||void 0===e)&&E.setAttributes({columnsWidth:e})},min:0,max:1200}),Me&&wp.element.createElement(de,{label:"Horizontal Align"},wp.element.createElement(ge,{className:"icon-buttom-group"},wp.element.createElement(ve,{text:pe("Left")},wp.element.createElement(ye,{icon:"editor-alignleft",className:"is-button is-large",isPrimary:"flex-start"===Fe,onClick:function(){return Un("flex-start")}})),wp.element.createElement(ve,{text:pe("Center")},wp.element.createElement(ye,{icon:"editor-aligncenter",className:"is-button is-large",isPrimary:"center"===Fe,onClick:function(){return Un("center")}})),wp.element.createElement(ve,{text:pe("Right")},wp.element.createElement(ye,{icon:"editor-alignright",className:"is-button is-large",isPrimary:"flex-end"===Fe,onClick:function(){return Un("flex-end")}})))),wp.element.createElement(Ce,{label:pe("Minimum Height"),value:Le,options:[{label:"Default",value:"auto"},{label:"Fit to Screen",value:"100vh"},{label:"Custom",value:"custom"}],onChange:function(e){E.setAttributes({columnsHeight:e})}}),"custom"===Le&&wp.element.createElement(u.a,{label:"Custom Height",view:d,changeViewType:function(e){f({heightViewType:e})}},wp.element.createElement(Ee,{value:qn||"",onChange:function(e){"desktop"===d&&E.setAttributes({columnsHeightCustom:e}),"tablet"===d&&E.setAttributes({columnsHeightCustomTablet:e}),"mobile"===d&&E.setAttributes({columnsHeightCustomMobile:e})},min:0,max:1e3})),"auto"!==Le&&wp.element.createElement(de,{label:"Vertical Align"},wp.element.createElement(ge,{className:"icon-buttom-group"},wp.element.createElement(ve,{text:pe("Top")},wp.element.createElement(be,{className:"components-icon-button is-button is-large",isPrimary:"flex-start"===De,onClick:function(){return Kn("flex-start")}},wp.element.createElement(fe,{icon:i.s,size:20}))),wp.element.createElement(ve,{text:pe("Middle")},wp.element.createElement(be,{className:"components-icon-button is-button is-large",isPrimary:"center"===De,onClick:function(){return Kn("center")}},wp.element.createElement(fe,{icon:i.j,size:20}))),wp.element.createElement(ve,{text:pe("Bottom")},wp.element.createElement(be,{className:"components-icon-button is-button is-large",isPrimary:"flex-end"===De,onClick:function(){return Kn("flex-end")}},wp.element.createElement(fe,{icon:i.c,size:20})))))))||"style"===t&&wp.element.createElement(Ve,null,wp.element.createElement(we,{title:pe("Background Settings"),className:"wp-block-themeisle-image-container"},wp.element.createElement(m.default,{label:pe("Background Type"),backgroundType:Ge,changeBackgroundType:function(e){E.setAttributes({backgroundType:e})}}),"color"===Ge&&wp.element.createElement(Ve,null,wp.element.createElement("p",null,pe("Background Color")),wp.element.createElement(Pe,{label:"Background Color",value:We,onChange:function(e){E.setAttributes({backgroundColor:e})}}))||"image"===Ge&&(qe?wp.element.createElement(Ve,null,wp.element.createElement("div",{className:"image-body"},wp.element.createElement("div",{className:"image-container"},wp.element.createElement("div",{className:"image-holder",style:{backgroundImage:"url('".concat(qe,"')")}}),wp.element.createElement("div",{className:"image-delete",onClick:Qn},wp.element.createElement(he,{icon:"trash"}),wp.element.createElement("span",null,pe("Remove Image"))))),wp.element.createElement(be,{isDefault:!0,className:"image-delete-button",onClick:Qn},pe("Change or Remove Image")),wp.element.createElement(L.a,{label:"Background Settings"},wp.element.createElement(Ce,{label:pe("Background Attachment"),value:Ue,options:[{label:"Scroll",value:"scroll"},{label:"Fixed",value:"fixed"},{label:"Local",value:"local"}],onChange:function(e){E.setAttributes({backgroundAttachment:e})}}),wp.element.createElement(Ce,{label:pe("Background Position"),value:Ke,options:[{label:"Default",value:"top left"},{label:"Top Left",value:"top left"},{label:"Top Center",value:"top center"},{label:"Top Right",value:"top right"},{label:"Center Left",value:"center left"},{label:"Center Center",value:"center center"},{label:"Center Right",value:"center right"},{label:"Bottom Left",value:"bottom left"},{label:"Bottom Center",value:"bottom center"},{label:"Bottom Right",value:"bottom right"}],onChange:function(e){E.setAttributes({backgroundPosition:e})}}),wp.element.createElement(Ce,{label:pe("Background Repeat"),value:Qe,options:[{label:"Repeat",value:"repeat"},{label:"No-repeat",value:"no-repeat"}],onChange:function(e){E.setAttributes({backgroundRepeat:e})}}),wp.element.createElement(Ce,{label:pe("Background Size"),value:Je,options:[{label:"Auto",value:"auto"},{label:"Cover",value:"cover"},{label:"Contain",value:"contain"}],onChange:function(e){E.setAttributes({backgroundSize:e})}}))):wp.element.createElement(ze,{icon:"format-image",labels:{title:pe("Background Image"),name:pe("an image")},value:Ze,onSelect:function(e){E.setAttributes({backgroundImageID:e.id,backgroundImageURL:e.url})},accept:"image/*",allowedTypes:["image"]}))||"gradient"===Ge&&wp.element.createElement(M,{label:"Background Gradient",value:{firstColor:Ye,firstLocation:$e,secondColor:Xe,secondLocation:et,type:tt,angle:nt,position:ot},onChange:function(e,t,n,o,a,l,r){E.setAttributes({backgroundGradientFirstColor:e,backgroundGradientFirstLocation:t,backgroundGradientSecondColor:n,backgroundGradientSecondLocation:o,backgroundGradientType:a,backgroundGradientAngle:l,backgroundGradientPosition:r})}})),wp.element.createElement(we,{title:pe("Background Overlay"),className:"wp-block-themeisle-image-container",initialOpen:!1},wp.element.createElement(m.default,{label:pe("Overlay Type"),backgroundType:lt,changeBackgroundType:function(e){E.setAttributes({backgroundOverlayType:e})}}),wp.element.createElement(Ee,{label:pe("Overlay Opacity"),value:at,onChange:function(e){E.setAttributes({backgroundOverlayOpacity:e})},min:0,max:100}),"color"===lt&&wp.element.createElement(Ve,null,wp.element.createElement("p",null,pe("Overlay Color")),wp.element.createElement(Pe,{label:"Overlay Color",value:rt,onChange:function(e){E.setAttributes({backgroundOverlayColor:e})}}))||"image"===lt&&(ct?wp.element.createElement(Ve,null,wp.element.createElement("div",{className:"image-body"},wp.element.createElement("div",{className:"image-container"},wp.element.createElement("div",{className:"image-holder",style:{backgroundImage:"url('".concat(ct,"')")}}),wp.element.createElement("div",{className:"image-delete",onClick:Jn},wp.element.createElement(he,{icon:"trash"}),wp.element.createElement("span",null,pe("Remove Image"))))),wp.element.createElement(be,{isDefault:!0,className:"image-delete-button",onClick:Jn},pe("Change or Remove Image")),wp.element.createElement(L.a,{label:"Background Settings"},wp.element.createElement(Ce,{label:pe("Background Attachment"),value:st,options:[{label:"Scroll",value:"scroll"},{label:"Fixed",value:"fixed"},{label:"Local",value:"local"}],onChange:function(e){E.setAttributes({backgroundOverlayAttachment:e})}}),wp.element.createElement(Ce,{label:pe("Background Position"),value:pt,options:[{label:"Default",value:"top left"},{label:"Top Left",value:"top left"},{label:"Top Center",value:"top center"},{label:"Top Right",value:"top right"},{label:"Center Left",value:"center left"},{label:"Center Center",value:"center center"},{label:"Center Right",value:"center right"},{label:"Bottom Left",value:"bottom left"},{label:"Bottom Center",value:"bottom center"},{label:"Bottom Right",value:"bottom right"}],onChange:function(e){E.setAttributes({backgroundOverlayPosition:e})}}),wp.element.createElement(Ce,{label:pe("Background Repeat"),value:ut,options:[{label:"Repeat",value:"repeat"},{label:"No-repeat",value:"no-repeat"}],onChange:function(e){E.setAttributes({backgroundOverlayRepeat:e})}}),wp.element.createElement(Ce,{label:pe("Background Size"),value:mt,options:[{label:"Auto",value:"auto"},{label:"Cover",value:"cover"},{label:"Contain",value:"contain"}],onChange:function(e){E.setAttributes({backgroundOverlaySize:e})}}))):wp.element.createElement(ze,{icon:"format-image",labels:{title:pe("Background Image"),name:pe("an image")},value:it,onSelect:function(e){E.setAttributes({backgroundOverlayImageID:e.id,backgroundOverlayImageURL:e.url})},accept:"image/*",allowedTypes:["image"]}))||"gradient"===lt&&wp.element.createElement(M,{label:"Background Gradient",value:{firstColor:dt,firstLocation:bt,secondColor:gt,secondLocation:ht,type:ft,angle:yt,position:wt},onChange:function(e,t,n,o,a,l,r){E.setAttributes({backgroundOverlayGradientFirstColor:e,backgroundOverlayGradientFirstLocation:t,backgroundOverlayGradientSecondColor:n,backgroundOverlayGradientSecondLocation:o,backgroundOverlayGradientType:a,backgroundOverlayGradientAngle:l,backgroundOverlayGradientPosition:r})}}),wp.element.createElement(L.a,{label:"CSS Filters"},wp.element.createElement(Ee,{label:pe("Blur"),value:vt,onChange:function(e){E.setAttributes({backgroundOverlayFilterBlur:e})},min:0,max:100}),wp.element.createElement(Ee,{label:pe("Brightness"),value:kt,onChange:function(e){E.setAttributes({backgroundOverlayFilterBrightness:e})},min:0,max:100}),wp.element.createElement(Ee,{label:pe("Contrast"),value:Et,onChange:function(e){E.setAttributes({backgroundOverlayFilterContrast:e})},min:0,max:100}),wp.element.createElement(Ee,{label:pe("Grayscale"),value:Ct,onChange:function(e){E.setAttributes({backgroundOverlayFilterGrayscale:e})},min:0,max:100}),wp.element.createElement(Ee,{label:pe("Hue"),value:xt,onChange:function(e){E.setAttributes({backgroundOverlayFilterHue:e})},min:0,max:360}),wp.element.createElement(Ee,{label:pe("Saturation"),value:Tt,onChange:function(e){E.setAttributes({backgroundOverlayFilterSaturate:e})},min:0,max:100})),wp.element.createElement(Ce,{label:pe("Blend Mode"),value:St,options:[{label:"Normal",value:"normal"},{label:"Multiply",value:"multiply"},{label:"Screen",value:"screen"},{label:"Overlay",value:"overlay"},{label:"Darken",value:"darken"},{label:"Lighten",value:"lighten"},{label:"Color Dodge",value:"color-dodge"},{label:"Color Burn",value:"color-burn"},{label:"Hard Light",value:"hard-light"},{label:"Soft Light",value:"soft-light"},{label:"Difference",value:"difference"},{label:"Exclusion",value:"exclusion"},{label:"Hue",value:"hue"},{label:"Saturation",value:"saturation"},{label:"Color",value:"color"},{label:"Luminosity",value:"luminosity"}],onChange:function(e){E.setAttributes({backgroundOverlayBlend:e})}})),wp.element.createElement(we,{title:pe("Border"),className:"wp-block-themeisle-border-container",initialOpen:!1},wp.element.createElement(p.a,{label:pe("Border Width"),type:Bt,min:0,max:500,changeType:function(e){E.setAttributes({borderType:e})},onChange:function(e,t){"linked"===Bt?E.setAttributes({border:t}):E.setAttributes(ce({},$n[e],t))},options:[{label:pe("Top"),type:"top",value:Yn("top")},{label:pe("Right"),type:"right",value:Yn("right")},{label:pe("Bottom"),type:"bottom",value:Yn("bottom")},{label:pe("Left"),type:"left",value:Yn("left")}]}),wp.element.createElement(Ve,null,wp.element.createElement("p",null,pe("Border Color")),wp.element.createElement(Pe,{label:"Border Color",value:Pt,onChange:function(e){E.setAttributes({borderColor:e})}})),wp.element.createElement(p.a,{label:pe("Border Radius"),type:_t,min:0,max:500,changeType:function(e){E.setAttributes({borderRadiusType:e})},onChange:function(e,t){"linked"===_t?E.setAttributes({borderRadius:t}):E.setAttributes(ce({},eo[e],t))},options:[{label:pe("Top"),type:"top",value:Xn("top")},{label:pe("Right"),type:"right",value:Xn("right")},{label:pe("Bottom"),type:"bottom",value:Xn("bottom")},{label:pe("Left"),type:"left",value:Xn("left")}]}),wp.element.createElement(ke,{label:"Box Shadow",checked:jt,onChange:function(){E.setAttributes({boxShadow:!jt})}}),jt&&wp.element.createElement(Ve,null,wp.element.createElement(Ve,null,wp.element.createElement("p",null,pe("Shadow Color")),wp.element.createElement(Pe,{label:"Shadow Color",value:Ft,onChange:function(e){E.setAttributes({boxShadowColor:e})}})),wp.element.createElement(L.a,{label:"Border Shadow"},wp.element.createElement(Ee,{label:pe("Opacity"),value:Dt,onChange:function(e){E.setAttributes({boxShadowColorOpacity:e})},min:0,max:100}),wp.element.createElement(Ee,{label:pe("Blur"),value:Gt,onChange:function(e){E.setAttributes({boxShadowBlur:e})},min:0,max:100}),wp.element.createElement(Ee,{label:pe("Spread"),value:Wt,onChange:function(e){E.setAttributes({boxShadowSpread:e})},min:-100,max:100}),wp.element.createElement(Ee,{label:pe("Horizontal"),value:Zt,onChange:function(e){E.setAttributes({boxShadowHorizontal:e})},min:-100,max:100}),wp.element.createElement(Ee,{label:pe("Vertical"),value:qt,onChange:function(e){E.setAttributes({boxShadowVertical:e})},min:-100,max:100})))),wp.element.createElement(we,{title:pe("Shape Divider"),initialOpen:!1,className:"wp-block-themeisle-shape-divider"},wp.element.createElement(ge,null,wp.element.createElement(be,{className:"is-button",isPrimary:"top"===b,onClick:function(){return Pn("top")}},pe("Top")),wp.element.createElement(be,{className:"is-button",isPrimary:"bottom"===b,onClick:function(){return Pn("bottom")}},pe("Bottom"))),wp.element.createElement(Ce,{label:pe("Type"),value:to,options:[{label:"None",value:"none"},{label:"Triangle",value:"bigTriangle"},{label:"Right Curve",value:"rightCurve"},{label:"Curve",value:"curve"},{label:"Slant",value:"slant"},{label:"Cloud",value:"cloud"}],onChange:function(e){"top"==b&&E.setAttributes({dividerTopType:e}),"bottom"==b&&E.setAttributes({dividerBottomType:e})}}),"none"!==to&&wp.element.createElement(Ve,null,wp.element.createElement(Ve,null,wp.element.createElement("p",null,pe("Color")),wp.element.createElement(Pe,{label:pe("Color"),value:no,onChange:function(e){"top"==b&&E.setAttributes({dividerTopColor:e}),"bottom"==b&&E.setAttributes({dividerBottomColor:e})}})),wp.element.createElement(u.a,{label:"Width",view:g,changeViewType:function(e){f({dividerWidthViewType:e})}},wp.element.createElement(Ee,{value:ao,onChange:function(e){"top"==b&&("desktop"==g&&E.setAttributes({dividerTopWidth:e}),"tablet"==g&&E.setAttributes({dividerTopWidthTablet:e}),"mobile"==g&&E.setAttributes({dividerTopWidthMobile:e})),"bottom"==b&&("desktop"==g&&E.setAttributes({dividerBottomWidth:e}),"tablet"==g&&E.setAttributes({dividerBottomWidthTablet:e}),"mobile"==g&&E.setAttributes({dividerBottomWidthMobile:e}))},min:0,max:500})),wp.element.createElement(u.a,{label:"Height",view:h,changeViewType:function(e){f({dividerHeightViewType:e})}},wp.element.createElement(Ee,{value:io,onChange:function(e){"top"==b&&("desktop"==h&&E.setAttributes({dividerTopHeight:e}),"tablet"==h&&E.setAttributes({dividerTopHeightTablet:e}),"mobile"==h&&E.setAttributes({dividerTopHeightMobile:e})),"bottom"==b&&("desktop"==h&&E.setAttributes({dividerBottomHeight:e}),"tablet"==h&&E.setAttributes({dividerBottomHeightTablet:e}),"mobile"==h&&E.setAttributes({dividerBottomHeightMobile:e}))},min:0,max:500})),"curve"!==to&&"cloud"!==to&&wp.element.createElement(ke,{label:"Invert Shape Divider",checked:oo,onChange:function(){"top"==b&&E.setAttributes({dividerTopInvert:!tn}),"bottom"==b&&E.setAttributes({dividerBottomInvert:!un})}}))))||"advanced"===t&&wp.element.createElement(Ve,null,wp.element.createElement(we,{title:pe("Section Visibility")},wp.element.createElement(ke,{label:"Hide this section in Desktop devices?",checked:mn,onChange:function(e){return po(e,"desktop")}}),wp.element.createElement(ke,{label:"Hide this section in Tablet devices?",checked:dn,onChange:function(e){return po(e,"tablet")}}),wp.element.createElement(ke,{label:"Hide this section in Mobile devices?",checked:bn,onChange:function(e){return po(e,"mobile")}})),wp.element.createElement(we,{title:pe("Section Settings"),initialOpen:!1},wp.element.createElement(Ce,{label:pe("HTML Tag"),value:gn,options:[{label:"Default",value:"div"},{label:"div",value:"div"},{label:"section",value:"section"},{label:"header",value:"header"},{label:"footer",value:"footer"},{label:"article",value:"article"},{label:"main",value:"main"}],onChange:function(e){E.setAttributes({columnsHTMLTag:e})}})))),wp.element.createElement(Re,null,wp.element.createElement(xe,{label:pe("HTML Anchor"),help:pe("Anchors lets you link directly to a section on a page."),value:S,readonly:"readonly",onClick:function(e){return e.target.select()}})),wp.element.createElement(Bn,{className:An,style:Mn},wp.element.createElement("div",{className:"wp-themeisle-block-overlay",style:Ln}),wp.element.createElement("div",{className:"wp-themeisle-block-advanced-columns-padding-container",style:{height:"".concat(In("top"),"px")}},wp.element.createElement("div",{className:"block-space-size"},wp.element.createElement("span",{id:"paddingTop"},"".concat(In("top"),"px")))),wp.element.createElement(X.default,{type:"top",style:Ut,fill:Kt,invert:tn,width:lo,height:co}),wp.element.createElement("div",{className:"innerblocks-wrap",style:Nn},wp.element.createElement(_e,{allowedBlocks:["themeisle-blocks/advanced-columns"],template:function(e){return se(e,(function(t){return["themeisle-blocks/advanced-column",{columnWidth:parseFloat(c[e][O][t])}]}))}(B),templateLock:"all"})),wp.element.createElement(X.default,{type:"bottom",style:nn,fill:on,invert:un,width:ro,height:so}),wp.element.createElement("div",{className:"wp-themeisle-block-advanced-columns-padding-container",style:{height:"".concat(In("bottom"),"px")}},wp.element.createElement("div",{className:"block-space-size"},wp.element.createElement("span",{id:"paddingBottom"},"".concat(In("bottom"),"px")))))):wp.element.createElement(ee.default,{clientId:E.clientId,setupColumns:function(e,t){1>=e?E.setAttributes({columns:e,layout:t,layoutTablet:"equal",layoutMobile:"equal"}):E.setAttributes({columns:e,layout:t,layoutTablet:"equal",layoutMobile:"collapsedRows"})}})})),save:function(e){var t,n,o,l,i,c,s=e.attributes,p=s.id,u=s.columns,m=s.layout,d=s.layoutTablet,b=s.layoutMobile,g=s.columnsGap,h=s.columnsWidth,f=s.horizontalAlign,y=s.verticalAlign,w=s.backgroundType,v=s.backgroundColor,k=s.backgroundImageURL,E=s.backgroundAttachment,C=s.backgroundPosition,x=s.backgroundRepeat,T=s.backgroundSize,S=s.backgroundGradientFirstColor,B=s.backgroundGradientFirstLocation,O=s.backgroundGradientSecondColor,M=s.backgroundGradientSecondLocation,L=s.backgroundGradientType,N=s.backgroundGradientAngle,A=s.backgroundGradientPosition,P=s.backgroundOverlayOpacity,_=s.backgroundOverlayType,R=s.backgroundOverlayColor,I=s.backgroundOverlayImageURL,z=s.backgroundOverlayAttachment,V=s.backgroundOverlayPosition,H=s.backgroundOverlayRepeat,j=s.backgroundOverlaySize,F=s.backgroundOverlayGradientFirstColor,D=s.backgroundOverlayGradientFirstLocation,G=s.backgroundOverlayGradientSecondColor,W=s.backgroundOverlayGradientSecondLocation,Z=s.backgroundOverlayGradientType,q=s.backgroundOverlayGradientAngle,U=s.backgroundOverlayGradientPosition,K=s.backgroundOverlayBlend,Q=s.borderType,J=s.border,Y=s.borderTop,$=s.borderRight,ee=s.borderBottom,te=s.borderLeft,ne=s.borderColor,oe=s.borderRadiusType,ae=s.borderRadius,le=s.borderRadiusTop,re=s.borderRadiusRight,ce=s.borderRadiusBottom,se=s.borderRadiusLeft,pe=s.boxShadow,ue=s.boxShadowColor,me=s.boxShadowColorOpacity,de=s.boxShadowBlur,be=s.boxShadowSpread,ge=s.boxShadowHorizontal,he=s.boxShadowVertical,fe=s.dividerTopType,ye=s.dividerTopColor,we=s.dividerTopInvert,ve=s.dividerBottomType,ke=s.dividerBottomColor,Ee=s.dividerBottomInvert,Ce=s.hide,xe=s.hideTablet,Te=s.hideMobile,Se=s.columnsHTMLTag;("color"===w&&(t={background:v}),"image"===w&&(t={backgroundImage:"url( '".concat(k,"' )"),backgroundAttachment:E,backgroundPosition:C,backgroundRepeat:x,backgroundSize:T}),"gradient"===w)&&(c="linear"===L?"".concat(N,"deg"):"at ".concat(A),t={background:"".concat(L,"-gradient( ").concat(c,", ").concat(S||"rgba( 0, 0, 0, 0 )"," ").concat(B,"%, ").concat(O||"rgba( 0, 0, 0, 0 )"," ").concat(M,"% )")});"linked"===Q&&(o={borderWidth:"".concat(J,"px"),borderStyle:"solid",borderColor:ne}),"unlinked"===Q&&(o={borderTopWidth:"".concat(Y,"px"),borderRightWidth:"".concat($,"px"),borderBottomWidth:"".concat(ee,"px"),borderLeftWidth:"".concat(te,"px"),borderStyle:"solid",borderColor:ne}),"linked"===oe&&(l={borderRadius:"".concat(ae,"px")}),"unlinked"===oe&&(l={borderTopLeftRadius:"".concat(le,"px"),borderTopRightRadius:"".concat(re,"px"),borderBottomRightRadius:"".concat(ce,"px"),borderBottomLeftRadius:"".concat(se,"px")}),!0===pe&&(i={boxShadow:"".concat(ge,"px ").concat(he,"px ").concat(de,"px ").concat(be,"px ").concat(r()(ue||"#000000",me))});var Be,Oe=ie({},t,{},o,{},l,{},i,{justifyContent:f});("color"===_&&(n={background:R,opacity:P/100}),"image"===_&&(n={backgroundImage:"url( '".concat(I,"' )"),backgroundAttachment:z,backgroundPosition:V,backgroundRepeat:H,backgroundSize:j,opacity:P/100}),"gradient"===_)&&(Be="linear"===Z?"".concat(q,"deg"):"at ".concat(U),n={background:"".concat(Z,"-gradient( ").concat(Be,", ").concat(F||"rgba( 0, 0, 0, 0 )"," ").concat(D,"%, ").concat(G||"rgba( 0, 0, 0, 0 )"," ").concat(W,"% )"),opacity:P/100});var Me=ie({},n,{mixBlendMode:K}),Le={};h&&(Le={maxWidth:h+"px"});var Ne=Ce?"":"has-desktop-".concat(m,"-layout"),Ae=xe?"":"has-tablet-".concat(d,"-layout"),Pe=Te?"":"has-mobile-".concat(b,"-layout"),Re=a()(e.className,"has-".concat(u,"-columns"),Ne,Ae,Pe,{"hide-in-desktop":Ce},{"hide-in-tablet":xe},{"hide-in-mobile":Te},"has-".concat(g,"-gap"),"has-vertical-".concat(y));return wp.element.createElement(Se,{className:Re,id:p,style:Oe},wp.element.createElement("div",{className:"wp-themeisle-block-overlay",style:Me}),wp.element.createElement(X.default,{type:"top",front:!0,style:fe,fill:ye,invert:we}),wp.element.createElement("div",{className:"innerblocks-wrap",style:Le},wp.element.createElement(_e.Content,null)),wp.element.createElement(X.default,{type:"bottom",front:!0,style:ve,fill:ke,invert:Ee}))}});var Ge=wp.i18n.__,We=wp.blocks.registerBlockType,Ze=wp.components,qe=Ze.Button,Ue=Ze.Dashicon,Ke=Ze.PanelBody,Qe=Ze.ToggleControl,Je=Ze.RangeControl,Ye=Ze.ResizableBox,$e=Ze.SelectControl,Xe=wp.compose,et=Xe.compose,tt=Xe.withState,nt=wp.data,ot=nt.withDispatch,at=nt.withSelect,lt=wp.blockEditor||wp.editor,rt=lt.ColorPalette,it=lt.InnerBlocks,ct=lt.InspectorControls,st=lt.MediaPlaceholder,pt=wp.element.Fragment,ut=wp.viewport.withViewportMatch;We("themeisle-blocks/advanced-column",{title:Ge("Section Column"),description:Ge("A single column within a Section block."),parent:["themeisle-blocks/advanced-columns"],icon:i.e,category:"themeisle-blocks",attributes:{id:{type:"string"},paddingType:{type:"string",default:"linked"},paddingTypeTablet:{type:"string",default:"linked"},paddingTypeMobile:{type:"string",default:"linked"},padding:{type:"number",default:20},paddingTablet:{type:"number",default:20},paddingMobile:{type:"number",default:20},paddingTop:{type:"number",default:20},paddingTopTablet:{type:"number",default:20},paddingTopMobile:{type:"number",default:20},paddingRight:{type:"number",default:20},paddingRightTablet:{type:"number",default:20},paddingRightMobile:{type:"number",default:20},paddingBottom:{type:"number",default:20},paddingBottomTablet:{type:"number",default:20},paddingBottomMobile:{type:"number",default:20},paddingLeft:{type:"number",default:20},paddingLeftTablet:{type:"number",default:20},paddingLeftMobile:{type:"number",default:20},marginType:{type:"string",default:"unlinked"},marginTypeTablet:{type:"string",default:"unlinked"},marginTypeMobile:{type:"string",default:"unlinked"},margin:{type:"number",default:20},marginTablet:{type:"number",default:20},marginMobile:{type:"number",default:20},marginTop:{type:"number",default:20},marginTopTablet:{type:"number",default:20},marginTopMobile:{type:"number",default:20},marginRight:{type:"number",default:0},marginRightTablet:{type:"number",default:0},marginRightMobile:{type:"number",default:0},marginBottom:{type:"number",default:20},marginBottomTablet:{type:"number",default:20},marginBottomMobile:{type:"number",default:20},marginLeft:{type:"number",default:0},marginLeftTablet:{type:"number",default:0},marginLeftMobile:{type:"number",default:0},backgroundType:{type:"string",default:"color"},backgroundColor:{type:"string"},backgroundImageID:{type:"number"},backgroundImageURL:{type:"string"},backgroundAttachment:{type:"string",default:"scroll"},backgroundPosition:{type:"string",default:"top left"},backgroundRepeat:{type:"string",default:"repeat"},backgroundSize:{type:"string",default:"auto"},backgroundGradientFirstColor:{type:"string",default:"#36d1dc"},backgroundGradientFirstLocation:{type:"number",default:0},backgroundGradientSecondColor:{type:"string",default:"#5b86e5"},backgroundGradientSecondLocation:{type:"number",default:100},backgroundGradientType:{type:"string",default:"linear"},backgroundGradientAngle:{type:"number",default:90},backgroundGradientPosition:{type:"string",default:"center center"},borderType:{type:"string",default:"linked"},border:{type:"number",default:0},borderTop:{type:"number",default:0},borderRight:{type:"number",default:0},borderBottom:{type:"number",default:0},borderLeft:{type:"number",default:0},borderColor:{type:"string",default:"#000000"},borderRadiusType:{type:"string",default:"linked"},borderRadius:{type:"number",default:0},borderRadiusTop:{type:"number",default:0},borderRadiusRight:{type:"number",default:0},borderRadiusBottom:{type:"number",default:0},borderRadiusLeft:{type:"number",default:0},boxShadow:{type:"boolean",default:!1},boxShadowColor:{type:"string",default:"#000000"},boxShadowColorOpacity:{type:"number",default:50},boxShadowBlur:{type:"number",default:5},boxShadowSpread:{type:"number",default:0},boxShadowHorizontal:{type:"number",default:0},boxShadowVertical:{type:"number",default:0},columnsHTMLTag:{type:"string",default:"div"},columnWidth:{type:"string"}},supports:{inserter:!1,reusable:!1,html:!1},edit:et([ot((function(e){return{updateBlockAttributes:(e("core/block-editor")||e("core/editor")).updateBlockAttributes}})),at((function(e,t){var n=t.clientId,o=e("core/block-editor")||e("core/editor"),a=o.getAdjacentBlockClientId,l=o.getBlock,r=o.getBlockRootClientId,i=l(n),c=a(n),s=l(c),p=r(n);return{adjacentBlockClientId:c,adjacentBlock:s,parentClientId:p,parentBlock:l(p),hasInnerBlocks:!(!i||!i.innerBlocks.length),props:t}})),tt({tab:"layout",paddingViewType:"desktop",marginViewType:"desktop",currentWidth:0,nextWidth:0}),ut({isLarger:">= large",isLarge:"<= large",isSmall:">= small",isSmaller:"<= small"})])((function(e){var t=e.tab,n=e.paddingViewType,o=e.marginViewType,l=e.currentWidth,i=e.nextWidth,s=e.setState,d=e.isLarger,b=e.isLarge,g=e.isSmall,h=e.isSmaller,f=e.props,y=e.adjacentBlockClientId,w=e.adjacentBlock,v=e.parentClientId,k=e.parentBlock,E=e.hasInnerBlocks,C=e.updateBlockAttributes,x=f.attributes,T=x.id,S=x.paddingType,B=x.paddingTypeTablet,O=x.paddingTypeMobile,N=x.padding,A=x.paddingTablet,P=x.paddingMobile,_=x.paddingTop,R=x.paddingTopTablet,I=x.paddingTopMobile,z=x.paddingRight,V=x.paddingRightTablet,H=x.paddingRightMobile,j=x.paddingBottom,F=x.paddingBottomTablet,D=x.paddingBottomMobile,G=x.paddingLeft,W=x.paddingLeftTablet,Z=x.paddingLeftMobile,q=x.marginType,U=x.marginTypeTablet,K=x.marginTypeMobile,Q=x.margin,J=x.marginTablet,Y=x.marginMobile,$=x.marginTop,X=x.marginTopTablet,ee=x.marginTopMobile,te=x.marginRight,ne=x.marginRightTablet,oe=x.marginRightMobile,ae=x.marginBottom,le=x.marginBottomTablet,re=x.marginBottomMobile,ie=x.marginLeft,ce=x.marginLeftTablet,se=x.marginLeftMobile,pe=x.backgroundType,ue=x.backgroundColor,me=x.backgroundImageID,de=x.backgroundImageURL,be=x.backgroundAttachment,ge=x.backgroundPosition,he=x.backgroundRepeat,fe=x.backgroundSize,ye=x.backgroundGradientFirstColor,we=x.backgroundGradientFirstLocation,ve=x.backgroundGradientSecondColor,ke=x.backgroundGradientSecondLocation,Ee=x.backgroundGradientType,Ce=x.backgroundGradientAngle,xe=x.backgroundGradientPosition,Te=x.borderType,Se=x.border,Be=x.borderTop,Oe=x.borderRight,Me=x.borderBottom,Le=x.borderLeft,Ne=x.borderColor,Ae=x.borderRadiusType,Pe=x.borderRadius,_e=x.borderRadiusTop,Re=x.borderRadiusRight,Ie=x.borderRadiusBottom,ze=x.borderRadiusLeft,Ve=x.boxShadow,He=x.boxShadowColor,je=x.boxShadowColorOpacity,We=x.boxShadowBlur,Ze=x.boxShadowSpread,Xe=x.boxShadowHorizontal,et=x.boxShadowVertical,tt=x.columnsHTMLTag,nt=x.columnWidth;if(void 0===T||T.substr(T.length-8)!==f.clientId.substr(0,8)){var ot="wp-block-themeisle-blocks-advanced-column-".concat(f.clientId.substr(0,8));f.setAttributes({id:ot})}var at=d&&!b&&g&&!h,lt=!d&&!b&&g&&!h,ut=!(d||b||g||h);void 0===nt&&k.innerBlocks.map((function(e,t){if(f.clientId===e.clientId){var n=k.attributes.columns,o=k.attributes.layout;C(f.clientId,{columnWidth:parseFloat(c[n][o][t])})}}));var mt=document.getElementById("block-".concat(f.clientId));null!==mt&&(mt.style.flexBasis=at?"".concat(nt,"%"):"");var dt,bt,gt,ht,ft,yt,wt=tt;(at&&(dt={paddingTop:"".concat("linked"===S?N:_,"px"),paddingRight:"".concat("linked"===S?N:z,"px"),paddingBottom:"".concat("linked"===S?N:j,"px"),paddingLeft:"".concat("linked"===S?N:G,"px"),marginTop:"".concat("linked"===q?Q:$,"px"),marginRight:"".concat("linked"===q?Q:te,"px"),marginBottom:"".concat("linked"===q?Q:ae,"px"),marginLeft:"".concat("linked"===q?Q:ie,"px")}),lt&&(dt={paddingTop:"".concat("linked"===B?A:R,"px"),paddingRight:"".concat("linked"===B?A:V,"px"),paddingBottom:"".concat("linked"===B?A:F,"px"),paddingLeft:"".concat("linked"===B?A:W,"px"),marginTop:"".concat("linked"===U?J:X,"px"),marginRight:"".concat("linked"===U?J:ne,"px"),marginBottom:"".concat("linked"===U?J:le,"px"),marginLeft:"".concat("linked"===U?J:ce,"px")}),ut&&(dt={paddingTop:"".concat("linked"===O?P:I,"px"),paddingRight:"".concat("linked"===O?P:H,"px"),paddingBottom:"".concat("linked"===O?P:D,"px"),paddingLeft:"".concat("linked"===O?P:Z,"px"),marginTop:"".concat("linked"===K?Y:ee,"px"),marginRight:"".concat("linked"===K?Y:oe,"px"),marginBottom:"".concat("linked"===K?Y:re,"px"),marginLeft:"".concat("linked"===K?Y:se,"px")}),"color"===pe&&(bt={background:ue}),"image"===pe&&(bt={backgroundImage:"url( '".concat(de,"' )"),backgroundAttachment:be,backgroundPosition:ge,backgroundRepeat:he,backgroundSize:fe}),"gradient"===pe)&&(yt="linear"===Ee?"".concat(Ce,"deg"):"at ".concat(xe),(ye||ve)&&(bt={background:"".concat(Ee,"-gradient( ").concat(yt,", ").concat(ye||"rgba( 0, 0, 0, 0 )"," ").concat(we,"%, ").concat(ve||"rgba( 0, 0, 0, 0 )"," ").concat(ke,"% )")}));"linked"===Te&&(gt={borderWidth:"".concat(Se,"px"),borderStyle:"solid",borderColor:Ne}),"unlinked"===Te&&(gt={borderTopWidth:"".concat(Be,"px"),borderRightWidth:"".concat(Oe,"px"),borderBottomWidth:"".concat(Me,"px"),borderLeftWidth:"".concat(Le,"px"),borderStyle:"solid",borderColor:Ne}),"linked"===Ae&&(ht={borderRadius:"".concat(Pe,"px")}),"unlinked"===Ae&&(ht={borderTopLeftRadius:"".concat(_e,"px"),borderTopRightRadius:"".concat(Re,"px"),borderBottomRightRadius:"".concat(Ie,"px"),borderBottomLeftRadius:"".concat(ze,"px")}),!0===Ve&&(ft={boxShadow:"".concat(Xe,"px ").concat(et,"px ").concat(We,"px ").concat(Ze,"px ").concat(r()(He||"#000000",je))});var vt=Fe({},dt,{},bt,{},gt,{},ht,{},ft),kt=function(e){var t;return"top"==e&&("desktop"===n&&(t="linked"===S?N:_),"tablet"===n&&(t="linked"===B?A:R),"mobile"===n&&(t="linked"===O?P:I)),"right"==e&&("desktop"===n&&(t="linked"===S?N:z),"tablet"===n&&(t="linked"===B?A:V),"mobile"===n&&(t="linked"===O?P:H)),"bottom"==e&&("desktop"===n&&(t="linked"===S?N:j),"tablet"===n&&(t="linked"===B?A:F),"mobile"===n&&(t="linked"===O?P:D)),"left"==e&&("desktop"===n&&(t="linked"===S?N:G),"tablet"===n&&(t="linked"===B?A:W),"mobile"===n&&(t="linked"===O?P:Z)),t},Et={top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"},Ct={top:"paddingTopTablet",right:"paddingRightTablet",bottom:"paddingBottomTablet",left:"paddingLeftTablet"},xt={top:"paddingTopMobile",right:"paddingRightMobile",bottom:"paddingBottomMobile",left:"paddingLeftMobile"},Tt=function(){var e;return"desktop"===n&&(e=S),"tablet"===n&&(e=B),"mobile"===n&&(e=O),e};Tt=Tt();var St=function(e){var t;return"top"==e&&("desktop"===o&&(t="linked"===q?Q:$),"tablet"===o&&(t="linked"===U?J:X),"mobile"===o&&(t="linked"===K?Y:ee)),"right"==e&&("desktop"===o&&(t="linked"===q?Q:te),"tablet"===o&&(t="linked"===U?J:ne),"mobile"===o&&(t="linked"===K?Y:oe)),"bottom"==e&&("desktop"===o&&(t="linked"===q?Q:ae),"tablet"===o&&(t="linked"===U?J:le),"mobile"===o&&(t="linked"===K?Y:re)),"left"==e&&("desktop"===o&&(t="linked"===q?Q:ie),"tablet"===o&&(t="linked"===U?J:ce),"mobile"===o&&(t="linked"===K?Y:se)),t},Bt={top:"marginTop",right:"marginRight",bottom:"marginBottom",left:"marginLeft"},Ot={top:"marginTopTablet",right:"marginRightTablet",bottom:"marginBottomTablet",left:"marginLeftTablet"},Mt={top:"marginTopMobile",right:"marginRightMobile",bottom:"marginBottomMobile",left:"marginLeftMobile"},Lt=function(){var e;return"desktop"===o&&(e=q),"tablet"===o&&(e=U),"mobile"===o&&(e=K),e};Lt=Lt();var Nt=function(){f.setAttributes({backgroundImageID:"",backgroundImageURL:""})},At=function(e){var t;return"top"==e&&(t="linked"===Te?Se:Be),"right"==e&&(t="linked"===Te?Se:Oe),"bottom"==e&&(t="linked"===Te?Se:Me),"left"==e&&(t="linked"===Te?Se:Le),t},Pt={top:"borderTop",right:"borderRight",bottom:"borderBottom",left:"borderLeft"},_t=function(e){var t;return"top"==e&&(t="linked"===Ae?Pe:_e),"right"==e&&(t="linked"===Ae?Pe:Re),"bottom"==e&&(t="linked"===Ae?Pe:Ie),"left"==e&&(t="linked"===Ae?Pe:ze),t},Rt={top:"borderRadiusTop",right:"borderRadiusRight",bottom:"borderRadiusBottom",left:"borderRadiusLeft"};return wp.element.createElement(pt,null,wp.element.createElement(ct,null,wp.element.createElement(Ke,{className:"wp-block-themeisle-blocks-advanced-columns-header-panel"},wp.element.createElement(qe,{className:a()("header-tab",{"is-selected":"layout"===t}),onClick:function(){return s({tab:"layout"})}},wp.element.createElement("span",null,wp.element.createElement(Ue,{icon:"editor-table"}),Ge("Layout"))),wp.element.createElement(qe,{className:a()("header-tab",{"is-selected":"style"===t}),onClick:function(){return s({tab:"style"})}},wp.element.createElement("span",null,wp.element.createElement(Ue,{icon:"admin-customizer"}),Ge("Style"))),wp.element.createElement(qe,{className:a()("header-tab",{"is-selected":"advanced"===t}),onClick:function(){return s({tab:"advanced"})}},wp.element.createElement("span",null,wp.element.createElement(Ue,{icon:"admin-generic"}),Ge("Advanced")))),"layout"===t&&wp.element.createElement(pt,null,wp.element.createElement(Ke,{title:Ge("Padding & Margin")},wp.element.createElement(u.a,{label:"Padding",view:n,changeViewType:function(e){s({paddingViewType:e})}},wp.element.createElement(p.a,{type:Tt,min:0,max:500,changeType:function(e){"desktop"===n&&f.setAttributes({paddingType:e}),"tablet"===n&&f.setAttributes({paddingTypeTablet:e}),"mobile"===n&&f.setAttributes({paddingTypeMobile:e})},onChange:function(e,t){"desktop"===n&&("linked"===S?f.setAttributes({padding:t}):f.setAttributes(De({},Et[e],t))),"tablet"===n&&("linked"===B?f.setAttributes({paddingTablet:t}):f.setAttributes(De({},Ct[e],t))),"mobile"===n&&("linked"===O?f.setAttributes({paddingMobile:t}):f.setAttributes(De({},xt[e],t)))},options:[{label:Ge("Top"),type:"top",value:kt("top")},{label:Ge("Right"),type:"right",value:kt("right")},{label:Ge("Bottom"),type:"bottom",value:kt("bottom")},{label:Ge("Left"),type:"left",value:kt("left")}]})),wp.element.createElement(u.a,{label:"Margin",view:o,changeViewType:function(e){s({marginViewType:e})}},wp.element.createElement(p.a,{type:Lt,min:-500,max:500,changeType:function(e){"desktop"===o&&f.setAttributes({marginType:e}),"tablet"===o&&f.setAttributes({marginTypeTablet:e}),"mobile"===o&&f.setAttributes({marginTypeMobile:e})},onChange:function(e,t){"desktop"===o&&("linked"===q?f.setAttributes({margin:t}):f.setAttributes(De({},Bt[e],t))),"tablet"===o&&("linked"===U?f.setAttributes({marginTablet:t}):f.setAttributes(De({},Ot[e],t))),"mobile"===o&&("linked"===K?f.setAttributes({marginMobile:t}):f.setAttributes(De({},Mt[e],t)))},options:[{label:Ge("Top"),type:"top",value:St("top")},{label:Ge("Right"),type:"right",value:St("right")},{label:Ge("Bottom"),type:"bottom",value:St("bottom")},{label:Ge("Left"),type:"left",value:St("left")}]}))))||"style"===t&&wp.element.createElement(pt,null,wp.element.createElement(Ke,{title:Ge("Background Settings"),className:"wp-block-themeisle-image-container"},wp.element.createElement(m.default,{label:Ge("Background Type"),backgroundType:pe,changeBackgroundType:function(e){f.setAttributes({backgroundType:e})}}),"color"===pe&&wp.element.createElement(pt,null,wp.element.createElement("p",null,Ge("Background Color")),wp.element.createElement(rt,{label:"Background Color",value:ue,onChange:function(e){f.setAttributes({backgroundColor:e})}}))||"image"===pe&&(de?wp.element.createElement(pt,null,wp.element.createElement("div",{className:"image-body"},wp.element.createElement("div",{className:"image-container"},wp.element.createElement("div",{className:"image-holder",style:{backgroundImage:"url('".concat(de,"')")}}),wp.element.createElement("div",{className:"image-delete",onClick:Nt},wp.element.createElement(Ue,{icon:"trash"}),wp.element.createElement("span",null,Ge("Remove Image"))))),wp.element.createElement(qe,{isDefault:!0,className:"image-delete-button",onClick:Nt},Ge("Change or Remove Image")),wp.element.createElement(L.a,{label:"Background Settings"},wp.element.createElement($e,{label:Ge("Background Attachment"),value:be,options:[{label:"Scroll",value:"scroll"},{label:"Fixed",value:"fixed"},{label:"Local",value:"local"}],onChange:function(e){f.setAttributes({backgroundAttachment:e})}}),wp.element.createElement($e,{label:Ge("Background Position"),value:ge,options:[{label:"Default",value:"top left"},{label:"Top Left",value:"top left"},{label:"Top Center",value:"top center"},{label:"Top Right",value:"top right"},{label:"Center Left",value:"center left"},{label:"Center Center",value:"center center"},{label:"Center Right",value:"center right"},{label:"Bottom Left",value:"bottom left"},{label:"Bottom Center",value:"bottom center"},{label:"Bottom Right",value:"bottom right"}],onChange:function(e){f.setAttributes({backgroundPosition:e})}}),wp.element.createElement($e,{label:Ge("Background Repeat"),value:he,options:[{label:"Repeat",value:"repeat"},{label:"No-repeat",value:"no-repeat"}],onChange:function(e){f.setAttributes({backgroundRepeat:e})}}),wp.element.createElement($e,{label:Ge("Background Size"),value:fe,options:[{label:"Auto",value:"auto"},{label:"Cover",value:"cover"},{label:"Contain",value:"contain"}],onChange:function(e){f.setAttributes({backgroundSize:e})}}))):wp.element.createElement(st,{icon:"format-image",labels:{title:Ge("Background Image"),name:Ge("an image")},value:me,onSelect:function(e){f.setAttributes({backgroundImageID:e.id,backgroundImageURL:e.url})},accept:"image/*",allowedTypes:["image"]}))||"gradient"===pe&&wp.element.createElement(M,{label:"Background Gradient",value:{firstColor:ye,firstLocation:we,secondColor:ve,secondLocation:ke,type:Ee,angle:Ce,position:xe},onChange:function(e,t,n,o,a,l,r){f.setAttributes({backgroundGradientFirstColor:e,backgroundGradientFirstLocation:t,backgroundGradientSecondColor:n,backgroundGradientSecondLocation:o,backgroundGradientType:a,backgroundGradientAngle:l,backgroundGradientPosition:r})}})),wp.element.createElement(Ke,{title:Ge("Border"),className:"wp-block-themeisle-border-container",initialOpen:!1},wp.element.createElement(p.a,{label:Ge("Border Width"),type:Te,min:0,max:500,changeType:function(e){f.setAttributes({borderType:e})},onChange:function(e,t){"linked"===Te?f.setAttributes({border:t}):f.setAttributes(De({},Pt[e],t))},options:[{label:Ge("Top"),type:"top",value:At("top")},{label:Ge("Right"),type:"right",value:At("right")},{label:Ge("Bottom"),type:"bottom",value:At("bottom")},{label:Ge("Left"),type:"left",value:At("left")}]}),wp.element.createElement(pt,null,wp.element.createElement("p",null,Ge("Border Color")),wp.element.createElement(rt,{label:"Border Color",value:Ne,onChange:function(e){f.setAttributes({borderColor:e})}})),wp.element.createElement(p.a,{label:Ge("Border Radius"),type:Ae,min:0,max:500,changeType:function(e){f.setAttributes({borderRadiusType:e})},onChange:function(e,t){"linked"===Ae?f.setAttributes({borderRadius:t}):f.setAttributes(De({},Rt[e],t))},options:[{label:Ge("Top"),type:"top",value:_t("top")},{label:Ge("Right"),type:"right",value:_t("right")},{label:Ge("Bottom"),type:"bottom",value:_t("bottom")},{label:Ge("Left"),type:"left",value:_t("left")}]}),wp.element.createElement(Qe,{label:"Box Shadow",checked:Ve,onChange:function(){f.setAttributes({boxShadow:!Ve})}}),Ve&&wp.element.createElement(pt,null,wp.element.createElement(pt,null,wp.element.createElement("p",null,Ge("Shadow Color")),wp.element.createElement(rt,{label:"Shadow Color",value:He,onChange:function(e){f.setAttributes({boxShadowColor:e})}})),wp.element.createElement(L.a,{label:"Shadow Properties"},wp.element.createElement(Je,{label:Ge("Opacity"),value:je,onChange:function(e){f.setAttributes({boxShadowColorOpacity:e})},min:0,max:100}),wp.element.createElement(Je,{label:Ge("Blur"),value:We,onChange:function(e){f.setAttributes({boxShadowBlur:e})},min:0,max:100}),wp.element.createElement(Je,{label:Ge("Spread"),value:Ze,onChange:function(e){f.setAttributes({boxShadowSpread:e})},min:-100,max:100}),wp.element.createElement(Je,{label:Ge("Horizontal"),value:Xe,onChange:function(e){f.setAttributes({boxShadowHorizontal:e})},min:-100,max:100}),wp.element.createElement(Je,{label:Ge("Vertical"),value:et,onChange:function(e){f.setAttributes({boxShadowVertical:e})},min:-100,max:100})))))||"advanced"===t&&wp.element.createElement(Ke,{title:Ge("Section Settings")},wp.element.createElement($e,{label:Ge("HTML Tag"),value:tt,options:[{label:"Default",value:"div"},{label:"div",value:"div"},{label:"section",value:"section"},{label:"header",value:"header"},{label:"footer",value:"footer"},{label:"article",value:"article"},{label:"main",value:"main"}],onChange:function(e){f.setAttributes({columnsHTMLTag:e})}}))),wp.element.createElement(Ye,{className:"block-library-spacer__resize-container wp-themeisle-block-advanced-column-resize-container",enable:{right:!!y},handleWrapperClass:"wp-themeisle-block-advanced-column-resize-container-handle",onResizeStart:function(e,t,n,o){var a=document.querySelector("#block-".concat(f.clientId," .wp-themeisle-block-advanced-column-resize-container-handle .components-resizable-box__handle")),l=document.createElement("div"),r=document.createElement("div");l.setAttribute("class","resizable-tooltip resizable-tooltip-left"),l.innerHTML="".concat(parseFloat(nt).toFixed(0),"%"),a.appendChild(l),r.setAttribute("class","resizable-tooltip resizable-tooltip-right"),r.innerHTML="".concat(parseFloat(w.attributes.columnWidth).toFixed(0),"%"),a.appendChild(r),s({currentWidth:nt,nextWidth:w.attributes.columnWidth}),f.toggleSelection(!1)},onResize:function(e,t,n,o){var a=document.getElementById("block-".concat(v)).getBoundingClientRect().width,r=o.width/a*100,c=parseFloat(l)+r,s=i-r,p=document.querySelector(".resizable-tooltip-left"),u=document.querySelector(".resizable-tooltip-right");10<=c&&10<=s&&(p.innerHTML="".concat(c.toFixed(0),"%"),u.innerHTML="".concat(s.toFixed(0),"%"),f.setAttributes({columnWidth:c.toFixed(2)}),C(y,{columnWidth:s.toFixed(2)}))},onResizeStop:function(e,t,n,o){var a=document.querySelector(".resizable-tooltip-left"),l=document.querySelector(".resizable-tooltip-right");a.parentNode.removeChild(a),l.parentNode.removeChild(l),f.toggleSelection(!0)}},wp.element.createElement(wt,{className:f.className,id:T,style:vt},wp.element.createElement(it,{templateLock:!1,renderAppender:!E&&it.ButtonBlockAppender}))))})),save:function(e){var t,n,o,a,l,i=e.attributes,c=i.id,s=i.backgroundType,p=i.backgroundColor,u=i.backgroundImageURL,m=i.backgroundAttachment,d=i.backgroundPosition,b=i.backgroundRepeat,g=i.backgroundSize,h=i.backgroundGradientFirstColor,f=i.backgroundGradientFirstLocation,y=i.backgroundGradientSecondColor,w=i.backgroundGradientSecondLocation,v=i.backgroundGradientType,k=i.backgroundGradientAngle,E=i.backgroundGradientPosition,C=i.borderType,x=i.border,T=i.borderTop,S=i.borderRight,B=i.borderBottom,O=i.borderLeft,M=i.borderColor,L=i.borderRadiusType,N=i.borderRadius,A=i.borderRadiusTop,P=i.borderRadiusRight,_=i.borderRadiusBottom,R=i.borderRadiusLeft,I=i.boxShadow,z=i.boxShadowColor,V=i.boxShadowColorOpacity,H=i.boxShadowBlur,j=i.boxShadowSpread,F=i.boxShadowHorizontal,D=i.boxShadowVertical,G=i.columnsHTMLTag;("color"===s&&(t={background:p}),"image"===s&&(t={backgroundImage:"url( '".concat(u,"' )"),backgroundAttachment:m,backgroundPosition:d,backgroundRepeat:b,backgroundSize:g}),"gradient"===s)&&(l="linear"===v?"".concat(k,"deg"):"at ".concat(E),t={background:"".concat(v,"-gradient( ").concat(l,", ").concat(h||"rgba( 0, 0, 0, 0 )"," ").concat(f,"%, ").concat(y||"rgba( 0, 0, 0, 0 )"," ").concat(w,"% )")});"linked"===C&&(n={borderWidth:"".concat(x,"px"),borderStyle:"solid",borderColor:M}),"unlinked"===C&&(n={borderTopWidth:"".concat(T,"px"),borderRightWidth:"".concat(S,"px"),borderBottomWidth:"".concat(B,"px"),borderLeftWidth:"".concat(O,"px"),borderStyle:"solid",borderColor:M}),"linked"===L&&(o={borderRadius:"".concat(N,"px")}),"unlinked"===L&&(o={borderTopLeftRadius:"".concat(A,"px"),borderTopRightRadius:"".concat(P,"px"),borderBottomRightRadius:"".concat(_,"px"),borderBottomLeftRadius:"".concat(R,"px")}),!0===I&&(a={boxShadow:"".concat(F,"px ").concat(D,"px ").concat(H,"px ").concat(j,"px ").concat(r()(z||"#000000",V))});var W=Fe({},t,{},n,{},o,{},a);return wp.element.createElement(G,{className:e.className,id:c,style:W},wp.element.createElement(it.Content,null))}})},function(e,t,n){"use strict";n.r(t);n(80),n(81);var o=n(2),a=n(0),l=n.n(a),r=n(13),i=n.n(r),c=n(14);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var b=wp.i18n.__,g=wp.components,h=g.BaseControl,f=g.Button,y=g.ExternalLink,w=g.IconButton,v=g.SelectControl,k=g.TextControl,E=g.TextareaControl,C=function(e){function t(){var e,n,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,(e=!(o=u(t).apply(this,arguments))||"object"!==s(o)&&"function"!=typeof o?m(n):o).initSearch=e.initSearch.bind(m(e)),e.changeLocation=e.changeLocation.bind(m(e)),e}var n,o,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(t,e),n=t,(o=[{key:"initSearch",value:function(e){var t=this,n=document.getElementsByClassName("pac-container");Object.keys(n).forEach((function(e){return n[e].remove()})),this.searchBox=new google.maps.places.SearchBox(e.target),this.searchBox.addListener("places_changed",(function(){var e=t.searchBox.getPlaces();e&&0<e.length&&e.forEach((function(e){var n=e.formatted_address||e.name,o=e.geometry.location.lat(),a=e.geometry.location.lng();t.props.changeMarkerProp(t.props.marker.id,"location",n),t.props.changeMarkerProp(t.props.marker.id,"latitude",o),t.props.changeMarkerProp(t.props.marker.id,"longitude",a)}))}))}},{key:"changeLocation",value:function(e){this.props.changeMarkerProp(this.props.marker.id,"location",e.target.value)}},{key:"render",value:function(){var e=this;return wp.element.createElement("div",{className:"wp-block-themeisle-blocks-google-map-marker"},wp.element.createElement("div",{className:"wp-block-themeisle-blocks-google-map-marker-title-area"},wp.element.createElement(f,{className:"wp-block-themeisle-blocks-google-map-marker-title",onClick:function(){return e.props.openMarker(e.props.marker.id)}},this.props.marker.title||b("Custom Marker")),wp.element.createElement(w,{icon:"no-alt",label:b("Remove Marker"),className:"wp-block-themeisle-blocks-google-map-marker-remove",onClick:function(){return e.props.removeMarker(e.props.marker.id)}})),wp.element.createElement("div",{className:l()("wp-block-themeisle-blocks-google-map-marker-control-area",{opened:this.props.marker.id===this.props.isOpen})},wp.element.createElement(h,{label:b("Location"),id:"themeisle-location-search-".concat(this.props.marker.id)},wp.element.createElement("input",{type:"text",id:"themeisle-location-search-".concat(this.props.marker.id),placeholder:b("Enter a location…"),value:this.props.marker.location,className:"wp-block-themeisle-blocks-google-map-search",onFocus:function(t){return e.initSearch(t)},onChange:function(t){return e.changeLocation(t)},disabled:!this.props.isPlaceAPIAvailable}),!this.props.isPlaceAPIAvailable&&wp.element.createElement("p",null,b("To enable locations earch, please ensure Places API is activated in the Google Developers Console.")+" ",wp.element.createElement(y,{href:"https://developers.google.com/places/web-service/intro"},b("More info.")))),wp.element.createElement(k,{label:b("Latitude"),type:"text",value:this.props.marker.latitude,onChange:function(t){return e.props.changeMarkerProp(e.props.marker.id,"latitude",t)}}),wp.element.createElement(k,{label:b("Longitude"),type:"text",value:this.props.marker.longitude,onChange:function(t){return e.props.changeMarkerProp(e.props.marker.id,"longitude",t)}}),wp.element.createElement(v,{label:b("Map Icon"),value:this.props.marker.icon||"https://maps.google.com/mapfiles/ms/icons/red-dot.png",options:[{label:b("Red"),value:"https://maps.google.com/mapfiles/ms/icons/red-dot.png"},{label:b("Blue"),value:"https://maps.google.com/mapfiles/ms/icons/blue-dot.png"},{label:b("Yellow"),value:"https://maps.google.com/mapfiles/ms/icons/yellow-dot.png"},{label:b("Green"),value:"https://maps.google.com/mapfiles/ms/icons/green-dot.png"},{label:b("Orange"),value:"https://maps.google.com/mapfiles/ms/icons/orange-dot.png"}],onChange:function(t){return e.props.changeMarkerProp(e.props.marker.id,"icon",t)}}),wp.element.createElement(k,{label:b("Title"),type:"text",value:this.props.marker.title,onChange:function(t){return e.props.changeMarkerProp(e.props.marker.id,"title",t)}}),wp.element.createElement(E,{label:b("Description"),type:"text",value:this.props.marker.description,onChange:function(t){return e.props.changeMarkerProp(e.props.marker.id,"description",t)}})))}}])&&p(n.prototype,o),a&&p(n,a),t}(wp.element.Component);function x(e){return(x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function T(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function S(e){return(S=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var M=wp.i18n.__,L=wp.components.Button,N=wp.element,A=N.Component,P=N.Fragment,_=function(e){function t(){var e,n,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,(e=!(o=S(t).apply(this,arguments))||"object"!==x(o)&&"function"!=typeof o?B(n):o).openMarker=e.openMarker.bind(B(e)),e.state={isOpen:null},e}var n,o,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}(t,e),n=t,(o=[{key:"componentDidMount",value:function(){!1!==this.props.initialOpen&&this.setState({isOpen:this.props.initialOpen})}},{key:"componentDidUpdate",value:function(e){this.props.initialOpen!==e.initialOpen&&!1!==this.props.initialOpen&&this.setState({isOpen:this.props.initialOpen})}},{key:"openMarker",value:function(e){this.state.isOpen===e&&(e=null),this.setState({isOpen:e})}},{key:"render",value:function(){var e=this;return wp.element.createElement(P,null,wp.element.createElement("div",{className:"wp-block-themeisle-blocks-google-map-marker-group"},this.props.markers.map((function(t){return wp.element.createElement(C,{marker:t,isOpen:e.state.isOpen,isPlaceAPIAvailable:e.props.isPlaceAPIAvailable,openMarker:e.openMarker,removeMarker:e.props.removeMarker,changeMarkerProp:e.props.changeMarkerProp})}))),wp.element.createElement(L,{isDefault:!0,isLarge:!0,className:"wp-block-themeisle-blocks-google-map-marker-add",onClick:this.props.addMarker},M("Add Marker")))}}])&&T(n.prototype,o),a&&T(n,a),t}(A);function R(e){return(R=
|
Â
|