. * * @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 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 "
";
    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 pkgist R pear pecl optimize repo old empty\n";
    echo "Defaults:   owner pkgist 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";

    $pkgist   = new TablePackagist($db);
    $rpmtable = new TableRpm($db);

    if ($_SERVER['argc']==1 || in_array('repo', $_SERVER['argv'])) {

        $crit = array('id' => '>0');

        if (in_array('empty', $_SERVER['argv'])) {
            $crit['stamp'] = null;
        } else if (in_array('old', $_SERVER['argv'])) {
            // none
        } else {
            $crit['active'] = 1;
        }

        Parser::readRpm($rpmtable, new TableRpmRepo($db), $crit);

        $crit['id'] = '<0';
        Parser::readProvides($pkgist, new TableRpmRepo($db), $crit);
    }

    // -------------------------------------------------------------------
    //	Upstream Version
    // -------------------------------------------------------------------
    $uptable = new TableUpstream($db);

    // -------------------------------------------------------------------
    if ($_SERVER['argc']==1 || in_array('pkgist', $_SERVER['argv'])) {

        Parser::readPackagist($uptable, $pkgist);
    }

    // -------------------------------------------------------------------
    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/api/bugzilla";
        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 "
"; } ?>