Solved the #3939 bug and it will require a change in the PackageDepends table to add a DepCondition field with the type varchar(20).

This commit is contained in:
dsa 2006-10-13 03:55:58 +00:00
parent 48a07d4010
commit e17a4ceb6a
2 changed files with 18 additions and 7 deletions

View file

@ -87,7 +87,8 @@ if ($_COOKIE["AURSID"]) {
# #
$upload_file = $UPLOAD_DIR . $pkg_name; $upload_file = $UPLOAD_DIR . $pkg_name;
if (move_uploaded_file($_FILES["pfile"]["tmp_name"], $upload_file)) {
if (move_uploaded_file($_FILES["pfile"]["tmp_name"], $upload_file)) {
# ok, we can proceed # ok, we can proceed
# #
if (file_exists($INCOMING_DIR . $pkg_name)) { if (file_exists($INCOMING_DIR . $pkg_name)) {
@ -427,9 +428,11 @@ if ($_COOKIE["AURSID"]) {
# update package depends # update package depends
# #
$depends = explode(" ", $new_pkgbuild['depends']); $depends = explode(" ", $new_pkgbuild['depends']);
while (list($k, $v) = each($depends)) {
$q = "INSERT INTO PackageDepends (PackageID, DepPkgID) VALUES ("; while (list($k, $v) = each($depends)) {
$q = "INSERT INTO PackageDepends (PackageID, DepPkgID, DepCondition) VALUES (";
$deppkgname = preg_replace("/[<>]?=.*/", "", $v); $deppkgname = preg_replace("/[<>]?=.*/", "", $v);
$depcondition = str_replace($deppkgname, "", $v);
# Solve the problem with comments and deps # Solve the problem with comments and deps
# added by: dsa <dsandrade@gmail.com> # added by: dsa <dsandrade@gmail.com>
@ -437,7 +440,12 @@ if ($_COOKIE["AURSID"]) {
break; break;
$deppkgid = create_dummy($deppkgname, $_COOKIE['AURSID']); $deppkgid = create_dummy($deppkgname, $_COOKIE['AURSID']);
$q .= $pdata["ID"].", ".$deppkgid.")";
if(!empty($depcondition))
$q .= $pdata["ID"].", ".$deppkgid.", '".$depcondition."')";
else
$q .= $pdata["ID"].", ".$deppkgid.", '')";
db_query($q, $dbh); db_query($q, $dbh);
} }

View file

@ -139,7 +139,7 @@ function package_dependencies($pkgid=0) {
$deps = array(); $deps = array();
if ($pkgid) { if ($pkgid) {
$dbh = db_connect(); $dbh = db_connect();
$q = "SELECT DepPkgID, Name, DummyPkg FROM PackageDepends, Packages "; $q = "SELECT DepPkgID, Name, DummyPkg, DepCondition FROM PackageDepends, Packages ";
$q.= "WHERE PackageDepends.DepPkgID = Packages.ID "; $q.= "WHERE PackageDepends.DepPkgID = Packages.ID ";
$q.= "AND PackageDepends.PackageID = ".mysql_escape_string($pkgid); $q.= "AND PackageDepends.PackageID = ".mysql_escape_string($pkgid);
$q.= " ORDER BY Name"; $q.= " ORDER BY Name";
@ -402,8 +402,11 @@ function package_details($id=0, $SID="") {
} }
} }
reset($pkgsearch_vars); reset($pkgsearch_vars);
if ($darr[2] == 0) print $url."'>".$darr[1]."</a><br />\n";
else print "<a href='#'>".$darr[1]."</a><br />\n"; // $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 "</td></tr>\n";
print "</table></td>"; print "</table></td>";