summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreric <eric>2005-03-06 21:44:56 +0000
committereric <eric>2005-03-06 21:44:56 +0000
commite3587ddf94ba742beabdaa8a68023f8ee0234b58 (patch)
treec5b579f1b92b8fd20453fb348f0bb240832ec8c8
parentaae43d9ad6fc83d04a4975f27392c1422dfa0ec4 (diff)
downloadaurweb-e3587ddf94ba742beabdaa8a68023f8ee0234b58.tar.xz
started working on pkgedit for comments
-rw-r--r--support/schema/aur-schema.sql2
-rw-r--r--support/schema/dummy-data.sql.bz2bin1884846 -> 1882935 bytes
-rwxr-xr-xsupport/schema/gendummydata.py4
-rw-r--r--web/html/packages.php3
-rw-r--r--web/html/pkgedit.php48
-rw-r--r--web/html/pkgmgmnt.php19
-rw-r--r--web/lang/pkgfuncs_po.inc30
-rw-r--r--web/lib/pkgfuncs.inc70
8 files changed, 148 insertions, 28 deletions
diff --git a/support/schema/aur-schema.sql b/support/schema/aur-schema.sql
index c2cd08b..2d70dae 100644
--- a/support/schema/aur-schema.sql
+++ b/support/schema/aur-schema.sql
@@ -187,9 +187,11 @@ CREATE TABLE PackageComments (
UsersID INTEGER UNSIGNED NOT NULL,
Comments TEXT NOT NULl DEFAULT '',
CommentTS BIGINT UNSIGNED NOT NULL DEFAULT 0,
+ DelUsersID INTEGER UNSIGNED NOT NULL DEFAULT 0,
INDEX (UsersID),
INDEX (PackageID),
FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE,
+ FOREIGN KEY (DelUsersID) REFERENCES Users(ID) ON DELETE CASCADE,
FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE
);
diff --git a/support/schema/dummy-data.sql.bz2 b/support/schema/dummy-data.sql.bz2
index cf1c87a..e342e28 100644
--- a/support/schema/dummy-data.sql.bz2
+++ b/support/schema/dummy-data.sql.bz2
Binary files differ
diff --git a/support/schema/gendummydata.py b/support/schema/gendummydata.py
index fd82bea..9915f58 100755
--- a/support/schema/gendummydata.py
+++ b/support/schema/gendummydata.py
@@ -267,9 +267,9 @@ for p in seen_pkgs.keys():
#
num_comments = random.randrange(PKG_CMNTS[0], PKG_CMNTS[1])
for i in range(0, num_comments):
- fortune = esc(commands.getoutput(FORTUNE_CMD).replace("'","").replace("\n"," "))
+ fortune = esc(commands.getoutput(FORTUNE_CMD).replace("'",""))
now = NOW + random.randrange(400, 86400*3)
- s = "INSERT INTO PackageComments (PackageID, UsersID, Comments, CommentTS) VALUES (%d, %d, '%s', %d);\n" % (seen_pkgs[p], uuid, fortune, now)
+ s = "INSERT INTO PackageComments (PackageID, UsersID, Comments, CommentTS) VALUES (%d, %d, '%s', %d);\n" % (seen_pkgs[p], genUID(), fortune, now)
out.write(s)
if location_id == 1: # Unsupported - just a PKGBUILD and maybe other stuff
diff --git a/web/html/packages.php b/web/html/packages.php
index 823a4ca..a211b34 100644
--- a/web/html/packages.php
+++ b/web/html/packages.php
@@ -133,7 +133,6 @@ if (isset($_REQUEST["do_Flag"])) {
$disown .= ", ".$pid;
}
}
- $atype = account_from_sid($_COOKIE["AURSID"]);
if ($atype == "Trusted User" || $atype == "Developer") {
$field = "AURMaintainerUID";
} elseif ($atype == "User") {
@@ -185,7 +184,6 @@ if (isset($_REQUEST["do_Flag"])) {
$delete .= ", ".$pid;
}
}
- $atype = account_from_sid($_COOKIE["AURSID"]);
if ($atype == "Trusted User" || $atype == "Developer") {
$field = "AURMaintainerUID";
} elseif ($atype == "User") {
@@ -282,7 +280,6 @@ if (isset($_REQUEST["do_Flag"])) {
$adopt .= ", ".$pid;
}
}
- $atype = account_from_sid($_COOKIE["AURSID"]);
if ($atype == "Trusted User" || $atype == "Developer") {
$field = "AURMaintainerUID";
} elseif ($atype == "User") {
diff --git a/web/html/pkgedit.php b/web/html/pkgedit.php
new file mode 100644
index 0000000..974c3ad
--- /dev/null
+++ b/web/html/pkgedit.php
@@ -0,0 +1,48 @@
+<?
+include("aur.inc"); # access AUR common functions
+include("pkgfuncs.inc"); # use some form of this for i18n support
+set_lang(); # this sets up the visitor's language
+check_sid(); # see if they're still logged in
+html_header(); # print out the HTML header
+
+
+$DBUG = 0;
+if ($DBUG) {
+ print "<pre>\n";
+ print_r($_REQUEST);
+ print "</pre>\n";
+}
+
+if (isset($_COOKIE["AURSID"])) {
+ $atype = account_from_sid($_COOKIE["AURSID"]);
+} else {
+ $atype = "";
+}
+
+if (!$atype) {
+ print __("You must be logged in before you can edit package information.");
+ print "<br />\n";
+} else {
+ if (!$_REQUEST["ID"]) {
+ print __("Missing package ID.");
+ print "<br />\n";
+ } else {
+
+ # Main script processing here... basic error checking done.
+ #
+ if ($_REQUEST["add_Comment"]) {
+ if ($_REQUEST["comment"]) {
+ } else {
+ }
+ }
+
+ }
+}
+
+html_footer("\$Id$"); # Use the $Id$ keyword
+ # NOTE: when checking in a new file, use
+ # 'svn propset svn:keywords "Id" filename.php'
+ # to tell svn to expand the "Id" keyword.
+
+# vim: ts=2 sw=2 et ft=php
+?>
diff --git a/web/html/pkgmgmnt.php b/web/html/pkgmgmnt.php
deleted file mode 100644
index 6c8cddd..0000000
--- a/web/html/pkgmgmnt.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?
-include("aur.inc"); # access AUR common functions
-include("mgmnt_po.inc"); # use some form of this for i18n support
-set_lang(); # this sets up the visitor's language
-check_sid(); # see if they're still logged in
-html_header(); # print out the HTML header
-
-
-# vistor has requested package management for a specific package
-#
-print __("Manage package ID: %s", array($_REQUEST["ID"])) . "<br />\n";
-
-# NOTE: managing an orphaned package will automatically force adoption
-#
-
-
-html_footer("\$Id$");
-# vim: ts=2 sw=2 noet ft=php
-?>
diff --git a/web/lang/pkgfuncs_po.inc b/web/lang/pkgfuncs_po.inc
index 33d109b..3d31523 100644
--- a/web/lang/pkgfuncs_po.inc
+++ b/web/lang/pkgfuncs_po.inc
@@ -11,6 +11,36 @@
include_once("translator.inc");
global $_t;
+$_t["en"]["Comment by: %h%s%h on %h%s%h"] = "Comment by: %h%s%h on %h%s%h";
+# $_t["es"]["Category"] = "--> Traducción española aquí. <--";
+# $_t["fr"]["Category"] = "--> Traduction française ici. <--";
+# $_t["de"]["Category"] = "--> Deutsche Übersetzung hier. <--";
+
+$_t["en"]["Add Comment"] = "Add Comment";
+# $_t["es"]["Category"] = "--> Traducción española aquí. <--";
+# $_t["fr"]["Category"] = "--> Traduction française ici. <--";
+# $_t["de"]["Category"] = "--> Deutsche Übersetzung hier. <--";
+
+$_t["en"]["Comments"] = "Comments";
+# $_t["es"]["Category"] = "--> Traducción española aquí. <--";
+# $_t["fr"]["Category"] = "--> Traduction française ici. <--";
+# $_t["de"]["Category"] = "--> Deutsche Übersetzung hier. <--";
+
+$_t["en"]["Sources"] = "Sources";
+# $_t["es"]["Category"] = "--> Traducción española aquí. <--";
+# $_t["fr"]["Category"] = "--> Traduction française ici. <--";
+# $_t["de"]["Category"] = "--> Deutsche Übersetzung hier. <--";
+
+$_t["en"]["Dependencies"] = "Dependencies";
+# $_t["es"]["Category"] = "--> Traducción española aquí. <--";
+# $_t["fr"]["Category"] = "--> Traduction française ici. <--";
+# $_t["de"]["Category"] = "--> Deutsche Übersetzung hier. <--";
+
+$_t["en"]["Package Details"] = "Package Details";
+# $_t["es"]["Category"] = "--> Traducción española aquí. <--";
+# $_t["fr"]["Category"] = "--> Traduction française ici. <--";
+# $_t["de"]["Category"] = "--> Deutsche Übersetzung hier. <--";
+
$_t["en"]["Category"] = "Category";
# $_t["es"]["Category"] = "--> Traducción española aquí. <--";
# $_t["fr"]["Category"] = "--> Traduction française ici. <--";
diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc
index 0b451ce..f832111 100644
--- a/web/lib/pkgfuncs.inc
+++ b/web/lib/pkgfuncs.inc
@@ -148,6 +148,27 @@ function create_dummy($pname="", $sid="") {
}
+# grab package comments
+#
+function package_comments($pkgid=0) {
+ $comments = array();
+ if ($pkgid) {
+ $dbh = db_connect();
+ $q = "SELECT UserName, Comments, CommentTS ";
+ $q.= "FROM PackageComments, Users ";
+ $q.= "WHERE PackageComments.UsersID = Users.ID";
+ $q.= " AND PackageID = ".mysql_escape_string($pkgid);
+ $q.= " AND DelUsersID = 0"; # only display non-deleted comments
+ $q.= " ORDER BY CommentTS ASC";
+ $result = db_query($q, $dbh);
+ if (!$result) {return array();}
+ while ($row = mysql_fetch_assoc($result)) {
+ $comments[] = $row;
+ }
+ }
+ return $comments;
+}
+
# grab package sources
#
function package_sources($pkgid=0) {
@@ -217,7 +238,7 @@ function package_details($id=0) {
print "<table cellspacing='3' class='boxSoft'>\n";
print "<tr>\n";
print " <td class='boxSoftTitle' align='right'>";
- print "<span class='f3'>Package Details</span></td>\n";
+ print "<span class='f3'>".__("Package Details")."</span></td>\n";
print "</tr>\n";
print "<tr>\n";
print " <td class='boxSoft'>\n";
@@ -267,7 +288,7 @@ function package_details($id=0) {
print " <td valign='top' style='padding-right: 10'>";
print "<table class='boxSoft' style='width: 200px'>";
print "<tr><td class='boxSoftTitle'><span class='f3'>";
- print "Dependencies</span></td></tr>\n";
+ print __("Dependencies")."</span></td></tr>\n";
print "<tr><td class='boxSoft'>";
$deps = package_dependencies($row["ID"]); # $deps[0] = array('id','name', 'dummy');
while (list($k, $darr) = each($deps)) {
@@ -289,7 +310,7 @@ function package_details($id=0) {
print " <td valign='top'>";
print "<table class='boxSoft' style='width: 200px'>";
print "<tr><td class='boxSoftTitle'><span class='f3'>";
- print "Sources</span></td></tr>\n";
+ print __("Sources")."</span></td></tr>\n";
print "<tr><td class='boxSoft'>";
$sources = package_sources($row["ID"]); # $sources[0] = 'src';
while (list($k, $src) = each($sources)) {
@@ -302,12 +323,53 @@ function package_details($id=0) {
else
{
//It is presumably an internal source
- print "<a href='".dirname($row['URLPath'])."/".$row['Name']."/".$src."'>".$src."</a><br />\n";
+ print "<a href='".dirname($row['URLPath'])."/".$row['Name'];
+ print "/".$src."'>".$src."</a><br />\n";
}
}
print "</td></tr>\n";
print "</table></td>";
+ print "</tr>\n";
+
+ # Display package comments
+ #
+ $comments = package_comments($row["ID"]);
+ if (!empty($comments)) {
+ while (list($indx, $carr) = each($comments)) {
+ print "<tr>\n";
+ print " <td colspan='2'>";
+ print "<img src='/images/pad.gif' height='2'></td></tr>\n";
+
+ print "<tr>\n";
+ print " <td valign='top' style='padding-right: 10' colspan='2'>";
+ print "<table class='boxSoft' width='100%'>";
+ print "<tr><td class='boxSoftTitle'><span class='f3'>";
+ print __("Comment by: %h%s%h on %h%s%h",
+ array("<b>",$carr["UserName"],"</b>",
+ "<i>",date("Ymd [H:i:s]",$carr["CommentTS"]),"</i>"));
+ print "</span></td></tr>\n";
+ print "<tr><td class='boxSoft'>";
+ print "<pre>\n";
+ print str_replace('"',"&quot;", stripslashes($carr["Comments"]));
+ print "</pre>\n";
+ print "</td></tr>\n";
+ print "</table>\n";
+ print " </td>\n";
+ print "</tr>\n";
+ }
+ }
+ print "<tr>\n";
+ print " <td colspan='2'><img src='/images/pad.gif' height='2'>";
+ print "</td></tr>\n";
+ print "<tr>\n";
+ print " <td colspan='2'>";
+ print "<form action='/pkgedit.php' method='post'>\n";
+ print "<input type='hidden' name='ID' value='".$row["ID"]."'>\n";
+ print "<input type='submit' class='button' name='add_Comment' value=\"";
+ print __("Add Comment")."\">";
+ print "</form>\n";
+ print " </td>";
print "</tr>\n";
print "</table>\n";