<?php /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** * Class for "rrepo" Table management * * PHP version 5 * * Copyright © 2010-2014 Remi Collet * * This file is part of rpmphp. * * rpmphp is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rpmphp is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with rpmphp. If not, see <http://www.gnu.org/licenses/>. * * @category Main * @package RPMPHP * * @author Remi Collet <unknown@unknwown.com> * @author Johan Cwiklinski <johan@x-tnd.be> * @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 http://github.com/remicollet/rpmphp/ * @since The begining of times. */ class TableRRepo extends CommonTable { /** * Create the table and populate it with known repo * * @return void */ protected function createTable() { // Table schema $sql = "CREATE TABLE `rrepo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT NULL, `state` varchar(30) NOT NULL default 'stable', `url` varchar(255) NOT NULL, `active` tinyint NOT NULL default 1, PRIMARY KEY (`id`), UNIQUE KEY `name_state` (`name`,`state`), KEY `active` (`active`) ) DEFAULT CHARSET=utf8"; $this->exec($sql); // Some known repo, other could be add manually $repos = array( array( "name" => "R", "url" => "http://cran.at.r-project.org/src/contrib/PACKAGES" ), array( "name" => "biocp", "url" => "http://www.bioconductor.org/packages/release/bioc/src/contrib/PACKAGES" ), array( "name" => "biocp", "state" => "unstable", "url" => "http://www.bioconductor.org/packages/devel/bioc/src/contrib/PACKAGES" ), array( "name" => "bioca", "url" => "http://www.bioconductor.org/packages/release/data/annotation/src/contrib/PACKAGES" ), array( "name" => "bioca", "state" => "unstable", "url" => "http://www.bioconductor.org/packages/devel/data/annotation/src/contrib/PACKAGES" ), array( "name" => "bioce", "url" => "http://www.bioconductor.org/packages/release/data/experiment/src/contrib/PACKAGES" ), array( "name" => "bioce", "state" => "unstable", "url" => "http://www.bioconductor.org/packages/devel/data/experiment/src/contrib/PACKAGES" ) ); foreach ($repos as $repo) { $this->add($repo); } } /** * 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) { return $this->getArray($active ? array('active'=>1) : ''); } } ?>