original_string: public static function init($config)
  	{
  		if (static::$initialized)
  		{
  			throw new \FuelException("You can't initialize Fuel more than once.");
  		}
  
  		// BC FIX FOR APPLICATIONS <= 1.6.1, makes Redis_Db available as Redis,
  		// like it was in versions before 1.7
  		class_exists('Redis', false) or class_alias('Redis_Db', 'Redis');
  
  		static::$_paths = array(APPPATH, COREPATH);
  
  		// Is Fuel running on the command line?
  		static::$is_cli = (bool) defined('STDIN');
  
  		\Config::load($config);
  
  		// Disable output compression if the client doesn't support it
  		if (static::$is_cli or ! in_array('gzip', explode(', ', \Input::headers('Accept-Encoding', ''))))
  		{
  			\Config::set('ob_callback', null);
  		}
  
  		// Start up output buffering
  		ob_start(\Config::get('ob_callback'));
  
  		if (\Config::get('caching', false))
  		{
  			\Finder::instance()->read_cache('FuelFileFinder');
  		}
  
  		static::$profiling = \Config::get('profiling', false);
  		static::$profiling and \Profiler::init();
  
  		// set a default timezone if one is defined
  		try
  		{
  			static::$timezone = \Config::get('default_timezone') ?: date_default_timezone_get();
  			date_default_timezone_set(static::$timezone);
  		}
  		catch (\Exception $e)
  		{
  			date_default_timezone_set('UTC');
  			throw new \PHPErrorException($e->getMessage());
  		}
  
  		static::$encoding = \Config::get('encoding', static::$encoding);
  		MBSTRING and mb_internal_encoding(static::$encoding);
  
  		static::$locale = \Config::get('locale', static::$locale);
  
  		if ( ! static::$is_cli)
  		{
  			if (\Config::get('base_url') === null)
  			{
  				\Config::set('base_url', static::generate_base_url());
  			}
  		}
  
  		// Run Input Filtering
  		\Security::clean_input();
  
  		\Event::register('fuel-shutdown', 'Fuel::finish');
  
  		// Always load classes, config & language set in always_load.php config
  		static::always_load();
  
  		// Load in the routes
  		\Config::load('routes', true);
  		\Router::add(\Config::get('routes'));
  
  		// Set locale, log warning when it fails
  		if (static::$locale)
  		{
  			setlocale(LC_ALL, static::$locale) or
  				logger(\Fuel::L_WARNING, 'The configured locale '.static::$locale.' is not installed on your system.', __METHOD__);
  		}
  
  		static::$initialized = true;
  
  		// fire any app created events
  		\Event::instance()->has_events('app_created') and \Event::instance()->trigger('app_created', '', 'none');
  
  		if (static::$profiling)
  		{
  			\Profiler::mark(__METHOD__.' End');
  		}
  	}
code: public static function init($config)
  	{
  		if (static::$initialized)
  		{
  			throw new \FuelException("You can't initialize Fuel more than once.");
  		}
  
  		// BC FIX FOR APPLICATIONS <= 1.6.1, makes Redis_Db available as Redis,
  		// like it was in versions before 1.7
  		class_exists('Redis', false) or class_alias('Redis_Db', 'Redis');
  
  		static::$_paths = array(APPPATH, COREPATH);
  
  		// Is Fuel running on the command line?
  		static::$is_cli = (bool) defined('STDIN');
  
  		\Config::load($config);
  
  		// Disable output compression if the client doesn't support it
  		if (static::$is_cli or ! in_array('gzip', explode(', ', \Input::headers('Accept-Encoding', ''))))
  		{
  			\Config::set('ob_callback', null);
  		}
  
  		// Start up output buffering
  		ob_start(\Config::get('ob_callback'));
  
  		if (\Config::get('caching', false))
  		{
  			\Finder::instance()->read_cache('FuelFileFinder');
  		}
  
  		static::$profiling = \Config::get('profiling', false);
  		static::$profiling and \Profiler::init();
  
  		// set a default timezone if one is defined
  		try
  		{
  			static::$timezone = \Config::get('default_timezone') ?: date_default_timezone_get();
  			date_default_timezone_set(static::$timezone);
  		}
  		catch (\Exception $e)
  		{
  			date_default_timezone_set('UTC');
  			throw new \PHPErrorException($e->getMessage());
  		}
  
  		static::$encoding = \Config::get('encoding', static::$encoding);
  		MBSTRING and mb_internal_encoding(static::$encoding);
  
  		static::$locale = \Config::get('locale', static::$locale);
  
  		if ( ! static::$is_cli)
  		{
  			if (\Config::get('base_url') === null)
  			{
  				\Config::set('base_url', static::generate_base_url());
  			}
  		}
  
  		// Run Input Filtering
  		\Security::clean_input();
  
  		\Event::register('fuel-shutdown', 'Fuel::finish');
  
  		// Always load classes, config & language set in always_load.php config
  		static::always_load();
  
  		// Load in the routes
  		\Config::load('routes', true);
  		\Router::add(\Config::get('routes'));
  
  		// Set locale, log warning when it fails
  		if (static::$locale)
  		{
  			setlocale(LC_ALL, static::$locale) or
  				logger(\Fuel::L_WARNING, 'The configured locale '.static::$locale.' is not installed on your system.', __METHOD__);
  		}
  
  		static::$initialized = true;
  
  		// fire any app created events
  		\Event::instance()->has_events('app_created') and \Event::instance()->trigger('app_created', '', 'none');
  
  		if (static::$profiling)
  		{
  			\Profiler::mark(__METHOD__.' End');
  		}
  	}
code_tokens: public static function init ( $ config ) { if ( static :: $ initialized ) { throw new \ FuelException ( "You can't initialize Fuel more than once." ) ; } // BC FIX FOR APPLICATIONS <= 1.6.1, makes Redis_Db available as Redis, // like it was in versions before 1.7 class_exists ( 'Redis' , false ) or class_alias ( 'Redis_Db' , 'Redis' ) ; static :: $ _paths = array ( APPPATH , COREPATH ) ; // Is Fuel running on the command line? static :: $ is_cli = ( bool ) defined ( 'STDIN' ) ; \ Config :: load ( $ config ) ; // Disable output compression if the client doesn't support it if ( static :: $ is_cli or ! in_array ( 'gzip' , explode ( ', ' , \ Input :: headers ( 'Accept-Encoding' , '' ) ) ) ) { \ Config :: set ( 'ob_callback' , null ) ; } // Start up output buffering ob_start ( \ Config :: get ( 'ob_callback' ) ) ; if ( \ Config :: get ( 'caching' , false ) ) { \ Finder :: instance ( ) -> read_cache ( 'FuelFileFinder' ) ; } static :: $ profiling = \ Config :: get ( 'profiling' , false ) ; static :: $ profiling and \ Profiler :: init ( ) ; // set a default timezone if one is defined try { static :: $ timezone = \ Config :: get ( 'default_timezone' ) ? : date_default_timezone_get ( ) ; date_default_timezone_set ( static :: $ timezone ) ; } catch ( \ Exception $ e ) { date_default_timezone_set ( 'UTC' ) ; throw new \ PHPErrorException ( $ e -> getMessage ( ) ) ; } static :: $ encoding = \ Config :: get ( 'encoding' , static :: $ encoding ) ; MBSTRING and mb_internal_encoding ( static :: $ encoding ) ; static :: $ locale = \ Config :: get ( 'locale' , static :: $ locale ) ; if ( ! static :: $ is_cli ) { if ( \ Config :: get ( 'base_url' ) === null ) { \ Config :: set ( 'base_url' , static :: generate_base_url ( ) ) ; } } // Run Input Filtering \ Security :: clean_input ( ) ; \ Event :: register ( 'fuel-shutdown' , 'Fuel::finish' ) ; // Always load classes, config & language set in always_load.php config static :: always_load ( ) ; // Load in the routes \ Config :: load ( 'routes' , true ) ; \ Router :: add ( \ Config :: get ( 'routes' ) ) ; // Set locale, log warning when it fails if ( static :: $ locale ) { setlocale ( LC_ALL , static :: $ locale ) or logger ( \ Fuel :: L_WARNING , 'The configured locale ' . static :: $ locale . ' is not installed on your system.' , __METHOD__ ) ; } static :: $ initialized = true ; // fire any app created events \ Event :: instance ( ) -> has_events ( 'app_created' ) and \ Event :: instance ( ) -> trigger ( 'app_created' , '' , 'none' ) ; if ( static :: $ profiling ) { \ Profiler :: mark ( __METHOD__ . ' End' ) ; } }
docstring: Initializes the framework.  This can only be called once.
  
  @access	public
  @return	void
docstring_tokens: Initializes the framework . This can only be called once .