Current Path : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/includes/elements/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/includes/elements/dropcap.php |
<?php
/**
* Dropcap element
*
*
* @package Auxin
* @license LICENSE.txt
* @author averta
* @link http://phlox.pro/
* @copyright (c) 2010-2024 averta
*/
function auxin_get_dropcap_master_array( $master_array ) {
$master_array['aux_dropcap'] = array(
'name' => __("Dropcap", 'auxin-elements' ),
'auxin_output_callback' => 'auxin_widget_dropcap_callback',
'base' => 'aux_dropcap',
'description' => __('Big styled character at the beginning of paragraph', 'auxin-elements' ),
'class' => 'aux-widget-dropcap',
'show_settings_on_create' => true,
'weight' => 1,
'is_widget' => false,
'is_shortcode' => true,
'category' => THEME_NAME,
'group' => '',
'admin_enqueue_js' => '',
'admin_enqueue_css' => '',
'front_enqueue_js' => '',
'front_enqueue_css' => '',
'icon' => 'aux-element aux-pb-icons-dropcap',
'custom_markup' => '',
'js_view' => '',
'html_template' => '',
'deprecated' => '',
'content_element' => '',
'as_parent' => '',
'as_child' => '',
'params' => array(
array(
'heading' => __('Dropcap style','auxin-elements' ),
'description' => '',
'param_name' => 'style',
'type' => 'aux_visual_select',
'def_value' => 'classic',
'holder' => '',
'class' => 'style',
'admin_label' => true,
'dependency' => '',
'weight' => '',
'group' => '' ,
'edit_field_class' => '',
'choices' => array(
'classic' => array(
'label' => __('Classic', 'auxin-elements' ),
'image' => AUXIN_URL . 'images/visual-select/dropcap-classic.svg'
),
'square' => array(
'label' => __('Square', 'auxin-elements' ),
'image' => AUXIN_URL . 'images/visual-select/dropcap-square.svg'
),
'square-outline' => array(
'label' => __('Outline Square', 'auxin-elements' ),
'image' => AUXIN_URL . 'images/visual-select/dropcap-square-outline.svg'
),
'square-round' => array(
'label' => __('Round Square', 'auxin-elements' ),
'image' => AUXIN_URL . 'images/visual-select/dropcap-square-round.svg'
),
'circle' => array(
'label' => __('Circle', 'auxin-elements' ),
'image' => AUXIN_URL . 'images/visual-select/dropcap-circle.svg'
),
'circle-outline' => array(
'label' => __('Outline Circle', 'auxin-elements' ),
'image' => AUXIN_URL . 'images/visual-select/dropcap-circle-outline.svg'
)
)
),
array(
'heading' => __('Content','auxin-elements' ),
'description' => __('Enter a text to show as dropcap text.', 'auxin-elements' ),
'param_name' => 'content',
'type' => 'textarea_html',
'value' => '',
'holder' => '',
'class' => 'content',
'admin_label' => false,
'dependency' => '',
'weight' => '',
'group' => '' ,
'edit_field_class' => ''
),
array(
'heading' => __('Extra class name','auxin-elements' ),
'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'auxin-elements' ),
'param_name' => 'extra_classes',
'type' => 'textfield',
'value' => '',
'holder' => '',
'class' => 'extra_classes',
'admin_label' => false,
'dependency' => '',
'weight' => '',
'group' => '' ,
'edit_field_class' => ''
)
)
);
return $master_array;
}
add_filter( 'auxin_master_array_shortcodes', 'auxin_get_dropcap_master_array', 10, 1 );
/**
* The front-end output of this element is returned by the following function
*
* @param array $atts The array containing the parsed values from shortcode, it should be same as defined params above.
* @param string $shortcode_content The shorcode content
* @return string The output of element markup
*/
function auxin_widget_dropcap_callback( $atts, $shortcode_content = null ) {
// Defining default attributes
$default_atts = array(
'title' => '', // header title
'style' => 'classic',
'content' => '', // custom css class names for this element
'extra_classes' => '',
'custom_el_id' => '',
'base_class' => 'aux-widget-dropcap'
);
$result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
extract( $result['parsed_atts'] );
ob_start();
// widget header ------------------------------
echo wp_kses_post( $result['widget_header'] );
echo wp_kses_post( $result['widget_title'] );
// The output for element here
$class_names = "";
switch ($style) {
case 'classic':
$class_names = "dropcap";
break;
case 'square':
$class_names = "dropcap square";
break;
case 'square-outline':
$class_names = "dropcap square outline";
break;
case 'square-round':
$class_names = "dropcap square round";
break;
case 'square-round-outline':
$class_names = "dropcap square round outline";
break;
case 'circle':
$class_names = "dropcap circle";
break;
case 'circle-outline':
$class_names = "dropcap circle outline";
break;
}
$first_letter = substr( $content, 0, 1); // get the first letter
if ( $first_letter === "<") {
$tag = auxin_get_string_between($content, '<', '>');
$content = auxin_str_replace_first( "<" .$tag. ">" ,"" , $content );
$content = auxin_str_replace_first( "</".$tag. ">" ,"" , $content );
}
$first_letter = mb_substr( $content, 0, 1,'utf-8' ); // get the first letter
$rest_of_text = mb_substr( $content, 1, null, 'utf-8' ); // get the rest of text
echo '<p class="'. esc_attr( $extra_classes ) .'">' .
'<span class="'. esc_attr( $class_names ) .'">'. esc_html( $first_letter ) .'</span>'. wp_kses_post( $rest_of_text ) .
'</p>';
// widget footer ------------------------------
echo wp_kses_post( $result['widget_footer'] );
return ob_get_clean();
}
if( ! function_exists( 'auxin_str_replace_first' ) ) {
function auxin_str_replace_first($from, $to, $subject) {
$from = '/'.preg_quote($from, '/').'/';
return preg_replace($from, $to, $subject, 1);
}
}