cvs: pear /DB_DataObject DataObject.php /DB_DataObject/tests simple.phpt
| From: | Alan Knowles | Date: | Thu, 22 Jan 2004 01:55:32 +0000 |
| Subject: | cvs: pear /DB_DataObject DataObject.php /DB_DataObject/tests simple.phpt | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-15861@lists.php.net to get a copy of this message | ||
alan_k Wed Jan 21 20:55:32 2004 EDT
Modified files:
/pear/DB_DataObject DataObject.php
/pear/DB_DataObject/tests simple.phpt
Log:
fix null, and cast objects used with setters and setFrom()
http://cvs.php.net/diff.php/pear/DB_DataObject/DataObject.php?r1=1.196&r2=1.197&ty=u
Index: pear/DB_DataObject/DataObject.php
diff -u pear/DB_DataObject/DataObject.php:1.196 pear/DB_DataObject/DataObject.php:1.197
--- pear/DB_DataObject/DataObject.php:1.196 Mon Jan 19 02:50:01 2004
+++ pear/DB_DataObject/DataObject.php Wed Jan 21 20:55:31 2004
@@ -20,7 +20,7 @@
* @package DB_DataObject
* @category DB
*
- * $Id: DataObject.php,v 1.196 2004/01/19 07:50:01 alan_k Exp $
+ * $Id: DataObject.php,v 1.197 2004/01/22 01:55:31 alan_k Exp $
*/
/* =====================================================================================
@@ -2927,13 +2927,27 @@
$this->$col = $value;
return true;
}
-
+ //echo "FROM VALUE $col, {$cols[$col]}, $value\n";
switch (true) {
+
+ case ((strtolower($value) == 'null') && (!($cols[$col] &
DB_DATAOBJECT_NOTNULL))):
+ case (is_object($value) && is_a($value,'DB_DataObject_Cast')):
+
+ $this->$col = $value;
+ return true;
+
+ // fail on setting null on a not null field..
+ case ((strtolower($value) == 'null') && ($cols[$col] &
DB_DATAOBJECT_NOTNULL)):
+ return false;
+
case (($cols[$col] & DB_DATAOBJECT_DATE) && ($cols[$col] &
DB_DATAOBJECT_TIME)):
$guess = strtotime($value);
+
if ($guess != -1) {
$this->$col = date('Y-m-d H:i:s', $guess);
+ return true;
}
+
// eak... - no way to validate date time otherwise...
$this->$col = (string) $value;
return true;
@@ -2962,6 +2976,7 @@
case ($cols[$col] & DB_DATAOBJECT_STR):
+
$this->$col = (string) $value;
return true;
http://cvs.php.net/diff.php/pear/DB_DataObject/tests/simple.phpt?r1=1.17&r2=1.18&ty=u
Index: pear/DB_DataObject/tests/simple.phpt
diff -u pear/DB_DataObject/tests/simple.phpt:1.17 pear/DB_DataObject/tests/simple.phpt:1.18
--- pear/DB_DataObject/tests/simple.phpt:1.17 Sat Jan 17 21:27:08 2004
+++ pear/DB_DataObject/tests/simple.phpt Wed Jan 21 20:55:32 2004
@@ -244,16 +244,17 @@
$this->query("
CREATE TABLE typetest (
id int(11) NOT NULL auto_increment PRIMARY KEY,
- a_date date NOT NULL default '',
+ a_date date default '',
a_time time NOT NULL default '',
a_datetime datetime default ''
) TYPE=MyISAM;");
$x = DB_DataObject::factory('typetest');
-
+ print_r($x->table());
$x->seta_date('1 jan 2003'); //
$x->seta_time('12pm');
$x->seta_datetime('1am yesterday');
+ $x->seta_date('null'); //
print_R($x);