From 54900d0145dfda07bde40dc6e1f0b31935b55444 Mon Sep 17 00:00:00 2001 From: xue <> Date: Tue, 17 Jan 2006 23:58:54 +0000 Subject: --- framework/Collections/TList.php | 4 ++-- framework/Collections/TMap.php | 4 ++-- framework/Collections/TPagedDataSource.php | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'framework/Collections') diff --git a/framework/Collections/TList.php b/framework/Collections/TList.php index b9fbd589..2946053b 100644 --- a/framework/Collections/TList.php +++ b/framework/Collections/TList.php @@ -246,7 +246,7 @@ class TList extends TComponent implements IteratorAggregate,ArrayAccess foreach($data as $item) $this->add($item); } - else + else if($data!==null) throw new TInvalidDataTypeException('list_data_not_iterable'); } @@ -263,7 +263,7 @@ class TList extends TComponent implements IteratorAggregate,ArrayAccess foreach($data as $item) $this->add($item); } - else + else if($data!==null) throw new TInvalidDataTypeException('list_data_not_iterable'); } diff --git a/framework/Collections/TMap.php b/framework/Collections/TMap.php index 73665136..d5a44322 100644 --- a/framework/Collections/TMap.php +++ b/framework/Collections/TMap.php @@ -180,7 +180,7 @@ class TMap extends TComponent implements IteratorAggregate,ArrayAccess foreach($data as $key=>$value) $this->add($key,$value); } - else + else if($data!==null) throw new TInvalidDataTypeException('map_data_not_iterable'); } @@ -197,7 +197,7 @@ class TMap extends TComponent implements IteratorAggregate,ArrayAccess foreach($data as $key=>$value) $this->add($key,$value); } - else + else if($data!==null) throw new TInvalidDataTypeException('map_data_not_iterable'); } diff --git a/framework/Collections/TPagedDataSource.php b/framework/Collections/TPagedDataSource.php index 5632e778..71e7c9e6 100644 --- a/framework/Collections/TPagedDataSource.php +++ b/framework/Collections/TPagedDataSource.php @@ -42,8 +42,10 @@ class TPagedDataSource extends TComponent implements IteratorAggregate { if(!($value instanceof TMap) && !($value instanceof TList)) { - if(is_array($value) || ($value instanceof Traversable)) + if(is_array($value)) $value=new TMap($value); + else if($value instanceof Traversable) + $value=new TList($value); else if($value!==null) throw new TInvalidDataTypeException('pageddatasource_datasource_invalid'); } -- cgit v1.2.3