mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Reverse dependency lookup. FS 4556, 5269.
Ugly hack, could use beautification. Also includes english translation addition. If url sources are too long, page could ugly... Signed-off-by: tardo <tardo@nagi-fanboi.net>
This commit is contained in:
parent
6a39da70fb
commit
61ddbc18e7
2 changed files with 48 additions and 1 deletions
|
@ -151,4 +151,6 @@ $_t["en"]["License"] = "License";
|
||||||
|
|
||||||
$_t["en"]["unknown"] = "unknown";
|
$_t["en"]["unknown"] = "unknown";
|
||||||
|
|
||||||
|
$_t["en"]["Required by"] = "Required by";
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -152,6 +152,25 @@ function package_dependencies($pkgid=0) {
|
||||||
return $deps;
|
return $deps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# reverse deps by tardo
|
||||||
|
#
|
||||||
|
function package_required($pkgid=0) {
|
||||||
|
$deps = array();
|
||||||
|
if ($pkgid) {
|
||||||
|
$dbh = db_connect();
|
||||||
|
$q = "SELECT PackageID, Name, DummyPkg from PackageDepends, Packages ";
|
||||||
|
$q.= "WHERE PackageDepends.PackageID = Packages.ID ";
|
||||||
|
$q.= "AND PackageDepends.DepPkgID = ";
|
||||||
|
$q.= mysql_real_escape_string($pkgid);
|
||||||
|
$result = db_query($q, $dbh);
|
||||||
|
if (!$result) {return array();}
|
||||||
|
while ($row = mysql_fetch_row($result)) {
|
||||||
|
$deps[] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $deps;
|
||||||
|
}
|
||||||
|
|
||||||
# create a dummy package and return it's Packages.ID if it already exists,
|
# create a dummy package and return it's Packages.ID if it already exists,
|
||||||
# return the existing ID
|
# return the existing ID
|
||||||
#
|
#
|
||||||
|
@ -402,6 +421,32 @@ function package_details($id=0, $SID="") {
|
||||||
}
|
}
|
||||||
reset($pkgsearch_vars);
|
reset($pkgsearch_vars);
|
||||||
|
|
||||||
|
// $darr[3] is the DepCondition
|
||||||
|
|
||||||
|
if ($darr[2] == 0) print $url."'>".$darr[1].$darr[3]."</a><br />\n";
|
||||||
|
else print "<a href='#'>".$darr[1].$darr[3]."</a><br />\n";
|
||||||
|
}
|
||||||
|
print "</td></tr>\n";
|
||||||
|
print "</table></td>";
|
||||||
|
|
||||||
|
# reverse-deps by tardo - could use some beautification
|
||||||
|
print " <td valign='top'>";
|
||||||
|
print "<table class='boxSoft' style='width: 200px'>";
|
||||||
|
print "<tr><td class='boxSoftTitle'><span class='f3'>";
|
||||||
|
print __("Required by")."</span></td></tr>\n";
|
||||||
|
print "<tr><td class='boxSoft'>";
|
||||||
|
$deps = package_required($row["ID"]);
|
||||||
|
while (list($k, $darr) = each($deps)) {
|
||||||
|
$url = "<a href='/packages.php?do_Details=1&ID=".$darr[0];
|
||||||
|
while(list($k, $var) = each($pkgsearch_vars)) {
|
||||||
|
if (($var == "do_MyPackages" || $var == "do_Orphans") && $_REQUEST[$var]) {
|
||||||
|
$url .= "&".$var."=1";
|
||||||
|
} else {
|
||||||
|
$url .= "&".$var."=".rawurlencode(stripslashes($_REQUEST[$var]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reset($pkgsearch_vars);
|
||||||
|
|
||||||
// $darr[3] is the DepCondition
|
// $darr[3] is the DepCondition
|
||||||
|
|
||||||
if ($darr[2] == 0) print $url."'>".$darr[1].$darr[3]."</a><br />\n";
|
if ($darr[2] == 0) print $url."'>".$darr[1].$darr[3]."</a><br />\n";
|
||||||
|
|
Loading…
Add table
Reference in a new issue