1 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
\r
5 * An open source application development framework for PHP 4.3.2 or newer
\r
7 * @package CodeIgniter
\r
8 * @author ExpressionEngine Dev Team
\r
9 * @copyright Copyright (c) 2008, EllisLab, Inc.
\r
10 * @license http://codeigniter.com/user_guide/license.html
\r
11 * @link http://codeigniter.com
\r
12 * @since Version 1.0
\r
16 // ------------------------------------------------------------------------
\r
19 * CodeIgniter Model Class
\r
21 * @package CodeIgniter
\r
22 * @subpackage Libraries
\r
23 * @category Libraries
\r
24 * @author ExpressionEngine Dev Team
\r
25 * @link http://codeigniter.com/user_guide/libraries/config.html
\r
29 var $_parent_name = '';
\r
38 // If the magic __get() or __set() methods are used in a Model references can't be used.
\r
39 $this->_assign_libraries( (method_exists($this, '__get') OR method_exists($this, '__set')) ? FALSE : TRUE );
\r
41 // We don't want to assign the model object to itself when using the
\r
42 // assign_libraries function below so we'll grab the name of the model parent
\r
43 $this->_parent_name = ucfirst(get_class($this));
\r
45 log_message('debug', "Model Class Initialized");
\r
51 * Creates local references to all currently instantiated objects
\r
52 * so that any syntax that can be legally used in a controller
\r
53 * can be used within models.
\r
57 function _assign_libraries($use_reference = TRUE)
\r
59 $CI =& get_instance();
\r
60 foreach (array_keys(get_object_vars($CI)) as $key)
\r
62 if ( ! isset($this->$key) AND $key != $this->_parent_name)
\r
64 // In some cases using references can cause
\r
65 // problems so we'll conditionally use them
\r
66 if ($use_reference == TRUE)
\r
68 $this->$key = NULL; // Needed to prevent reference errors with some configurations
\r
69 $this->$key =& $CI->$key;
\r
73 $this->$key = $CI->$key;
\r
82 /* End of file Model.php */
\r
83 /* Location: ./system/libraries/Model.php */