blob: 491414807847fb42948a8cb8cc588c93e51c76f9 [file] [log] [blame]
Andrey Andreev7ac33d72012-01-07 19:39:39 +02001<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Derek Allard2067d1a2008-11-13 22:59:24 +00002/**
3 * CodeIgniter
4 *
Phil Sturgeon07c1ac82012-03-09 17:03:37 +00005 * An open source application development framework for PHP 5.2.4 or newer
Derek Allard2067d1a2008-11-13 22:59:24 +00006 *
Derek Jonesf4a4bd82011-10-20 12:18:42 -05007 * NOTICE OF LICENSE
Andrey Andreev7ac33d72012-01-07 19:39:39 +02008 *
Derek Jonesf4a4bd82011-10-20 12:18:42 -05009 * Licensed under the Open Software License version 3.0
Andrey Andreev7ac33d72012-01-07 19:39:39 +020010 *
Derek Jonesf4a4bd82011-10-20 12:18:42 -050011 * This source file is subject to the Open Software License (OSL 3.0) that is
12 * bundled with this package in the files license.txt / license.rst. It is
13 * also available through the world wide web at this URL:
14 * http://opensource.org/licenses/OSL-3.0
15 * If you did not receive a copy of the license and are unable to obtain it
16 * through the world wide web, please send an email to
17 * licensing@ellislab.com so we can send you a copy immediately.
18 *
Derek Allard2067d1a2008-11-13 22:59:24 +000019 * @package CodeIgniter
Derek Jonesf4a4bd82011-10-20 12:18:42 -050020 * @author EllisLab Dev Team
Greg Aker0defe5d2012-01-01 18:46:41 -060021 * @copyright Copyright (c) 2008 - 2012, EllisLab, Inc. (http://ellislab.com/)
Derek Jonesf4a4bd82011-10-20 12:18:42 -050022 * @license http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
Derek Allard2067d1a2008-11-13 22:59:24 +000023 * @link http://codeigniter.com
24 * @since Version 1.0
25 * @filesource
26 */
27
Derek Allard2067d1a2008-11-13 22:59:24 +000028/**
29 * CodeIgniter Application Controller Class
30 *
Roger Simms78a1cf22010-04-25 12:50:53 +010031 * This class object is the super class that every library in
Derek Allard2067d1a2008-11-13 22:59:24 +000032 * CodeIgniter will be assigned to.
33 *
34 * @package CodeIgniter
35 * @subpackage Libraries
36 * @category Libraries
Derek Jonesf4a4bd82011-10-20 12:18:42 -050037 * @author EllisLab Dev Team
Derek Allard2067d1a2008-11-13 22:59:24 +000038 * @link http://codeigniter.com/user_guide/general/controllers.html
39 */
Greg Aker4abfa682010-11-10 14:44:26 -060040class CI_Controller {
41
Timothy Warrenad475052012-04-19 13:21:06 -040042 /**
43 * Reference to the global CI instance
44 *
Timothy Warren48a7fbb2012-04-23 11:58:16 -040045 * @var object
Timothy Warrenad475052012-04-19 13:21:06 -040046 */
Greg Aker4abfa682010-11-10 14:44:26 -060047 private static $instance;
Barry Mienydd671972010-10-04 16:33:58 +020048
Timothy Warrenad475052012-04-19 13:21:06 -040049 /**
50 * Set up controller properties and methods
Andrey Andreev92ebfb62012-05-17 12:49:24 +030051 *
52 * @return void
Timothy Warrenad475052012-04-19 13:21:06 -040053 */
Greg Aker4abfa682010-11-10 14:44:26 -060054 public function __construct()
Barry Mienydd671972010-10-04 16:33:58 +020055 {
Greg Aker4abfa682010-11-10 14:44:26 -060056 self::$instance =& $this;
Andrey Andreev7ac33d72012-01-07 19:39:39 +020057
Derek Allard2067d1a2008-11-13 22:59:24 +000058 // Assign all the class objects that were instantiated by the
Barry Mienydd671972010-10-04 16:33:58 +020059 // bootstrap file (CodeIgniter.php) to local class variables
Derek Jones8f9f9772010-03-02 13:28:24 -060060 // so that CI can run as one big super object.
61 foreach (is_loaded() as $var => $class)
Derek Allard2067d1a2008-11-13 22:59:24 +000062 {
63 $this->$var =& load_class($class);
64 }
65
Greg Aker4abfa682010-11-10 14:44:26 -060066 $this->load =& load_class('Loader', 'core');
Shane Pearson6adfe632011-08-10 16:42:53 -050067 $this->load->initialize();
Andrey Andreevfdc63822012-01-07 21:17:46 +020068 log_message('debug', 'Controller Class Initialized');
Derek Jones8f9f9772010-03-02 13:28:24 -060069 }
Derek Allard2067d1a2008-11-13 22:59:24 +000070
Timothy Warrenad475052012-04-19 13:21:06 -040071 /**
Andrey Andreev92ebfb62012-05-17 12:49:24 +030072 * Return the CI object
Timothy Warrenad475052012-04-19 13:21:06 -040073 *
Andrey Andreev92ebfb62012-05-17 12:49:24 +030074 * @return object
Timothy Warrenad475052012-04-19 13:21:06 -040075 */
Greg Aker4abfa682010-11-10 14:44:26 -060076 public static function &get_instance()
77 {
78 return self::$instance;
79 }
Andrey Andreev92ebfb62012-05-17 12:49:24 +030080
Derek Allard2067d1a2008-11-13 22:59:24 +000081}
Derek Allard2067d1a2008-11-13 22:59:24 +000082
83/* End of file Controller.php */
Timothy Warren40403d22012-04-19 16:38:50 -040084/* Location: ./system/core/Controller.php */