aboutsummaryrefslogtreecommitdiff
path: root/classes/iterators/IsisFieldIterator.php
diff options
context:
space:
mode:
authorSilvio <silvio@devlet.com.br>2010-07-19 18:04:40 -0300
committerSilvio <silvio@devlet.com.br>2010-07-19 18:04:40 -0300
commit1d84217ed97be237d2696c85a997c9e52114b984 (patch)
treee2b241be944cea023d89f785dfb97286cbd9be24 /classes/iterators/IsisFieldIterator.php
parent2018efe9bd583378e11e7998070221faa92890b4 (diff)
downloadcinisis-1d84217ed97be237d2696c85a997c9e52114b984.tar.gz
cinisis-1d84217ed97be237d2696c85a997c9e52114b984.tar.bz2
Lots of API changes at IsisConnector and iterators
Diffstat (limited to 'classes/iterators/IsisFieldIterator.php')
-rw-r--r--classes/iterators/IsisFieldIterator.php81
1 files changed, 0 insertions, 81 deletions
diff --git a/classes/iterators/IsisFieldIterator.php b/classes/iterators/IsisFieldIterator.php
deleted file mode 100644
index 26c5e88..0000000
--- a/classes/iterators/IsisFieldIterator.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-/**
- * Isis field iterator. Iterates over a field for each result row.
- *
- * @todo
- * Support for 'join_subfields'
- */
-class IsisFieldIterator implements Iterator
-{
- private $keys;
- private $fieldset;
- private $row = 0;
- private $rows = 0;
- private $subfield = 0;
- private $subfields = 0;
-
- /**
- * Constructor.
- *
- * @param $class
- * Instance of IsisConnector or child class.
- *
- * @param $field
- * Field to iterate over.
- *
- * @param $main
- * Control to which subfield the main field should be mapped to.
- * By default no mapping is made.
- */
- public function __construct($class, $field, $main = false) {
- $this->class = $class;
- $this->field = $field;
- $this->rows = $class->getRows($field);
- $this->fieldset = $class->getSubfieldList($field);
- $this->keys = array_keys($this->fieldset);
- $this->subfields = count($this->keys);
- }
-
- /**
- * Rewind the Iterator to the first element.
- */
- function rewind() {
- $this->row = 0;
- $this->subfield = 0;
- }
-
- /**
- * Return the key of the current element.
- */
- function key() {
- return $this->row;
- }
-
- /**
- * Return the current element.
- */
- function current() {
- return $this->fieldset[$this->keys[$this->subfield]];
- }
-
- /**
- * Move forward to next element.
- */
- function next() {
- if ($this->subfield >= $this->subfields) {
- $this->subfield = 0;
- ++$this->row;
- }
- else {
- ++$this->subfield;
- }
- }
-
- /**
- * Check if there is a current element after calls to rewind() or next().
- */
- function valid() {
- return $this->row <= $this->rows;
- }
-}