OwlCyberSecurity - MANAGER
Edit File: IconsManager.php
<?php namespace LottaFramework\Icons; class IconsManager { /** * @var null|array */ protected static $_fontawesome = null; /** * @var array */ protected static $_fa_library = []; /** * @return array */ public static function fontawesome() { if ( self::$_fontawesome === null ) { self::$_fontawesome = json_decode( file_get_contents( dirname( __FILE__ ) . '/fontawesome.json' ), true ); } return self::$_fontawesome; } /** * @param $library * * @return array|mixed */ public static function faLibrary( $library ) { $library = substr( $library, 0, 1 ); if ( ! isset( $_fa_library[ $library ] ) ) { $_fa_library[ $library ] = []; foreach ( self::fontawesome() as $icon => $data ) { if ( in_array( $library, $data['s'] ) ) { $_fa_library[ $library ][ $icon ] = [ 'value' => "fa{$library} fa-{$icon}" ]; } } } return $_fa_library[ $library ]; } /** * Get all libraries * * @return array */ public static function allLibraries() { return [ 'fa-regular' => [ 'icons' => self::faLibrary( 'regular' ), ], 'fa-solid' => [ 'icons' => self::faLibrary( 'solid' ), ], 'fa-brands' => [ 'icons' => self::faLibrary( 'brands' ), ], ]; } /** * Render icon * * @param $icon * * @return string */ public static function render( $icon ) { return '<i class="' . ( $icon['value'] ?? '' ) . '"></i>'; } /** * Print icon * * @param $icon */ public static function print( $icon ) { echo wp_kses_post( self::render( $icon ) ); } }