Files
CHIEFSOFT\ameye b114fdf4fa first commit
2023-12-28 16:20:07 -05:00

77 lines
4.2 KiB
PHP

<?php
/* Developers : you can override this template from a theme with a file that has this path : 'nimble_templates/modules/{original-module-template-file-name}.php' */
namespace Nimble;
if ( !defined( 'ABSPATH' ) ) {
exit;
}
$model = Nimble_Manager()->model;
$module_type = $model['module_type'];
$value = array_key_exists( 'value', $model ) ? $model['value'] : array();
$content_settings = $value['content'];
$design_settings = $value['design'];
if ( !function_exists( 'Nimble\sek_get_button_module_link' ) ) {
function sek_get_button_module_link( $content_settings ) {
$link = 'javascript:void(0);';
// if ( skp_is_customizing() ) {
// return $link;
// }
if ( 'url' == $content_settings['link-to'] ) {
if ( !empty( $content_settings['link-pick-url'] ) && !empty( $content_settings['link-pick-url']['id'] ) ) {
if ( '_custom_' == $content_settings['link-pick-url']['id'] && !empty( $content_settings['link-custom-url'] ) ) {
$link = $content_settings['link-custom-url'];
} else if ( !empty( $content_settings['link-pick-url']['url'] ) ) {
$link = $content_settings['link-pick-url']['url'];
}
}
}
return $link;
}
}
if ( !function_exists( 'Nimble\sek_get_button_module_icon' ) ) {
function sek_get_button_module_icon( $content_settings ) {
return !empty( $content_settings[ 'icon' ] ) ? sprintf( '<i class="%1$s"></i>', esc_attr($content_settings[ 'icon' ]) ) : '';
}
}
$visual_effect_class = '';
//visual effect classes
if ( isset( $design_settings['use_box_shadow'] ) && true === sek_booleanize_checkbox_val( $design_settings['use_box_shadow'] ) ) {
$visual_effect_class = ' box-shadow';
if ( isset( $design_settings['push_effect'] ) && true === sek_booleanize_checkbox_val( $design_settings['push_effect'] ) ) {
$visual_effect_class .= ' push-effect';
}
}
// Print
// Feb 2021 : now saved as a json to fix emojis issues
// see fix for https://github.com/presscustomizr/nimble-builder/issues/544
// to ensure retrocompatibility with data previously not saved as json, we need to perform a json validity check
$btn_text = sek_maybe_decode_richtext( $content_settings[ 'button_text'] );
$btb_text = sek_strip_script_tags($btn_text);
$icon_side = empty($content_settings['icon-side']) ? 'left' : $content_settings['icon-side'];
if ( !isset( $content_settings['link-to'] ) || isset( $content_settings['link-to'] ) && 'no-link' === $content_settings['link-to'] ) {
printf('<button %5$s class="sek-btn%3$s"><span class="sek-btn-inner">%1$s<span class="sek-btn-text">%2$s</span>%4$s</span></button>',
( 'left' === $icon_side && !empty( $content_settings[ 'icon' ] ) ) ? sprintf( '<i class="%1$s"></i>', esc_attr($content_settings[ 'icon' ]) ) : '',
convert_smilies( wp_kses_post($btb_text) ),
esc_attr($visual_effect_class),
( 'right' === $icon_side && !empty( $content_settings[ 'icon' ] ) ) ? sprintf( '<i class="%1$s"></i>', esc_attr($content_settings[ 'icon' ]) ) : '',
!empty($content_settings['btn_text_on_hover']) ? 'title="' . esc_html( $content_settings['btn_text_on_hover'] ) . '"' : ''
);
} else {
printf('<a %7$s class="sek-btn%5$s" href="%1$s" %2$s><span class="sek-btn-inner">%3$s<span class="sek-btn-text">%4$s</span>%6$s</span></a>',
esc_url( sek_get_button_module_link( $content_settings ) ),
true === sek_booleanize_checkbox_val( $content_settings['link-target'] ) ? 'target="_blank" rel="noopener noreferrer"' : '',
( 'left' === $icon_side && !empty( $content_settings[ 'icon' ] ) ) ? sprintf( '<i class="%1$s"></i>', esc_attr($content_settings[ 'icon' ]) ) : '',
convert_smilies( wp_kses_post($btb_text) ),
esc_attr($visual_effect_class),
( 'right' === $icon_side && !empty( $content_settings[ 'icon' ] ) ) ? sprintf( '<i class="%1$s"></i>', esc_attr($content_settings[ 'icon' ]) ) : '',
!empty($content_settings['btn_text_on_hover']) ? 'title="' . esc_html( $content_settings['btn_text_on_hover'] ) . '"' : ''
);
}
if ( !empty(sek_get_button_module_icon( $content_settings )) ) {
sek_emit_js_event('nb-needs-fa');
}