blob: 1f69146d08c4d422bfb215dbf225a2018aa367c9 [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
51 */
Greg Aker4abfa682010-11-10 14:44:26 -060052 public function __construct()
Barry Mienydd671972010-10-04 16:33:58 +020053 {
Greg Aker4abfa682010-11-10 14:44:26 -060054 self::$instance =& $this;
Andrey Andreev7ac33d72012-01-07 19:39:39 +020055
Derek Allard2067d1a2008-11-13 22:59:24 +000056 // Assign all the class objects that were instantiated by the
Barry Mienydd671972010-10-04 16:33:58 +020057 // bootstrap file (CodeIgniter.php) to local class variables
Derek Jones8f9f9772010-03-02 13:28:24 -060058 // so that CI can run as one big super object.
59 foreach (is_loaded() as $var => $class)
Derek Allard2067d1a2008-11-13 22:59:24 +000060 {
61 $this->$var =& load_class($class);
62 }
63
Greg Aker4abfa682010-11-10 14:44:26 -060064 $this->load =& load_class('Loader', 'core');
Shane Pearson6adfe632011-08-10 16:42:53 -050065 $this->load->initialize();
Andrey Andreevfdc63822012-01-07 21:17:46 +020066 log_message('debug', 'Controller Class Initialized');
Derek Jones8f9f9772010-03-02 13:28:24 -060067 }
Derek Allard2067d1a2008-11-13 22:59:24 +000068
Timothy Warrenad475052012-04-19 13:21:06 -040069 /**
70 * Return the CI object
71 *
72 * @return object
73 */
Greg Aker4abfa682010-11-10 14:44:26 -060074 public static function &get_instance()
75 {
76 return self::$instance;
77 }
Derek Allard2067d1a2008-11-13 22:59:24 +000078}
Derek Allard2067d1a2008-11-13 22:59:24 +000079
80/* End of file Controller.php */
Timothy Warren40403d22012-04-19 16:38:50 -040081/* Location: ./system/core/Controller.php */