PluginProbe ʕ •ᴥ•ʔ
Kubio AI Page Builder / 2.4.3
Kubio AI Page Builder v2.4.3
2.8.3 2.8.2 2.8.1 trunk 1.0.0 1.0.1 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.9.0 2.0.0 2.1.1 2.1.2 2.1.3 2.2.0 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.4.3 2.4.5 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.6.1 2.6.2 2.6.3 2.6.5 2.6.6 2.6.7 2.7.0 2.7.1 2.7.2 2.7.3 2.8.0
kubio / lib / src / Core / GlobalElements / Icon.php
kubio / lib / src / Core / GlobalElements Last commit date
Icon.php 4 years ago LinkWrapper.php 3 years ago
Icon.php
39 lines
1 <?php
2
3 namespace Kubio\Core\GlobalElements;
4 use Kubio\Core\Element;
5 use Kubio\Core\LodashBasic;
6 class Icon extends Element {
7 public function __construct( $tag_name, $props = array(), $children = array(), $block = null ) {
8 $defaultIcon = 'font-awesome/star';
9 $icon = LodashBasic::get( $props, 'name', $defaultIcon );
10 if ( ! $icon ) {
11 $icon = $defaultIcon;
12 }
13 $svg = '';
14 if ( $icon && is_string( $icon ) ) {
15 $icon_folder_name = explode( '/', $icon );
16 $svg_file = ( KUBIO_ROOT_DIR . 'static/icons/' . sanitize_file_name( $icon_folder_name[0] ) . '/' . $icon_folder_name[1] . '.svg' );
17 if ( file_exists( $svg_file ) ) {
18 $svg = file_get_contents( $svg_file );
19 }
20 }
21 parent::__construct(
22 Element::SPAN,
23 LodashBasic::merge(
24 $props,
25 array(
26 'className' => array( 'h-svg-icon' ),
27 )
28 ),
29 array( $svg ),
30 $block
31 );
32 }
33
34 public function __toString() {
35 return parent::__toString();
36 }
37 }
38
39