示例#1
0
文件: package.php 项目: nieder/web
handle_last_modified('pdb-last-modified-' . $package, $q);

$pdb_title = "Package Database - Package " . $package;

// Get url parameters
list($version, $inv_p) = get_safe_param('version', '/^[0-9\-.:]+$/');
list($distribution, $inv_p) = get_safe_param('distribution', '/^[a-z0-9\-.]+$/');
list($release, $inv_p) = get_safe_param('release', '/^[0-9.]{3,}$|^unstable$|^stable$/');
list($architecture, $inv_p) = get_safe_param('architecture', '/^powerpc$|^i386$|^x86_64$/');
list($rel_id, $inv_p) = get_safe_param('rel_id', '/^[[:alnum:]\-\_\.\:]+$/');
list($showall, $inv_p) = get_safe_param('showall', '/^on$/');
list($doc_id, $inv_p) = get_safe_param('doc_id', '/^[[:alnum:]\-\_\.\:]+$/');

$basicQuery = new SolrQuery();

$basicQuery->addSort("epoch desc");
$basicQuery->addSort("sort_version desc");
$basicQuery->addSort("infofilechanged desc");

$basicQuery->setRows(1);

$basicQuery->addQuery("name_e:\"$package\"", true);

$fullQuery = clone $basicQuery;

if ($version) {
	list($epoch, $version, $revision) = parse_version($version);
	if ($epoch != null)
		$fullQuery->addQuery("epoch:$epoch", true);
	if ($version != null)
		$fullQuery->addQuery("version_e:\"$version\"", true);