| Server IP : 77.39.210.126 / Your IP : 216.73.216.203 Web Server : Apache System : Linux v00l0v-vmpcnews.sphostserver.com 4.18.0-553.124.4.el8_10.x86_64 #1 SMP Fri May 15 04:14:14 EDT 2026 x86_64 User : artecasarepresti ( 1022) PHP Version : 7.4.33 Disable Function : dl,passthru,proc_open,proc_close,proc_terminate,shell_exec,system MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/artecasarepresti/public_html/wp-content/themes/Avada/includes/lib/inc/ |
Upload File : |
<?php
/**
* Icon picker methods.
*
* @package Fusion-Library
* @since 1.0.0
*/
/**
* Icons handler.
*
* @package Fusion-Library
* @since 1.0.0
*/
class Fusion_Icon {
/**
* Associative Array of Icon Data.
*
* @access private
* @since 1.0
* @var array
*/
private $data = [];
/**
* Iterator.
*
* @access private
* @since 1.0
* @var object Iterator
*/
private $iterator;
/**
* Constructor.
*
* @param object $iterator The iterator class.
* @param string $class Icon css class.
* @param string $unicode Unicode character reference.
* @param string $subset The FA subset.
*/
public function __construct( $iterator, $class, $unicode, $subset ) {
$this->iterator = $iterator;
// Set Basic Data.
$this->data['class'] = $class;
$this->data['unicode'] = $unicode;
$this->data['subset'] = $subset;
}
/**
* Simple getter.
*
* @access public
* @since 1.0
* @param string $key The key we'll be looking for in the array.
*/
public function __get( $key ) {
if ( strtolower( $key ) === 'name' ) {
return $this->get_name( $this->__get( 'class' ) );
}
if ( is_array( $this->data ) && isset( $this->data[ $key ] ) ) {
return $this->data[ $key ];
}
}
/**
* Gets the icon name.
*
* @access private
* @since 1.0
* @param string $class The icon class.
* @return string
*/
private function get_name( $class ) {
// Remove Prefix.
$name = substr( $class, strlen( $this->iterator->getPrefix() ) + 1 );
// Convert Hyphens to Spaces.
$name = str_replace( '-', ' ', $name );
// Capitalize Words.
$name = ucwords( $name );
// Show Directional Variants in Parenthesis.
$directions = [
'/up$/i',
'/down$/i',
'/left$/i',
'/right$/i',
];
$directions_format = [ '(Up)', '(Down)', '(Left)', '(Right)' ];
$name = preg_replace( $directions, $directions_format, $name );
// Use Word "Outlined" in Place of "O".
$outlined_variants = [ '/\so$/i', '/\so\s/i' ];
$name = preg_replace( $outlined_variants, ' Outlined ', $name );
// Remove Trailing Characters.
$name = trim( $name );
return $name;
}
}
if ( ! function_exists( 'fusion_get_icons_array' ) ) {
/**
* Get an array of available icons.
*
* @return array
*/
function fusion_get_icons_array() {
$path = Fusion_Font_Awesome::is_fa_pro_enabled() ? '/assets/fonts/fontawesome/icons_pro.php' : '/assets/fonts/fontawesome/icons_free.php';
return include FUSION_LIBRARY_PATH . $path;
}
}