blob: ee6fec8d5144c6b74637c0daf941f131bc39f489 [file] [log] [blame]
Andrey Andreevc5536aa2012-11-01 17:33:58 +02001<?php
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 */
Andrey Andreevc5536aa2012-11-01 17:33:58 +020027defined('BASEPATH') OR exit('No direct script access allowed');
Derek Allard2067d1a2008-11-13 22:59:24 +000028
Derek Allard2067d1a2008-11-13 22:59:24 +000029/**
Andrey Andreev3e9d2b82012-10-27 14:28:51 +030030 * Application Controller Class
Derek Allard2067d1a2008-11-13 22:59:24 +000031 *
Roger Simms78a1cf22010-04-25 12:50:53 +010032 * This class object is the super class that every library in
Derek Allard2067d1a2008-11-13 22:59:24 +000033 * CodeIgniter will be assigned to.
34 *
35 * @package CodeIgniter
36 * @subpackage Libraries
37 * @category Libraries
Derek Jonesf4a4bd82011-10-20 12:18:42 -050038 * @author EllisLab Dev Team
Derek Allard2067d1a2008-11-13 22:59:24 +000039 * @link http://codeigniter.com/user_guide/general/controllers.html
40 */
Greg Aker4abfa682010-11-10 14:44:26 -060041class CI_Controller {
42
Timothy Warrenad475052012-04-19 13:21:06 -040043 /**
Andrey Andreev3e9d2b82012-10-27 14:28:51 +030044 * Reference to the CI singleton
Timothy Warrenad475052012-04-19 13:21:06 -040045 *
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 /**
Andrey Andreev3e9d2b82012-10-27 14:28:51 +030051 * Class constructor
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
Andrey Andreev3e9d2b82012-10-27 14:28:51 +030072 // --------------------------------------------------------------------
73
Timothy Warrenad475052012-04-19 13:21:06 -040074 /**
Andrey Andreev3e9d2b82012-10-27 14:28:51 +030075 * Get the CI singleton
Timothy Warrenad475052012-04-19 13:21:06 -040076 *
Andrey Andreev5fd3ae82012-10-24 14:55:35 +030077 * @static
Andrey Andreev92ebfb62012-05-17 12:49:24 +030078 * @return object
Timothy Warrenad475052012-04-19 13:21:06 -040079 */
Greg Aker4abfa682010-11-10 14:44:26 -060080 public static function &get_instance()
81 {
82 return self::$instance;
83 }
Andrey Andreev92ebfb62012-05-17 12:49:24 +030084
Derek Allard2067d1a2008-11-13 22:59:24 +000085}
Derek Allard2067d1a2008-11-13 22:59:24 +000086
87/* End of file Controller.php */
Timothy Warren40403d22012-04-19 16:38:50 -040088/* Location: ./system/core/Controller.php */