Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x

Conflicts:
	actions/apistatusesretweet.php
	actions/repeat.php
	classes/Notice.php
	lib/command.php
This commit is contained in:
Brion Vibber 2011-03-29 16:26:20 -07:00
commit 674e3c2a0e
10 changed files with 59 additions and 63 deletions

View File

@ -531,7 +531,7 @@ class RegisterAction extends Action
$this->elementEnd('li');
}
$this->elementEnd('ul');
// TRANS: Botton text to register a user on account registration page.
// TRANS: Button text to register a user on account registration page.
$this->submit('submit', _m('BUTTON','Register'));
$this->elementEnd('fieldset');
$this->elementEnd('form');

View File

@ -103,6 +103,7 @@ class ShownoticeAction extends OwnerDesignAction
}
if (!$this->notice->inScope($curProfile)) {
// TRANS: Client exception thrown when trying a view a notice the user has no access to.
throw new ClientException(_('Not available.'), 403);
}

View File

@ -384,7 +384,9 @@ class Notice extends Memcached_DataObject
if (!empty($notice->reply_to)) {
$reply = Notice::staticGet('id', $notice->reply_to);
if (!$reply->inScope($profile)) {
throw new ClientException(sprintf(_("%s has no access to notice %d"),
// TRANS: Client error displayed when trying to reply to a notice a the target has no access to.
// TRANS: %1$s is a user nickname, %2$d is a notice ID (number).
throw new ClientException(sprintf(_('%1$s has no access to notice %2$d.'),
$profile->nickname, $reply->id), 403);
}
$notice->conversation = $reply->conversation;
@ -2090,7 +2092,6 @@ class Notice extends Memcached_DataObject
*
* @return boolean whether the profile is in the notice's scope
*/
function inScope($profile)
{
// If there's no scope, anyone (even anon) is in scope.

View File

@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class ConversationNoticeStream extends ScopingNoticeStream
{
function __construct($id)
@ -64,7 +63,6 @@ class ConversationNoticeStream extends ScopingNoticeStream
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class RawConversationNoticeStream extends NoticeStream
{
protected $id;

View File

@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class FaveNoticeStream extends ScopingNoticeStream
{
function __construct($user_id, $own)
@ -69,7 +68,6 @@ class FaveNoticeStream extends ScopingNoticeStream
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class RawFaveNoticeStream extends NoticeStream
{
protected $user_id;

View File

@ -51,19 +51,15 @@ if (!defined('STATUSNET')) {
* @see NoticeList
* @see ProfileNoticeListItem
*/
class NoticeListItem extends Widget
{
/** The notice this item will show. */
var $notice = null;
/** The notice that was repeated. */
var $repeat = null;
/** The profile of the author of the notice, extracted once for convenience. */
var $profile = null;
/**
@ -73,7 +69,6 @@ class NoticeListItem extends Widget
*
* @param Notice $notice The notice we'll display
*/
function __construct($notice, $out=null)
{
parent::__construct($out);
@ -99,7 +94,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function show()
{
if (empty($this->notice)) {
@ -165,7 +159,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showStart()
{
if (Event::handle('StartOpenNoticeListItemElement', array($this))) {
@ -185,7 +178,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showFaveForm()
{
if (Event::handle('StartShowFaveForm', array($this))) {
@ -210,7 +202,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showAuthor()
{
$this->out->elementStart('span', 'vcard author');
@ -235,7 +226,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showAvatar()
{
$avatar_size = $this->avatarSize();
@ -266,7 +256,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showNickname()
{
$this->out->raw('<span class="nickname fn">' .
@ -283,7 +272,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showContent()
{
// FIXME: URL, image, video, audio
@ -314,7 +302,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showNoticeLink()
{
$noticeurl = $this->notice->bestUrl();
@ -342,7 +329,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showNoticeLocation()
{
$id = $this->notice->id;
@ -423,7 +409,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showNoticeSource()
{
$ns = $this->notice->getSource();
@ -479,7 +464,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showContext()
{
if ($this->notice->hasConversation()) {
@ -514,7 +498,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showRepeat()
{
if (!empty($this->repeat)) {
@ -548,7 +531,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showReplyLink()
{
if (common_logged_in()) {
@ -570,7 +552,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showDeleteLink()
{
$user = common_current_user();
@ -593,7 +574,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showRepeatForm()
{
if ($this->notice->scope == Notice::PUBLIC_SCOPE ||
@ -605,7 +585,9 @@ class NoticeListItem extends Widget
$profile = $user->getProfile();
if ($profile->hasRepeated($this->notice->id)) {
$this->out->element('span', array('class' => 'repeated',
'title' => _('Notice repeated')),
// TRANS: Title for repeat form status in notice list when a notice has been repeated.
'title' => _('Notice repeated.')),
// TRANS: Repeat form status in notice list when a notice has been repeated.
_('Repeated'));
} else {
$rf = new RepeatForm($this->out, $this->notice);
@ -622,7 +604,6 @@ class NoticeListItem extends Widget
*
* @return void
*/
function showEnd()
{
if (Event::handle('StartCloseNoticeListItemElement', array($this))) {

View File

@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class ToSelector extends Widget
{
protected $user;
@ -84,10 +83,13 @@ class ToSelector extends Widget
$default = 'public:site';
if (!common_config('site', 'private')) {
$choices['public:everyone'] = _('Everyone');
// TRANS: Option in drop-down of potential addressees.
$choices['public:everyone'] = _m('SENDTO','Everyone');
$default = 'public:everyone';
}
// XXX: better name...?
// TRANS: Option in drop-down of potential addressees.
// TRANS: %s is a StatusNet sitename.
$choices['public:site'] = sprintf(_('My colleagues at %s'), common_config('site', 'name'));
$groups = $this->user->getGroups();
@ -109,13 +111,15 @@ class ToSelector extends Widget
}
$this->out->dropdown($this->id,
_('To:'),
// TRANS: Label for drop-down of potential addressees.
_m('LABEL','To:'),
$choices,
null,
false,
$default);
$this->out->checkbox('notice_private',
// TRANS: Checkbox label in widget for selecting potential addressees to mark the notice private.
_('Private'),
$this->private);
}
@ -149,7 +153,8 @@ class ToSelector extends Widget
}
break;
default:
throw new ClientException('Unknown to value: ' . toArg);
// TRANS: Client exception thrown in widget for selecting potential addressees when an invalid fill option was received.
throw new ClientException(sprintf(_('Unknown to value: "%s".'),$toArg));
break;
}
}

View File

@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class ShowbookmarkAction extends ShownoticeAction
{
protected $bookmark = null;
@ -56,7 +55,6 @@ class ShowbookmarkAction extends ShownoticeAction
*
* @return boolean true
*/
function prepare($argarray)
{
OwnerDesignAction::prepare($argarray);
@ -66,14 +64,16 @@ class ShowbookmarkAction extends ShownoticeAction
$this->bookmark = Bookmark::staticGet('id', $this->id);
if (empty($this->bookmark)) {
throw new ClientException(_('No such bookmark.'), 404);
// TRANS: Client exception thrown when referring to a non-existing bookmark.
throw new ClientException(_m('No such bookmark.'), 404);
}
$this->notice = Notice::staticGet('uri', $this->bookmark->uri);
if (empty($this->notice)) {
// Did we used to have it, and it got deleted?
throw new ClientException(_('No such bookmark.'), 404);
// TRANS: Client exception thrown when referring to a non-existing bookmark.
throw new ClientException(_m('No such bookmark.'), 404);
}
if (!empty($cur)) {
@ -83,19 +83,22 @@ class ShowbookmarkAction extends ShownoticeAction
}
if (!$this->notice->inScope($curProfile)) {
throw new ClientException(_('Not available.'), 403);
// TRANS: Client exception thrown when referring to a bookmark the user has no access to.
throw new ClientException(_m('Not available.'), 403);
}
$this->user = User::staticGet('id', $this->bookmark->profile_id);
if (empty($this->user)) {
throw new ClientException(_('No such user.'), 404);
// TRANS: Client exception thrown when referring to a bookmark for a non-existing user.
throw new ClientException(_m('No such user.'), 404);
}
$this->profile = $this->user->getProfile();
if (empty($this->profile)) {
throw new ServerException(_('User without a profile.'));
// TRANS: Client exception thrown when referring to a bookmark for a non-existing profile.
throw new ServerException(_m('User without a profile.'));
}
$this->avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
@ -110,10 +113,11 @@ class ShowbookmarkAction extends ShownoticeAction
*
* @return string page tile
*/
function title()
{
return sprintf(_('%s\'s bookmark for "%s"'),
// TRANS: Title for bookmark.
// TRANS: %1$s is a user nickname, %2$s is a bookmark title.
return sprintf(_('%1s$\'s bookmark for "%2$s"'),
$this->user->nickname,
$this->bookmark->title);
}
@ -123,7 +127,6 @@ class ShowbookmarkAction extends ShownoticeAction
*
* @return void
*/
function showPageTitle()
{
$this->elementStart('h1');

View File

@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class ShoweventAction extends ShownoticeAction
{
protected $id = null;
@ -57,7 +56,6 @@ class ShoweventAction extends ShownoticeAction
*
* @return boolean true
*/
function prepare($argarray)
{
OwnerDesignAction::prepare($argarray);
@ -67,14 +65,16 @@ class ShoweventAction extends ShownoticeAction
$this->event = Happening::staticGet('id', $this->id);
if (empty($this->event)) {
throw new ClientException(_('No such event.'), 404);
// TRANS: Client exception thrown when referring to a non-existing event.
throw new ClientException(_m('No such event.'), 404);
}
$this->notice = $this->event->getNotice();
if (empty($this->notice)) {
// Did we used to have it, and it got deleted?
throw new ClientException(_('No such event.'), 404);
// TRANS: Client exception thrown when referring to a non-existing event.
throw new ClientException(_m('No such event.'), 404);
}
$cur = common_current_user();
@ -86,19 +86,22 @@ class ShoweventAction extends ShownoticeAction
}
if (!$this->notice->inScope($curProfile)) {
throw new ClientException(_('Not available.'), 403);
// TRANS: Client exception thrown when referring to an event the user has no access to.
throw new ClientException(_m('Not available.'), 403);
}
$this->user = User::staticGet('id', $this->event->profile_id);
if (empty($this->user)) {
throw new ClientException(_('No such user.'), 404);
// TRANS: Client exception thrown when referring to a non-existing user.
throw new ClientException(_m('No such user.'), 404);
}
$this->profile = $this->user->getProfile();
if (empty($this->profile)) {
throw new ServerException(_('User without a profile.'));
// TRANS: Server exception thrown when referring to a user without a profile.
throw new ServerException(_m('User without a profile.'));
}
$this->avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
@ -113,7 +116,6 @@ class ShoweventAction extends ShownoticeAction
*
* @return string page tile
*/
function title()
{
return $this->event->title;

View File

@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class ShowrsvpAction extends ShownoticeAction
{
protected $rsvp = null;
@ -57,7 +56,6 @@ class ShowrsvpAction extends ShownoticeAction
*
* @return boolean true
*/
function prepare($argarray)
{
OwnerDesignAction::prepare($argarray);
@ -67,20 +65,25 @@ class ShowrsvpAction extends ShownoticeAction
$this->rsvp = RSVP::staticGet('id', $this->id);
if (empty($this->rsvp)) {
throw new ClientException(_('No such RSVP.'), 404);
// TRANS: Client exception thrown when referring to a non-existing RSVP.
// TRANS: RSVP stands for "Please reply".
throw new ClientException(_m('No such RSVP.'), 404);
}
$this->event = $this->rsvp->getEvent();
if (empty($this->event)) {
throw new ClientException(_('No such Event.'), 404);
// TRANS: Client exception thrown when referring to a non-existing event.
throw new ClientException(_m('No such Event.'), 404);
}
$this->notice = $this->rsvp->getNotice();
if (empty($this->notice)) {
// Did we used to have it, and it got deleted?
throw new ClientException(_('No such RSVP.'), 404);
// TRANS: Client exception thrown when referring to a non-existing RSVP.
// TRANS: RSVP stands for "Please reply".
throw new ClientException(_m('No such RSVP.'), 404);
}
$cur = common_current_user();
@ -92,19 +95,22 @@ class ShowrsvpAction extends ShownoticeAction
}
if (!$this->notice->inScope($curProfile)) {
throw new ClientException(_('Not available.'), 403);
// TRANS: Client exception thrown when referring to an event the user has no access to.
throw new ClientException(_m('Not available.'), 403);
}
$this->user = User::staticGet('id', $this->rsvp->profile_id);
if (empty($this->user)) {
throw new ClientException(_('No such user.'), 404);
// TRANS: Client exception thrown when referring to a non-existing user.
throw new ClientException(_m('No such user.'), 404);
}
$this->profile = $this->user->getProfile();
if (empty($this->profile)) {
throw new ServerException(_('User without a profile.'));
// TRANS: Server exception thrown when referring to a user without a profile.
throw new ServerException(_m('User without a profile.'));
}
$this->avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
@ -119,10 +125,11 @@ class ShowrsvpAction extends ShownoticeAction
*
* @return string page tile
*/
function title()
{
return sprintf(_('%s\'s RSVP for "%s"'),
// TRANS: Title for event.
// TRANS: %1$s is a user nickname, %2$s is an event title.
return sprintf(_('%1$s\'s RSVP for "%2$s"'),
$this->user->nickname,
$this->event->title);
}