blob: e73e887a05b318ba1b297aae353a2de3eb17ca8b [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
28// ------------------------------------------------------------------------
29
30/**
31 * CodeIgniter Application Controller Class
32 *
Roger Simms78a1cf22010-04-25 12:50:53 +010033 * This class object is the super class that every library in
Derek Allard2067d1a2008-11-13 22:59:24 +000034 * CodeIgniter will be assigned to.
35 *
36 * @package CodeIgniter
37 * @subpackage Libraries
38 * @category Libraries
Derek Jonesf4a4bd82011-10-20 12:18:42 -050039 * @author EllisLab Dev Team
Derek Allard2067d1a2008-11-13 22:59:24 +000040 * @link http://codeigniter.com/user_guide/general/controllers.html
41 */
Greg Aker4abfa682010-11-10 14:44:26 -060042class CI_Controller {
43
Timothy Warrenad475052012-04-19 13:21:06 -040044 /**
45 * Reference to the global CI instance
46 *
47 * @var object
48 */
Greg Aker4abfa682010-11-10 14:44:26 -060049 private static $instance;
Barry Mienydd671972010-10-04 16:33:58 +020050
Timothy Warrenad475052012-04-19 13:21:06 -040051 /**
52 * Set up controller properties and methods
53 */
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 /**
72 * Return the CI object
73 *
74 * @return object
75 */
Greg Aker4abfa682010-11-10 14:44:26 -060076 public static function &get_instance()
77 {
78 return self::$instance;
79 }
Derek Allard2067d1a2008-11-13 22:59:24 +000080}
Derek Allard2067d1a2008-11-13 22:59:24 +000081
82/* End of file Controller.php */
Andrey Andreev7ac33d72012-01-07 19:39:39 +020083/* Location: ./system/core/Controller.php */