Merge branch 'master' of ../trunk

This commit is contained in:
sarven 2009-01-23 04:55:09 +00:00
commit 7afb2be83f
3 changed files with 79 additions and 32 deletions

View File

@ -90,17 +90,31 @@ class BlockAction extends Action
{ {
parent::handle($args); parent::handle($args);
if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($this->arg('block')) { if ($this->arg('no')) {
$this->areYouSureForm();
} else if ($this->arg('no')) {
$cur = common_current_user(); $cur = common_current_user();
common_redirect(common_local_url('subscribers', array('nickname' => $cur->nickname))); $other = Profile::staticGet('id', $this->arg('blockto'));
} else if ($this->arg('yes')) { common_redirect(common_local_url('showstream', array('nickname' => $other->nickname)));
} elseif ($this->arg('yes')) {
$this->blockProfile(); $this->blockProfile();
} elseif ($this->arg('blockto')) {
$this->showPage();
} }
} }
} }
function showContent() {
$this->areYouSureForm();
}
function title() {
return _('Block user');
}
function showNoticeForm() {
// nop
}
/** /**
* Confirm with user. * Confirm with user.
* *
@ -111,7 +125,6 @@ class BlockAction extends Action
function areYouSureForm() function areYouSureForm()
{ {
$id = $this->profile->id; $id = $this->profile->id;
common_show_header(_('Block user'));
$this->element('p', null, $this->element('p', null,
_('Are you sure you want to block this user? '. _('Are you sure you want to block this user? '.
'Afterwards, they will be unsubscribed from you, '. 'Afterwards, they will be unsubscribed from you, '.
@ -134,7 +147,6 @@ class BlockAction extends Action
$this->submit('no', _('No')); $this->submit('no', _('No'));
$this->submit('yes', _('Yes')); $this->submit('yes', _('Yes'));
$this->elementEnd('form'); $this->elementEnd('form');
common_show_footer();
} }
/** /**
@ -160,7 +172,7 @@ class BlockAction extends Action
foreach ($this->args as $k => $v) { foreach ($this->args as $k => $v) {
if ($k == 'returnto-action') { if ($k == 'returnto-action') {
$action = $v; $action = $v;
} else if (substr($k, 0, 9) == 'returnto-') { } elseif (substr($k, 0, 9) == 'returnto-') {
$args[substr($k, 9)] = $v; $args[substr($k, 9)] = $v;
} }
} }

View File

@ -1,5 +1,16 @@
<?php <?php
/* /**
* Unblock a user action class.
*
* PHP version 5
*
* @category Action
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @author Robin Millette <millette@controlyourself.ca>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://laconi.ca/
*
* Laconica - a distributed open-source microblogging tool * Laconica - a distributed open-source microblogging tool
* Copyright (C) 2008, Controlez-Vous, Inc. * Copyright (C) 2008, Controlez-Vous, Inc.
* *
@ -17,67 +28,86 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
if (!defined('LACONICA')) { exit(1); } if (!defined('LACONICA')) {
exit(1);
}
/**
* Unblock a user action class.
*
* @category Action
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @author Robin Millette <millette@controlyourself.ca>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://laconi.ca/
*/
class UnblockAction extends Action class UnblockAction extends Action
{ {
var $profile = null; var $profile = null;
/**
* Take arguments for running
*
* @param array $args $_REQUEST args
*
* @return boolean success flag
*/
function prepare($args) function prepare($args)
{ {
parent::prepare($args); parent::prepare($args);
if (!common_logged_in()) { if (!common_logged_in()) {
$this->clientError(_('Not logged in.')); $this->clientError(_('Not logged in.'));
return false; return false;
} }
$token = $this->trimmed('token'); $token = $this->trimmed('token');
if (!$token || $token != common_session_token()) { if (!$token || $token != common_session_token()) {
$this->clientError(_('There was a problem with your session token. Try again, please.')); $this->clientError(_('There was a problem with your session token. Try again, please.'));
return; return;
} }
$id = $this->trimmed('unblockto'); $id = $this->trimmed('unblockto');
if (!$id) { if (!$id) {
$this->clientError(_('No profile specified.')); $this->clientError(_('No profile specified.'));
return false; return false;
} }
$this->profile = Profile::staticGet('id', $id); $this->profile = Profile::staticGet('id', $id);
if (!$this->profile) { if (!$this->profile) {
$this->clientError(_('No profile with that ID.')); $this->clientError(_('No profile with that ID.'));
return false; return false;
} }
return true; return true;
} }
/**
* Handle request
*
* Shows a page with list of favorite notices
*
* @param array $args $_REQUEST args; handled in prepare()
*
* @return void
*/
function handle($args) function handle($args)
{ {
parent::handle($args); parent::handle($args);
if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$this->unblock_profile(); $this->unblockProfile();
} }
} }
function unblock_profile() /**
* Unblock a user.
*
* @return void
*/
function unblockProfile()
{ {
$cur = common_current_user();
$cur = common_current_user();
$result = $cur->unblock($this->profile); $result = $cur->unblock($this->profile);
if (!$result) { if (!$result) {
$this->serverError(_('Error removing the block.')); $this->serverError(_('Error removing the block.'));
return; return;
} }
foreach ($this->args as $k => $v) { foreach ($this->args as $k => $v) {
if ($k == 'returnto-action') { if ($k == 'returnto-action') {
$action = $v; $action = $v;
@ -85,7 +115,6 @@ class UnblockAction extends Action
$args[substr($k, 9)] = $v; $args[substr($k, 9)] = $v;
} }
} }
if ($action) { if ($action) {
common_redirect(common_local_url($action, $args)); common_redirect(common_local_url($action, $args));
} else { } else {
@ -94,3 +123,4 @@ class UnblockAction extends Action
} }
} }
} }

View File

@ -274,14 +274,19 @@ class NoticeListItem extends Widget
function showAvatar() function showAvatar()
{ {
$avatar = $this->profile->getAvatar(AVATAR_STREAM_SIZE); if ('shownotice' === $this->out->trimmed('action')) {
$avatar_size = AVATAR_PROFILE_SIZE;
} else {
$avatar_size = AVATAR_STREAM_SIZE;
}
$avatar = $this->profile->getAvatar($avatar_size);
$this->out->element('img', array('src' => ($avatar) ? $this->out->element('img', array('src' => ($avatar) ?
common_avatar_display_url($avatar) : common_avatar_display_url($avatar) :
common_default_avatar(AVATAR_STREAM_SIZE), common_default_avatar($avatar_size),
'class' => 'avatar photo', 'class' => 'avatar photo',
'width' => AVATAR_STREAM_SIZE, 'width' => $avatar_size,
'height' => AVATAR_STREAM_SIZE, 'height' => $avatar_size,
'alt' => 'alt' =>
($this->profile->fullname) ? ($this->profile->fullname) ?
$this->profile->fullname : $this->profile->fullname :