<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); /** * CodeIgniter * * An open source application development framework for PHP 4.3.2 or newer * * @package CodeIgniter * @author ExpressionEngine Dev Team * @copyright Copyright (c) 2006, EllisLab, Inc. * @license http://codeigniter.com/user_guide/license.html * @link http://codeigniter.com * @since Version 1.0 * @filesource */ // ------------------------------------------------------------------------ /** * CodeIgniter Application Controller Class * * This class object is the super class the every library in * CodeIgniter will be assigned to. * * @package CodeIgniter * @subpackage Libraries * @category Libraries * @author ExpressionEngine Dev Team * @link http://codeigniter.com/user_guide/general/controllers.html */ class Controller extends CI_Base { var $_ci_scaffolding = FALSE; var $_ci_scaff_table = FALSE; /** * Constructor * * Calls the initialize() function */ function Controller() { parent::CI_Base(); $this->_ci_initialize(); log_message('debug', "Controller Class Initialized"); } // -------------------------------------------------------------------- /** * Initialize * * Assigns all the bases classes loaded by the front controller to * variables in this class. Also calls the autoload routine. * * @access private * @return void */ function _ci_initialize() { // Assign all the class objects that were instantiated by the // front controller to local class variables so that CI can be // run as one big super object. $classes = array( 'config' => 'Config', 'input' => 'Input', 'benchmark' => 'Benchmark', 'uri' => 'URI', 'output' => 'Output', 'lang' => 'Language' ); foreach ($classes as $var => $class) { $this->$var =& load_class($class); } // In PHP 5 the Loader class is run as a discreet // class. In PHP 4 it extends the Controller if (floor(phpversion()) >= 5) { $this->load =& load_class('Loader'); $this->load->_ci_autoloader(); } else { $this->_ci_autoloader(); // sync up the objects since PHP4 was working from a copy foreach (array_keys(get_object_vars($this)) as $attribute) { if (is_object($this->$attribute)) { $this->load->$attribute =& $this->$attribute; } } } } // -------------------------------------------------------------------- /** * Run Scaffolding * * @access private * @return void */ function _ci_scaffolding() { if ($this->_ci_scaffolding === FALSE OR $this->_ci_scaff_table === FALSE) { show_404('Scaffolding unavailable'); } $method = ( ! in_array($this->uri->segment(3), array('add', 'insert', 'edit', 'update', 'view', 'delete', 'do_delete'), TRUE)) ? 'view' : $this->uri->segment(3); require_once(BASEPATH.'scaffolding/Scaffolding'.EXT); $scaff = new Scaffolding($this->_ci_scaff_table); $scaff->$method(); } } // END _Controller class ?>