Changeset 34 for trunk/phpgwapi/inc/adodb/adodb-csvlib.inc.php
- Timestamp:
- 06/29/07 15:17:46 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/phpgwapi/inc/adodb/adodb-csvlib.inc.php
r2 r34 8 8 9 9 /* 10 V4.51 29 July 2004 (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved. 10 11 V4.94 23 Jan 2007 (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved. 11 12 Released under both BSD license and Lesser GPL library license. 12 13 Whenever there is any discrepancy between the two licenses, … … 67 68 $flds[] = $o; 68 69 } 69 70 $rs =& new ADORecordSet_array(); 71 $rs->InitArrayFields($rows,$flds); 72 return $line.serialize($rs); 70 71 $savefetch = isset($rs->adodbFetchMode) ? $rs->adodbFetchMode : $rs->fetchMode; 72 $class = $rs->connection->arrayClass; 73 $rs2 = new $class(); 74 $rs2->sql = $rs->sql; 75 $rs2->oldProvider = $rs->dataProvider; 76 $rs2->InitArrayFields($rows,$flds); 77 $rs2->fetchMode = $savefetch; 78 return $line.serialize($rs2); 73 79 } 74 80 … … 85 91 * empty recordset is returned 86 92 */ 87 function &csv2rs($url,&$err,$timeout=0 )93 function &csv2rs($url,&$err,$timeout=0, $rsclass='ADORecordSet_array') 88 94 { 95 $false = false; 89 96 $err = false; 90 97 $fp = @fopen($url,'rb'); 91 98 if (!$fp) { 92 99 $err = $url.' file/URL not found'; 93 return false;94 } 95 flock($fp, LOCK_SH);100 return $false; 101 } 102 @flock($fp, LOCK_SH); 96 103 $arr = array(); 97 104 $ttl = 0; … … 102 109 $err = trim(substr($meta[0],4,1024)); 103 110 fclose($fp); 104 return false;111 return $false; 105 112 } 106 113 // check for meta data … … 114 121 $err = "Corrupt first line for format -1"; 115 122 fclose($fp); 116 return false;123 return $false; 117 124 } 118 125 fclose($fp); … … 120 127 if ($timeout > 0) { 121 128 $err = " Illegal Timeout $timeout "; 122 return false;129 return $false; 123 130 } 131 132 $rs = new $rsclass($val=true); 124 133 $rs->fields = array(); 125 134 $rs->timeCreated = $meta[1]; 126 $rs =& new ADORecordSet($val=true);127 135 $rs->EOF = true; 128 $rs->_numOfFields =0;136 $rs->_numOfFields = 0; 129 137 $rs->sql = urldecode($meta[2]); 130 138 $rs->affectedrows = (integer)$meta[3]; … … 150 158 fclose($fp); 151 159 $err = "Timeout 3"; 152 return false;160 return $false; 153 161 } 154 162 break; … … 157 165 fclose($fp); 158 166 $err = "Timeout 2"; 159 return false;167 return $false; 160 168 } 161 169 break; … … 164 172 fclose($fp); 165 173 $err = "Timeout 1"; 166 return false;174 return $false; 167 175 } 168 176 break; … … 170 178 fclose($fp); 171 179 $err = "Timeout 0"; 172 return false;180 return $false; 173 181 } // switch 174 182 … … 204 212 fclose($fp); 205 213 $err = "Unexpected EOF 1"; 206 return false;214 return $false; 207 215 } 208 216 } … … 217 225 break; 218 226 } 219 $fld = &new ADOFieldObject();227 $fld = new ADOFieldObject(); 220 228 $fld->name = urldecode($o2[0]); 221 229 $fld->type = $o2[1]; … … 226 234 fclose($fp); 227 235 $err = "Recordset had unexpected EOF 2"; 228 return false;236 return $false; 229 237 } 230 238 … … 243 251 $err = "Recordset had unexpected EOF (in serialized recordset)"; 244 252 if (get_magic_quotes_runtime()) $err .= ". Magic Quotes Runtime should be disabled!"; 245 return false;246 } 247 $rs = & new ADORecordSet_array();253 return $false; 254 } 255 $rs = new $rsclass(); 248 256 $rs->timeCreated = $ttl; 249 257 $rs->InitArrayFields($arr,$flds); … … 273 281 // getmypid() actually returns 0 on Win98 - never mind! 274 282 $tmpname = $filename.uniqid($mtime).getmypid(); 275 if (!($fd = fopen($tmpname,'a'))) return false;283 if (!($fd = @fopen($tmpname,'a'))) return false; 276 284 $ok = ftruncate($fd,0); 277 285 if (!fwrite($fd,$contents)) $ok = false; … … 289 297 return $ok; 290 298 } 291 if (!($fd = fopen($filename, 'a'))) return false;299 if (!($fd = @fopen($filename, 'a'))) return false; 292 300 if (flock($fd, LOCK_EX) && ftruncate($fd, 0)) { 293 301 $ok = fwrite( $fd, $contents );
Note: See TracChangeset
for help on using the changeset viewer.