add returnto information to the block form

darcs-hash:20081208170931-5ed1f-e7c5853e6a222b04723f20c01ebaae15eeab3687.gz
This commit is contained in:
Evan Prodromou 2008-12-08 12:09:31 -05:00
parent 5327d3f7ba
commit 17fd7b1850
3 changed files with 37 additions and 5 deletions

View File

@ -95,6 +95,12 @@ class BlockAction extends Action {
'type' => 'hidden',
'value' => $id));
foreach ($this->args as $k => $v) {
if (substr($k, 0, 9) == 'returnto-') {
common_hidden($k, $v);
}
}
common_submit('no', _('No'));
common_submit('yes', _('Yes'));
@ -147,7 +153,21 @@ class BlockAction extends Action {
$block->query('COMMIT');
common_redirect(common_local_url('subscribers',
array('nickname' => $cur->nickname)));
# Now, gotta figure where we go back to
foreach ($this->args as $k => $v) {
if ($k == 'returnto-action') {
$action = $v;
} else if (substr($k, 0, 9) == 'returnto-') {
$args[$k] = substr($k, 9);
}
}
if ($action) {
common_redirect(common_local_url($action, $args));
} else {
common_redirect(common_local_url('subscriptions',
array('nickname' => $cur->nickname)));
}
}
}

View File

@ -203,8 +203,15 @@ class ShowstreamAction extends StreamAction {
common_profile_new_message_nudge($cur, $user, $profile);
if ($cur) {
common_element_start('li', array('id' => 'profile_block'));
common_block_form($profile);
$blocked = $cur->hasBlocked($profile);
common_element_start('li', array('id' => ($blocked) ? 'profile_unblock' : 'profile_block'));
if ($blocked) {
# common_unblock_form($profile, array('action' => 'showstream',
# 'nickname' => $profile->nickname));
} else {
common_block_form($profile, array('action' => 'showstream',
'nickname' => $profile->nickname));
}
common_element_end('li');
}

View File

@ -2185,7 +2185,7 @@ function common_compatible_license($from, $to) {
return ($from == $to);
}
function common_block_form($profile) {
function common_block_form($profile, $args=NULL) {
common_element_start('form', array('id' => 'block-' . $profile->id,
'method' => 'post',
'class' => 'block',
@ -2199,6 +2199,11 @@ function common_block_form($profile) {
'class' => 'submit',
'name' => 'block',
'value' => _('Block')));
if ($args) {
foreach ($args as $k => $v) {
common_hidden('returnto-' . $k, $v);
}
}
common_element_end('form');
return;
}