Viewing File: /home/maglabs/exclusive/wp-content/plugins/g5-ere/inc/icon.class.php

<?php
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
	exit( 'Direct script access denied.' );
}
if (!class_exists('G5ERE_Icon')) {
	class G5ERE_Icon {
		private static $_instance;
		public static function get_instance()
		{
			if (self::$_instance == NULL) {
				self::$_instance = new self();
			}

			return self::$_instance;
		}

		public function init() {
			add_filter('gsf_font_icon_svg',array($this,'add_font_icon_svg'));
			add_filter('g5core_get_icon_svg_config',array($this,'add_icon_svg_config'));
		}

		public function get_svg($icon) {
			return sprintf('<i class="svg-icon svg-icon-g5ere_%s"></i>',$icon);
		}

		public function add_font_icon_svg($icons) {
			return wp_parse_args($this->get_icons(), $icons) ;
		}

		public function add_icon_svg_config($svg_config) {
			$icons =  $this->get_icons();
			$icon_config = array();
			foreach ($icons as $k => $v) {
				$icon_config[] = "svg-icon svg-icon-{$k}";
			}
			$svg_config[] = array("id" => "ere","title" => esc_html__('Real Estate','g5-ere'),'icons' => $icon_config);
			return $svg_config;
		}

		public function get_icons() {
			$icons =  wp_cache_get('g5ere_svg_icon','g5ere');
			if ($icons) {
				return $icons;
			}
			$icons = array();
			$files =  list_files(G5ERE()->plugin_dir('assets/svg'));
			foreach ($files as $file) {
				$k = basename($file,'.svg');
				$content = @file_get_contents($file);

				$content = str_replace('<svg','<svg id="g5ere_'. $k .'"',$content);
				$icons["g5ere_{$k}"] = $content;
			}
			$icons =  apply_filters('g5ere_svg_icons',$icons);

			wp_cache_add('g5ere_svg_icon',$icons,'g5ere');

			return $icons;
		}
	}
}
Back to Directory File Manager