Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2005 Aurelien 1
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
/**
3
 * CodeIgniter
4
 *
5
 * An open source application development framework for PHP 4.3.2 or newer
6
 *
7
 * @package		CodeIgniter
8
 * @author		ExpressionEngine Dev Team
9
 * @copyright	Copyright (c) 2008, EllisLab, Inc.
10
 * @license		http://codeigniter.com/user_guide/license.html
11
 * @link		http://codeigniter.com
12
 * @since		Version 1.0
13
 * @filesource
14
 */
15
16
// ------------------------------------------------------------------------
17
18
/**
19
 * CodeIgniter Model Class
20
 *
21
 * @package		CodeIgniter
22
 * @subpackage	Libraries
23
 * @category	Libraries
24
 * @author		ExpressionEngine Dev Team
25
 * @link		http://codeigniter.com/user_guide/libraries/config.html
26
 */
27
class Model {
28
29
	var $_parent_name = '';
30
31
	/**
32
	 * Constructor
33
	 *
34
	 * @access public
35
	 */
36
	function Model()
37
	{
38
		// If the magic __get() or __set() methods are used in a Model references can't be used.
39
		$this->_assign_libraries( (method_exists($this, '__get') OR method_exists($this, '__set')) ? FALSE : TRUE );
40
41
		// We don't want to assign the model object to itself when using the
42
		// assign_libraries function below so we'll grab the name of the model parent
43
		$this->_parent_name = ucfirst(get_class($this));
44
45
		log_message('debug', "Model Class Initialized");
46
	}
47
48
	/**
49
	 * Assign Libraries
50
	 *
51
	 * Creates local references to all currently instantiated objects
52
	 * so that any syntax that can be legally used in a controller
53
	 * can be used within models.
54
	 *
55
	 * @access private
56
	 */
57
	function _assign_libraries($use_reference = TRUE)
58
	{
59
		$CI =& get_instance();
60
		foreach (array_keys(get_object_vars($CI)) as $key)
61
		{
62
			if ( ! isset($this->$key) AND $key != $this->_parent_name)
63
			{
64
				// In some cases using references can cause
65
				// problems so we'll conditionally use them
66
				if ($use_reference == TRUE)
67
				{
68
					$this->$key = NULL; // Needed to prevent reference errors with some configurations
69
					$this->$key =& $CI->$key;
70
				}
71
				else
72
				{
73
					$this->$key = $CI->$key;
74
				}
75
			}
76
		}
77
	}
78
79
}
80
// END Model Class
81
82
/* End of file Model.php */
83
/* Location: ./system/libraries/Model.php */