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