mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
tweaks to package functions and schema
This commit is contained in:
parent
7549ca2d96
commit
252afad9fc
4 changed files with 57 additions and 17 deletions
|
@ -67,6 +67,7 @@ CREATE TABLE PackageCategories (
|
||||||
Category CHAR(32) NOT NULL,
|
Category CHAR(32) NOT NULL,
|
||||||
PRIMARY KEY (ID)
|
PRIMARY KEY (ID)
|
||||||
);
|
);
|
||||||
|
INSERT INTO PackageCategories (ID, Category) VALUES (0, 'none');
|
||||||
INSERT INTO PackageCategories (Category) VALUES ('daemons');
|
INSERT INTO PackageCategories (Category) VALUES ('daemons');
|
||||||
INSERT INTO PackageCategories (Category) VALUES ('devel');
|
INSERT INTO PackageCategories (Category) VALUES ('devel');
|
||||||
INSERT INTO PackageCategories (Category) VALUES ('editors');
|
INSERT INTO PackageCategories (Category) VALUES ('editors');
|
||||||
|
@ -93,6 +94,7 @@ CREATE TABLE PackageLocations (
|
||||||
Location CHAR(32) NOT NULL,
|
Location CHAR(32) NOT NULL,
|
||||||
PRIMARY KEY (ID)
|
PRIMARY KEY (ID)
|
||||||
);
|
);
|
||||||
|
INSERT INTO PackageLocations (ID, Location) VALUES (0, 'none');
|
||||||
INSERT INTO PackageLocations (ID, Location) VALUES (1, 'Unsupported');
|
INSERT INTO PackageLocations (ID, Location) VALUES (1, 'Unsupported');
|
||||||
INSERT INTO PackageLocations (ID, Location) VALUES (2, 'AUR');
|
INSERT INTO PackageLocations (ID, Location) VALUES (2, 'AUR');
|
||||||
INSERT INTO PackageLocations (ID, Location) VALUES (3, 'Current');
|
INSERT INTO PackageLocations (ID, Location) VALUES (3, 'Current');
|
||||||
|
@ -109,6 +111,9 @@ CREATE TABLE Packages (
|
||||||
CategoryID TINYINT UNSIGNED NOT NULL,
|
CategoryID TINYINT UNSIGNED NOT NULL,
|
||||||
Description CHAR(128) NOT NULL DEFAULT "An Arch Package",
|
Description CHAR(128) NOT NULL DEFAULT "An Arch Package",
|
||||||
URL CHAR(255) NOT NULL DEFAULT "http://www.archlinux.org",
|
URL CHAR(255) NOT NULL DEFAULT "http://www.archlinux.org",
|
||||||
|
DummyPkg TINYINT UNSIGNED NOT NULL DEFAULT 0, -- 1=>dummy
|
||||||
|
FSPath CHAR(255) NOT NULL DEFAULT '',
|
||||||
|
URLPath CHAR(255) NOT NULL DEFAULT '',
|
||||||
LocationID TINYINT UNSIGNED NOT NULL,
|
LocationID TINYINT UNSIGNED NOT NULL,
|
||||||
NumVotes INTEGER UNSIGNED NOT NULL DEFAULT 0,
|
NumVotes INTEGER UNSIGNED NOT NULL DEFAULT 0,
|
||||||
OutOfDate TINYINT UNSIGNED DEFAULT 0,
|
OutOfDate TINYINT UNSIGNED DEFAULT 0,
|
||||||
|
@ -122,6 +127,7 @@ CREATE TABLE Packages (
|
||||||
UNIQUE (Name),
|
UNIQUE (Name),
|
||||||
INDEX (CategoryID),
|
INDEX (CategoryID),
|
||||||
INDEX (LocationID),
|
INDEX (LocationID),
|
||||||
|
INDEX (DummyPkg),
|
||||||
INDEX (OutOfDate),
|
INDEX (OutOfDate),
|
||||||
INDEX (NumVotes),
|
INDEX (NumVotes),
|
||||||
INDEX (SubmitterUID),
|
INDEX (SubmitterUID),
|
||||||
|
@ -169,8 +175,8 @@ CREATE TABLE PackageVotes (
|
||||||
--
|
--
|
||||||
CREATE TABLE PackageContents (
|
CREATE TABLE PackageContents (
|
||||||
PackageID INTEGER UNSIGNED NOT NULL,
|
PackageID INTEGER UNSIGNED NOT NULL,
|
||||||
FSPath CHAR(256) NOT NULL,
|
FSPath CHAR(255) NOT NULL DEFAULT '',
|
||||||
URLPath CHAR(255) NOT NULL,
|
URLPath CHAR(255) NOT NULL DEFAULT '',
|
||||||
FileSize BIGINT UNSIGNED NOT NULL default 0,
|
FileSize BIGINT UNSIGNED NOT NULL default 0,
|
||||||
INDEX (PackageID),
|
INDEX (PackageID),
|
||||||
FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE
|
FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE
|
||||||
|
|
|
@ -12,8 +12,8 @@ $DBUG = 1;
|
||||||
|
|
||||||
# this is the directory that new packages will be uploaded to
|
# this is the directory that new packages will be uploaded to
|
||||||
#
|
#
|
||||||
$UPLOAD_DIR = "/tmp/aur/temp/";
|
$UPLOAD_DIR = "/aur/temp/";
|
||||||
$INCOMING_DIR = "/tmp/aur/incoming/";
|
$INCOMING_DIR = "/aur/incoming/";
|
||||||
|
|
||||||
|
|
||||||
if ($_COOKIE["AURSID"]) {
|
if ($_COOKIE["AURSID"]) {
|
||||||
|
|
|
@ -444,19 +444,6 @@ function dbug($msg) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
# check to see if the package name exists
|
|
||||||
#
|
|
||||||
function package_exists($name="") {
|
|
||||||
if (!$name) {return 0;}
|
|
||||||
$dbh = db_connect();
|
|
||||||
$q = "SELECT COUNT(*) FROM Packages ";
|
|
||||||
$q.= "WHERE Name = '".mysql_escape_string($name)."'";
|
|
||||||
$result = db_query($q, $dbh);
|
|
||||||
if (!$result) {return 0;}
|
|
||||||
$row = mysql_fetch_row($result);
|
|
||||||
return $row[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
# check to see if the user can overwrite an existing package
|
# check to see if the user can overwrite an existing package
|
||||||
#
|
#
|
||||||
function can_overwrite_pkg($name="", $sid="") {
|
function can_overwrite_pkg($name="", $sid="") {
|
||||||
|
|
|
@ -83,6 +83,20 @@ function pkgLocations() {
|
||||||
return $locs;
|
return $locs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# check to see if the package name exists
|
||||||
|
#
|
||||||
|
function package_exists($name="") {
|
||||||
|
if (!$name) {return NULL;}
|
||||||
|
$dbh = db_connect();
|
||||||
|
$q = "SELECT ID FROM Packages ";
|
||||||
|
$q.= "WHERE Name = '".mysql_escape_string($name)."' ";
|
||||||
|
$q.= "AND DummyPkg = 0";
|
||||||
|
$result = db_query($q, $dbh);
|
||||||
|
if (!$result) {return NULL;}
|
||||||
|
$row = mysql_fetch_row($result);
|
||||||
|
return $row[0];
|
||||||
|
}
|
||||||
|
|
||||||
# grab package dependencies
|
# grab package dependencies
|
||||||
#
|
#
|
||||||
function package_dependencies($pkgid=0) {
|
function package_dependencies($pkgid=0) {
|
||||||
|
@ -102,6 +116,39 @@ function package_dependencies($pkgid=0) {
|
||||||
return $deps;
|
return $deps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# create a dummy package and return it's Packages.ID if it already exists,
|
||||||
|
# return the existing ID
|
||||||
|
#
|
||||||
|
function create_dummy($pname="", $sid="") {
|
||||||
|
if ($pname && $sid) {
|
||||||
|
$uid = uid_from_sid($sid);
|
||||||
|
if (!$uid) {return NULL};
|
||||||
|
$dbh = db_connect();
|
||||||
|
$q = "SELECT ID FROM Packages WHERE Name = '";
|
||||||
|
$q.= mysql_escape_string($pname)."'";
|
||||||
|
$result = db_query($q, $dbh);
|
||||||
|
if (!$result) {
|
||||||
|
# Insert the dummy
|
||||||
|
#
|
||||||
|
$q = "INSERT INTO Packages (Name, CategoryID, Description, ";
|
||||||
|
$q.= "URL, LocationID, SubmittedTS, SubmitterUID) VALUES ('";
|
||||||
|
$q.= mysql_escape_string($pname)."', 0, ";
|
||||||
|
$q.= "'A dummy package', '/#', 0, UNIX_TIMESTAMP(), ";
|
||||||
|
$q.= $uid.")";
|
||||||
|
$result = db_query($q, $dbh);
|
||||||
|
if (!$result) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return mysql_insert_id($result);
|
||||||
|
} else {
|
||||||
|
$data = mysql_fetch_row($result);
|
||||||
|
return $data['ID'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
# grab package sources
|
# grab package sources
|
||||||
#
|
#
|
||||||
function package_sources($pkgid=0) {
|
function package_sources($pkgid=0) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue