cvs: pear /DB_DataObject DataObject.php /DB_DataObject/tests simple.phpt

From: 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);

« previous php.pear.cvs (#15861) next »