<?php /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** * Class for "repo" Table management * * PHP version 5 * * Copyright © 2010 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 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 TableAcls extends CommonTable { /** * Create the table and populate it with known repo * * @return void */ protected function createTable() { // Table schema $sql = "CREATE TABLE IF NOT EXISTS `acls` ( `id` int(11) NOT NULL AUTO_INCREMENT, `collection` varchar(100) NOT NULL, `name` varchar(100) NOT NULL, `summary` varchar(200) NOT NULL, `owner` varchar(50) DEFAULT NULL, `qa` varchar(50) DEFAULT NULL, `cc` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`), KEY `name` (`name`), KEY `collection` (`collection`), KEY `owner` (`owner`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; $this->exec($sql); } /** * return the owner list for a package, or pattern of package * * @param string $name name or SQL pattern * * @return array of strings */ public function getOwners($name) { $crit = array( 'DISTINCT' => true, 'FIELDS' => 'owner', 'ORDER' => 'owner', 'name' => $name ); $tab = array(); foreach ($this->request($crit) as $data) { $tab[] = $data['owner']; } return $tab; } } ?>