diff options
author | dsa <dsa> | 2006-10-13 03:55:58 +0000 |
---|---|---|
committer | dsa <dsa> | 2006-10-13 03:55:58 +0000 |
commit | e17a4ceb6ad00bcb51e49d39e5d1a9cd6129352b (patch) | |
tree | b07210aa043844bdd42a0c563838234dce4ce13c | |
parent | 48a07d401025b55aa1e5b710c7b299bbfd853a0a (diff) | |
download | aurweb-e17a4ceb6ad00bcb51e49d39e5d1a9cd6129352b.tar.xz |
Solved the #3939 bug and it will require a change in the PackageDepends table to add a DepCondition field with the type varchar(20).
-rw-r--r-- | web/html/pkgsubmit.php | 16 | ||||
-rw-r--r-- | web/lib/pkgfuncs.inc | 9 |
2 files changed, 18 insertions, 7 deletions
diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php index 52e23aa..9d54271 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 <dsandrade@gmail.com> @@ -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 daeb8f1..d7d1372 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]."</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 "</table></td>"; |