%PDF- %PDF-
Direktori : /home/tradesc/www/relax/wp-content/plugins/wpforms-lite/src/Admin/Education/ |
Current File : /home/tradesc/www/relax/wp-content/plugins/wpforms-lite/src/Admin/Education/Helpers.php |
<?php namespace WPForms\Admin\Education; /** * Helpers class. * * @since 1.8.5 */ class Helpers { /** * Get badge HTML. * * @since 1.8.5 * @since 1.8.6 Added `$icon` parameter. * * @param string $text Badge text. * @param string $size Badge size. * @param string $position Badge position. * @param string $color Badge color. * @param string $shape Badge shape. * @param string $icon Badge icon name in Font Awesome "format", e.g. `fa-check`, defaults to empty string. * * @return string */ public static function get_badge( string $text, string $size = 'sm', string $position = 'inline', string $color = 'titanium', string $shape = 'rounded', string $icon = '' ): string { if ( ! empty( $icon ) ) { $icon = self::get_inline_icon( $icon ); } return sprintf( '<span class="wpforms-badge wpforms-badge-%1$s wpforms-badge-%2$s wpforms-badge-%3$s wpforms-badge-%4$s">%5$s%6$s</span>', esc_attr( $size ), esc_attr( $position ), esc_attr( $color ), esc_attr( $shape ), wp_kses( $icon, [ 'i' => [ 'class' => [], 'aria-hidden' => [], ], ] ), esc_html( $text ) ); } /** * Print badge HTML. * * @since 1.8.5 * @since 1.8.6 Added `$icon` parameter. * * @param string $text Badge text. * @param string $size Badge size. * @param string $position Badge position. * @param string $color Badge color. * @param string $shape Badge shape. * @param string $icon Badge icon name in Font Awesome "format", e.g. `fa-check`, defaults to empty string. */ public static function print_badge( string $text, string $size = 'sm', string $position = 'inline', string $color = 'titanium', string $shape = 'rounded', string $icon = '' ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo self::get_badge( $text, $size, $position, $color, $shape, $icon ); } /** * Get addon badge HTML. * * @since 1.8.9 * * @param array $addon Addon data. * * @return string */ public static function get_addon_badge( array $addon ): string { // List of possible badges. $badges = [ 'recommended' => [ 'text' => esc_html__( 'Recommended', 'wpforms-lite' ), 'color' => 'green', 'icon' => 'fa-star', ], 'new' => [ 'text' => esc_html__( 'New', 'wpforms-lite' ), 'color' => 'blue', ], 'featured' => [ 'text' => esc_html__( 'Featured', 'wpforms-lite' ), 'color' => 'orange', ], ]; $badge = []; // Get first badge that exists. foreach ( $badges as $key => $value ) { if ( ! empty( $addon[ $key ] ) ) { $badge = $value; break; } } if ( empty( $badge ) ) { return ''; } return self::get_badge( $badge['text'], 'sm', 'inline', $badge['color'], 'rounded', $badge['icon'] ?? '' ); } /** * Get inline icon HTML. * * @since 1.8.6 * * @param string $name Font Awesome icon name, e.g. `fa-check`. * * @return string HTML markup for the icon element. */ public static function get_inline_icon( string $name ): string { return sprintf( '<i class="fa %1$s" aria-hidden="true"></i>', esc_attr( $name ) ); } }