posting from a form takes you back to the same page

darcs-hash:20080619161814-5ed1f-5add55346470e71a53a676d39617062acc0f19bf.gz
This commit is contained in:
Evan Prodromou 2008-06-19 12:18:14 -04:00
parent 912947c690
commit 50c7e4c722
5 changed files with 21 additions and 8 deletions

View File

@ -65,7 +65,7 @@ class AllAction extends StreamAction {
$cur = common_current_user(); $cur = common_current_user();
if ($cur && $cur->id == $user->id) { if ($cur && $cur->id == $user->id) {
common_notice_form(); common_notice_form('all');
} }
$this->views_menu(); $this->views_menu();

View File

@ -69,15 +69,25 @@ class NewnoticeAction extends Action {
} }
common_broadcast_notice($notice); common_broadcast_notice($notice);
common_redirect(common_local_url('shownotice', $returnto = $this->trimmed('returnto');
array('notice' => $id)), 303); if ($returnto) {
$url = common_local_url($returnto,
array('nickname' => $user->nickname));
} else {
$url = common_local_url('shownotice',
array('notice' => $id));
}
common_redirect($url, 303);
} }
function show_form($msg=NULL) { function show_top($msg=NULL) {
common_show_header(_t('New notice'));
if ($msg) { if ($msg) {
common_element('div', 'error', $msg); common_element('div', 'error', $msg);
} }
}
function show_form($msg=NULL) {
common_show_header(_t('New notice'), NULL, $msg, array($this, 'show_top'));
common_notice_form(); common_notice_form();
common_show_footer(); common_show_footer();
} }

View File

@ -43,7 +43,7 @@ class PublicAction extends StreamAction {
function show_top() { function show_top() {
if (common_logged_in()) { if (common_logged_in()) {
common_notice_form(); common_notice_form('public');
} }
} }

View File

@ -68,7 +68,7 @@ class ShowstreamAction extends StreamAction {
$cur = common_current_user(); $cur = common_current_user();
if ($cur && $cur->id == $user->id) { if ($cur && $cur->id == $user->id) {
common_notice_form(); common_notice_form('showstream');
} }
$this->views_menu(); $this->views_menu();

View File

@ -650,7 +650,7 @@ function common_profile_url($nickname) {
# Don't call if nobody's logged in # Don't call if nobody's logged in
function common_notice_form() { function common_notice_form($action=NULL) {
$user = common_current_user(); $user = common_current_user();
assert(!is_null($user)); assert(!is_null($user));
common_element_start('form', array('id' => 'status_form', common_element_start('form', array('id' => 'status_form',
@ -663,6 +663,9 @@ function common_notice_form() {
common_element('textarea', array('id' => 'status_textarea', common_element('textarea', array('id' => 'status_textarea',
'name' => 'status_textarea'), 'name' => 'status_textarea'),
' '); ' ');
if ($action) {
common_hidden('returnto', $action);
}
common_element('input', array('id' => 'status_submit', common_element('input', array('id' => 'status_submit',
'name' => 'status_submit', 'name' => 'status_submit',
'type' => 'submit', 'type' => 'submit',