<?php defined('SYSPATH') or die('No direct access allowed.');

/**
 * This class overrides Kohana's Core
 *
 * @package    OSB/Modifications
 * @category   Classes
 * @category   Helpers
 * @author     Deon George
 * @copyright  (c) 2010 Deon George
 * @license    http://dev.leenooks.net/license.html
 */
abstract class Kohana extends Kohana_Core {
	/**
	 * @compat Restore KH 3.1 functionality
	 * @var  boolean  True if Kohana is running from the command line
	 */
	public static $is_cli = FALSE;

	/**
	 * @compat Restore KH 3.1 functionality
	 */
	public static function init(array $settings = NULL) {
		parent::init($settings);

		// Determine if we are running in a command line environment
		Kohana::$is_cli = (PHP_SAPI === 'cli');
	}

	/**
	 * Override Kohana's shutdown_handler()
	 *
	 * When set up for multi-site, we need to disable Kohana's caching
	 * unless each site has exactly the same modules enabled.
	 * This is because Kohana::$file is cached with the enabled modules
	 * and is not OSB multi-site aware.
	 */
	public static function shutdown_handler() {
		// If caching isnt enabled, we can skip this anyway
		if (! Kohana::$caching)
			return parent::shutdown_handler();

		Kohana::$caching = FALSE;
		$result = parent::shutdown_handler();
		Kohana::$caching = TRUE;

		return $result;
	}
}
?>