echo "request(test) : "; foreach ($up->request(array('type' => 'test', 'ORDER' => 'name')) as $upstr) { print_r($upstr); } $rpm = new TableRpm($db); $acl = new TableAcls($db); echo "Acls number : " . $acl->getCount() . "\n"; $res = $acl->optimize(); echo "Acls optimization : " . $res[0]['Msg_type'] . '=' . $res[0]['Msg_text'] . "\n"; echo "PHP owner:"; print_r($acl->getOwners('php')); echo "PECL owner:"; print_r($acl->getOwners('php-pecl-%')); echo "PEAR channels:"; print_r($up->getChannels('pear')); $pkg = new TablePackagist($db); $nb = $pkg->getCount(); echo "Pkgs number : {$nb}\n"; if ($nb) { $i = 0; foreach ($pkg->request(array('ORDER' => 'rpmname')) as $rec) { printf("%3d %-30s %s\n", $rec['id'], $rec['pkgname'], $rec['rpmname']); if ($i++ > 10) { echo "...etc...\n"; break; } } /* } else { $f = '/home/rpmbuild/SPECS/remirepo/tools/checkpkgist/checkpkgist.json'; $f = file_get_contents($f);
*/ chdir(dirname($_SERVER["SCRIPT_FILENAME"])); date_default_timezone_set('Europe/Paris'); if (!isset($_GET['table'])) { die("Missing arg"); } require "include/main.php"; require "class/CommonTable.php"; try { $db = new PDO("mysql:dbname=" . MYBASE . ";host=" . MYHOST, MYUSER, MYPASS); $result = array(); switch ($_GET['table']) { case 'packagist': $pkgist = new TablePackagist($db); foreach ($pkgist->request(array('ORDER' => 'rpmname')) as $rec) { $result[$rec['pkgname']] = $rec['rpmname']; } break; case 'packagist2': $pkgist = new TablePackagist($db); foreach ($pkgist->request(array('ORDER' => 'rpmname')) as $rec) { $result[$rec['rpmname']] = $rec['pkgname']; } break; default: die("Invalid arg"); } echo json_encode($result, JSON_PRETTY_PRINT); } catch (PDOException $e) { printf("%s ERREUR : %s\n", date("r"), $e->getMessage()); }
/** * Parse the content of all Packagist repository * * @param TableUpstream $uptable the table to write to * @param TablePackagist $pktable the table to read from * * @return integer number of parsed line */ public static function readPackagist(TableUpstream $uptable, TablePackagist $pktable) { self::log("Packagist search releases"); $pk = new PackagistClient(); $nb = $uptable->delete(array('type' => 'composer')); self::log("Delete {$nb} packages"); $tot = 0; foreach ($pktable->request(array('ORDER' => 'rpmname')) as $rec) { if ($rep = $pk->getPackage($rec['pkgname'])) { $v = explode('/', $rec['pkgname']); switch (count($v)) { case 3: $vendor = $v[0] . '/' . $v[1]; break; case 2: $vendor = "packagist/" . $v[0]; break; default: $vendor = "packagist"; } $id = false; if ($rep['stable']) { $id = $uptable->record('composer', $vendor, $rec['rpmname'], $rep['stable'], true); } if ($rep['unstable']) { $id = $uptable->record('composer', $vendor, $rec['rpmname'], $rep['unstable'], false, $rep['state']); } if ($id) { $tot++; } } } self::log("Write {$tot} packages"); return $tot; }