[aur-dev] [PATCH 3/3] Only output page header after account has been modified
Marcel Korpel
marcel.korpel at gmail.com
Sat Jul 11 16:58:00 UTC 2015
When a user account is modified, the 'My Account' link should contain
the new username, otherwise clicking it directly after editing a
username will result in a 404.
Signed-off-by: Marcel Korpel <marcel.korpel at gmail.com>
---
web/html/account.php | 12 +++++++++---
web/html/register.php | 8 +++-----
web/lib/acctfuncs.inc.php | 22 ++++++++++++++++++++++
3 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/web/html/account.php b/web/html/account.php
index 8545478..675e880 100644
--- a/web/html/account.php
+++ b/web/html/account.php
@@ -21,14 +21,20 @@ if (in_array($action, $need_userinfo)) {
if ($action == "AccountInfo") {
html_header(__('Account') . ' ' . $row['Username']);
-} else {
+} elseif ($action == "DisplayAccount" || $action == "DeleteAccount") {
html_header(__('Accounts'));
}
+// don't show header in case of UpdateAccount yet, as the username might be
+// changed and then the 'My Account' link has to contain the new username,
+// too
# Main page processing here
#
-echo "<div class=\"box\">\n";
-echo " <h2>".__("Accounts")."</h2>\n";
+if ($action != "UpdateAccount") {
+ // only show header when not processing a form
+ echo "<div class=\"box\">\n";
+ echo " <h2>".__("Accounts")."</h2>\n";
+}
if (isset($_COOKIE["AURSID"])) {
if ($action == "SearchAccounts") {
diff --git a/web/html/register.php b/web/html/register.php
index cb3e8dd..746974c 100644
--- a/web/html/register.php
+++ b/web/html/register.php
@@ -13,11 +13,6 @@ if (isset($_COOKIE["AURSID"])) {
exit();
}
-html_header(__('Register'));
-
-echo '<div class="box">';
-echo '<h2>' . __('Register') . '</h2>';
-
if (in_request("Action") == "NewAccount") {
process_account_form("new", "NewAccount", in_request("U"), 1, 0,
in_request("E"), '', '', in_request("R"),
@@ -25,6 +20,9 @@ if (in_request("Action") == "NewAccount") {
in_request("PK"));
} else {
+ html_header(__('Register'));
+ echo '<div class="box">';
+ echo '<h2>' . __('Register') . '</h2>';
print '<p>' . __("Use this form to create an account.") . '</p>';
display_account_form("NewAccount", "", "", "", "", "", "", "", $LANG);
}
diff --git a/web/lib/acctfuncs.inc.php b/web/lib/acctfuncs.inc.php
index ad907df..e2ea547 100644
--- a/web/lib/acctfuncs.inc.php
+++ b/web/lib/acctfuncs.inc.php
@@ -89,6 +89,25 @@ function display_account_form($A,$U="",$T="",$S="",$E="",$P="",$C="",$R="",
}
/**
+ * Display header and open div of account page
+ *
+ * @param string $TYPE Either "edit" for editing or "new" for registering an account
+ *
+ * @return void
+ */
+function display_account_resultpage_header($TYPE) {
+ if ($TYPE == "edit") {
+ html_header(__('Accounts'));
+ echo '<div class="box">';
+ echo '<h2>' . __('Accounts') . '</h2>';
+ } else {
+ html_header(__('Register'));
+ echo '<div class="box">';
+ echo '<h2>' . __('Register') . '</h2>';
+ }
+}
+
+/**
* Process information given to new/edit account form
*
* @global array $SUPPORTED_LANGS Languages that are supported by the AUR
@@ -268,6 +287,7 @@ function process_account_form($TYPE,$A,$U="",$T="",$S="",$E="",$P="",$C="",
}
if ($error) {
+ display_account_resultpage_header($TYPE);
print "<ul class='errorlist'><li>".$error."</li></ul>\n";
display_account_form($A, $U, $T, $S, $E, "", "",
$R, $L, $I, $K, $PK, $J, $UID, $N);
@@ -298,6 +318,7 @@ function process_account_form($TYPE,$A,$U="",$T="",$S="",$E="",$P="",$C="",
$q.= "VALUES (1, 0, 0, $U, $E, $P, $salt, $R, $L, ";
$q.= "$I, $K)";
$result = $dbh->exec($q);
+ display_account_resultpage_header($TYPE);
if (!$result) {
print __("Error trying to create account, %s%s%s.",
"<strong>", htmlspecialchars($U,ENT_QUOTES), "</strong>");
@@ -370,6 +391,7 @@ function process_account_form($TYPE,$A,$U="",$T="",$S="",$E="",$P="",$C="",
$q.= ", InactivityTS = " . $inactivity_ts;
$q.= " WHERE ID = ".intval($UID);
$result = $dbh->exec($q);
+ display_account_resultpage_header($TYPE);
$ssh_key_result = account_set_ssh_keys($UID, $ssh_keys, $ssh_fingerprints);
--
2.4.5
More information about the aur-dev
mailing list