????

Your IP : 18.116.20.205


Current Path : /home2/morganrand/backup.morganrand.com/wp-content/themes/wanderfuls/skins/
Upload File :
Current File : /home2/morganrand/backup.morganrand.com/wp-content/themes/wanderfuls/skins/skins.php

<?php
/**
 * Skin loader function & helpers
 *
 * @package Wanderfuls WordPress Theme
 * @subpackage Skins
 * @deprecated Since 3.0.0
 */

/**
 * Skins Loader Class
 *
 * @since Wanderfuls 1.6.3
 */
if ( ! class_exists( 'TB_Skin_Loader' ) ) {
	class TB_Skin_Loader {
		public static $current_skin;
		private $enabled;

		/**
		 * Start things up
		 *
		 * @since 1.6.3
		 */
		public function __construct() {

			//set_theme_mod( 'theme_skin', 'agent' ); // for testing

			// Get current skin
			self::$current_skin = $this->get_current_skin();
			$current_skin = self::$current_skin;

			// Enabled
			$this->enabled = ( $current_skin && 'base' != $current_skin ) ? true : false;
			$this->enabled = apply_filters( 'tb_enable_skins', $this->enabled );

			// Return if disabled
			if ( ! $this->enabled ) {
				return;
			}

			// Skins Paths
			define( 'TB_SKIN_DIR', TB_THEME_DIR .'/skins/' );
			define( 'TB_SKIN_DIR_URI', TB_THEME_URI .'/skins/' );

			// Admin
			if ( is_admin() ) {
				require_once( TB_SKIN_DIR .'skins-admin.php' );
			}

			// Load skin if needed
			if ( $current_skin && 'base' != $current_skin ) {
				$this->load_skin();
			}

		}

		/**
		 * Array of available skins
		 *
		 * @since 1.6.3
		 */
		public static function skins_array() {
			$github_repo = 'https://raw.githubusercontent.com/tbplorer/wanderfuls-sample-data/master/';
			return apply_filters( 'tb_skins', array(
				'base'  => array (
					'core' => true,
					'name' => _x( 'Base', 'Theme Skin', 'tb' ),
					'screenshot' => $github_repo .'Base/screenshot.jpg',
				),
				'agent' => array(
					'core'  => true,
					'name'  => _x( 'Agent', 'Theme Skin',  'tb' ),
					'class' => TB_SKIN_DIR .'classes/agent/agent-skin.php',
					'screenshot' => $github_repo .'Agent/screenshot.jpg',
				),
				'neat'  => array(
					'core'  => true,
					'name'  => _x( 'Neat', 'Theme Skin',  'tb' ),
					'class' => TB_SKIN_DIR .'classes/neat/neat-skin.php',
					'screenshot' => $github_repo .'Health-Care/screenshot.jpg',
				),
				'flat'  => array(
					'core'  => true,
					'name'  => _x( 'Flat', 'Theme Skin',  'tb' ),
					'class' => TB_SKIN_DIR .'classes/flat/flat-skin.php',
					'screenshot' => TB_SKIN_DIR_URI .'classes/flat/screenshot.jpg',
				),
				'gaps'  => array(
					'core'  => true,
					'name'  => _x( 'Gaps', 'Theme Skin',  'tb' ),
					'class' => TB_SKIN_DIR .'classes/gaps/gaps-skin.php',
					'screenshot' => TB_SKIN_DIR_URI .'classes/gaps/screenshot.jpg',
				),
				/* Removed but can be re-added via theme filter "tb_skins"
				'minimal-graphical' => array(
					'core'  => true,
					'name'  => __( 'Minimal Graphical', 'tb' ),
					'class' => TB_SKIN_DIR .'classes/minimal-graphical/minimal-graphical-skin.php',
				),*/
			) );
		}

		/**
		 * Returns the current skin
		 *
		 * @since 1.6.3
		 */
		public function get_current_skin() {

			// Check URL
			if ( ! empty( $_GET['theme_skin'] ) ) {
				return $_GET['theme_skin'];
			}

			// Apply filters
			$skin = apply_filters( 'tb_active_skin', tb_get_mod( 'theme_skin', 'base' ) );

			// Sanitize
			$skin = $skin ? $skin : 'base';

			// Return current skin
			return $skin;
			
		}

		/**
		 * Returns the correct class file for the current skin
		 *
		 * @since 1.6.3
		 */
		public function current_skin_file( $active_skin ) {

			// Nothing needed for the base skin or an empty skin
			if ( 'base' == $active_skin || ! $active_skin ) {
				return;
			}

			// Get currect skin class to load later
			$skins = $this->skins_array();
			$active_skin_array = wp_array_slice_assoc( $skins, array( $active_skin ) );
			if ( is_array( $active_skin_array ) ) {
				$class_file = ! empty( $active_skin_array[$active_skin]['class'] ) ? $active_skin_array[$active_skin]['class'] : false;
			}

			// Return class file if one exists
			if ( file_exists( $class_file ) ) {
				return $class_file;
			}
			
		}

		/**
		 * Load the active skin
		 *
		 * @since 1.6.3
		 */
		public function load_skin() {

			// Get skin file
			$file = $this->current_skin_file( self::$current_skin );

			// Load the file if it exists
			if ( $file ) {
				require_once( $file );
			}
			
		}

		/**
		 * Returns the current skin
		 *
		 * @since 1.6.3
		 */
		public static function return_current_skin() {
			return self::$current_skin;
		}

	}
}
new TB_Skin_Loader();

/**
 * Helper function that returns active skin name
 *
 * @since 1.6.3
 */
function tb_active_skin() {
	if ( class_exists( 'TB_Skin_Loader' ) ) {
		return TB_Skin_Loader::return_current_skin();
	}
}