[aur-dev] [PATCH 1/2] Add a new AUR_LOCATION setting

Dan McGee dan at archlinux.org
Fri Oct 21 16:15:55 EDT 2011


This should be set to something like 'http://localhost' for development
or 'https://aur.archlinux.org' in production. It ensures all links in
the site stay in the development site and there is no sudden jump from
development to production environments.

Signed-off-by: Dan McGee <dan at archlinux.org>
---

Resubmit v2- tested the pages, correct syntax on variable definition, and
use 'global' keyword where appropriate.

 web/html/passreset.php            |    2 +-
 web/lib/aur.inc.php               |    1 +
 web/lib/config.inc.php.proto      |    3 +++
 web/lib/pkgfuncs.inc.php          |    6 +++++-
 web/template/header.php           |    2 +-
 web/template/login_form.php       |    2 +-
 web/template/pkg_comment_form.php |    4 ++--
 7 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/web/html/passreset.php b/web/html/passreset.php
index 01f3204..47d649d 100644
--- a/web/html/passreset.php
+++ b/web/html/passreset.php
@@ -67,7 +67,7 @@ if (isset($_GET['resetkey'], $_POST['email'], $_POST['password'], $_POST['confir
 		           'your password follow the link below, otherwise ignore '.
 		           'this message and nothing will happen.').
 		           "\n\n".
-		           'https://aur.archlinux.org/passreset.php?'.
+		           "{$AUR_LOCATION}/passreset.php?".
 		           "resetkey={$resetkey}";
 		$body = wordwrap($body, 70);
 		$headers = "To: {$email}\nReply-to: nobody at archlinux.org\nFrom:aur-notify at archlinux.org\nX-Mailer: PHP\nX-MimeOLE: Produced By AUR";
diff --git a/web/lib/aur.inc.php b/web/lib/aur.inc.php
index f432697..315092c 100644
--- a/web/lib/aur.inc.php
+++ b/web/lib/aur.inc.php
@@ -327,6 +327,7 @@ function html_header($title="") {
 	global $LANG;
 	global $SUPPORTED_LANGS;
 	global $DISABLE_HTTP_LOGIN;
+	global $AUR_LOCATION;
 
 	if (!$DISABLE_HTTP_LOGIN || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'])) {
 		$login = try_login();
diff --git a/web/lib/config.inc.php.proto b/web/lib/config.inc.php.proto
index fbade86..3230815 100644
--- a/web/lib/config.inc.php.proto
+++ b/web/lib/config.inc.php.proto
@@ -77,3 +77,6 @@ $MAX_FILESIZE_UNCOMPRESSED = 1024 * 1024 * 8;
 
 # Allow HTTPs logins only
 $DISABLE_HTTP_LOGIN = true;
+
+# Web URL used in email links and absolute redirects, no trailing slash
+$AUR_LOCATION = "http://localhost";
diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php
index 3e89fa3..f3e9134 100644
--- a/web/lib/pkgfuncs.inc.php
+++ b/web/lib/pkgfuncs.inc.php
@@ -301,6 +301,8 @@ function pkgname_is_blacklisted($name, $dbh=NULL) {
 # display package details
 #
 function package_details($id=0, $SID="", $dbh=NULL) {
+	global $AUR_LOCATION;
+
 	if(!$dbh) {
 		$dbh = db_connect();
 	}
@@ -620,6 +622,8 @@ function sanitize_ids($ids) {
  * @return string Translated success or error messages
  */
 function pkg_flag ($atype, $ids, $action=true, $dbh=NULL) {
+	global $AUR_LOCATION;
+
 	if (!$atype) {
 		if ($action) {
 			return __("You must be logged in before you can flag packages.");
@@ -666,7 +670,7 @@ function pkg_flag ($atype, $ids, $action=true, $dbh=NULL) {
 		if (mysql_num_rows($result)) {
 			while ($row = mysql_fetch_assoc($result)) {
 				# construct email
-				$body = "Your package " . $row['Name'] . " has been flagged out of date by " . $f_name . " [1]. You may view your package at:\nhttps://aur.archlinux.org/packages.php?ID=" . $row['ID'] . "\n\n[1] - https://aur.archlinux.org/account.php?Action=AccountInfo&ID=" . $f_uid;
+				$body = "Your package " . $row['Name'] . " has been flagged out of date by " . $f_name . " [1]. You may view your package at:\n" . $AUR_LOCATION . "/packages.php?ID=" . $row['ID'] . "\n\n[1] - " . $AUR_LOCATION . "/account.php?Action=AccountInfo&ID=" . $f_uid;
 				$body = wordwrap($body, 70);
 				$headers = "Reply-to: nobody at archlinux.org\nFrom:aur-notify at archlinux.org\nX-Mailer: PHP\nX-MimeOLE: Produced By AUR\n";
 				@mail($row['Email'], "AUR Out-of-date Notification for ".$row['Name'], $body, $headers);
diff --git a/web/template/header.php b/web/template/header.php
index 8313bb3..73486b4 100644
--- a/web/template/header.php
+++ b/web/template/header.php
@@ -23,7 +23,7 @@
 					<li id="anb-forums"><a href="https://bbs.archlinux.org/" title="Community forums">Forums</a></li>
 					<li id="anb-wiki"><a href="https://wiki.archlinux.org/" title="Community documentation">Wiki</a></li>
 					<li id="anb-bugs"><a href="https://bugs.archlinux.org/" title="Report and track bugs">Bugs</a></li>
-					<li id="anb-aur"><a href="https://aur.archlinux.org/" title="Arch Linux User Repository">AUR</a></li>
+					<li id="anb-aur"><a href="/" title="Arch Linux User Repository">AUR</a></li>
 					<li id="anb-download"><a href="http://www.archlinux.org/download/" title="Get Arch Linux">Download</a></li>
 				</ul>
 			</div>
diff --git a/web/template/login_form.php b/web/template/login_form.php
index c27e9ba..21bdaa7 100644
--- a/web/template/login_form.php
+++ b/web/template/login_form.php
@@ -32,7 +32,7 @@ else {
 ?>
 <span class='error'>
 	<?php printf(__("HTTP login is disabled. Please %sswitch to HTTPs%s if you want to login."),
-		'<a href="https://aur.archlinux.org' . htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES) . '">', '</a>'); ?>
+		'<a href="' . $AUR_LOCATION . htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES) . '">', '</a>'); ?>
 </span>
 <?php } ?>
 </div>
diff --git a/web/template/pkg_comment_form.php b/web/template/pkg_comment_form.php
index e52c92d..c6ed69a 100644
--- a/web/template/pkg_comment_form.php
+++ b/web/template/pkg_comment_form.php
@@ -35,9 +35,9 @@ if (isset($_REQUEST['comment'])) {
 		# Simply making these strings translatable won't work, users would be
 		# getting emails in the language that the user who posted the comment was in
 		$body =
-		'from https://aur.archlinux.org/packages.php?ID='
+		'from ' . $AUR_LOCATION . '/packages.php?ID='
 		. $_REQUEST['ID'] . "\n"
-		. username_from_sid($_COOKIE['AURSID']) . " wrote:\n\n"
+		. username_from_sid($_COOKIE['AURSID'], $dbh) . " wrote:\n\n"
 		. $_POST['comment']
 		. "\n\n---\nIf you no longer wish to receive notifications about this package, please go the the above package page and click the UnNotify button.";
 		$body = wordwrap($body, 70);
-- 
1.7.7



More information about the aur-dev mailing list