<?php /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** * Refresh datas from server * * 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. */ chdir(dirname($_SERVER["SCRIPT_FILENAME"])); date_default_timezone_set('Europe/Paris'); if (isset($_SERVER["SERVER_NAME"])) { echo "<pre>"; ini_set("max_execution_time", "0"); ini_set("memory_limit", "-1"); die("This script is launched twice a day, be patient"); } require "include/main.php"; require "class/CommonTable.php"; if ($_SERVER['argc']>1 && in_array('help', $_SERVER['argv'])) { echo "Options in: owner R pear pecl optimize repo old empty\n"; echo "Defaults: owner R pear pecl optimize repo \n"; die("\n"); } try { $db = new PDO ("mysql:dbname=" . MYBASE . ";host=" . MYHOST, MYUSER, MYPASS); // ------------------------------------------------------------------- // Fedora Packages // ------------------------------------------------------------------- echo date("r : ") . "Refreshing " . MYBASE . " database\n"; $rpmtable = new TableRpm($db); if ($_SERVER['argc']==1 || in_array('repo', $_SERVER['argv'])) { if (in_array('empty', $_SERVER['argv'])) { $crit = array('stamp' => null); } else if (in_array('old', $_SERVER['argv'])) { $crit = array(); } else { $crit = array('active' => 1); } Parser::readRpm($rpmtable, new TableRpmRepo($db), $crit); } // ------------------------------------------------------------------- // Upstream Version // ------------------------------------------------------------------- $uptable = new TableUpstream($db); // ------------------------------------------------------------------- if ($_SERVER['argc']==1 || in_array('pecl', $_SERVER['argv'])) { Parser::readPecl($uptable, 'http://pecl.php.net/xmlrpc.php'); } // ------------------------------------------------------------------- if ($_SERVER['argc']==1 || in_array('pear', $_SERVER['argv'])) { Parser::readPear($uptable, new TablePearRepo($db)); } // ------------------------------------------------------------------- if ($_SERVER['argc']==1 || in_array('R', $_SERVER['argv'])) { Parser::readR($uptable, new TableRRepo($db)); } // ------------------------------------------------------------------- // Package Owners from pkgdb (thanks Smootherfrog) // ------------------------------------------------------------------- $acltable = new TableAcls($db); if ($_SERVER['argc']==1 || in_array('owner', $_SERVER['argv'])) { $url = "https://admin.fedoraproject.org/pkgdb/lists/bugzilla?tg_format=plain"; Parser::readAcls($acltable, $url); } if ($_SERVER['argc']==1 || in_array('optimize', $_SERVER['argv'])) { Parser::log("OPTIMIZE rpm table"); $res = $rpmtable->optimize(); Parser::log($res[0]['Msg_type'] . ' = ' . $res[0]['Msg_text']); Parser::log("OPTIMIZE upstream table"); $res = $uptable->optimize(); Parser::log($res[0]['Msg_type'] . ' = ' . $res[0]['Msg_text']); Parser::log("OPTIMIZE acls table"); $res = $acltable->optimize(); Parser::log($res[0]['Msg_type'] . ' = ' . $res[0]['Msg_text']); } } catch(PDOException $e) { printf("%s ERREUR : %s\n", date("r"), $e->getMessage()); } if (isset($_SERVER["SERVER_NAME"])) { echo "</pre>"; } ?>