PageRenderTime 482ms CodeModel.GetById 171ms app.highlight 2ms RepoModel.GetById 176ms app.codeStats 1ms

/halogy/libraries/Model.php

https://bitbucket.org/haloweb/halogy-1.0/
PHP | 83 lines | 29 code | 9 blank | 45 comment | 5 complexity | 20efdf0983ba56332912ee1ce72dfa06 MD5 | raw file
 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 - 2009, 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 */
27class 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 */