diff options
author | Kore Nordmann <github@kore-nordmann.de> | 2007-05-03 07:38:25 +0000 |
---|---|---|
committer | Kore Nordmann <github@kore-nordmann.de> | 2007-05-03 07:38:25 +0000 |
commit | 060e4cc112feeedeaf76f1c71fe221a45e8c3246 (patch) | |
tree | 051a06faf0b019666e3c5210f63ff5af407d49cc /src/datasets | |
parent | 45dc0d77c5585a51bb04ef21bdc83792ef0d622a (diff) | |
download | zetacomponents-graph-060e4cc112feeedeaf76f1c71fe221a45e8c3246.zip zetacomponents-graph-060e4cc112feeedeaf76f1c71fe221a45e8c3246.tar.gz |
- Removed PdoDataset from Graph components
# Preparation for issue #10697: Move ezcGraphPdoDataSet to a
# ezcGraphDatabaseTieIn
Diffstat (limited to 'src/datasets')
-rw-r--r-- | src/datasets/pdo.php | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/src/datasets/pdo.php b/src/datasets/pdo.php deleted file mode 100644 index 0da65bd..0000000 --- a/src/datasets/pdo.php +++ /dev/null @@ -1,138 +0,0 @@ -<?php -/** - * File containing the ezcGraphPdoDataSet class - * - * @package Graph - * @version //autogentag// - * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. - * @license http://ez.no/licenses/new_bsd New BSD License - */ -/** - * Class to transform PDO results into ezcGraphDataSets - * - * @package Graph - * @mainclass - */ -class ezcGraphPdoDataSet extends ezcGraphDataSet -{ - /** - * Constructor - * - * Creates a ezcGraphPdoDataSet from a PDOStatement and uses the columns - * defined in the definition array as keys and values for the data set. - * - * If the definition array is empty a single column will be used as values, - * with two columns the first column will be used for the keys and the - * second for the data set values. - * - * You may define the name of the rows used for keys and values by using - * an array like: - * array ( - * ezcGraph::KEY => 'row name', - * ezcGraph::VALUE => 'row name', - * ); - * - * @param PDOStatement $statement - * @param array $definition - * @return ezcGraphPdoDataSet - */ - public function __construct( PDOStatement $statement, array $definition = null ) - { - parent::__construct(); - - $this->data = array(); - $this->createFromPdo( $statement, $definition ); - } - - /** - * Create dataset from PDO statement - * - * This methods uses the values from a PDOStatement to fill up the data - * sets data. - * - * If the definition array is empty a single column will be used as values, - * with two columns the first column will be used for the keys and the - * second for the data set values. - * - * You may define the name of the rows used for keys and values by using - * an array like: - * array ( - * ezcGraph::KEY => 'row name', - * ezcGraph::VALUE => 'row name', - * ); - * - * @param PDOStatement $statement - * @param array $definition - * @return void - */ - protected function createFromPdo( PDOStatement $statement, array $definition = null ) - { - $count = 0; - - if ( $definition === null ) - { - while ( $row = $statement->fetch( PDO::FETCH_NUM ) ) - { - ++$count; - - switch ( count( $row ) ) - { - case 1: - $this->data[] = $row[0]; - break; - case 2: - $this->data[$row[0]] = $row[1]; - break; - default: - throw new ezcGraphPdoDataSetTooManyColumnsException( $row ); - } - } - } - else - { - while ( $row = $statement->fetch( PDO::FETCH_NAMED ) ) - { - ++$count; - - if ( !array_key_exists( $definition[ezcGraph::VALUE], $row ) ) - { - throw new ezcGraphPdoDataSetMissingColumnException( $definition[ezcGraph::VALUE] ); - } - - $value = $row[$definition[ezcGraph::VALUE]]; - - if ( array_key_exists( ezcGraph::KEY, $definition ) ) - { - if ( !array_key_exists( $definition[ezcGraph::KEY], $row ) ) - { - throw new ezcGraphPdoDataSetMissingColumnException( $definition[ezcGraph::KEY] ); - } - - $this->data[$row[$definition[ezcGraph::KEY]]] = $value; - } - else - { - $this->data[] = $value; - } - } - } - - // Empty result set - if ( $count <= 0 ) - { - throw new ezcGraphPdoDataSetStatementNotExecutedException( $statement ); - } - } - - /** - * Returns the number of elements in this dataset - * - * @return int - */ - public function count() - { - return count( $this->data ); - } -} - -?> |