* improve L10n consistency for English. For example proper punctuation for all button and label titles.
* fix some i18n bugs (in-message variables). * update/add translator documentation. * remove superfluous whitespace.
This commit is contained in:
parent
be682a3f8c
commit
a159352b65
|
@ -141,7 +141,7 @@ class ApiDirectMessageNewAction extends ApiAuthAction
|
|||
} else if (!$this->user->mutuallySubscribed($this->other)) {
|
||||
$this->clientError(
|
||||
// TRANS: Client error displayed trying to direct message another user who's not a friend (403).
|
||||
_('Can\'t send direct messages to users who aren\'t your friend.'),
|
||||
_('Cannot send direct messages to users who aren\'t your friend.'),
|
||||
403,
|
||||
$this->format
|
||||
);
|
||||
|
|
|
@ -99,7 +99,7 @@ class ApiOauthAccessTokenAction extends ApiOauthAction
|
|||
|
||||
common_log(LOG_WARNING, $msg);
|
||||
// TRANS: Client error given from the OAuth API when the request token or verifier is invalid.
|
||||
$this->clientError(_("Invalid request token or verifier."), 400, 'text');
|
||||
$this->clientError(_('Invalid request token or verifier.'), 400, 'text');
|
||||
} else {
|
||||
common_log(
|
||||
LOG_INFO,
|
||||
|
|
|
@ -141,7 +141,7 @@ class ApiStatusesShowAction extends ApiPrivateAuthAction
|
|||
default:
|
||||
// TRANS: Exception thrown requesting an unsupported notice output format.
|
||||
// TRANS: %s is the requested output format.
|
||||
throw new Exception(sprintf(_("Unsupported format: %s"), $this->format));
|
||||
throw new Exception(sprintf(_("Unsupported format: %s."), $this->format));
|
||||
}
|
||||
} else {
|
||||
// XXX: Twitter just sets a 404 header and doens't bother
|
||||
|
@ -224,7 +224,7 @@ class ApiStatusesShowAction extends ApiPrivateAuthAction
|
|||
{
|
||||
if ($this->format != 'atom') {
|
||||
// TRANS: Client error displayed when trying to delete a notice not using the Atom format.
|
||||
$this->clientError(_("Can only delete using the Atom format."));
|
||||
$this->clientError(_('Can only delete using the Atom format.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -329,7 +329,6 @@ class ApiTimelineUserAction extends ApiBareAuthAction
|
|||
$saved = null;
|
||||
|
||||
if (Event::handle('StartAtomPubNewActivity', array(&$activity, $this->user, &$saved))) {
|
||||
|
||||
if ($activity->verb != ActivityVerb::POST) {
|
||||
// TRANS: Client error displayed when not using the POST verb. Do not translate POST.
|
||||
$this->clientError(_('Can only handle POST activities.'));
|
||||
|
@ -405,6 +404,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction
|
|||
|
||||
if (!empty($notice)) {
|
||||
// TRANS: Client error displayed when using another format than AtomPub.
|
||||
// TRANS: %s is the notice URI.
|
||||
$this->clientError(sprintf(_('Notice with URI "%s" already exists.'),
|
||||
$note->id));
|
||||
return;
|
||||
|
|
|
@ -142,7 +142,6 @@ class AtompubshowmembershipAction extends ApiAuthAction
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function deleteMembership()
|
||||
{
|
||||
if (empty($this->auth_user) ||
|
||||
|
|
|
@ -211,7 +211,7 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||
array('id' => 'avatar_original',
|
||||
'class' => 'avatar_view'));
|
||||
// TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
|
||||
$this->element('h2', null, _("Original"));
|
||||
$this->element('h2', null, _('Original'));
|
||||
$this->elementStart('div', array('id'=>'avatar_original_view'));
|
||||
$this->element('img', array('src' => Avatar::url($this->filedata['filename']),
|
||||
'width' => $this->filedata['width'],
|
||||
|
@ -224,7 +224,7 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||
array('id' => 'avatar_preview',
|
||||
'class' => 'avatar_view'));
|
||||
// TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
|
||||
$this->element('h2', null, _("Preview"));
|
||||
$this->element('h2', null, _('Preview'));
|
||||
$this->elementStart('div', array('id'=>'avatar_preview_view'));
|
||||
$this->element('img', array('src' => Avatar::url($this->filedata['filename']),
|
||||
'width' => AVATAR_PROFILE_SIZE,
|
||||
|
@ -341,8 +341,8 @@ class AvatarsettingsAction extends AccountSettingsAction
|
|||
|
||||
$this->mode = 'crop';
|
||||
|
||||
// TRANS: Avatar upload form unstruction after uploading a file.
|
||||
$this->showForm(_('Pick a square area of the image to be your avatar'),
|
||||
// TRANS: Avatar upload form instruction after uploading a file.
|
||||
$this->showForm(_('Pick a square area of the image to be your avatar.'),
|
||||
true);
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ class BackupaccountAction extends Action
|
|||
function title()
|
||||
{
|
||||
// TRANS: Title for backup account page.
|
||||
return _("Backup account");
|
||||
return _('Backup account');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -249,6 +249,6 @@ class BackupAccountForm extends Form
|
|||
'submit',
|
||||
null,
|
||||
// TRANS: Title for submit button to backup an account on the backup account page.
|
||||
_('Backup your account'));
|
||||
_('Backup your account.'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -155,14 +155,14 @@ class BlockAction extends ProfileFormAction
|
|||
'submit form_action-primary',
|
||||
'no',
|
||||
// TRANS: Submit button title for 'No' when blocking a user.
|
||||
_('Do not block this user'));
|
||||
_('Do not block this user.'));
|
||||
$this->submit('form_action-yes',
|
||||
// TRANS: Button label on the user block form.
|
||||
_m('BUTTON','Yes'),
|
||||
'submit form_action-secondary',
|
||||
'yes',
|
||||
// TRANS: Submit button title for 'Yes' when blocking a user.
|
||||
_('Block this user'));
|
||||
_('Block this user.'));
|
||||
$this->elementEnd('fieldset');
|
||||
$this->elementEnd('form');
|
||||
}
|
||||
|
|
|
@ -158,13 +158,13 @@ class DeleteapplicationAction extends Action
|
|||
'submit form_action-primary',
|
||||
'no',
|
||||
// TRANS: Submit button title for 'No' when deleting an application.
|
||||
_('Do not delete this application'));
|
||||
_('Do not delete this application.'));
|
||||
$this->submit('form_action-yes',
|
||||
// TRANS: Button label on the delete application form.
|
||||
_m('BUTTON','Yes'),
|
||||
'submit form_action-secondary',
|
||||
// TRANS: Submit button title for 'Yes' when deleting an application.
|
||||
'yes', _('Delete this application'));
|
||||
'yes', _('Delete this application.'));
|
||||
$this->elementEnd('fieldset');
|
||||
$this->elementEnd('form');
|
||||
}
|
||||
|
|
|
@ -221,14 +221,14 @@ class DeletegroupAction extends RedirectingAction
|
|||
'submit form_action-primary',
|
||||
'no',
|
||||
// TRANS: Submit button title for 'No' when deleting a group.
|
||||
_('Do not delete this group'));
|
||||
_('Do not delete this group.'));
|
||||
$this->submit('form_action-yes',
|
||||
// TRANS: Button label on the delete group form.
|
||||
_m('BUTTON','Yes'),
|
||||
'submit form_action-secondary',
|
||||
'yes',
|
||||
// TRANS: Submit button title for 'Yes' when deleting a group.
|
||||
_('Delete this group'));
|
||||
_('Delete this group.'));
|
||||
$this->elementEnd('fieldset');
|
||||
$this->elementEnd('form');
|
||||
}
|
||||
|
|
|
@ -156,14 +156,14 @@ class DeletenoticeAction extends Action
|
|||
'submit form_action-primary',
|
||||
'no',
|
||||
// TRANS: Submit button title for 'No' when deleting a notice.
|
||||
_("Do not delete this notice"));
|
||||
_('Do not delete this notice.'));
|
||||
$this->submit('form_action-yes',
|
||||
// TRANS: Button label on the delete notice form.
|
||||
_m('BUTTON','Yes'),
|
||||
'submit form_action-secondary',
|
||||
'yes',
|
||||
// TRANS: Submit button title for 'Yes' when deleting a notice.
|
||||
_('Delete this notice'));
|
||||
_('Delete this notice.'));
|
||||
$this->elementEnd('fieldset');
|
||||
$this->elementEnd('form');
|
||||
}
|
||||
|
|
|
@ -155,14 +155,14 @@ class DeleteuserAction extends ProfileFormAction
|
|||
'submit form_action-primary',
|
||||
'no',
|
||||
// TRANS: Submit button title for 'No' when deleting a user.
|
||||
_('Do not delete this user'));
|
||||
_('Do not delete this user.'));
|
||||
$this->submit('form_action-yes',
|
||||
// TRANS: Button label on the delete user form.
|
||||
_m('BUTTON','Yes'),
|
||||
'submit form_action-secondary',
|
||||
'yes',
|
||||
// TRANS: Submit button title for 'Yes' when deleting a user.
|
||||
_('Delete this user'));
|
||||
_('Delete this user.'));
|
||||
$this->elementEnd('fieldset');
|
||||
$this->elementEnd('form');
|
||||
}
|
||||
|
|
|
@ -336,7 +336,7 @@ class DesignadminpanelAction extends AdminPanelAction
|
|||
if (!in_array($values['theme'], Theme::listAvailable())) {
|
||||
// TRANS: Client error displayed when a theme is submitted through the form that is not in the theme list.
|
||||
// TRANS: %s is the chosen unavailable theme.
|
||||
$this->clientError(sprintf(_("Theme not available: %s."), $values['theme']));
|
||||
$this->clientError(sprintf(_('Theme not available: %s.'), $values['theme']));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -443,7 +443,7 @@ class DesignAdminPanelForm extends AdminForm
|
|||
// TRANS: Field label for StatusNet site logo.
|
||||
_('Site logo'),
|
||||
// TRANS: Title for field label for StatusNet site logo.
|
||||
'Logo for the site (full URL)');
|
||||
'Logo for the site (full URL).');
|
||||
$this->unli();
|
||||
|
||||
$this->li();
|
||||
|
@ -451,7 +451,7 @@ class DesignAdminPanelForm extends AdminForm
|
|||
// TRANS: Field label for SSL StatusNet site logo.
|
||||
_('SSL logo'),
|
||||
// TRANS: Title for field label for SSL StatusNet site logo.
|
||||
'Logo to show on SSL pages');
|
||||
'Logo to show on SSL pages.');
|
||||
$this->unli();
|
||||
|
||||
$this->out->elementEnd('ul');
|
||||
|
@ -717,7 +717,7 @@ class DesignAdminPanelForm extends AdminForm
|
|||
// TRANS: Button text for resetting theme settings.
|
||||
$this->out->submit('defaults', _m('BUTTON','Use defaults'), 'submit form_action-default',
|
||||
// TRANS: Title for button for resetting theme settings.
|
||||
'defaults', _('Restore default designs'));
|
||||
'defaults', _('Restore default designs.'));
|
||||
|
||||
$this->out->element('input', array('id' => 'settings_design_reset',
|
||||
'type' => 'reset',
|
||||
|
@ -725,7 +725,7 @@ class DesignAdminPanelForm extends AdminForm
|
|||
'value' => 'Reset',
|
||||
'class' => 'submit form_action-primary',
|
||||
// TRANS: Title for button for resetting theme settings.
|
||||
'title' => _('Reset back to default')));
|
||||
'title' => _('Reset back to default.')));
|
||||
|
||||
$this->out->submit('save',
|
||||
// TRANS: Button text for saving theme settings.
|
||||
|
@ -733,6 +733,6 @@ class DesignAdminPanelForm extends AdminForm
|
|||
'submit form_action-secondary',
|
||||
'save',
|
||||
// TRANS: Title for button for saving theme settings.
|
||||
_('Save design'));
|
||||
_('Save design.'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -527,7 +527,7 @@ class EmailsettingsAction extends AccountSettingsAction
|
|||
if (!$user->updateKeys($orig)) {
|
||||
common_log_db_error($user, 'UPDATE', __FILE__);
|
||||
// TRANS: Server error thrown on database error removing incoming e-mail address.
|
||||
$this->serverError(_("Could not update user record."));
|
||||
$this->serverError(_('Could not update user record.'));
|
||||
}
|
||||
|
||||
// TRANS: Message given after successfully removing an incoming e-mail address.
|
||||
|
@ -551,7 +551,7 @@ class EmailsettingsAction extends AccountSettingsAction
|
|||
if (!$user->updateKeys($orig)) {
|
||||
common_log_db_error($user, 'UPDATE', __FILE__);
|
||||
// TRANS: Server error thrown on database error adding incoming e-mail address.
|
||||
$this->serverError(_("Could not update user record."));
|
||||
$this->serverError(_('Could not update user record.'));
|
||||
}
|
||||
|
||||
// TRANS: Message given after successfully adding an incoming e-mail address.
|
||||
|
|
|
@ -92,7 +92,7 @@ class FavorAction extends Action
|
|||
$this->startHTML('text/xml;charset=utf-8');
|
||||
$this->elementStart('head');
|
||||
// TRANS: Page title for page on which favorite notices can be unfavourited.
|
||||
$this->element('title', null, _('Disfavor favorite'));
|
||||
$this->element('title', null, _('Disfavor favorite.'));
|
||||
$this->elementEnd('head');
|
||||
$this->elementStart('body');
|
||||
$disfavor = new DisFavorForm($this, $notice);
|
||||
|
|
|
@ -188,14 +188,14 @@ class GroupblockAction extends RedirectingAction
|
|||
'submit form_action-primary',
|
||||
'no',
|
||||
// TRANS: Submit button title for 'No' when blocking a user from a group.
|
||||
_('Do not block this user from this group'));
|
||||
_('Do not block this user from this group.'));
|
||||
$this->submit('form_action-yes',
|
||||
// TRANS: Button label on the form to block a user from a group.
|
||||
_m('BUTTON','Yes'),
|
||||
'submit form_action-secondary',
|
||||
'yes',
|
||||
// TRANS: Submit button title for 'Yes' when blocking a user from a group.
|
||||
_('Block this user from this group'));
|
||||
_('Block this user from this group.'));
|
||||
$this->elementEnd('fieldset');
|
||||
$this->elementEnd('form');
|
||||
}
|
||||
|
|
|
@ -204,7 +204,7 @@ class GrouplogoAction extends GroupDesignAction
|
|||
$this->elementStart('li', array('id' => 'avatar_original',
|
||||
'class' => 'avatar_view'));
|
||||
// TRANS: Uploaded original file in group logo form.
|
||||
$this->element('h2', null, _("Original"));
|
||||
$this->element('h2', null, _('Original'));
|
||||
$this->elementStart('div', array('id'=>'avatar_original_view'));
|
||||
$this->element('img', array('src' => $this->group->original_logo,
|
||||
'alt' => $this->group->nickname));
|
||||
|
@ -216,7 +216,7 @@ class GrouplogoAction extends GroupDesignAction
|
|||
$this->elementStart('li', array('id' => 'avatar_preview',
|
||||
'class' => 'avatar_view'));
|
||||
// TRANS: Header for preview of to be displayed group logo.
|
||||
$this->element('h2', null, _("Preview"));
|
||||
$this->element('h2', null, _('Preview'));
|
||||
$this->elementStart('div', array('id'=>'avatar_preview_view'));
|
||||
$this->element('img', array('src' => $this->group->homepage_logo,
|
||||
'width' => AVATAR_PROFILE_SIZE,
|
||||
|
@ -267,7 +267,7 @@ class GrouplogoAction extends GroupDesignAction
|
|||
array('id' => 'avatar_original',
|
||||
'class' => 'avatar_view'));
|
||||
// TRANS: Header for originally uploaded file before a crop on the group logo page.
|
||||
$this->element('h2', null, _("Original"));
|
||||
$this->element('h2', null, _('Original'));
|
||||
$this->elementStart('div', array('id'=>'avatar_original_view'));
|
||||
$this->element('img', array('src' => Avatar::url($this->filedata['filename']),
|
||||
'width' => $this->filedata['width'],
|
||||
|
@ -280,7 +280,7 @@ class GrouplogoAction extends GroupDesignAction
|
|||
array('id' => 'avatar_preview',
|
||||
'class' => 'avatar_view'));
|
||||
// TRANS: Header for the cropped group logo on the group logo page.
|
||||
$this->element('h2', null, _("Preview"));
|
||||
$this->element('h2', null, _('Preview'));
|
||||
$this->elementStart('div', array('id'=>'avatar_preview_view'));
|
||||
$this->element('img', array('src' => Avatar::url($this->filedata['filename']),
|
||||
'width' => AVATAR_PROFILE_SIZE,
|
||||
|
|
|
@ -126,4 +126,4 @@ class InboxMessageListItem extends MessageListItem
|
|||
{
|
||||
return $this->message->getFrom();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,13 +42,11 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class LoginAction extends Action
|
||||
{
|
||||
/**
|
||||
* Has there been an error?
|
||||
*/
|
||||
|
||||
var $error = null;
|
||||
|
||||
/**
|
||||
|
@ -56,7 +54,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return boolean false
|
||||
*/
|
||||
|
||||
function isReadOnly($args)
|
||||
{
|
||||
return false;
|
||||
|
@ -69,7 +66,6 @@ class LoginAction extends Action
|
|||
* @param $args
|
||||
* @return string title
|
||||
*/
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
|
@ -93,7 +89,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
@ -117,7 +112,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function checkLogin($user_id=null, $token=null)
|
||||
{
|
||||
// XXX: login throttle
|
||||
|
@ -186,7 +180,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showForm($error=null)
|
||||
{
|
||||
$this->error = $error;
|
||||
|
@ -204,7 +197,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return string title of the page
|
||||
*/
|
||||
|
||||
function title()
|
||||
{
|
||||
return _('Login');
|
||||
|
@ -218,7 +210,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showPageNotice()
|
||||
{
|
||||
if ($this->error) {
|
||||
|
@ -238,7 +229,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showContent()
|
||||
{
|
||||
$this->elementStart('form', array('method' => 'post',
|
||||
|
@ -278,7 +268,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function getInstructions()
|
||||
{
|
||||
if (common_logged_in() && !common_is_real_login() &&
|
||||
|
@ -306,7 +295,6 @@ class LoginAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new LoginGroupNav($this);
|
||||
|
|
|
@ -166,6 +166,5 @@ class OauthappssettingsAction extends SettingsAction
|
|||
'Try again, please.'));
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,7 +64,6 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
|
|||
*
|
||||
* @return string Title of the page
|
||||
*/
|
||||
|
||||
function title()
|
||||
{
|
||||
// TRANS: Title for OAuth connection settings.
|
||||
|
@ -76,7 +75,6 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
|
|||
*
|
||||
* @return instructions for use
|
||||
*/
|
||||
|
||||
function getInstructions()
|
||||
{
|
||||
// TRANS: Instructions for OAuth connection settings.
|
||||
|
|
|
@ -61,7 +61,7 @@ class OembedAction extends Action
|
|||
$proxy_args = $r->map($path);
|
||||
|
||||
if (!$proxy_args) {
|
||||
$this->serverError(_("$path not found."), 404);
|
||||
$this->serverError(sprintf(_('"%s" not found.'),$path), 404);
|
||||
}
|
||||
$oembed=array();
|
||||
$oembed['version']='1.0';
|
||||
|
@ -73,7 +73,7 @@ class OembedAction extends Action
|
|||
$id = $proxy_args['notice'];
|
||||
$notice = Notice::staticGet($id);
|
||||
if(empty($notice)){
|
||||
$this->serverError(_("Notice $id not found."), 404);
|
||||
$this->serverError(sprintf(_("Notice %s not found."),$id), 404);
|
||||
}
|
||||
$profile = $notice->getProfile();
|
||||
if (empty($profile)) {
|
||||
|
@ -92,7 +92,7 @@ class OembedAction extends Action
|
|||
$id = $proxy_args['attachment'];
|
||||
$attachment = File::staticGet($id);
|
||||
if(empty($attachment)){
|
||||
$this->serverError(_("Attachment $id not found."), 404);
|
||||
$this->serverError(sprintf(_('Attachment %s not found.'),$id), 404);
|
||||
}
|
||||
if(empty($attachment->filename) && $file_oembed = File_oembed::staticGet('file_id', $attachment->id)){
|
||||
// Proxy the existing oembed information
|
||||
|
@ -133,7 +133,7 @@ class OembedAction extends Action
|
|||
if($attachment->title) $oembed['title']=$attachment->title;
|
||||
break;
|
||||
default:
|
||||
$this->serverError(_("$path not supported for oembed requests."), 501);
|
||||
$this->serverError(sprintf(_('"%s" not supported for oembed requests.'),$path), 501);
|
||||
}
|
||||
switch($args['format']){
|
||||
case 'xml':
|
||||
|
|
|
@ -189,6 +189,7 @@ class OthersettingsAction extends AccountSettingsAction
|
|||
|
||||
$user->query('COMMIT');
|
||||
|
||||
// TRANS: Confirmation message after saving preferences.
|
||||
$this->showForm(_('Preferences saved.'), true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
@ -43,7 +42,6 @@ require_once INSTALLDIR.'/lib/mailbox.php';
|
|||
* @link http://status.net/
|
||||
* @see MailboxAction
|
||||
*/
|
||||
|
||||
class OutboxAction extends MailboxAction
|
||||
{
|
||||
/**
|
||||
|
@ -51,13 +49,15 @@ class OutboxAction extends MailboxAction
|
|||
*
|
||||
* @return string page title
|
||||
*/
|
||||
|
||||
function title()
|
||||
{
|
||||
if ($this->page > 1) {
|
||||
// TRANS: Title for outbox for any but the fist page.
|
||||
// TRANS: %1$s is the user nickname, %2$d is the page number.
|
||||
return sprintf(_('Outbox for %1$s - page %2$d'),
|
||||
$this->user->nickname, $page);
|
||||
} else {
|
||||
// TRANS: Title for first page of outbox.
|
||||
return sprintf(_('Outbox for %s'), $this->user->nickname);
|
||||
}
|
||||
}
|
||||
|
@ -71,7 +71,6 @@ class OutboxAction extends MailboxAction
|
|||
*
|
||||
* @see MailboxAction::getMessages()
|
||||
*/
|
||||
|
||||
function getMessages()
|
||||
{
|
||||
$message = new Message();
|
||||
|
@ -98,9 +97,9 @@ class OutboxAction extends MailboxAction
|
|||
*
|
||||
* @return string localised instructions for using the page
|
||||
*/
|
||||
|
||||
function getInstructions()
|
||||
{
|
||||
// TRANS: Instructions for outbox.
|
||||
return _('This is your outbox, which lists private messages you have sent.');
|
||||
}
|
||||
}
|
||||
|
@ -124,4 +123,4 @@ class OutboxMessageListItem extends MessageListItem
|
|||
{
|
||||
return $this->message->getTo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -106,11 +106,11 @@ class PasswordsettingsAction extends AccountSettingsAction
|
|||
}
|
||||
$this->elementStart('li');
|
||||
$this->password('newpassword', _('New password'),
|
||||
_('6 or more characters'));
|
||||
_('6 or more characters.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$this->password('confirm', _('Confirm'),
|
||||
_('Same as password above'));
|
||||
_('Same as password above.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
|
||||
|
@ -128,7 +128,6 @@ class PasswordsettingsAction extends AccountSettingsAction
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function handlePost()
|
||||
{
|
||||
// CSRF protection
|
||||
|
@ -183,7 +182,7 @@ class PasswordsettingsAction extends AccountSettingsAction
|
|||
}
|
||||
|
||||
if (!$user->update($original)) {
|
||||
$this->serverError(_('Can\'t save new password.'));
|
||||
$this->serverError(_('Cannot save new password.'));
|
||||
return;
|
||||
}
|
||||
Event::handle('EndChangePassword', array($user));
|
||||
|
|
|
@ -161,14 +161,14 @@ class ProfilesettingsAction extends AccountSettingsAction
|
|||
$this->input('tags', _('Tags'),
|
||||
($this->arg('tags')) ? $this->arg('tags') : implode(' ', $user->getSelfTags()),
|
||||
// TRANS: Tooltip for field label in form for profile settings.
|
||||
_('Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated'));
|
||||
_('Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$language = common_language();
|
||||
// TRANS: Dropdownlist label in form for profile settings.
|
||||
$this->dropdown('language', _('Language'),
|
||||
// TRANS: Tooltip for dropdown list label in form for profile settings.
|
||||
get_nice_language_list(), _('Preferred language'),
|
||||
get_nice_language_list(), _('Preferred language.'),
|
||||
false, $language);
|
||||
$this->elementEnd('li');
|
||||
$timezone = common_timezone();
|
||||
|
@ -187,7 +187,7 @@ class ProfilesettingsAction extends AccountSettingsAction
|
|||
$this->checkbox('autosubscribe',
|
||||
// TRANS: Checkbox label in form for profile settings.
|
||||
_('Automatically subscribe to whoever '.
|
||||
'subscribes to me (best for non-humans)'),
|
||||
'subscribes to me (best for non-humans).'),
|
||||
($this->arg('autosubscribe')) ?
|
||||
$this->boolean('autosubscribe') : $user->autosubscribe);
|
||||
$this->elementEnd('li');
|
||||
|
@ -288,7 +288,7 @@ class ProfilesettingsAction extends AccountSettingsAction
|
|||
if (!common_valid_profile_tag($tag)) {
|
||||
// TRANS: Validation error in form for profile settings.
|
||||
// TRANS: %s is an invalid tag.
|
||||
$this->showForm(sprintf(_('Invalid tag: "%s"'), $tag));
|
||||
$this->showForm(sprintf(_('Invalid tag: "%s".'), $tag));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -226,7 +226,7 @@ class RecoverpasswordAction extends Action
|
|||
// TRANS: Title for password recovery page in email sent mode.
|
||||
case 'sent': return _('Password recovery requested');
|
||||
// TRANS: Title for password recovery page in password saved mode.
|
||||
case 'saved': return _('Password saved.');
|
||||
case 'saved': return _('Password saved');
|
||||
default:
|
||||
// TRANS: Title for password recovery page when an unknown action has been specified.
|
||||
return _('Unknown action');
|
||||
|
|
|
@ -40,25 +40,21 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class RegisterAction extends Action
|
||||
{
|
||||
/**
|
||||
* Has there been an error?
|
||||
*/
|
||||
|
||||
var $error = null;
|
||||
|
||||
/**
|
||||
* Have we registered?
|
||||
*/
|
||||
|
||||
var $registered = false;
|
||||
|
||||
/**
|
||||
* Are we processing an invite?
|
||||
*/
|
||||
|
||||
var $invite = null;
|
||||
|
||||
/**
|
||||
|
@ -68,7 +64,6 @@ class RegisterAction extends Action
|
|||
* @param $args
|
||||
* @return string title
|
||||
*/
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
|
@ -112,7 +107,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return string title
|
||||
*/
|
||||
|
||||
function title()
|
||||
{
|
||||
if ($this->registered) {
|
||||
|
@ -133,7 +127,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
@ -163,7 +156,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function tryRegister()
|
||||
{
|
||||
if (Event::handle('StartRegistrationTry', array($this))) {
|
||||
|
@ -206,7 +198,7 @@ class RegisterAction extends Action
|
|||
$email = common_canonical_email($email);
|
||||
|
||||
if (!$this->boolean('license')) {
|
||||
$this->showForm(_('You can\'t register if you don\'t '.
|
||||
$this->showForm(_('You cannot register if you don\'t '.
|
||||
'agree to the license.'));
|
||||
} else if ($email && !Validate::email($email, common_config('email', 'check_domain'))) {
|
||||
$this->showForm(_('Not a valid email address.'));
|
||||
|
@ -284,7 +276,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return boolean true if the nickname already exists
|
||||
*/
|
||||
|
||||
function nicknameExists($nickname)
|
||||
{
|
||||
$user = User::staticGet('nickname', $nickname);
|
||||
|
@ -300,7 +291,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return boolean true if the address already exists
|
||||
*/
|
||||
|
||||
function emailExists($email)
|
||||
{
|
||||
$email = common_canonical_email($email);
|
||||
|
@ -339,7 +329,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showPageNotice()
|
||||
{
|
||||
if ($this->registered) {
|
||||
|
@ -351,7 +340,7 @@ class RegisterAction extends Action
|
|||
common_markup_to_html(_('With this form you can create '.
|
||||
'a new account. ' .
|
||||
'You can then post notices and '.
|
||||
'link up to friends and colleagues. '));
|
||||
'link up to friends and colleagues.'));
|
||||
|
||||
$this->elementStart('div', 'instructions');
|
||||
$this->raw($instr);
|
||||
|
@ -368,7 +357,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showForm($error=null)
|
||||
{
|
||||
$this->error = $error;
|
||||
|
@ -383,7 +371,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showContent()
|
||||
{
|
||||
if ($this->registered) {
|
||||
|
@ -398,7 +385,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showFormContent()
|
||||
{
|
||||
$code = $this->trimmed('code');
|
||||
|
@ -444,23 +430,23 @@ class RegisterAction extends Action
|
|||
if ($this->invite && $this->invite->address_type == 'email') {
|
||||
$this->input('email', _('Email'), $this->invite->address,
|
||||
_('Used only for updates, announcements, '.
|
||||
'and password recovery'));
|
||||
'and password recovery.'));
|
||||
} else {
|
||||
$this->input('email', _('Email'), $this->trimmed('email'),
|
||||
_('Used only for updates, announcements, '.
|
||||
'and password recovery'));
|
||||
'and password recovery.'));
|
||||
}
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$this->input('fullname', _('Full name'),
|
||||
$this->trimmed('fullname'),
|
||||
_('Longer name, preferably your "real" name'));
|
||||
_('Longer name, preferably your "real" name.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$this->input('homepage', _('Homepage'),
|
||||
$this->trimmed('homepage'),
|
||||
_('URL of your homepage, blog, '.
|
||||
'or profile on another site'));
|
||||
'or profile on another site.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$maxBio = Profile::maxBio();
|
||||
|
@ -483,7 +469,7 @@ class RegisterAction extends Action
|
|||
$this->input('location', _('Location'),
|
||||
$this->trimmed('location'),
|
||||
_('Where you are, like "City, '.
|
||||
'State (or Region), Country"'));
|
||||
'State (or Region), Country".'));
|
||||
$this->elementEnd('li');
|
||||
Event::handle('EndRegistrationFormData', array($this));
|
||||
$this->elementStart('li', array('id' => 'settings_rememberme'));
|
||||
|
@ -519,6 +505,7 @@ class RegisterAction extends Action
|
|||
switch (common_config('license', 'type')) {
|
||||
case 'private':
|
||||
// TRANS: Copyright checkbox label in registration dialog, for private sites.
|
||||
// TRANS: %1$s is the StatusNet sitename.
|
||||
$out .= htmlspecialchars(sprintf(
|
||||
_('I understand that content and data of %1$s are private and confidential.'),
|
||||
common_config('site', 'name')));
|
||||
|
@ -562,7 +549,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showSuccess()
|
||||
{
|
||||
$this->registered = true;
|
||||
|
@ -576,7 +562,6 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showSuccessContent()
|
||||
{
|
||||
$nickname = $this->arg('nickname');
|
||||
|
@ -623,11 +608,9 @@ class RegisterAction extends Action
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showLocalNav()
|
||||
{
|
||||
$nav = new LoginGroupNav($this);
|
||||
$nav->show();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -126,11 +126,11 @@ class RemotesubscribeAction extends Action
|
|||
$this->elementStart('ul', 'form_data');
|
||||
$this->elementStart('li');
|
||||
$this->input('nickname', _('User nickname'), $this->nickname,
|
||||
_('Nickname of the user you want to follow'));
|
||||
_('Nickname of the user you want to follow.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$this->input('profile_url', _('Profile URL'), $this->profile_url,
|
||||
_('URL of your profile on another compatible microblogging service'));
|
||||
_('URL of your profile on another compatible microblogging service.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
$this->submit('submit', _('Subscribe'));
|
||||
|
@ -155,7 +155,7 @@ class RemotesubscribeAction extends Action
|
|||
}
|
||||
|
||||
if (!common_valid_http_url($this->profile_url)) {
|
||||
$this->showForm(_('Invalid profile URL (bad format)'));
|
||||
$this->showForm(_('Invalid profile URL (bad format).'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ class RestoreaccountAction extends Action
|
|||
function title()
|
||||
{
|
||||
// TRANS: Page title for page where a user account can be restored from backup.
|
||||
return _("Restore account");
|
||||
return _('Restore account');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -68,13 +68,11 @@ if (!defined('STATUSNET')) {
|
|||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class RsdAction extends Action
|
||||
{
|
||||
/**
|
||||
* Optional attribute for the personal rsd.xml file.
|
||||
*/
|
||||
|
||||
var $user = null;
|
||||
|
||||
/**
|
||||
|
@ -87,7 +85,6 @@ class RsdAction extends Action
|
|||
*
|
||||
* @return boolean success flag
|
||||
*/
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
|
@ -132,7 +129,6 @@ class RsdAction extends Action
|
|||
*
|
||||
* @return nothing
|
||||
*/
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
header('Content-Type: application/rsd+xml');
|
||||
|
@ -195,7 +191,6 @@ class RsdAction extends Action
|
|||
*
|
||||
* @return string date of last change of this page
|
||||
*/
|
||||
|
||||
function lastModified()
|
||||
{
|
||||
if (!empty($this->user)) {
|
||||
|
@ -214,7 +209,6 @@ class RsdAction extends Action
|
|||
*
|
||||
* @return boolean true
|
||||
*/
|
||||
|
||||
function isReadOnly($args)
|
||||
{
|
||||
return true;
|
||||
|
@ -228,7 +222,6 @@ class RsdAction extends Action
|
|||
*
|
||||
* @return string API root URI for this site
|
||||
*/
|
||||
|
||||
private function _apiRoot()
|
||||
{
|
||||
if (common_config('site', 'fancy')) {
|
||||
|
|
|
@ -40,19 +40,16 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
class ShowApplicationAction extends OwnerDesignAction
|
||||
{
|
||||
/**
|
||||
* Application to show
|
||||
*/
|
||||
|
||||
var $application = null;
|
||||
|
||||
/**
|
||||
* User who owns the app
|
||||
*/
|
||||
|
||||
var $owner = null;
|
||||
|
||||
var $msg = null;
|
||||
|
@ -68,7 +65,6 @@ class ShowApplicationAction extends OwnerDesignAction
|
|||
*
|
||||
* @return success flag
|
||||
*/
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
|
@ -105,7 +101,6 @@ class ShowApplicationAction extends OwnerDesignAction
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
@ -132,7 +127,6 @@ class ShowApplicationAction extends OwnerDesignAction
|
|||
*
|
||||
* @return string title of the page
|
||||
*/
|
||||
|
||||
function title()
|
||||
{
|
||||
if (!empty($this->application->name)) {
|
||||
|
@ -301,7 +295,6 @@ class ShowApplicationAction extends OwnerDesignAction
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showScripts()
|
||||
{
|
||||
parent::showScripts();
|
||||
|
@ -322,7 +315,6 @@ class ShowApplicationAction extends OwnerDesignAction
|
|||
* XXX: Should this be moved to its own page with a confirm?
|
||||
*
|
||||
*/
|
||||
|
||||
function resetKey()
|
||||
{
|
||||
$this->application->query('BEGIN');
|
||||
|
@ -382,5 +374,4 @@ class ShowApplicationAction extends OwnerDesignAction
|
|||
$this->msg = ('Consumer key and secret reset.');
|
||||
$this->showPage();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -344,7 +344,7 @@ class SingleNoticeItem extends DoFollowListItem
|
|||
* show the avatar of the notice's author
|
||||
*
|
||||
* We use the larger size for single notice page.
|
||||
*
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ class ShowstreamAction extends ProfileAction
|
|||
return sprintf(_('%1$s tagged %2$s'), $base, $this->tag);
|
||||
} else {
|
||||
// TRANS: Page title showing tagged notices in one user's stream.
|
||||
// TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
|
||||
// TRANS: %1$s is the username, %2$s is the hash tag, %3$d is the page number.
|
||||
return sprintf(_('%1$s tagged %2$s, page %3$d'), $base, $this->tag, $this->page);
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -98,7 +98,7 @@ class SitenoticeadminpanelAction extends AdminPanelAction
|
|||
|
||||
if (!$result) {
|
||||
// TRANS: Server error displayed when saving a site-wide notice was impossible.
|
||||
$this->ServerError(_("Unable to save site notice."));
|
||||
$this->ServerError(_('Unable to save site notice.'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -198,7 +198,7 @@ class SiteNoticeAdminPanelForm extends AdminForm
|
|||
'submit',
|
||||
null,
|
||||
// TRANS: Title for button to save site notice in admin panel.
|
||||
_('Save site notice')
|
||||
_('Save site notice.')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -150,7 +150,7 @@ class SmssettingsAction extends ConnectSettingsAction
|
|||
($this->arg('sms')) ? $this->arg('sms') : null,
|
||||
// TRANS: SMS phone number input field instructions in SMS settings form.
|
||||
_('Phone number, no punctuation or spaces, '.
|
||||
'with area code'));
|
||||
'with area code.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
$this->carrierSelect();
|
||||
|
@ -562,9 +562,11 @@ class SmssettingsAction extends ConnectSettingsAction
|
|||
|
||||
if (!$user->updateKeys($orig)) {
|
||||
common_log_db_error($user, 'UPDATE', __FILE__);
|
||||
$this->serverError(_("Could not update user record."));
|
||||
// TRANS: Server error displayed when the user could not be updated in SMS settings.
|
||||
$this->serverError(_('Could not update user record.'));
|
||||
}
|
||||
|
||||
// TRANS: Confirmation text after updating SMS settings.
|
||||
$this->showForm(_('Incoming email address removed.'), true);
|
||||
}
|
||||
|
||||
|
@ -585,9 +587,11 @@ class SmssettingsAction extends ConnectSettingsAction
|
|||
|
||||
if (!$user->updateKeys($orig)) {
|
||||
common_log_db_error($user, 'UPDATE', __FILE__);
|
||||
$this->serverError(_("Could not update user record."));
|
||||
// TRANS: Server error displayed when the user could not be updated in SMS settings.
|
||||
$this->serverError(_('Could not update user record.'));
|
||||
}
|
||||
|
||||
// TRANS: Confirmation text after updating SMS settings.
|
||||
$this->showForm(_('New incoming email address added.'), true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -163,7 +163,7 @@ class UseradminpanelAction extends AdminPanelAction
|
|||
sprintf(
|
||||
// TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
|
||||
// TRANS: users in user admin panel. %1$s is the invalid nickname.
|
||||
_('Invalid default subscripton: \'%1$s\' is not a user.'),
|
||||
_('Invalid default subscripton: "%1$s" is not a user.'),
|
||||
$values['newuser']['default']
|
||||
)
|
||||
);
|
||||
|
@ -299,6 +299,6 @@ class UserAdminPanelForm extends AdminForm
|
|||
'submit',
|
||||
null,
|
||||
// TRANS: Title for button to save user settings in user admin panel.
|
||||
_('Save user settings'));
|
||||
_('Save user settings.'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ require_once INSTALLDIR.'/extlib/libomb/service_provider.php';
|
|||
require_once INSTALLDIR.'/extlib/libomb/profile.php';
|
||||
define('TIMESTAMP_THRESHOLD', 300);
|
||||
|
||||
// @todo FIXME: Missing documentation.
|
||||
class UserauthorizationAction extends Action
|
||||
{
|
||||
var $error;
|
||||
|
@ -69,6 +70,8 @@ class UserauthorizationAction extends Action
|
|||
$profile = $user->getProfile();
|
||||
if (!$profile) {
|
||||
common_log_db_error($user, 'SELECT', __FILE__);
|
||||
// TRANS: Server error displayed when trying to authorise a remote subscription request
|
||||
// TRANS: while the user has no profile.
|
||||
$this->serverError(_('User without matching profile.'));
|
||||
return;
|
||||
}
|
||||
|
@ -102,16 +105,18 @@ class UserauthorizationAction extends Action
|
|||
|
||||
function title()
|
||||
{
|
||||
// TRANS: Page title.
|
||||
return _('Authorize subscription');
|
||||
}
|
||||
|
||||
function showPageNotice()
|
||||
{
|
||||
// TRANS: Page notice on "Auhtorize subscription" page.
|
||||
$this->element('p', null, _('Please check these details to make sure '.
|
||||
'that you want to subscribe to this ' .
|
||||
'user’s notices. If you didn’t just ask ' .
|
||||
'to subscribe to someone’s notices, '.
|
||||
'click “Reject”.'));
|
||||
'click "Reject".'));
|
||||
}
|
||||
|
||||
function showContent()
|
||||
|
@ -129,6 +134,7 @@ class UserauthorizationAction extends Action
|
|||
|
||||
$this->elementStart('div', 'entity_profile vcard');
|
||||
$this->elementStart('dl', 'entity_depiction');
|
||||
// TRANS: DT element on Authorise Subscription page.
|
||||
$this->element('dt', null, _('Photo'));
|
||||
$this->elementStart('dd');
|
||||
if ($avatar) {
|
||||
|
@ -142,6 +148,7 @@ class UserauthorizationAction extends Action
|
|||
$this->elementEnd('dl');
|
||||
|
||||
$this->elementStart('dl', 'entity_nickname');
|
||||
// TRANS: DT element on Authorise Subscription page.
|
||||
$this->element('dt', null, _('Nickname'));
|
||||
$this->elementStart('dd');
|
||||
$hasFN = ($fullname !== '') ? 'nickname' : 'fn nickname';
|
||||
|
@ -163,6 +170,7 @@ class UserauthorizationAction extends Action
|
|||
}
|
||||
if (!is_null($location)) {
|
||||
$this->elementStart('dl', 'entity_location');
|
||||
// TRANS: DT element on Authorise Subscription page.
|
||||
$this->element('dt', null, _('Location'));
|
||||
$this->elementStart('dd', 'label');
|
||||
$this->raw($location);
|
||||
|
@ -172,6 +180,7 @@ class UserauthorizationAction extends Action
|
|||
|
||||
if (!is_null($homepage)) {
|
||||
$this->elementStart('dl', 'entity_url');
|
||||
// TRANS: DT element on Authorise Subscription page.
|
||||
$this->element('dt', null, _('URL'));
|
||||
$this->elementStart('dd');
|
||||
$this->elementStart('a', array('href' => $homepage,
|
||||
|
@ -184,6 +193,7 @@ class UserauthorizationAction extends Action
|
|||
|
||||
if (!is_null($bio)) {
|
||||
$this->elementStart('dl', 'entity_note');
|
||||
// TRANS: DT element on Authorise Subscription page where bio is displayed.
|
||||
$this->element('dt', null, _('Note'));
|
||||
$this->elementStart('dd', 'note');
|
||||
$this->raw($bio);
|
||||
|
@ -193,6 +203,7 @@ class UserauthorizationAction extends Action
|
|||
|
||||
if (!is_null($license)) {
|
||||
$this->elementStart('dl', 'entity_license');
|
||||
// TRANS: DT element on Authorise Subscription page where license is displayed.
|
||||
$this->element('dt', null, _('License'));
|
||||
$this->elementStart('dd', 'license');
|
||||
$this->element('a', array('href' => $license,
|
||||
|
@ -214,10 +225,14 @@ class UserauthorizationAction extends Action
|
|||
'userauthorization')));
|
||||
$this->hidden('token', common_session_token());
|
||||
|
||||
$this->submit('accept', _('Accept'), 'submit accept', null,
|
||||
_('Subscribe to this user'));
|
||||
$this->submit('reject', _('Reject'), 'submit reject', null,
|
||||
_('Reject this subscription'));
|
||||
// TRANS: Button text on Authorise Subscription page.
|
||||
$this->submit('accept', _m('BUTTON','Accept'), 'submit accept', null,
|
||||
// TRANS: Title for button on Authorise Subscription page.
|
||||
_('Subscribe to this user.'));
|
||||
// TRANS: Button text on Authorise Subscription page.
|
||||
$this->submit('reject', _m('BUTTON','Reject'), 'submit reject', null,
|
||||
// TRANS: Title for button on Authorise Subscription page.
|
||||
_('Reject this subscription.'));
|
||||
$this->elementEnd('form');
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
|
@ -229,6 +244,7 @@ class UserauthorizationAction extends Action
|
|||
$srv = $this->getStoredParams();
|
||||
|
||||
if (is_null($srv)) {
|
||||
// TRANS: Client error displayed for an empty authorisation request.
|
||||
$this->clientError(_('No authorization request!'));
|
||||
return;
|
||||
}
|
||||
|
@ -251,7 +267,9 @@ class UserauthorizationAction extends Action
|
|||
|
||||
function showAcceptMessage($tok)
|
||||
{
|
||||
// TRANS: Accept message header from Authorise subscription page.
|
||||
common_show_header(_('Subscription authorized'));
|
||||
// TRANS: Accept message text from Authorise subscription page.
|
||||
$this->element('p', null,
|
||||
_('The subscription has been authorized, but no '.
|
||||
'callback URL was passed. Check with the site’s ' .
|
||||
|
@ -263,7 +281,9 @@ class UserauthorizationAction extends Action
|
|||
|
||||
function showRejectMessage()
|
||||
{
|
||||
// TRANS: Reject message header from Authorise subscription page.
|
||||
common_show_header(_('Subscription rejected'));
|
||||
// TRANS: Reject message from Authorise subscription page.
|
||||
$this->element('p', null,
|
||||
_('The subscription has been rejected, but no '.
|
||||
'callback URL was passed. Check with the site’s ' .
|
||||
|
@ -300,18 +320,24 @@ class UserauthorizationAction extends Action
|
|||
|
||||
$user = User::staticGet('uri', $listener);
|
||||
if (!$user) {
|
||||
throw new Exception(sprintf(_('Listener URI ‘%s’ not found here.'),
|
||||
// TRANS: Exception thrown when no valid user is found for an authorisation request.
|
||||
// TRANS: %s is a listener URI.
|
||||
throw new Exception(sprintf(_('Listener URI "%s" not found here.'),
|
||||
$listener));
|
||||
}
|
||||
|
||||
if (strlen($listenee) > 255) {
|
||||
throw new Exception(sprintf(_('Listenee URI ‘%s’ is too long.'),
|
||||
// TRANS: Exception thrown when listenee URI is too long for an authorisation request.
|
||||
// TRANS: %s is a listenee URI.
|
||||
throw new Exception(sprintf(_('Listenee URI "%s" is too long.'),
|
||||
$listenee));
|
||||
}
|
||||
|
||||
$other = User::staticGet('uri', $listenee);
|
||||
if ($other) {
|
||||
throw new Exception(sprintf(_('Listenee URI ‘%s’ is a local user.'),
|
||||
// TRANS: Exception thrown when listenee URI is a local user for an authorisation request.
|
||||
// TRANS: %s is a listenee URI.
|
||||
throw new Exception(sprintf(_('Listenee URI "%s" is a local user.'),
|
||||
$listenee));
|
||||
}
|
||||
|
||||
|
@ -321,12 +347,15 @@ class UserauthorizationAction extends Action
|
|||
$sub->subscriber = $user->id;
|
||||
$sub->subscribed = $remote->id;
|
||||
if ($sub->find(true)) {
|
||||
// TRANS: Exception thrown when already subscribed.
|
||||
throw new Exception('You are already subscribed to this user.');
|
||||
}
|
||||
}
|
||||
|
||||
if ($profile == common_profile_url($nickname)) {
|
||||
throw new Exception(sprintf(_('Profile URL ‘%s’ is for a local user.'),
|
||||
// TRANS: Exception thrown when profile URL is a local user for an authorisation request.
|
||||
// TRANS: %s is a profile URL.
|
||||
throw new Exception(sprintf(_('Profile URL "%s" is for a local user.'),
|
||||
$profile));
|
||||
|
||||
}
|
||||
|
@ -334,26 +363,34 @@ class UserauthorizationAction extends Action
|
|||
$license = $_GET['omb_listenee_license'];
|
||||
$site_license = common_config('license', 'url');
|
||||
if (!common_compatible_license($license, $site_license)) {
|
||||
throw new Exception(sprintf(_('Listenee stream license ‘%1$s’ is not ' .
|
||||
'compatible with site license ‘%2$s’.'),
|
||||
// TRANS: Exception thrown when licenses are not compatible for an authorisation request.
|
||||
// TRANS: %1$s is the license for the listenee, %2$s is the license for "this" StatusNet site.
|
||||
throw new Exception(sprintf(_('Listenee stream license "%1$s" is not ' .
|
||||
'compatible with site license "%2$s".'),
|
||||
$license, $site_license));
|
||||
}
|
||||
|
||||
$avatar = $_GET['omb_listenee_avatar'];
|
||||
if ($avatar) {
|
||||
if (!common_valid_http_url($avatar) || strlen($avatar) > 255) {
|
||||
throw new Exception(sprintf(_('Avatar URL ‘%s’ is not valid.'),
|
||||
// TRANS: Exception thrown when avatar URL is invalid for an authorisation request.
|
||||
// TRANS: %s is an avatar URL.
|
||||
throw new Exception(sprintf(_('Avatar URL "%s" is not valid.'),
|
||||
$avatar));
|
||||
}
|
||||
$size = @getimagesize($avatar);
|
||||
if (!$size) {
|
||||
throw new Exception(sprintf(_('Can’t read avatar URL ‘%s’.'),
|
||||
// TRANS: Exception thrown when avatar URL could not be read for an authorisation request.
|
||||
// TRANS: %s is an avatar URL.
|
||||
throw new Exception(sprintf(_('Cannot read avatar URL "%s".'),
|
||||
$avatar));
|
||||
}
|
||||
if (!in_array($size[2], array(IMAGETYPE_GIF, IMAGETYPE_JPEG,
|
||||
IMAGETYPE_PNG))) {
|
||||
// TRANS: Exception thrown when avatar URL return an invalid image type for an authorisation request.
|
||||
// TRANS: %s is an avatar URL.
|
||||
throw new Exception(sprintf(_('Wrong image type for avatar URL '.
|
||||
'‘%s’.'), $avatar));
|
||||
'"%s".'), $avatar));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ class UserxrdAction extends XrdAction
|
|||
}
|
||||
|
||||
if (!$this->user) {
|
||||
$this->clientError(_m('No such user.'), 404);
|
||||
$this->clientError(_('No such user.'), 404);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user