This commit is contained in:
parent
c6c18f18c3
commit
88dc397e7c
@ -232,6 +232,7 @@ final class Doctrine {
|
||||
case "Session":
|
||||
case "DQL":
|
||||
case "Sensei":
|
||||
case "Iterator":
|
||||
$a[] = self::$path.DIRECTORY_SEPARATOR.$entry;
|
||||
break;
|
||||
default:
|
||||
|
@ -66,36 +66,6 @@ abstract class Doctrine_Iterator implements Iterator {
|
||||
$this->key = $this->keys[$i];
|
||||
}
|
||||
}
|
||||
class Doctrine_Iterator_Normal extends Doctrine_Iterator {
|
||||
/**
|
||||
* @return boolean whether or not the iteration will continue
|
||||
*/
|
||||
public function valid() {
|
||||
return ($this->index < $this->count);
|
||||
}
|
||||
}
|
||||
class Doctrine_Iterator_Offset extends Doctrine_Iterator {
|
||||
public function valid() { }
|
||||
}
|
||||
class Doctrine_Iterator_Expandable extends Doctrine_Iterator {
|
||||
public function valid() {
|
||||
if($this->index < $this->count)
|
||||
return true;
|
||||
elseif($this->index == $this->count) {
|
||||
|
||||
$coll = $this->collection->expand($this->index);
|
||||
|
||||
if($coll instanceof Doctrine_Collection) {
|
||||
$count = count($coll);
|
||||
if($count > 0) {
|
||||
$this->keys = array_merge($this->keys, $coll->getKeys());
|
||||
$this->count += $count;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
25
classes/Iterator/Expandable.class.php
Normal file
25
classes/Iterator/Expandable.class.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
require_once(Doctrine::getPath().DIRECTORY_SEPARATOR."Iterator.class.php");
|
||||
|
||||
class Doctrine_Iterator_Expandable extends Doctrine_Iterator {
|
||||
public function valid() {
|
||||
if($this->index < $this->count)
|
||||
return true;
|
||||
elseif($this->index == $this->count) {
|
||||
|
||||
$coll = $this->collection->expand($this->index);
|
||||
|
||||
if($coll instanceof Doctrine_Collection) {
|
||||
$count = count($coll);
|
||||
if($count > 0) {
|
||||
$this->keys = array_merge($this->keys, $coll->getKeys());
|
||||
$this->count += $count;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
12
classes/Iterator/Normal.class.php
Normal file
12
classes/Iterator/Normal.class.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
require_once(Doctrine::getPath().DIRECTORY_SEPARATOR."Iterator.class.php");
|
||||
|
||||
class Doctrine_Iterator_Normal extends Doctrine_Iterator {
|
||||
/**
|
||||
* @return boolean whether or not the iteration will continue
|
||||
*/
|
||||
public function valid() {
|
||||
return ($this->index < $this->count);
|
||||
}
|
||||
}
|
||||
?>
|
8
classes/Iterator/Offset.class.php
Normal file
8
classes/Iterator/Offset.class.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
require_once(Doctrine::getPath().DIRECTORY_SEPARATOR."Iterator.class.php");
|
||||
|
||||
class Doctrine_Iterator_Offset extends Doctrine_Iterator {
|
||||
public function valid() { }
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue
Block a user