Show Source00001 <?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 ?>