00001 <?php 00060 class zCDE extends zCore{ 00067 function toIterable(&$obj){ 00068 if(is_array($obj))return $obj; 00069 return array($obj); 00070 } 00077 function toUnIterable($arr){ 00078 if(!is_array($arr))return $arr; 00079 if(count($arr)==0)return false; 00080 foreach($arr as $obj)return $obj; 00081 } 00087 function toObj($arr){ 00088 if(!is_array($arr))return $arr; 00089 $retObj = new stdClass(); 00090 foreach($arr as $key => $val){ 00091 if(ctype_digit($key)){ 00092 perror("<code>zigmoyd.cde</code><br />Your Array must not be numarically Indexed to get converted to an object"); 00093 }else{ 00094 $retObj->{$key} = zCDE::toObj($val); 00095 } 00096 } 00097 return $retObj; 00098 } 00104 function toArray($obj){ 00105 if(!is_object($obj))return $obj; 00106 $ret = array(); 00107 foreach($obj as $key => $val){ 00108 $ret[$key] = zCDE::toArray($val); 00109 } 00110 return $ret; 00111 } 00125 function dsnBuilder($driver, $usr, $psw, $host, $db, $table, $port=null, $schema=null){ 00126 if($port)$portStr = ":$port"; 00127 else $portStr = ""; 00128 if($schema)$tableStr = "$schema.$table"; 00129 else $tableStr = $table; 00130 return "$driver://$usr:$psw@$host$portStr/$db/$tableStr"; 00131 } 00138 function dsnExplode($dsn){ 00139 if(preg_match('~(?P<driver>\w+)://(?P<usr>\w+):(?P<psw>\w+)@(?P<host>\w+)(?::(?P<port>\d+))?/(?P<db>\w+)/(?P<schema>\w+)(?:\.(?P<table>\w+))?~', $dsn, $m) < 1){ 00140 perror('<code>zigmoyd.cde.dnsExplode</code><br />Failed to Parse as Invalid DNS Specified'); 00141 return false; 00142 } 00143 for($i = 0;$i<count($m);++$i){ 00144 if(isset($m[$i]))unset($m[$i]); 00145 } 00146 if(!isset($m['table'])){ 00147 $m['table'] = $m['schema']; 00148 unset($m['schema']); 00149 } 00150 return $m; 00151 } 00164 function createConn($conAliasName, $drv, $database=null, $host=null, $user=null, $psw=null, $port=null){ 00165 $path = ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.Z_PROJECT_DIR.DRS.ZIGSETTINGSDIR.DRS.Z_DIR_ETC_CONF.DRS.$conAliasName.".con.ini.php"; 00166 if(file_exists($path))return false; 00167 $iniStr = "driver=\"$drv\"\ndatabase=\"$database\"\nhost=\"$host\"\nuser=\"$user\"\npsw=\"$psw\"\nport=\"$port\""; 00168 return file_put_contents($path, $iniStr); 00169 } 00176 function deleteConn($conAliasName){ 00177 $path = ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.Z_PROJECT_DIR.DRS.ZIGSETTINGSDIR.DRS.Z_DIR_ETC_CONF.DRS.$conAliasName.".con.ini.php"; 00178 if(!file_exists($path))return false; 00179 return unlink($path); 00180 } 00193 function overWriteConn($conAliasName, $drv, $database=null, $host=null, $user=null, $psw=null, $port=null){ 00194 $path = ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.Z_PROJECT_DIR.DRS.ZIGSETTINGSDIR.DRS.Z_DIR_ETC_CONF.DRS.$conAliasName.".con.ini.php"; 00195 $iniStr = "driver=\"$drv\"\ndatabase=\"$database\"\nhost=\"$host\"\nuser=\"$user\"\npsw=\"$psw\"\nport=\"$port\""; 00196 return file_put_contents($path, $iniStr); 00197 } 00204 function parseConn($conAliasName){ 00205 $path = ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.Z_PROJECT_DIR.DRS.ZIGSETTINGSDIR.DRS.Z_DIR_ETC_CONF.DRS.$conAliasName.".con.ini.php"; 00206 if(file_exists($path))return false; 00207 return parse_ini_file($path); 00208 } 00209 } 00211 ?>