Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Marcus Andersson
aurweb
Commits
7fccb8b6
Commit
7fccb8b6
authored
Mar 20, 2005
by
eric
Browse files
added comments/category editing, and closed #2280
parent
9d69979b
Changes
8
Hide whitespace changes
Inline
Side-by-side
support/schema/aur-schema.sql
View file @
7fccb8b6
...
...
@@ -183,11 +183,13 @@ CREATE TABLE PackageContents (
-- Record comments for packages
--
CREATE
TABLE
PackageComments
(
ID
BIGINT
UNSIGNED
NOT
NULL
AUTO_INCREMENT
,
PackageID
INTEGER
UNSIGNED
NOT
NULL
,
UsersID
INTEGER
UNSIGNED
NOT
NULL
,
Comments
TEXT
NOT
NULl
DEFAULT
''
,
CommentTS
BIGINT
UNSIGNED
NOT
NULL
DEFAULT
0
,
DelUsersID
INTEGER
UNSIGNED
NOT
NULL
DEFAULT
0
,
PRIMARY
KEY
(
ID
),
INDEX
(
UsersID
),
INDEX
(
PackageID
),
FOREIGN
KEY
(
UsersID
)
REFERENCES
Users
(
ID
)
ON
DELETE
CASCADE
,
...
...
web/html/images/x.png
0 → 100644
View file @
7fccb8b6
725 Bytes
web/html/pkgedit.php
View file @
7fccb8b6
<?
include
(
"aur.inc"
);
# access AUR common functions
include
(
"pkgfuncs.inc"
);
# use some form of this for i18n support
include
(
"pkgedit_po.inc"
);
# i18n translations for this script
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
$svn_idstr
=
"
\$
Id$"
;
$DBUG
=
0
;
if
(
$DBUG
)
{
...
...
@@ -13,36 +14,142 @@ if ($DBUG) {
print
"</pre>
\n
"
;
}
# Make sure this visitor is logged in
#
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
"
;
html_footer
(
$svn_idstr
);
exit
();
}
# Must know what package to operate on throughout this entire script
#
if
(
!
$_REQUEST
[
"ID"
])
{
print
__
(
"Missing package ID."
);
print
"<br />
\n
"
;
html_footer
(
$svn_idstr
);
}
# Delete a comment for this package
#
if
(
$_REQUEST
[
"del_Comment"
])
{
if
(
$_REQUEST
[
"comment_id"
])
{
if
(
canDeleteComment
(
$_REQUEST
[
"comment_id"
],
$atype
,
$_COOKIE
[
"AURSID"
]))
{
$dbh
=
db_connect
();
$uid
=
uid_from_sid
(
$_COOKIE
[
"AURSID"
]);
$q
=
"UPDATE PackageComments "
;
$q
.
=
"SET DelUsersID = "
.
$uid
.
" "
;
$q
.
=
"WHERE ID = "
.
intval
(
$_REQUEST
[
"comment_id"
]);
db_query
(
$q
,
$dbh
);
print
__
(
"Comment has been deleted."
)
.
"<br />
\n
"
;
}
else
{
print
__
(
"You are not allowed to delete this comment."
)
.
"<br />
\n
"
;
}
}
else
{
print
__
(
"Missing comment ID."
)
.
"<br />
\n
"
;
}
pkgdetails_link
(
$_REQUEST
[
"ID"
]);
html_footer
(
$svn_idstr
);
exit
();
}
# Main script processing here... basic error checking done.
# Add a comment to this package
#
if
(
$_REQUEST
[
"add_Comment"
])
{
if
(
$_REQUEST
[
"comment"
])
{
# Insert the comment
#
if
(
$_REQUEST
[
"add_Comment"
])
{
if
(
$_REQUEST
[
"comment"
])
{
}
else
{
$dbh
=
db_connect
();
$q
=
"INSERT INTO PackageComments "
;
$q
.
=
"(PackageID, UsersID, Comments, CommentTS) VALUES ("
;
$q
.
=
intval
(
$_REQUEST
[
"ID"
])
.
", "
.
uid_from_sid
(
$_COOKIE
[
"AURSID"
])
.
", "
;
$q
.
=
"'"
.
mysql_escape_string
(
$_REQUEST
[
"comment"
])
.
"', "
;
$q
.
=
"UNIX_TIMESTAMP())"
;
db_query
(
$q
,
$dbh
);
print
__
(
"Comment has been added."
)
.
"<br /> <br />
\n
"
;
pkgdetails_link
(
$_REQUEST
[
"ID"
]);
}
else
{
# Prompt visitor for comment
#
print
"<form action='/pkgedit.php' method='post'>
\n
"
;
print
"<input type='hidden' name='add_Comment' value='1'>
\n
"
;
print
"<input type='hidden' name='ID' value=
\"
"
.
$_REQUEST
[
"ID"
]
.
"
\"
>
\n
"
;
print
__
(
"Enter your comment below."
)
.
"<br /> <br />
\n
"
;
print
"<textarea name='comment' rows='10' cols='50'></textarea>
\n
"
;
print
"<br /> <br />
\n
"
;
print
"<input type='submit' value=
\"
"
.
__
(
"Submit"
)
.
"
\"
>
\n
"
;
print
"<input type='reset' value=
\"
"
.
__
(
"Reset"
)
.
"
\"
>
\n
"
;
print
"</form>
\n
"
;
}
html_footer
(
$svn_idstr
);
exit
();
}
# Change package category
#
if
(
$_REQUEST
[
"change_Category"
])
{
$cat_array
=
pkgCategories
();
$dbh
=
db_connect
();
if
(
$_REQUEST
[
"category_id"
])
{
# Try and set the requested category_id
#
if
(
array_key_exists
(
$_REQUEST
[
"category_id"
],
$cat_array
))
{
$q
=
"UPDATE Packages SET CategoryID = "
.
intval
(
$_REQUEST
[
"category_id"
]);
$q
.
=
" WHERE ID = "
.
intval
(
$_REQUEST
[
"ID"
]);
db_query
(
$q
,
$dbh
);
print
__
(
"Package category updated."
)
.
"<br />
\n
"
;
}
else
{
print
__
(
"Invalid category ID."
)
.
"<br />
\n
"
;
}
pkgdetails_link
(
$_REQUEST
[
"ID"
]);
}
else
{
# Prompt visitor for new category_id
#
$q
=
"SELECT CategoryID FROM Packages WHERE ID = "
.
intval
(
$_REQUEST
[
"ID"
]);
$result
=
db_query
(
$q
,
$dbh
);
if
(
$result
!=
NULL
)
{
$catid
=
mysql_fetch_row
(
$result
);
}
print
"<form action='/pkgedit.php' method='post'>
\n
"
;
print
"<input type='hidden' name='change_Category' value='1'>
\n
"
;
print
"<input type='hidden' name='ID' value=
\"
"
.
$_REQUEST
[
"ID"
]
.
"
\"
>
\n
"
;
print
__
(
"Select new category"
)
.
":
\n
"
;
print
"<select name='category_id'>
\n
"
;
while
(
list
(
$id
,
$cat
)
=
each
(
$cat_array
))
{
print
"<option value='"
.
$id
.
"'"
;
if
(
$id
==
$catid
[
0
])
{
print
" selected"
;
}
print
"> "
.
$cat
.
"</option>
\n
"
;
}
print
"</select>
\n
"
;
print
"<br /> <br />
\n
"
;
print
"<input type='submit' value=
\"
"
.
__
(
"Submit"
)
.
"
\"
>
\n
"
;
print
"<input type='reset' value=
\"
"
.
__
(
"Reset"
)
.
"
\"
>
\n
"
;
print
"</form>
\n
"
;
}
html_footer
(
$svn_idstr
);
exit
();
}
html_footer
(
"
\$
Id$"
);
# Use the $Id$ keyword
print
__
(
"You've found a bug if you see this...."
)
.
"<br />
\n
"
;
html_footer
(
$svn_idstr
);
# 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
# vim: ts=2 sw=2
no
et ft=php
?>
web/html/pkgsubmit.php
View file @
7fccb8b6
...
...
@@ -239,7 +239,10 @@ if ($_COOKIE["AURSID"]) {
$seen_build_function
=
1
;
}
}
if
(
$seen_build_function
)
{
break
;}
# XXX: closes bug #2280? Might as well let the loop complete rather
# than break after the build() function.
#
#if ($seen_build_function) {break;}
}
# some error checking on PKGBUILD contents - just make sure each
...
...
@@ -534,7 +537,7 @@ if ($_COOKIE["AURSID"]) {
print
"<br />
\n
"
;
}
}
else
{
print
__
(
"Package upload successful"
);
print
__
(
"Package upload successful
.
"
);
}
}
else
{
...
...
web/lang/pkgedit_po.inc
0 → 100644
View file @
7fccb8b6
<?
# INSTRUCTIONS TO TRANSLATORS
#
# This file contains the i18n translations for a subset of the
# Arch Linux User-community Repository (AUR). This is a PHP
# script, and as such, you MUST pay great attention to the syntax.
# If your text contains any double-quotes ("), you MUST escape
# them with the backslash character (\).
#
include_once
(
"translator.inc"
);
global
$_t
;
$_t
[
"en"
][
"You must be logged in before you can edit package information."
]
=
"You must be logged in before you can edit package information."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Missing package ID."
]
=
"Missing package ID."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Comment has been deleted."
]
=
"Comment has been deleted."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"You are not allowed to delete this comment."
]
=
"You are not allowed to delete this comment."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Missing comment ID."
]
=
"Missing comment ID."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Comment has been added."
]
=
"Comment has been added."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Enter your comment below."
]
=
"Enter your comment below."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Submit"
]
=
"Submit"
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Reset"
]
=
"Reset"
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Package category updated."
]
=
"Package category updated."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Invalid category ID."
]
=
"Invalid category ID."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Select new category"
]
=
"Select new category"
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"You've found a bug if you see this...."
]
=
"You've found a bug if you see this...."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
?>
web/lang/pkgfuncs_po.inc
View file @
7fccb8b6
...
...
@@ -11,6 +11,26 @@
include_once
(
"translator.inc"
);
global
$_t
;
$_t
[
"en"
][
"Go back to %hpackage details view%h."
]
=
"Go back to %hpackage details view%h."
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"None"
]
=
"None"
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"change category"
]
=
"change category"
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Delete comment"
]
=
"Delete comment"
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Category"] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Comment by: %h%s%h on %h%s%h"
]
=
"Comment by: %h%s%h on %h%s%h"
;
# $_t["es"]["Category"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Category"] = "--> Traduction franaise ici. <--";
...
...
web/lang/submit_po.inc
View file @
7fccb8b6
...
...
@@ -196,9 +196,9 @@ $_t["en"]["You must supply a comment for this upload/change."] = "You must suppl
# $_t["fr"]["You must supply a comment for this upload/change."] = "--> Traduction franaise ici. <--";
# $_t["de"]["You must supply a comment for this upload/change."] = "--> Deutsche bersetzung hier. <--";
$_t
[
"en"
][
"Package upload successful"
]
=
"Package upload successful"
;
$_t
[
"en"
][
"Package upload successful
.
"
]
=
"Package upload successful
.
"
;
# $_t["es"]["Package upload successful"] = "--> Traduccin espaola aqu. <--";
# $_t["fr"]["Package upload successful"] = "--> Traduction franaise ici. <--";
# $_t["de"]["Package upload successful"] = "--> Deutsche bersetzung hier. <--";
?>
\ No newline at end of file
?>
web/lib/pkgfuncs.inc
View file @
7fccb8b6
...
...
@@ -6,6 +6,17 @@ include_once("pkgfuncs_po.inc");
$pkgsearch_vars
=
array
(
"O"
,
"L"
,
"C"
,
"K"
,
"SB"
,
"PP"
,
"do_MyPackages"
);
# print out the 'return to package details' link
#
function
pkgdetails_link
(
$id
=
0
)
{
$url_data
=
"<a href='/packages.php?do_Details=1&ID="
.
intval
(
$id
)
.
"'>"
;
print
__
(
"Go back to %hpackage details view%h."
,
array
(
$url_data
,
"</a>"
));
print
"
\n
<br />
\n
"
;
return
;
}
# print out the 'return to search results' link
#
function
pkgsearch_results_link
()
{
...
...
@@ -28,6 +39,30 @@ function pkgsearch_results_link() {
return
;
}
# Make sure this visitor can delete the requested package comment
# They can delete if they were the comment submitter, or if they are a TU/Dev
#
function
canDeleteComment
(
$comment_id
=
0
,
$atype
=
""
,
$SID
=
""
)
{
if
(
$atype
==
"Trusted User"
||
$atype
==
"Developer"
)
{
# A TU/Dev can delete any comment
#
return
TRUE
;
}
$uid
=
uid_from_sid
(
$SID
);
$dbh
=
db_connect
();
$q
=
"SELECT COUNT(ID) AS CNT "
;
$q
.
=
"FROM PackageComments "
;
$q
.
=
"WHERE ID = "
.
intval
(
$comment_id
);
$q
.
=
" AND UsersID = "
.
$uid
;
$result
=
db_query
(
$q
,
$dbh
);
if
(
$result
!=
NULL
)
{
$row
=
mysql_fetch_assoc
(
$result
);
if
(
$row
[
'CNT'
]
>
0
)
{
return
TRUE
;
}
}
return
FALSE
;
}
# see if this Users.ID can manage the package
#
...
...
@@ -154,7 +189,7 @@ function package_comments($pkgid=0) {
$comments
=
array
();
if
(
$pkgid
)
{
$dbh
=
db_connect
();
$q
=
"SELECT UserName, Comments, CommentTS "
;
$q
=
"SELECT
PackageComments.ID,
UserName, Comments, CommentTS "
;
$q
.
=
"FROM PackageComments, Users "
;
$q
.
=
"WHERE PackageComments.UsersID = Users.ID"
;
$q
.
=
" AND PackageID = "
.
mysql_escape_string
(
$pkgid
);
...
...
@@ -261,7 +296,11 @@ function package_details($id=0) {
print
"</tr>
\n
"
;
print
"<tr>
\n
"
;
print
" <td colspan='2'><span class='f3'>"
;
print
$row
[
"Location"
]
.
" :: "
.
$row
[
"Category"
]
.
"</span></td>"
;
$edit_cat
=
"<a href='/pkgedit.php?change_Category=1&ID="
;
$edit_cat
.
=
intval
(
$_REQUEST
[
"ID"
])
.
"'>"
.
$row
[
"Category"
]
.
"</a>"
;
$edit_cat
.
=
" <span class='fix'>("
;
$edit_cat
.
=
__
(
"change category"
)
.
")</span>"
;
print
$row
[
"Location"
]
.
" :: "
.
$edit_cat
.
"</span></td>"
;
print
"</tr>
\n
"
;
print
"<tr>
\n
"
;
print
" <td colspan='2'><span class='f3'>"
.
__
(
"Maintainer"
)
.
": "
;
...
...
@@ -344,10 +383,15 @@ function package_details($id=0) {
print
" <td valign='top' style='padding-right: 10' colspan='2'>"
;
print
"<table class='boxSoft' width='100%'>"
;
print
"<tr><td class='boxSoftTitle'><span class='f3'>"
;
$durl
=
"<a href='/pkgedit.php?del_Comment=1"
;
$durl
.
=
"&comment_id="
.
$carr
[
"ID"
]
.
"&ID="
.
$row
[
"ID"
];
$durl
.
=
"'><img src='/images/x.png' border='0'"
;
$durl
.
=
" alt=
\"
"
.
__
(
"Delete comment"
)
.
"
\"
></a>"
;
print
$durl
.
" "
;
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
"</span>"
;
print
"<tr><td class='boxSoft'>"
;
print
"<pre>
\n
"
;
print
str_replace
(
'"'
,
"""
,
stripslashes
(
$carr
[
"Comments"
]));
...
...
@@ -783,7 +827,7 @@ function pkg_search_page($SID="") {
}
elseif
(
isset
(
$tus
[
$row
[
"MaintainerUID"
]]))
{
print
$tus
[
$row
[
"MaintainerUID"
]][
"Username"
];
}
else
{
print
"None"
;
print
__
(
"None"
)
;
$managed
=
0
;
}
print
"</span></span></td>
\n
"
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment