$maintainers = $dbh->getAll('SELECT * FROM users', array(), DB_FETCHMODE_ASSOC);
foreach ($maintainers as $maintainer) {
    echo "  {$maintainer['handle']}...";
    $pear_rest->saveMaintainerREST($maintainer['handle']);
    echo "done\n";
}
echo "Generating All Maintainers REST...\n";
$pear_rest->saveAllMaintainersREST();
echo "done\n";
echo "Generating Package REST...\n";
$pear_rest->saveAllPackagesREST();
require_once 'Archive/Tar.php';
require_once 'PEAR/PackageFile.php';
$config =& PEAR_Config::singleton();
$pkg = new PEAR_PackageFile($config);
foreach (package::listAll(false, false, false) as $package => $info) {
    echo "  {$package}\n";
    $pear_rest->savePackageREST($package);
    echo "     Maintainers...";
    $pear_rest->savePackageMaintainerREST($package);
    echo "...done\n";
    $releases = package::info($package, 'releases');
    if ($releases) {
        echo "     Processing All Releases...";
        $pear_rest->saveAllReleasesREST($package);
        echo "done\n";
        foreach ($releases as $version => $blah) {
            $fileinfo = $dbh->getOne('SELECT fullpath FROM files WHERE release = ?', array($blah['id']));
            if (!$fileinfo) {
                echo "     Skipping INVALID Version {$version} (corrupt in database!)\n";
                continue;
Example #2
0
 /**
  *
  */
 function search($fragment, $summary = false, $released_only = true, $stable_only = true, $include_pear = false)
 {
     $all = package::listAll($released_only, $stable_only, $include_pear);
     if (!$all) {
         return PEAR::raiseError('no packages found');
     }
     $ret = array();
     foreach ($all as $name => $info) {
         $found = !empty($fragment) && stristr($name, $fragment) !== false;
         if (!$found && !(isset($summary) && !empty($summary) && (stristr($info['summary'], $summary) !== false || stristr($info['description'], $summary) !== false))) {
             continue;
         }
         $ret[$name] = $info;
     }
     return $ret;
 }
Example #3
0
auth_require('pear.qa');
require 'HTML/Table.php';
extra_styles('/css/packages_status.css');
// Sortable tables http://www.kryogenix.org/code/browser/sorttable/
$extra_header = '<script type="text/javascript" src="/javascript/sorttable.js"></script>';
$states = array('snapshot', 'devel', 'alpha', 'beta', 'stable');
response_header('Quality Assurance Initiative - Packages status', false, $extra_header);
$state = htmlspecialchars($_GET['state']);
if (!in_array($state, $states)) {
    report_error('This is not a valid state');
    response_footer();
    exit;
}
include_once 'pear-database-package.php';
$pck = new package();
$packages = $pck->listAll(false, false);
if (PEAR::isError($packages)) {
    report_error('Cannot list packages');
    response_footer();
    exit;
}
$total_packages_nbr = $studied_packages_nbr = 0;
$tables = array();
$time_scale = 15552000;
// how much time elapsed since last release, in seconds
$tables[$state]['old'] = new HTML_Table(array('id' => 'old', 'cellspacing' => 0, 'class' => 'sortable'));
$tables[$state]['old']->setCaption('Packages with state <em>' . $state . '</em> which have not been released in ' . $time_scale / 86400 . ' days');
$tables[$state]['old']->setHeaderContents(0, 0, 'Package');
$tables[$state]['old']->setHeaderContents(0, 1, 'Version');
$tables[$state]['old']->setHeaderContents(0, 2, 'Date');
$tables[$state]['old']->setHeaderContents(0, 3, '# bugs');