. * * @category Main * @package RPMPHP * * @author Remi Collet * @author Johan Cwiklinski * @copyright 2010-2014 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 https://git.remirepo.net/cgit/web/rpmphp.git/ * @since The begining of times. */ class TablePearRepo extends CommonTable { /** * 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, `active` tinyint NOT NULL default 1, PRIMARY KEY (`id`), UNIQUE KEY `alias` (`alias`), KEY `active` (`active`) ) DEFAULT CHARSET=utf8"; $this->exec($sql); // Some known repo, other could be add manually // no reply from "" => "" $channels = array( 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 $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($active=true) { if ($active) { return $this->getHashtable('alias', 'url', array('active'=>1)); } return $this->getHashtable('alias', 'url'); } } ?>