PluginProbe ʕ •ᴥ•ʔ
Kubio AI Page Builder / trunk
Kubio AI Page Builder vtrunk
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 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