summaryrefslogtreecommitdiffstats
path: root/web/lib/pkgfuncs.inc
diff options
context:
space:
mode:
Diffstat (limited to 'web/lib/pkgfuncs.inc')
-rw-r--r--web/lib/pkgfuncs.inc47
1 files changed, 47 insertions, 0 deletions
diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc
index bfdaa58..6ea3831 100644
--- a/web/lib/pkgfuncs.inc
+++ b/web/lib/pkgfuncs.inc
@@ -83,6 +83,20 @@ function pkgLocations() {
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
#
function package_dependencies($pkgid=0) {
@@ -102,6 +116,39 @@ function package_dependencies($pkgid=0) {
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
#
function package_sources($pkgid=0) {