diff options
| author | Marcel Korpel <marcel.lists@gmail.com> | 2013-01-09 17:41:33 +0000 |
|---|---|---|
| committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2013-01-19 12:18:13 +0100 |
| commit | 8e1051932eb86ef87f7b64efc86f50e633201b56 (patch) | |
| tree | ce7bd28a65411339ca5cb5f711ddb6b79a01fa98 /web/lib | |
| parent | b004333eadb9a4db57592bb501b28edced708943 (diff) | |
| download | aurweb-8e1051932eb86ef87f7b64efc86f50e633201b56.tar.gz aurweb-8e1051932eb86ef87f7b64efc86f50e633201b56.zip | |
Add description meta-element to package pages
Implements FS#33294
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Diffstat (limited to 'web/lib')
| -rw-r--r-- | web/lib/aur.inc.php | 2 | ||||
| -rw-r--r-- | web/lib/pkgfuncs.inc.php | 81 |
2 files changed, 52 insertions, 31 deletions
diff --git a/web/lib/aur.inc.php b/web/lib/aur.inc.php index 018d5c8..e392102 100644 --- a/web/lib/aur.inc.php +++ b/web/lib/aur.inc.php @@ -297,7 +297,7 @@ function db_connect() { * * @return void */ -function html_header($title="") { +function html_header($title="", $details=array()) { global $AUR_LOCATION; global $DISABLE_HTTP_LOGIN; global $LANG; diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php index c00c33d..568ca3d 100644 --- a/web/lib/pkgfuncs.inc.php +++ b/web/lib/pkgfuncs.inc.php @@ -432,20 +432,14 @@ function pkgname_is_blacklisted($name, $dbh=NULL) { } /** - * Display the package details page + * Get the package details * - * @global string $AUR_LOCATION The AUR's URL used for notification e-mails - * @global bool $USE_VIRTUAL_URLS True if using URL rewriting, otherwise false - * @param string $id The package ID to get details page for - * @param string $SID The session ID of the visitor + * @param string $id The package ID to get description for * @param \PDO $dbh An already established database connection * - * @return void - */ -function package_details($id=0, $SID="", $dbh=NULL) { - global $AUR_LOCATION; - global $USE_VIRTUAL_URLS; - + * @return array The package's details OR error message + **/ +function get_package_details($id=0, $dbh=NULL) { if(!$dbh) { $dbh = db_connect(); } @@ -456,36 +450,63 @@ function package_details($id=0, $SID="", $dbh=NULL) { $q.= "AND Packages.ID = " . intval($id); $result = $dbh->query($q); + $row = array(); + if (!$result) { - print "<p>" . __("Error retrieving package details.") . "</p>\n"; + $row['error'] = __("Error retrieving package details."); } else { $row = $result->fetch(PDO::FETCH_ASSOC); if (empty($row)) { - print "<p>" . __("Package details could not be found.") . "</p>\n"; - + $row['error'] = __("Package details could not be found."); } - else { - include('pkg_details.php'); + } - # Actions Bar - if ($SID) { - include('actions_form.php'); - if (isset($_REQUEST['comment']) && check_token()) { - $uid = uid_from_sid($SID, $dbh); - add_package_comment($id, $uid, $_REQUEST['comment'], $dbh); - } - include('pkg_comment_form.php'); - } + return $row; +} - # Print Comments - $comments = package_comments($id, $dbh); - if (!empty($comments)) { - include('pkg_comments.php'); +/** + * Display the package details page + * + * @global string $AUR_LOCATION The AUR's URL used for notification e-mails + * @global bool $USE_VIRTUAL_URLS True if using URL rewriting, otherwise false + * @param string $id The package ID to get details page for + * @param array $row Package details retrieved by get_package_details + * @param string $SID The session ID of the visitor + * @param \PDO $dbh An already established database connection + * + * @return void + */ +function display_package_details($id=0, $row, $SID="", $dbh=NULL) { + global $AUR_LOCATION; + global $USE_VIRTUAL_URLS; + + if(!$dbh) { + $dbh = db_connect(); + } + + if (isset($row['error'])) { + print "<p>" . $row['error'] . "</p>\n"; + } + else { + include('pkg_details.php'); + + # Actions Bar + if ($SID) { + include('actions_form.php'); + if (isset($_REQUEST['comment']) && check_token()) { + $uid = uid_from_sid($SID, $dbh); + add_package_comment($id, $uid, $_REQUEST['comment'], $dbh); } + include('pkg_comment_form.php'); + } + + # Print Comments + $comments = package_comments($id, $dbh); + if (!empty($comments)) { + include('pkg_comments.php'); } } - return; } |
