HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpprm/wp-content/themes/ronneby/inc/icons/icons.php
<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
/*	
*	---------------------------------------------------------------------
*	DFD Icon picker param
*	--------------------------------------------------------------------- 
*/
if(!class_exists('Dfd_Icons_Admin_Field')) {
	class Dfd_Icons_Admin_Field {
		public $path = array();
		function __construct() {
			$this->paths = wp_upload_dir();
			$this->paths['fonts'] 	= 'smile_fonts';
			add_action('admin_enqueue_scripts', array($this, 'enqueue_assets'));
			add_action('admin_footer', array($this, 'param_field_html'));
		}
		
		function enqueue_assets($hook) {
			if($hook == 'edit-tags.php' || $hook == 'nav-menus.php' || $hook == 'term.php') {
				$fonts = get_option('dfd_ronneby_fonts');
				$uploads_dir = wp_upload_dir();
				if(is_array($fonts))
				{
					foreach($fonts as $font => $info)
					{
						if(strpos($info['style'], 'http://' ) !== false) {
							wp_enqueue_style('bsf-'.$font,$info['style']);
						} else {
							wp_enqueue_style('bsf-'.$font,trailingslashit($uploads_dir['baseurl']).'/dfd_ronneby_fonts/'.$info['style']);
						}
					}
				}
				wp_register_style( 'dfd-icon-generator', get_template_directory_uri() . '/inc/icons/css/generator.css', false, '', 'all' );
				wp_register_script( 'dfd-icon-generator', get_template_directory_uri() . '/inc/icons/js/generator.js', array( 'jquery' ), '', false );

				wp_enqueue_style( 'thickbox' );
				wp_enqueue_style( 'dfd-icon-generator' );

				wp_enqueue_script( 'thickbox' );
				wp_enqueue_script( 'dfd-icon-generator' );
				$fonts = get_option('smile_fonts');
				if(is_array($fonts)) {
					foreach($fonts as $font => $info) {
						if(strpos($info['style'], 'http://' ) !== false) {
							wp_enqueue_style('dfd-'.$font,$info['style']);
						} else {
							wp_enqueue_style('dfd-'.$font,set_url_scheme(trailingslashit($this->paths['baseurl']).$this->paths['fonts']).'/'.$info['style']);
						}
					}
				}
			}
		}
		
		function param_field_html() {
			$page = get_current_screen();
			if(isset($page->base) && ($page->base == 'edit-tags' || $page->base == 'nav-menus' || $page->base == 'term')) {
				?>
				<div id="mnky-generator-overlay" class="mnky-overlay-bg" style="display:none"></div>
				<div id="mnky-generator-wrap" style="display:none">
					<div id="mnky-generator">
						<a href="#" id="mnky-generator-close"><span class="mnky-close-icon"></span></a>
						<div id="mnky-generator-shell">
							<div class="mnky-generator-icon-select">
								<?php
								if(class_exists('Dfd_Icon_Manager')) {
									echo Dfd_Icon_Manager::get_font_manager();
								} elseif(class_exists('AIO_Icon_Manager')) {
									echo AIO_Icon_Manager::get_font_manager();
								} else {
									_e('Icon manages is inactive. Please get in touch with theme developers', 'dfd');
								}
								?>
							</div>

							<input name="mnky-generator-insert" type="submit" class="button button-primary button-large" id="mnky-generator-insert" value="Insert Icon">
						</div>
					</div>
				</div>
				<?php
			}
		}
	}
	$Dfd_Icons_Admin_Field = new Dfd_Icons_Admin_Field();
}

if(!class_exists('Dfd_Vc_Enqueue_Icons')) {
	class Dfd_Vc_Enqueue_Icons {
		function __construct() {
			add_action('admin_init', array($this, 'init'));
		}
		function init() {
			add_filter('vc_iconpicker-type-dfd_icons', array($this, 'add_icons_to_param'));
		}
		function get_fonts() {
			if(!method_exists('ReduxFramework_extension_icon_manager', 'getIconOptions') || !method_exists('IconConfig', 'getDefaults')) {
				return false;
			}
			
			$fonts = ReduxFramework_extension_icon_manager::getIconOptions();
			$fonts = is_array($fonts) ? $fonts : array();
			$def = IconConfig::getDefaults();
			$fonts = array_merge($fonts, $def);
			
			return $fonts;
		}
		function add_icons_to_param($default_icons) {
			$fonts = $this->get_fonts();
			$dfd_icons = array();
			if($fonts && !empty($fonts) && is_array($fonts)) {
				$font_set = array();
				foreach($fonts as $font => $info) {
					if (!isset($info['active']) || $info['active'] == false) {
						continue;
					}
					$icon_set = $icons  = array();
					if (isset($info['is_default']) && defined('DFD_EXTENSIONS_PLUGIN_PATH')) {
						$upload_dir['basedir'] = DFD_EXTENSIONS_PLUGIN_PATH;
					} else {
						$upload_dir = wp_upload_dir();
					}
					$path = trailingslashit($upload_dir['basedir']);
					$file = $path . $info['include'] . '/' . $info['config'];
					include($file);
					if(!empty($icons)) {
						$icon_set = array_merge($icon_set, $icons);
					}
					$set_name = preg_replace('/[^a-zA-ZА-Яа-я0-9_\s]/', '', $font);
					if(!empty($icon_set)) {
						foreach ($icon_set as $icons) {
							foreach ($icons as $icon) {
								if(isset($info['is_default']) && $info['is_default']) {
									$class_name = $icon['class'];
								} else {
									$class_name = $font.'-'.$icon['class'];
								}
								$title = preg_replace('/[^a-zA-ZА-Яа-я0-9\s]/', ' ', $class_name);
								$font_set[$set_name][] = array($class_name => $title);
							}
						}
					}
				}
				$dfd_icons = array_merge($dfd_icons, $font_set);
			}

			return array_merge($default_icons, $dfd_icons);
		}
	}
	$Dfd_Vc_Enqueue_Icons = new Dfd_Vc_Enqueue_Icons();
}