\n"; # this is the directory that new packages will be uploaded to # $UPLOAD_DIR = "/tmp/aur/temp/"; $INCOMING_DIR = "/tmp/aur/incoming/"; if ($_COOKIE["AURSID"]) { # track upload errors # $error = ""; if ($_REQUEST["pkgsubmit"]) { # first, see if this package already exists, and if it can be overwritten # $pkg_exists = package_exists($_FILES["pfile"]["name"]); if ($pkg_exists) { # ok, it exists - should it be overwritten, and does the user have # the permissions to do so? # if (can_overwrite_pkg($_FILES["pfile"]["name"], $_COOKIE["AURSID"])) { if (!$_REQUEST["overwrite"]) { $error = __("You did not tag the 'overwrite' checkbox."); } } else { $error = __("You are not allowed to overwrite the %h%s%h package.", array("", $_FILES["pfile"]["name"], "")); } } if (!$error) { # no errors checking upload permissions, go ahead and try to process # the uploaded package file. # $upload_file = $UPLOAD_DIR . $_FILES["pfile"]["name"]; if (move_uploaded_file($_FILES["pfile"]["tmp_name"], $upload_file)) { # ok, we can proceed # if (file_exists($INCOMING_DIR . $_FILES["pfile"]["name"])) { # blow away the existing file/dir and contents # rm_rf($INCOMING_DIR . $_FILES["pfile"]["name"]); } } else { # errors uploading file... # $error = __("Error trying to upload file - please try again."); } } # at this point, we can safely create the directories, and update # the database with the new package # # TODO extract the package contents and parse the included files # # update the backend database # $dbh = db_connect(); if ($pkg_exists) { # this is an overwrite of an existing package, the database ID # needs to be preserved so that any votes are retained. However, # PackageDepends, PackageSources, and PackageContents can be # purged. # $q = "SELECT * FROM Packages "; $q.= "WHERE Name = '".mysql_escape_string($_FILES["pfile"]["name"])."'"; $result = db_query($q, $dbh); $pdata = mysql_fetch_assoc($result); # flush out old data that will be replaced with new data # $q = "DELETE FROM PackageContents WHERE PackageID = ".$pdata["ID"]; db_query($q, $dbh); $q = "DELETE FROM PackageDepends WHERE PackageID = ".$pdata["ID"]; db_query($q, $dbh); $q = "DELETE FROM PackageSources WHERE PackageID = ".$pdata["ID"]; db_query($q, $dbh); } else { # this is a brand new package # } } if (!$_REQUEST["pkgsubmit"] || $error) { # give the visitor the default upload form # if (ini_get("file_uploads")) { if (!$error) { print "".$error."
\n"; print "
 
\n"; } print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print " \n"; print " \n"; print "\n"; print "\n"; print " \n"; print " \n"; print "\n"; print "\n"; print " \n"; print " \n"; print "\n"; print "
"; print __("Upload package").":"; print "\n"; print "
"; print __("Overwrite existing package?"); print " "; print " ".__("Yes"); print "   "; print " "; print __("No"); print "
 "; print "\n"; print "
\n"; print "
\n"; } else { print __("Sorry, uploads are not permitted by this server."); print "
\n"; } } } else { # visitor is not logged in # print __("You must create an account before you can upload packages."); print "
\n"; } print "\n"; html_footer("\$Id$"); ?>