blob: 9196958aecfcec5e01d0a6b90e1300f27d1f7915 [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 *
Andrey Andreev5fd3ae82012-10-24 14:55:35 +030045 * @static
Timothy Warren48a7fbb2012-04-23 11:58:16 -040046 * @var object
Timothy Warrenad475052012-04-19 13:21:06 -040047 */
Greg Aker4abfa682010-11-10 14:44:26 -060048 private static $instance;
Barry Mienydd671972010-10-04 16:33:58 +020049
Timothy Warrenad475052012-04-19 13:21:06 -040050 /**
51 * Set up controller properties and methods
Andrey Andreev92ebfb62012-05-17 12:49:24 +030052 *
53 * @return void
Timothy Warrenad475052012-04-19 13:21:06 -040054 */
Greg Aker4abfa682010-11-10 14:44:26 -060055 public function __construct()
Barry Mienydd671972010-10-04 16:33:58 +020056 {
Greg Aker4abfa682010-11-10 14:44:26 -060057 self::$instance =& $this;
Andrey Andreev7ac33d72012-01-07 19:39:39 +020058
Derek Allard2067d1a2008-11-13 22:59:24 +000059 // Assign all the class objects that were instantiated by the
Barry Mienydd671972010-10-04 16:33:58 +020060 // bootstrap file (CodeIgniter.php) to local class variables
Derek Jones8f9f9772010-03-02 13:28:24 -060061 // so that CI can run as one big super object.
62 foreach (is_loaded() as $var => $class)
Derek Allard2067d1a2008-11-13 22:59:24 +000063 {
64 $this->$var =& load_class($class);
65 }
66
Greg Aker4abfa682010-11-10 14:44:26 -060067 $this->load =& load_class('Loader', 'core');
Shane Pearson6adfe632011-08-10 16:42:53 -050068 $this->load->initialize();
Andrey Andreevfdc63822012-01-07 21:17:46 +020069 log_message('debug', 'Controller Class Initialized');
Derek Jones8f9f9772010-03-02 13:28:24 -060070 }
Derek Allard2067d1a2008-11-13 22:59:24 +000071
Timothy Warrenad475052012-04-19 13:21:06 -040072 /**
Andrey Andreev92ebfb62012-05-17 12:49:24 +030073 * Return the CI object
Timothy Warrenad475052012-04-19 13:21:06 -040074 *
Andrey Andreev5fd3ae82012-10-24 14:55:35 +030075 * @static
Andrey Andreev92ebfb62012-05-17 12:49:24 +030076 * @return object
Timothy Warrenad475052012-04-19 13:21:06 -040077 */
Greg Aker4abfa682010-11-10 14:44:26 -060078 public static function &get_instance()
79 {
80 return self::$instance;
81 }
Andrey Andreev92ebfb62012-05-17 12:49:24 +030082
Derek Allard2067d1a2008-11-13 22:59:24 +000083}
Derek Allard2067d1a2008-11-13 22:59:24 +000084
85/* End of file Controller.php */
Timothy Warren40403d22012-04-19 16:38:50 -040086/* Location: ./system/core/Controller.php */