PluginProbe ʕ •ᴥ•ʔ
Kubio AI Page Builder / 2.6.3
Kubio AI Page Builder v2.6.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 1 year ago LinkWrapper.php 1 year ago
Icon.php
41 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 $default_icon = 'font-awesome/star';
9 $icon = LodashBasic::get( $props, 'name', $default_icon );
10 if ( ! $icon ) {
11 $icon = $default_icon;
12 }
13 $svg = '';
14 if ( $icon && is_string( $icon ) ) {
15 $icon_folder_name = explode( '/', $icon );
16 $library = $icon_folder_name[0];
17 $icon_name = str_replace( ' ', '-', trim( $icon_folder_name[1] ) );
18
19 $svg_file = ( KUBIO_ROOT_DIR . 'static/icons/' . sanitize_file_name( $library ) . '/' . $icon_name . '.svg' );
20 if ( file_exists( $svg_file ) ) {
21 $svg = file_get_contents( $svg_file );
22 }
23 }
24 parent::__construct(
25 Element::SPAN,
26 LodashBasic::merge(
27 $props,
28 array(
29 'className' => array( 'h-svg-icon' ),
30 )
31 ),
32 array( $svg ),
33 $block
34 );
35 }
36
37 public function __toString() {
38 return parent::__toString();
39 }
40 }
41