summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-04-01 15:30:59 -0400
committerEvan Prodromou <evan@controlyourself.ca>2009-04-01 15:30:59 -0400
commitc172cbafaa9ba17ff8ca5c6dd07741bd0de96871 (patch)
treebc4d14b74e195e2f22e5e59d82d9ac95308a8e43
parent88bcef127ffb5b906f4196977b64cd096126b946 (diff)
Try to do intelligent redirect codes
After fixing the redirect code output, there are a lot of weirdnesses with e.g. form handling. Try to add explicit redirect codes where needed -- principly when handling a POST.
-rw-r--r--actions/block.php11
-rw-r--r--actions/deletenotice.php2
-rw-r--r--actions/disfavor.php5
-rw-r--r--actions/editgroup.php3
-rw-r--r--actions/favor.php7
-rw-r--r--actions/finishaddopenid.php2
-rw-r--r--actions/finishopenidlogin.php5
-rw-r--r--actions/finishremotesubscribe.php3
-rw-r--r--actions/joingroup.php3
-rw-r--r--actions/leavegroup.php3
-rw-r--r--actions/login.php2
-rw-r--r--actions/logout.php8
-rw-r--r--actions/newgroup.php2
-rw-r--r--actions/nudge.php7
-rw-r--r--actions/remotesubscribe.php4
-rw-r--r--actions/smssettings.php3
-rw-r--r--actions/subedit.php3
-rw-r--r--actions/subscribe.php3
-rw-r--r--actions/tag.php4
-rw-r--r--actions/tagother.php3
-rw-r--r--actions/unblock.php5
-rw-r--r--actions/unsubscribe.php3
-rw-r--r--lib/openid.php2
-rw-r--r--lib/settingsaction.php4
24 files changed, 56 insertions, 41 deletions
diff --git a/actions/block.php b/actions/block.php
index e77b634c8..34f991dc6 100644
--- a/actions/block.php
+++ b/actions/block.php
@@ -93,7 +93,8 @@ class BlockAction extends Action
if ($this->arg('no')) {
$cur = common_current_user();
$other = Profile::staticGet('id', $this->arg('blockto'));
- common_redirect(common_local_url('showstream', array('nickname' => $other->nickname)));
+ common_redirect(common_local_url('showstream', array('nickname' => $other->nickname)),
+ 303);
} elseif ($this->arg('yes')) {
$this->blockProfile();
} elseif ($this->arg('blockto')) {
@@ -102,7 +103,6 @@ class BlockAction extends Action
}
}
-
function showContent() {
$this->areYouSureForm();
}
@@ -110,7 +110,7 @@ class BlockAction extends Action
function title() {
return _('Block user');
}
-
+
function showNoticeForm() {
// nop
}
@@ -178,10 +178,11 @@ class BlockAction extends Action
}
if ($action) {
- common_redirect(common_local_url($action, $args));
+ common_redirect(common_local_url($action, $args), 303);
} else {
common_redirect(common_local_url('subscriptions',
- array('nickname' => $cur->nickname)));
+ array('nickname' => $cur->nickname)),
+ 303);
}
}
}
diff --git a/actions/deletenotice.php b/actions/deletenotice.php
index 16e2df889..6c350b33a 100644
--- a/actions/deletenotice.php
+++ b/actions/deletenotice.php
@@ -141,6 +141,6 @@ class DeletenoticeAction extends DeleteAction
$url = common_local_url('public');
}
- common_redirect($url);
+ common_redirect($url, 303);
}
}
diff --git a/actions/disfavor.php b/actions/disfavor.php
index 90bab3cca..bc13b09da 100644
--- a/actions/disfavor.php
+++ b/actions/disfavor.php
@@ -49,7 +49,7 @@ class DisfavorAction extends Action
{
/**
* Class handler.
- *
+ *
* @param array $args query arguments
*
* @return void
@@ -100,7 +100,8 @@ class DisfavorAction extends Action
$this->elementEnd('html');
} else {
common_redirect(common_local_url('showfavorites',
- array('nickname' => $user->nickname)));
+ array('nickname' => $user->nickname)),
+ 303);
}
}
}
diff --git a/actions/editgroup.php b/actions/editgroup.php
index e7e79040a..39dad0465 100644
--- a/actions/editgroup.php
+++ b/actions/editgroup.php
@@ -166,7 +166,6 @@ class EditgroupAction extends Action
return;
}
-
$nickname = common_canonical_nickname($this->trimmed('nickname'));
$fullname = $this->trimmed('fullname');
$homepage = $this->trimmed('homepage');
@@ -221,7 +220,7 @@ class EditgroupAction extends Action
if ($this->group->nickname != $orig->nickname) {
common_redirect(common_local_url('editgroup',
array('nickname' => $nickname)),
- 307);
+ 303);
} else {
$this->showForm(_('Options saved.'));
}
diff --git a/actions/favor.php b/actions/favor.php
index 3940df688..3b7d979eb 100644
--- a/actions/favor.php
+++ b/actions/favor.php
@@ -52,7 +52,7 @@ class FavorAction extends Action
{
/**
* Class handler.
- *
+ *
* @param array $args query arguments
*
* @return void
@@ -100,13 +100,14 @@ class FavorAction extends Action
$this->elementEnd('html');
} else {
common_redirect(common_local_url('showfavorites',
- array('nickname' => $user->nickname)));
+ array('nickname' => $user->nickname)),
+ 303);
}
}
/**
* Notifies a user when his notice is favorited.
- *
+ *
* @param class $notice favorited notice
* @param class $user user declaring a favorite
*
diff --git a/actions/finishaddopenid.php b/actions/finishaddopenid.php
index 8f10505cf..32bceecfd 100644
--- a/actions/finishaddopenid.php
+++ b/actions/finishaddopenid.php
@@ -139,7 +139,7 @@ class FinishaddopenidAction extends Action
oid_set_last($display);
- common_redirect(common_local_url('openidsettings'));
+ common_redirect(common_local_url('openidsettings'), 303);
}
}
diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php
index 52d9be29c..952185742 100644
--- a/actions/finishopenidlogin.php
+++ b/actions/finishopenidlogin.php
@@ -271,7 +271,8 @@ class FinishopenidloginAction extends Action
common_rememberme($user);
}
unset($_SESSION['openid_rememberme']);
- common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)));
+ common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
+ 303);
}
function connectUser()
@@ -324,7 +325,7 @@ class FinishopenidloginAction extends Action
array('nickname' =>
$nickname));
}
- common_redirect($url);
+ common_redirect($url, 303);
}
function bestNewNickname($display, $sreg)
diff --git a/actions/finishremotesubscribe.php b/actions/finishremotesubscribe.php
index eaf57c2d8..d54c29a60 100644
--- a/actions/finishremotesubscribe.php
+++ b/actions/finishremotesubscribe.php
@@ -230,7 +230,8 @@ class FinishremotesubscribeAction extends Action
# show up close to the top of the page
common_redirect(common_local_url('subscribers', array('nickname' =>
- $user->nickname)));
+ $user->nickname)),
+ 303);
}
function add_avatar($profile, $url)
diff --git a/actions/joingroup.php b/actions/joingroup.php
index eeea4a37b..a5d82ddc7 100644
--- a/actions/joingroup.php
+++ b/actions/joingroup.php
@@ -143,7 +143,8 @@ class JoingroupAction extends Action
$this->elementEnd('html');
} else {
common_redirect(common_local_url('groupmembers', array('nickname' =>
- $this->group->nickname)));
+ $this->group->nickname)),
+ 303);
}
}
} \ No newline at end of file
diff --git a/actions/leavegroup.php b/actions/leavegroup.php
index eb30d0e50..215ccd901 100644
--- a/actions/leavegroup.php
+++ b/actions/leavegroup.php
@@ -147,7 +147,8 @@ class LeavegroupAction extends Action
$this->elementEnd('html');
} else {
common_redirect(common_local_url('groupmembers', array('nickname' =>
- $this->group->nickname)));
+ $this->group->nickname)),
+ 303);
}
}
}
diff --git a/actions/login.php b/actions/login.php
index b049791fb..59c6b4874 100644
--- a/actions/login.php
+++ b/actions/login.php
@@ -138,7 +138,7 @@ class LoginAction extends Action
$nickname));
}
- common_redirect($url);
+ common_redirect($url, 303);
}
/**
diff --git a/actions/logout.php b/actions/logout.php
index 3977f90a0..b7681be38 100644
--- a/actions/logout.php
+++ b/actions/logout.php
@@ -46,10 +46,10 @@ require_once INSTALLDIR.'/lib/openid.php';
*/
class LogoutAction extends Action
{
-
+
/**
* This is read only.
- *
+ *
* @return boolean true
*/
function isReadOnly()
@@ -59,7 +59,7 @@ class LogoutAction extends Action
/**
* Class handler.
- *
+ *
* @param array $args array of arguments
*
* @return nothing
@@ -73,7 +73,7 @@ class LogoutAction extends Action
common_set_user(null);
common_real_login(false); // not logged in
common_forgetme(); // don't log back in!
- common_redirect(common_local_url('public'));
+ common_redirect(common_local_url('public'), 303);
}
}
}
diff --git a/actions/newgroup.php b/actions/newgroup.php
index cbd8dfeec..67cd6b2f1 100644
--- a/actions/newgroup.php
+++ b/actions/newgroup.php
@@ -193,7 +193,7 @@ class NewgroupAction extends Action
$group->query('COMMIT');
- common_redirect($group->homeUrl(), 307);
+ common_redirect($group->homeUrl(), 303);
}
function nicknameExists($nickname)
diff --git a/actions/nudge.php b/actions/nudge.php
index bc3d48478..b4e5e01dd 100644
--- a/actions/nudge.php
+++ b/actions/nudge.php
@@ -50,7 +50,7 @@ class NudgeAction extends Action
{
/**
* Class handler.
- *
+ *
* @param array $args array of arguments
*
* @return nothing
@@ -75,7 +75,7 @@ class NudgeAction extends Action
// CSRF protection
$token = $this->trimmed('token');
-
+
if (!$token || $token != common_session_token()) {
$this->clientError(_('There was a problem with your session token. Try again, please.'));
return;
@@ -100,7 +100,8 @@ class NudgeAction extends Action
} else {
// display a confirmation to the user
common_redirect(common_local_url('showstream',
- array('nickname' => $other->nickname)));
+ array('nickname' => $other->nickname)),
+ 303);
}
}
diff --git a/actions/remotesubscribe.php b/actions/remotesubscribe.php
index af130f425..2e721a38b 100644
--- a/actions/remotesubscribe.php
+++ b/actions/remotesubscribe.php
@@ -99,7 +99,7 @@ class RemotesubscribeAction extends Action
$this->elementStart('fieldset');
$this->element('legend', 'Subscribe to a remote user');
$this->hidden('token', common_session_token());
-
+
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->input('nickname', _('User nickname'), $this->nickname,
@@ -407,7 +407,7 @@ class RemotesubscribeAction extends Action
# Redirect to authorization service
- common_redirect($req->to_url());
+ common_redirect($req->to_url(), 303);
return;
}
}
diff --git a/actions/smssettings.php b/actions/smssettings.php
index a5f75d266..922bab9a4 100644
--- a/actions/smssettings.php
+++ b/actions/smssettings.php
@@ -488,7 +488,8 @@ class SmssettingsAction extends ConnectSettingsAction
}
common_redirect(common_local_url('confirmaddress',
- array('code' => $code)));
+ array('code' => $code)),
+ 303);
}
/**
diff --git a/actions/subedit.php b/actions/subedit.php
index 89081ffc7..8ca2d7914 100644
--- a/actions/subedit.php
+++ b/actions/subedit.php
@@ -85,7 +85,8 @@ class SubeditAction extends Action
}
common_redirect(common_local_url('subscriptions',
- array('nickname' => $cur->nickname)));
+ array('nickname' => $cur->nickname)),
+ 303);
}
}
}
diff --git a/actions/subscribe.php b/actions/subscribe.php
index f761992de..0bc522867 100644
--- a/actions/subscribe.php
+++ b/actions/subscribe.php
@@ -75,7 +75,8 @@ class SubscribeAction extends Action
$this->elementEnd('html');
} else {
common_redirect(common_local_url('subscriptions', array('nickname' =>
- $user->nickname)));
+ $user->nickname)),
+ 303);
}
}
}
diff --git a/actions/tag.php b/actions/tag.php
index 231f2c299..d15f64498 100644
--- a/actions/tag.php
+++ b/actions/tag.php
@@ -33,7 +33,9 @@ class TagAction extends Action
}
if ($this->tag != $taginput) {
- common_redirect(common_local_url('tag', array('tag' => $this->tag)));
+ common_redirect(common_local_url('tag', array('tag' => $this->tag)),
+ 301);
+ return false;
}
$this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
diff --git a/actions/tagother.php b/actions/tagother.php
index 0d18945a0..0c5bb7cf3 100644
--- a/actions/tagother.php
+++ b/actions/tagother.php
@@ -221,7 +221,8 @@ class TagotherAction extends Action
$this->elementEnd('html');
} else {
common_redirect(common_local_url($action, array('nickname' =>
- $user->nickname)));
+ $user->nickname)),
+ 303);
}
}
diff --git a/actions/unblock.php b/actions/unblock.php
index bad496353..8573b2a87 100644
--- a/actions/unblock.php
+++ b/actions/unblock.php
@@ -116,10 +116,11 @@ class UnblockAction extends Action
}
}
if ($action) {
- common_redirect(common_local_url($action, $args));
+ common_redirect(common_local_url($action, $args), 303);
} else {
common_redirect(common_local_url('subscriptions',
- array('nickname' => $cur->nickname)));
+ array('nickname' => $cur->nickname)),
+ 303);
}
}
}
diff --git a/actions/unsubscribe.php b/actions/unsubscribe.php
index b1e2b6425..7dcab04c0 100644
--- a/actions/unsubscribe.php
+++ b/actions/unsubscribe.php
@@ -77,7 +77,8 @@ class UnsubscribeAction extends Action
$this->elementEnd('html');
} else {
common_redirect(common_local_url('subscriptions', array('nickname' =>
- $user->nickname)));
+ $user->nickname)),
+ 303);
}
}
}
diff --git a/lib/openid.php b/lib/openid.php
index f3769c6fc..3af7a39cf 100644
--- a/lib/openid.php
+++ b/lib/openid.php
@@ -171,7 +171,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
} else if (Auth_OpenID::isFailure($redirect_url)) {
return sprintf(_('Could not redirect to server: %s'), $redirect_url->message);
} else {
- common_redirect($redirect_url);
+ common_redirect($redirect_url, 303);
}
} else {
// Generate form markup and render it.
diff --git a/lib/settingsaction.php b/lib/settingsaction.php
index 53c807c6f..db20c5804 100644
--- a/lib/settingsaction.php
+++ b/lib/settingsaction.php
@@ -78,9 +78,9 @@ class SettingsAction extends Action
common_set_returnto($this->selfUrl());
$user = common_current_user();
if ($user->hasOpenID()) {
- common_redirect(common_local_url('openidlogin'));
+ common_redirect(common_local_url('openidlogin'), 303);
} else {
- common_redirect(common_local_url('login'));
+ common_redirect(common_local_url('login'), 303);
}
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$this->handlePost();