From a6282ca0e8a13fd53b4bea6eeff7a69f1312eef3 Mon Sep 17 00:00:00 2001
From: Remi Collet <fedora@famillecollet.com>
Date: Tue, 8 Jun 2010 18:39:20 +0200
Subject: autoload

---
 class/CommonTable.php | 316 +-------------------------------------------------
 1 file changed, 1 insertion(+), 315 deletions(-)

(limited to 'class/CommonTable.php')

diff --git a/class/CommonTable.php b/class/CommonTable.php
index 1ed47f8..57c701b 100644
--- a/class/CommonTable.php
+++ b/class/CommonTable.php
@@ -170,318 +170,4 @@ abstract class CommonTable
     }
 }
 
-class TablePearRepo extends CommonTable
-{
-
-    /**
-     * Instanciate a TablePearRepo to manage pearrepo table
-     *
-     * @param object $db PDO instance of the DB connection
-     */
-    function __construct($db)
-    {
-        parent::__construct($db, 'pearrepo');
-    }
-
-    /**
-     * Create the table and populate it with known repo
-     *
-     * @return void
-     */
-    protected function createTable()
-    {
-
-        // Table schema
-        $sql = "CREATE TABLE `pearrepo` (
-                  `id` int(11) NOT NULL AUTO_INCREMENT,
-                  `alias` varchar(30) NOT NULL,
-                  `url` varchar(255) NOT NULL,
-                  PRIMARY KEY (`id`),
-                  UNIQUE KEY `alias` (`alias`)
-                ) DEFAULT CHARSET=utf8";
-
-        $this->exec($sql);
-
-        // Some known repo, other could be add manually
-        // no reply from "phpdb"    => "pear.phpdb.org"
-        $channels = array(
-            "pear"      => "pear.php.net"
-            ,"doctrine" => "pear.phpdoctrine.org"
-            ,"ezc"      => "components.ez.no"
-            ,"pdepend"  => "pear.pdepend.org"
-            ,"phing"    => "pear.phing.info"
-            ,"phpmd"    => "pear.phpmd.org"
-            ,"phpunit"  => "pear.phpunit.de"
-            ,"swift"    => "pear.swiftmailer.org"
-            ,"symphony" => "pear.symfony-project.com"
-        );
-
-        foreach ($channels as $alias => $url) {
-            $this->add(array('alias'=>$alias, 'url'=>$url));
-        }
-    }
-
-    /**
-     * Retrieve all the known repository
-     *
-     * @return hastable of alias => url
-     */
-    function getAllRepo()
-    {
-        return $this->getAllArray('alias', 'url');
-    }
-}
-
-/**
- * Helper for simple query => use directly or through  CommonTable::request()
- *
- * Freely inspired from DBmysqlIterator class from GLPI
- * (already written by Remi, and ported to PDO)
- * See http://www.glpi-project.org/
- */
-class TableIterator  implements Iterator
-{
-    private $con;
-    private $sql;
-    private $res = false;
-    private $row;
-    private $pos;
-
-    /**
-     * Constructor
-     *
-     * @param CommonDBTM   $dbconnexion Database Connnexion
-     *                                  (must be a CommonDBTM object)
-     * @param string       $table       table name
-     * @param string|array $crit        string or array of filed/values,
-     *                                  ex array("id"=>1), if empty => all rows
-     */
-    function __construct (PDO $dbconnexion, $table, $crit='')
-    {
-
-        $this->conn = $dbconnexion;
-        if (is_string($table) && strpos($table, " ")) {
-            $this->sql = $table;
-        } else {
-            // check field, orderby, limit, start in criterias
-            $field="";
-            $orderby="";
-            $limit=0;
-            $start=0;
-
-            if (is_array($crit) && count($crit)) {
-                foreach ($crit as $key => $val) {
-                    if ($key==="FIELDS") {
-                        $field = $val;
-                        unset($crit[$key]);
-                    } else if ($key==="ORDER") {
-                        $orderby = $val;
-                        unset($crit[$key]);
-                    } else if ($key==="LIMIT") {
-                        $limit = $val;
-                        unset($crit[$key]);
-                    } else if ($key==="START") {
-                            $start = $val;
-                            unset($crit[$key]);
-                    }
-                }
-            }
-
-            // SELECT field list
-            if (is_array($field)) {
-                $this->sql = "";
-                foreach ($field as $t => $f) {
-                    if (is_numeric($t)) {
-                        $this->sql .= (empty($this->sql)
-                            ? "SELECT " : ",") . $f;
-                    } else if (is_array($f)) {
-                        $this->sql .= (empty($this->sql)
-                            ? "SELECT $t." : ",$t.") . implode(",$t.", $f);
-                    } else {
-                        $this->sql .= (empty($this->sql)
-                            ? "SELECT " : ",") . "$t.$f";
-                    }
-                }
-            } else if (empty($field)) {
-                $this->sql = "SELECT *";
-            } else {
-                $this->sql = "SELECT `$field`";
-            }
-            // FROM table list
-            if (is_array($table)) {
-                $this->sql .= " FROM `".implode("`, `", $table)."`";
-            } else {
-                $this->sql .= " FROM `$table`";
-            }
-            // WHERE criteria list
-            if (!empty($crit)) {
-                print_r($crit);
-                $this->sql .= " WHERE ".$this->_analyseCrit($crit);
-            }
-            // ORDER BY
-            if (is_array($orderby)) {
-                $this->sql .= " ORDER BY `".implode("`, `", $orderby)."`";
-            } else if (!empty($orderby)) {
-                $this->sql .= " ORDER BY `$orderby`";
-            }
-            if (is_numeric($limit) && $limit>0) {
-                $this->sql .= " LIMIT $limit";
-                if (is_numeric($start) && $start>0) {
-                    $this->sql .= " OFFSET $start";
-                }
-            }
-        }
-        //echo "SQL: ".$this->sql."\n";
-        $this->res = $this->conn->prepare($this->sql);
-        if ($this->res===false) {
-            $err = $this->db->errorInfo();
-            throw new Exception($err[2]);
-        }
-
-        $this->pos = -1;
-    }
-
-    /**
-     * Class destructor
-     */
-    function __destruct ()
-    {
-        if ($this->res) {
-            $this->res->closeCursor();
-        }
-    }
-
-    /**
-     * Build WHERE clause
-     *
-     * @param TODO $crit To document
-     * @param TODO $bool To document
-     *
-     * @return To document
-     */
-    private function _analyseCrit ($crit, $bool="AND")
-    {
-
-        if (!is_array($crit)) {
-            return $crit;
-        }
-        $ret = "";
-        foreach ($crit as $name => $value) {
-            if (!empty($ret)) {
-                $ret .= " $bool ";
-            }
-            if (is_numeric($name)) {
-                // No Key case => recurse.
-                $ret .= "(" . $this->_analyseCrit($value, $bool) . ")";
-            } else if ($name==="OR" || $name==="AND") {
-                // Binary logical operator
-                $ret .= "(" . $this->_analyseCrit($value, $name) . ")";
-            } else if ($name==="NOT") {
-                // Uninary logicial operator
-                $ret .= " NOT (" . $this->_analyseCrit($value, "AND") . ")";
-            } else if ($name==="FKEY") {
-                // Foreign Key condition
-                if (is_array($value) && count($value)==2) {
-                    reset($value);
-                    list($t1,$f1)=each($value);
-                    list($t2,$f2)=each($value);
-                    $ret .= (is_numeric($t1) ? "$f1" : "$t1.$f1") . "=" .
-                            (is_numeric($t2) ? "$f2" : "$t2.$f2");
-                } else {
-                    trigger_error("BAD FOREIGN KEY", E_USER_ERROR);
-                }
-            } else if (is_array($value)) {
-                // Array of Value
-                $ret .= "$name IN ('". implode("','", $value)."')";
-            } else if (is_null($value)) {
-                // NULL condition
-                $ret .= "$name IS NULL";
-            } else if (is_numeric($value)) {
-                // Integer
-                $ret .= "$name=$value";
-            } else {
-                // String
-                $ret .= "$name='$value'";
-            }
-        }
-        return $ret;
-    }
-
-    /**
-    * To document
-     *
-     * @return To document
-    */
-    public function rewind ()
-    {
-
-        if ($this->res && $this->pos>=0) {
-            $this->res->closeCursor();
-            $this->pos = -1;
-        }
-
-        if ($this->res && $this->pos<0) {
-            if (!$this->res->execute()) {
-                $err = $this->res->errorInfo();
-                throw new Exception($err[2]);
-            }
-        }
-        return $this->next();
-    }
-
-    /**
-     * To document
-     *
-     * @return To document
-     */
-    public function current()
-    {
-        return $this->row;
-    }
-
-    /**
-     * To document
-     *
-     * @return To document
-     */
-    public function key()
-    {
-        return (isset($this->row["id"]) ? $this->row["id"] : $this->pos);
-    }
-
-    /**
-     * To document
-     *
-     * @return To document
-     */
-    public function next()
-    {
-        if (!$this->res) {
-            return false;
-        }
-        $this->row = $this->res->fetch(PDO::FETCH_ASSOC);
-        $this->pos++;
-        return $this->row;
-    }
-
-    /**
-     * To document
-     *
-     * @return To document
-     */
-    public function valid()
-    {
-        return $this->res && $this->row;
-    }
-
-    /**
-     * To document
-     *
-     * @return To document
-     */
-    public function numrows()
-    {
-        return ($this->res ? $this->res->rowCount() : 0);
-    }
-}
-?>
+?>
\ No newline at end of file
-- 
cgit