From a6282ca0e8a13fd53b4bea6eeff7a69f1312eef3 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 8 Jun 2010 18:39:20 +0200 Subject: autoload --- class/TablePearRepo.php | 97 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 class/TablePearRepo.php (limited to 'class/TablePearRepo.php') diff --git a/class/TablePearRepo.php b/class/TablePearRepo.php new file mode 100644 index 0000000..b0b6465 --- /dev/null +++ b/class/TablePearRepo.php @@ -0,0 +1,97 @@ +. + * + * @category Main + * @package RPMPHP + * + * @author Remi Collet + * @author Johan Cwiklinski + * @copyright 2010 Remi Collet + * @license http://www.gnu.org/licenses/agpl-3.0-standalone.html AGPL License 3.0 or (at your option) any later version + * @link http://github.com/remicollet/rpmphp/ + * @since The begining of times. +*/ + +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'); + } +} + +?> \ No newline at end of file -- cgit From 3c22a10c40837b1695ae04d120bbfc68da01059c Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 8 Jun 2010 20:04:48 +0200 Subject: add TableRRepo class and use it --- class/TablePearRepo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'class/TablePearRepo.php') diff --git a/class/TablePearRepo.php b/class/TablePearRepo.php index b0b6465..6ff3eaa 100644 --- a/class/TablePearRepo.php +++ b/class/TablePearRepo.php @@ -90,7 +90,7 @@ class TablePearRepo extends CommonTable */ function getAllRepo() { - return $this->getAllArray('alias', 'url'); + return $this->getHashtable('alias', 'url'); } } -- cgit From 825c4679551854f48c6c6b67e5c5b7f7322d24d2 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 8 Jun 2010 20:25:59 +0200 Subject: improves previous, add active field to pearrepo table --- class/TablePearRepo.php | 67 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 53 insertions(+), 14 deletions(-) (limited to 'class/TablePearRepo.php') diff --git a/class/TablePearRepo.php b/class/TablePearRepo.php index 6ff3eaa..34a0c17 100644 --- a/class/TablePearRepo.php +++ b/class/TablePearRepo.php @@ -58,38 +58,77 @@ class TablePearRepo extends CommonTable `id` int(11) NOT NULL AUTO_INCREMENT, `alias` varchar(30) NOT NULL, `url` varchar(255) NOT NULL, + `active` tinyint NOT NULL default 1, PRIMARY KEY (`id`), - UNIQUE KEY `alias` (`alias`) + UNIQUE KEY `alias` (`alias`), + KEY `active` (`active`) ) DEFAULT CHARSET=utf8"; $this->exec($sql); // Some known repo, other could be add manually - // no reply from "phpdb" => "pear.phpdb.org" + // no reply from "" => "" $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" + array( + 'alias' => 'pear', + 'url' => 'pear.php.net' + ), + array( + 'alias' => 'doctrine', + 'url' => 'pear.phpdoctrine.org' + ), + array( + 'alias' => 'ezc', + 'url' => 'components.ez.no' + ), + array( + 'alias' => 'pdepend', + 'url' => 'pear.pdepend.org' + ), + array( + 'alias' => 'phing', + 'url' => 'pear.phing.info' + ), + array( + 'alias' => 'phpmd', + 'url' => 'pear.phpmd.org' + ), + array( + 'alias' => 'phpunit', + 'url' => 'pear.phpunit.de' + ), + array( + 'alias' => 'swift', + 'url' => 'pear.swiftmailer.org' + ), + array( + 'alias' => 'symphony', + 'url' => 'pear.symfony-project.com' + ), + array( + 'alias' => 'phpdb', + 'active' => 0, + 'url' => 'pear.phpdb.org' + ) ); - foreach ($channels as $alias => $url) { - $this->add(array('alias'=>$alias, 'url'=>$url)); + foreach ($channels as $channel) { + $this->add($channel); } } /** * Retrieve all the known repository * + * @param boolean $active true for only active repo (false for all) + * * @return hastable of alias => url */ - function getAllRepo() + function getAllRepo($active=true) { + if ($active) { + return $this->getHashtable('alias', 'url', array('active'=>1)); + } return $this->getHashtable('alias', 'url'); } } -- cgit