From e17a4ceb6ad00bcb51e49d39e5d1a9cd6129352b Mon Sep 17 00:00:00 2001 From: dsa Date: Fri, 13 Oct 2006 03:55:58 +0000 Subject: Solved the #3939 bug and it will require a change in the PackageDepends table to add a DepCondition field with the type varchar(20). --- web/html/pkgsubmit.php | 16 ++++++++++++---- web/lib/pkgfuncs.inc | 9 ++++++--- 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'web') diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php index 52e23aad..9d54271e 100644 --- a/web/html/pkgsubmit.php +++ b/web/html/pkgsubmit.php @@ -87,7 +87,8 @@ if ($_COOKIE["AURSID"]) { # $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 # if (file_exists($INCOMING_DIR . $pkg_name)) { @@ -427,9 +428,11 @@ if ($_COOKIE["AURSID"]) { # update package 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); + $depcondition = str_replace($deppkgname, "", $v); # Solve the problem with comments and deps # added by: dsa @@ -437,7 +440,12 @@ if ($_COOKIE["AURSID"]) { break; $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); } diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index daeb8f13..d7d13727 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -139,7 +139,7 @@ function package_dependencies($pkgid=0) { $deps = array(); if ($pkgid) { $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.= "AND PackageDepends.PackageID = ".mysql_escape_string($pkgid); $q.= " ORDER BY Name"; @@ -402,8 +402,11 @@ function package_details($id=0, $SID="") { } } reset($pkgsearch_vars); - if ($darr[2] == 0) print $url."'>".$darr[1]."
\n"; - else print "".$darr[1]."
\n"; + + // $darr[3] is the DepCondition + + if ($darr[2] == 0) print $url."'>".$darr[1].$darr[3]."
\n"; + else print "".$darr[1].$darr[3]."
\n"; } print "\n"; print ""; -- cgit v1.2.3-24-g4f1b