00001 <?php 00035 include_once(ZIGROOT.DRS.MOD_KEY_NAME_EXPLICIT.DRS."orm".DRS."nomagic.php"); 00036 $__zigmoyd__Orm_drv = new stdClass(); 00040 class zDbAccessRowSet extends zigRowSet{ 00041 function zDbAccessRowSet(){ 00042 if(function_exists('overload'))overload(get_class($this)); 00043 } 00044 } 00065 class zDbAccess extends zOrm_noMagic{ 00066 function zDbAccess($connAlias, $tableName){ 00067 $this->__construct($connAlias, $tableName); 00068 } 00075 function __construct($connAlias, $tableName){ 00076 $path = ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.Z_PROJECT_DIR.DRS.ZIGSETTINGSDIR.DRS.Z_DIR_ETC_CONF.DRS.$connAlias.".con.ini.php"; 00077 if(!file_exists($path)){ 00078 perror('<code>zigmoyd.dynamicOrm.init</code><br />Failed to parse the connection file '.$connAlias.' as the file doesn\'t exist'); 00079 exit; 00080 } 00081 if(!defined('ZIGORM_Q_SELECT')){define('ZIGORM_Q_SELECT', 's');} 00082 if(!defined('ZIGORM_Q_INSERT')){define('ZIGORM_Q_INSERT', 'i');} 00083 if(!defined('ZIGORM_Q_UPDATE')){define('ZIGORM_Q_UPDATE', 'u');} 00084 if(!defined('ZIGORM_Q_REMOVE')){define('ZIGORM_Q_REMOVE', 'r');} 00085 if(!defined('ZIGORM_Q_SQL')){define('ZIGORM_Q_SQL', 'q');} 00086 if(!defined('ZIGORM_Q_TRUNCATE')){define('ZIGORM_Q_TRUNCATE', 't');} 00087 if(!defined('ZIGORM_NO_FLUSH')){define('ZIGORM_NO_FLUSH', false);} 00088 if(!defined('ZIGORM_FLUSH')){define('ZIGORM_FLUSH', true);} 00089 if(!defined('ZIGORM_NO_QUOTE'))define('ZIGORM_NO_QUOTE', false); 00090 if(!defined('ZIGORM_QUOTE'))define('ZIGORM_QUOTE', true); 00091 if(!defined('ZIGORM_Q_JOIN')){define('ZIGORM_Q_JOIN', 'j');} 00092 if(!defined('ZIGORM_Q_AUTOJOIN')){define('ZIGORM_Q_AUTOJOIN', 'aj');} 00093 if(!defined('ZIGORM_JOIN_CROSS'))define('ZIGORM_JOIN_CROSS', 'jc'); 00094 if(!defined('ZIGORM_JOIN_LEFT'))define('ZIGORM_JOIN_LEFT', 'jl'); 00095 if(!defined('ZIGORM_JOIN_RIGHT'))define('ZIGORM_JOIN_RIGHT', 'jr'); 00096 if(!defined('ZIGORM_JOIN_FULL'))define('ZIGORM_JOIN_FULL', 'jf'); 00097 if(!defined('ZIGORM_JOIN_INNER'))define('ZIGORM_JOIN_INNER', 'ji'); 00098 if(!defined('ZIGORM_JOIN_NATURAL'))define('ZIGORM_JOIN_NATURAL', 'jn'); 00099 if(!defined('ZIGORM_OP_EQUALS'))define('ZIGORM_OP_EQUALS', '='); 00100 if(!defined('ZIGORM_OP_GREATER'))define('ZIGORM_OP_GREATER', '>'); 00101 if(!defined('ZIGORM_OP_LESS'))define('ZIGORM_OP_LESS', '<'); 00102 if(!defined('ZIGORM_OP_GREATER_EQUALS'))define('ZIGORM_OP_GREATER_EQUALS', '>='); 00103 if(!defined('ZIGORM_OP_LESS_EQUALS'))define('ZIGORM_OP_LESS_EQUALS', '<='); 00104 if(!defined('ZIGORM_OP_NOT_EQUALS'))define('ZIGORM_OP_NOT_EQUALS', '<>'); 00105 $conData = parse_ini_file($path); 00106 $this->realTableName = $tableName; 00107 $this->tableAlias = $tableName; 00108 $this->connAlias = $connAlias; 00109 $this->__struct = new stdClass(); 00110 $this->__struct->alias = $tableName; 00111 $this->__struct->Attributes = array(); 00112 foreach($this->colList($connAlias, $conData['driver']) as $colName){ 00113 $this->__struct->Attributes[$colName] = new stdClass(); 00114 $this->__struct->Attributes[$colName]->alias = $colName; 00115 $this->__struct->Attributes[$colName]->permission = 'writable'; 00116 } 00117 $this->init(); 00118 } 00124 function colList($conAlias, $driver){ 00125 switch(trim($driver)){ 00126 case 'mysql': 00127 zLogger::debug("Using Orm driver mysql", 'orm.'.$this->realTableName); 00128 include_once(ZIGROOT.DRS.MOD_KEY_NAME_EXPLICIT.DRS.'orm'.DRS.'driver'.DRS.'mysql.php'); 00129 $GLOBALS['__zigmoyd__Orm_drv'] = new OrmDriver_mysql(); 00130 $GLOBALS['__zigmoyd__Orm_drv']->connAlias($conAlias); 00131 if(!$GLOBALS['__zigmoyd__Orm_drv']->connect()){ 00132 perror("<code>zigmoyd.dynamicOrm.core.execute</code><br />Failed To Connect $this->connAlias"); 00133 return false; 00134 } 00135 return $GLOBALS['__zigmoyd__Orm_drv']->listCols($this->realTableName); 00136 break; 00137 default: 00138 zLogger::error("Using Invalid Driver ".$__ZigOrm->connections[$this->conn_alias]->driver, 'orm.'.$this->__table_name); 00139 perror('Invalid Driver '.$__ZigOrm->connections[$this->conn_alias]->driver." seleced"); 00140 } 00141 } 00142 } 00144 ?>