forked from GNUsocial/gnu-social
Merge remote branch 'gitorious/1.0.x' into 1.0.x
This commit is contained in:
commit
3898039617
@ -121,6 +121,7 @@ class ApprovegroupAction extends Action
|
|||||||
|
|
||||||
if (empty($this->request)) {
|
if (empty($this->request)) {
|
||||||
// TRANS: Client error displayed trying to approve group membership for a non-existing request.
|
// TRANS: Client error displayed trying to approve group membership for a non-existing request.
|
||||||
|
// TRANS: %s is a nickname.
|
||||||
$this->clientError(sprintf(_('%s is not in the moderation queue for this group.'), $this->profile->nickname), 403);
|
$this->clientError(sprintf(_('%s is not in the moderation queue for this group.'), $this->profile->nickname), 403);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
/**
|
/**
|
||||||
* StatusNet, the distributed open-source microblogging tool
|
* StatusNet, the distributed open-source microblogging tool
|
||||||
*
|
*
|
||||||
* Leave a group
|
* Approve group subscription request
|
||||||
*
|
*
|
||||||
* PHP version 5
|
* PHP version 5
|
||||||
*
|
*
|
||||||
|
@ -53,6 +53,7 @@ class CancelsubscriptionAction extends Action
|
|||||||
StatusNet::setApi(true);
|
StatusNet::setApi(true);
|
||||||
}
|
}
|
||||||
if (!common_logged_in()) {
|
if (!common_logged_in()) {
|
||||||
|
// TRANS: Client error displayed when trying to leave a group while not logged in.
|
||||||
$this->clientError(_('Not logged in.'));
|
$this->clientError(_('Not logged in.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -78,6 +79,7 @@ class CancelsubscriptionAction extends Action
|
|||||||
$other_id = $this->arg('unsubscribeto');
|
$other_id = $this->arg('unsubscribeto');
|
||||||
|
|
||||||
if (!$other_id) {
|
if (!$other_id) {
|
||||||
|
// TRANS: Client error displayed when trying to leave a group without specifying an ID.
|
||||||
$this->clientError(_('No profile ID in request.'));
|
$this->clientError(_('No profile ID in request.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -85,6 +87,7 @@ class CancelsubscriptionAction extends Action
|
|||||||
$other = Profile::staticGet('id', $other_id);
|
$other = Profile::staticGet('id', $other_id);
|
||||||
|
|
||||||
if (!$other) {
|
if (!$other) {
|
||||||
|
// TRANS: Client error displayed when trying to leave a non-existing group.
|
||||||
$this->clientError(_('No profile with that ID.'));
|
$this->clientError(_('No profile with that ID.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -103,7 +106,8 @@ class CancelsubscriptionAction extends Action
|
|||||||
if ($this->boolean('ajax')) {
|
if ($this->boolean('ajax')) {
|
||||||
$this->startHTML('text/xml;charset=utf-8');
|
$this->startHTML('text/xml;charset=utf-8');
|
||||||
$this->elementStart('head');
|
$this->elementStart('head');
|
||||||
$this->element('title', null, _('Unsubscribed'));
|
// TRANS: Title after unsubscribing from a group.
|
||||||
|
$this->element('title', null, _m('TITLE','Unsubscribed'));
|
||||||
$this->elementEnd('head');
|
$this->elementEnd('head');
|
||||||
$this->elementStart('body');
|
$this->elementStart('body');
|
||||||
$subscribe = new SubscribeForm($this, $other);
|
$subscribe = new SubscribeForm($this, $other);
|
||||||
|
@ -161,6 +161,7 @@ class GroupqueueAction extends GroupDesignAction
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @todo FIXME: documentation missing.
|
||||||
class GroupQueueList extends GroupMemberList
|
class GroupQueueList extends GroupMemberList
|
||||||
{
|
{
|
||||||
function newListItem($profile)
|
function newListItem($profile)
|
||||||
@ -169,6 +170,7 @@ class GroupQueueList extends GroupMemberList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @todo FIXME: documentation missing.
|
||||||
class GroupQueueListItem extends GroupMemberListItem
|
class GroupQueueListItem extends GroupMemberListItem
|
||||||
{
|
{
|
||||||
function showActions()
|
function showActions()
|
||||||
|
@ -33,8 +33,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change profile settings
|
* Change profile settings
|
||||||
*
|
*
|
||||||
@ -46,7 +44,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class ProfilesettingsAction extends SettingsAction
|
class ProfilesettingsAction extends SettingsAction
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -127,15 +124,15 @@ class ProfilesettingsAction extends SettingsAction
|
|||||||
// TRANS: Tooltip for field label in form for profile settings. Plural
|
// TRANS: Tooltip for field label in form for profile settings. Plural
|
||||||
// TRANS: is decided by the number of characters available for the
|
// TRANS: is decided by the number of characters available for the
|
||||||
// TRANS: biography (%d).
|
// TRANS: biography (%d).
|
||||||
$bioInstr = sprintf(_m('Describe yourself and your interests in %d character',
|
$bioInstr = sprintf(_m('Describe yourself and your interests in %d character.',
|
||||||
'Describe yourself and your interests in %d characters',
|
'Describe yourself and your interests in %d characters.',
|
||||||
$maxBio),
|
$maxBio),
|
||||||
$maxBio);
|
$maxBio);
|
||||||
} else {
|
} else {
|
||||||
// TRANS: Tooltip for field label in form for profile settings.
|
// TRANS: Tooltip for field label in form for profile settings.
|
||||||
$bioInstr = _('Describe yourself and your interests');
|
$bioInstr = _('Describe yourself and your interests.');
|
||||||
}
|
}
|
||||||
// TRANS: Text area label in form for profile settings where users can provide.
|
// TRANS: Text area label in form for profile settings where users can provide
|
||||||
// TRANS: their biography.
|
// TRANS: their biography.
|
||||||
$this->textarea('bio', _('Bio'),
|
$this->textarea('bio', _('Bio'),
|
||||||
($this->arg('bio')) ? $this->arg('bio') : $profile->bio,
|
($this->arg('bio')) ? $this->arg('bio') : $profile->bio,
|
||||||
@ -146,7 +143,7 @@ class ProfilesettingsAction extends SettingsAction
|
|||||||
$this->input('location', _('Location'),
|
$this->input('location', _('Location'),
|
||||||
($this->arg('location')) ? $this->arg('location') : $profile->location,
|
($this->arg('location')) ? $this->arg('location') : $profile->location,
|
||||||
// TRANS: Tooltip for field label in form for profile settings.
|
// TRANS: Tooltip for field label in form for profile settings.
|
||||||
_('Where you are, like "City, State (or Region), Country"'));
|
_('Where you are, like "City, State (or Region), Country".'));
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
if (common_config('location', 'share') == 'user') {
|
if (common_config('location', 'share') == 'user') {
|
||||||
$this->elementStart('li');
|
$this->elementStart('li');
|
||||||
@ -196,7 +193,9 @@ class ProfilesettingsAction extends SettingsAction
|
|||||||
$this->dropdown('subscribe_policy',
|
$this->dropdown('subscribe_policy',
|
||||||
// TRANS: Dropdown field label on profile settings, for what policies to apply when someone else tries to subscribe to your updates.
|
// TRANS: Dropdown field label on profile settings, for what policies to apply when someone else tries to subscribe to your updates.
|
||||||
_('Subscription policy'),
|
_('Subscription policy'),
|
||||||
|
// TRANS: Dropdown field option for following policy.
|
||||||
array(User::SUBSCRIBE_POLICY_OPEN => _('Let anyone follow me'),
|
array(User::SUBSCRIBE_POLICY_OPEN => _('Let anyone follow me'),
|
||||||
|
// TRANS: Dropdown field option for following policy.
|
||||||
User::SUBSCRIBE_POLICY_MODERATE => _('Ask me first')),
|
User::SUBSCRIBE_POLICY_MODERATE => _('Ask me first')),
|
||||||
// TRANS: Dropdown field title on group edit form.
|
// TRANS: Dropdown field title on group edit form.
|
||||||
_('Whether other users need your permission to follow your updates.'),
|
_('Whether other users need your permission to follow your updates.'),
|
||||||
|
@ -531,7 +531,7 @@ class RegisterAction extends Action
|
|||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
}
|
}
|
||||||
$this->elementEnd('ul');
|
$this->elementEnd('ul');
|
||||||
// TRANS: Field label on account registration page.
|
// TRANS: Botton text to register a user on account registration page.
|
||||||
$this->submit('submit', _m('BUTTON','Register'));
|
$this->submit('submit', _m('BUTTON','Register'));
|
||||||
$this->elementEnd('fieldset');
|
$this->elementEnd('fieldset');
|
||||||
$this->elementEnd('form');
|
$this->elementEnd('form');
|
||||||
|
@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
|
|||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class SnapshotadminpanelAction extends AdminPanelAction
|
class SnapshotadminpanelAction extends AdminPanelAction
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -48,10 +47,10 @@ class SnapshotadminpanelAction extends AdminPanelAction
|
|||||||
*
|
*
|
||||||
* @return string page title
|
* @return string page title
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function title()
|
function title()
|
||||||
{
|
{
|
||||||
return _('Snapshots');
|
// TRANS: Title for admin panel to configure snapshots.
|
||||||
|
return _m('TITLE','Snapshots');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -59,9 +58,9 @@ class SnapshotadminpanelAction extends AdminPanelAction
|
|||||||
*
|
*
|
||||||
* @return string instructions
|
* @return string instructions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function getInstructions()
|
function getInstructions()
|
||||||
{
|
{
|
||||||
|
// TRANS: Instructions for admin panel to configure snapshots.
|
||||||
return _('Manage snapshot configuration');
|
return _('Manage snapshot configuration');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +69,6 @@ class SnapshotadminpanelAction extends AdminPanelAction
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function showForm()
|
function showForm()
|
||||||
{
|
{
|
||||||
$form = new SnapshotAdminPanelForm($this);
|
$form = new SnapshotAdminPanelForm($this);
|
||||||
@ -83,7 +81,6 @@ class SnapshotadminpanelAction extends AdminPanelAction
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function saveSettings()
|
function saveSettings()
|
||||||
{
|
{
|
||||||
static $settings = array(
|
static $settings = array(
|
||||||
@ -124,12 +121,14 @@ class SnapshotadminpanelAction extends AdminPanelAction
|
|||||||
// Validate snapshot run value
|
// Validate snapshot run value
|
||||||
|
|
||||||
if (!in_array($values['snapshot']['run'], array('web', 'cron', 'never'))) {
|
if (!in_array($values['snapshot']['run'], array('web', 'cron', 'never'))) {
|
||||||
|
// TRANS: Client error displayed on admin panel for snapshots when providing an invalid run value.
|
||||||
$this->clientError(_('Invalid snapshot run value.'));
|
$this->clientError(_('Invalid snapshot run value.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate snapshot frequency value
|
// Validate snapshot frequency value
|
||||||
|
|
||||||
if (!Validate::number($values['snapshot']['frequency'])) {
|
if (!Validate::number($values['snapshot']['frequency'])) {
|
||||||
|
// TRANS: Client error displayed on admin panel for snapshots when providing an invalid value for frequency.
|
||||||
$this->clientError(_('Snapshot frequency must be a number.'));
|
$this->clientError(_('Snapshot frequency must be a number.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,11 +140,13 @@ class SnapshotadminpanelAction extends AdminPanelAction
|
|||||||
array('allowed_schemes' => array('http', 'https')
|
array('allowed_schemes' => array('http', 'https')
|
||||||
)
|
)
|
||||||
)) {
|
)) {
|
||||||
|
// TRANS: Client error displayed on admin panel for snapshots when providing an invalid report URL.
|
||||||
$this->clientError(_('Invalid snapshot report URL.'));
|
$this->clientError(_('Invalid snapshot report URL.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @todo FIXME: add documentation
|
||||||
class SnapshotAdminPanelForm extends AdminForm
|
class SnapshotAdminPanelForm extends AdminForm
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -153,7 +154,6 @@ class SnapshotAdminPanelForm extends AdminForm
|
|||||||
*
|
*
|
||||||
* @return int ID of the form
|
* @return int ID of the form
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function id()
|
function id()
|
||||||
{
|
{
|
||||||
return 'form_snapshot_admin_panel';
|
return 'form_snapshot_admin_panel';
|
||||||
@ -164,7 +164,6 @@ class SnapshotAdminPanelForm extends AdminForm
|
|||||||
*
|
*
|
||||||
* @return string class of the form
|
* @return string class of the form
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function formClass()
|
function formClass()
|
||||||
{
|
{
|
||||||
return 'form_settings';
|
return 'form_settings';
|
||||||
@ -175,7 +174,6 @@ class SnapshotAdminPanelForm extends AdminForm
|
|||||||
*
|
*
|
||||||
* @return string URL of the action
|
* @return string URL of the action
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function action()
|
function action()
|
||||||
{
|
{
|
||||||
return common_local_url('snapshotadminpanel');
|
return common_local_url('snapshotadminpanel');
|
||||||
@ -186,26 +184,31 @@ class SnapshotAdminPanelForm extends AdminForm
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function formData()
|
function formData()
|
||||||
{
|
{
|
||||||
$this->out->elementStart(
|
$this->out->elementStart(
|
||||||
'fieldset',
|
'fieldset',
|
||||||
array('id' => 'settings_admin_snapshots')
|
array('id' => 'settings_admin_snapshots')
|
||||||
);
|
);
|
||||||
$this->out->element('legend', null, _('Snapshots'));
|
// TRANS: Fieldset legend on admin panel for snapshots.
|
||||||
|
$this->out->element('legend', null, _m('LEGEND','Snapshots'));
|
||||||
$this->out->elementStart('ul', 'form_data');
|
$this->out->elementStart('ul', 'form_data');
|
||||||
$this->li();
|
$this->li();
|
||||||
$snapshot = array(
|
$snapshot = array(
|
||||||
|
// TRANS: Option in dropdown for snapshot method in admin panel for snapshots.
|
||||||
'web' => _('Randomly during web hit'),
|
'web' => _('Randomly during web hit'),
|
||||||
|
// TRANS: Option in dropdown for snapshot method in admin panel for snapshots.
|
||||||
'cron' => _('In a scheduled job'),
|
'cron' => _('In a scheduled job'),
|
||||||
|
// TRANS: Option in dropdown for snapshot method in admin panel for snapshots.
|
||||||
'never' => _('Never')
|
'never' => _('Never')
|
||||||
);
|
);
|
||||||
$this->out->dropdown(
|
$this->out->dropdown(
|
||||||
'run',
|
'run',
|
||||||
|
// TRANS: Dropdown label for snapshot method in admin panel for snapshots.
|
||||||
_('Data snapshots'),
|
_('Data snapshots'),
|
||||||
$snapshot,
|
$snapshot,
|
||||||
_('When to send statistical data to status.net servers'),
|
// TRANS: Dropdown title for snapshot method in admin panel for snapshots.
|
||||||
|
_('When to send statistical data to status.net servers.'),
|
||||||
false,
|
false,
|
||||||
$this->value('run', 'snapshot')
|
$this->value('run', 'snapshot')
|
||||||
);
|
);
|
||||||
@ -214,8 +217,10 @@ class SnapshotAdminPanelForm extends AdminForm
|
|||||||
$this->li();
|
$this->li();
|
||||||
$this->input(
|
$this->input(
|
||||||
'frequency',
|
'frequency',
|
||||||
|
// TRANS: Input field label for snapshot frequency in admin panel for snapshots.
|
||||||
_('Frequency'),
|
_('Frequency'),
|
||||||
_('Snapshots will be sent once every N web hits'),
|
// TRANS: Input field title for snapshot frequency in admin panel for snapshots.
|
||||||
|
_('Snapshots will be sent once every N web hits.'),
|
||||||
'snapshot'
|
'snapshot'
|
||||||
);
|
);
|
||||||
$this->unli();
|
$this->unli();
|
||||||
@ -223,8 +228,10 @@ class SnapshotAdminPanelForm extends AdminForm
|
|||||||
$this->li();
|
$this->li();
|
||||||
$this->input(
|
$this->input(
|
||||||
'reporturl',
|
'reporturl',
|
||||||
|
// TRANS: Input field label for snapshot report URL in admin panel for snapshots.
|
||||||
_('Report URL'),
|
_('Report URL'),
|
||||||
_('Snapshots will be sent to this URL'),
|
// TRANS: Input field title for snapshot report URL in admin panel for snapshots.
|
||||||
|
_('Snapshots will be sent to this URL.'),
|
||||||
'snapshot'
|
'snapshot'
|
||||||
);
|
);
|
||||||
$this->unli();
|
$this->unli();
|
||||||
@ -237,15 +244,16 @@ class SnapshotAdminPanelForm extends AdminForm
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function formActions()
|
function formActions()
|
||||||
{
|
{
|
||||||
$this->out->submit(
|
$this->out->submit(
|
||||||
'submit',
|
'submit',
|
||||||
_('Save'),
|
// TRANS: Button text to save snapshot settings.
|
||||||
|
_m('BUTTON','Save'),
|
||||||
'submit',
|
'submit',
|
||||||
null,
|
null,
|
||||||
_('Save snapshot settings')
|
// TRANS: Title for button to save snapshot settings.
|
||||||
|
_('Save snapshot settings.')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
|
|
||||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||||
|
|
||||||
|
// @todo FIXME: documentation missing.
|
||||||
class TagAction extends Action
|
class TagAction extends Action
|
||||||
{
|
{
|
||||||
|
|
||||||
var $notice;
|
var $notice;
|
||||||
|
|
||||||
function prepare($args)
|
function prepare($args)
|
||||||
@ -48,7 +48,7 @@ class TagAction extends Action
|
|||||||
$this->notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
|
$this->notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
|
||||||
|
|
||||||
if($this->page > 1 && $this->notice->N == 0){
|
if($this->page > 1 && $this->notice->N == 0){
|
||||||
// TRANS: Server error when page not found (404)
|
// TRANS: Server error when page not found (404).
|
||||||
$this->serverError(_('No such page.'),$code=404);
|
$this->serverError(_('No such page.'),$code=404);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,18 +88,24 @@ class TagAction extends Action
|
|||||||
return array(new Feed(Feed::RSS1,
|
return array(new Feed(Feed::RSS1,
|
||||||
common_local_url('tagrss',
|
common_local_url('tagrss',
|
||||||
array('tag' => $this->tag)),
|
array('tag' => $this->tag)),
|
||||||
|
// TRANS: Link label for feed on "notices with tag" page.
|
||||||
|
// TRANS: %s is the tag the feed is for.
|
||||||
sprintf(_('Notice feed for tag %s (RSS 1.0)'),
|
sprintf(_('Notice feed for tag %s (RSS 1.0)'),
|
||||||
$this->tag)),
|
$this->tag)),
|
||||||
new Feed(Feed::RSS2,
|
new Feed(Feed::RSS2,
|
||||||
common_local_url('ApiTimelineTag',
|
common_local_url('ApiTimelineTag',
|
||||||
array('format' => 'rss',
|
array('format' => 'rss',
|
||||||
'tag' => $this->tag)),
|
'tag' => $this->tag)),
|
||||||
|
// TRANS: Link label for feed on "notices with tag" page.
|
||||||
|
// TRANS: %s is the tag the feed is for.
|
||||||
sprintf(_('Notice feed for tag %s (RSS 2.0)'),
|
sprintf(_('Notice feed for tag %s (RSS 2.0)'),
|
||||||
$this->tag)),
|
$this->tag)),
|
||||||
new Feed(Feed::ATOM,
|
new Feed(Feed::ATOM,
|
||||||
common_local_url('ApiTimelineTag',
|
common_local_url('ApiTimelineTag',
|
||||||
array('format' => 'atom',
|
array('format' => 'atom',
|
||||||
'tag' => $this->tag)),
|
'tag' => $this->tag)),
|
||||||
|
// TRANS: Link label for feed on "notices with tag" page.
|
||||||
|
// TRANS: %s is the tag the feed is for.
|
||||||
sprintf(_('Notice feed for tag %s (Atom)'),
|
sprintf(_('Notice feed for tag %s (Atom)'),
|
||||||
$this->tag)));
|
$this->tag)));
|
||||||
}
|
}
|
||||||
|
@ -31,12 +31,14 @@ class TagotherAction extends Action
|
|||||||
{
|
{
|
||||||
parent::prepare($args);
|
parent::prepare($args);
|
||||||
if (!common_logged_in()) {
|
if (!common_logged_in()) {
|
||||||
|
// TRANS: Client error displayed on user tag page when trying to add tags while not logged in.
|
||||||
$this->clientError(_('Not logged in.'), 403);
|
$this->clientError(_('Not logged in.'), 403);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$id = $this->trimmed('id');
|
$id = $this->trimmed('id');
|
||||||
if (!$id) {
|
if (!$id) {
|
||||||
|
// TRANS: Client error displayed on user tag page when trying to add tags without providing a user ID.
|
||||||
$this->clientError(_('No ID argument.'));
|
$this->clientError(_('No ID argument.'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -44,6 +46,7 @@ class TagotherAction extends Action
|
|||||||
$this->profile = Profile::staticGet('id', $id);
|
$this->profile = Profile::staticGet('id', $id);
|
||||||
|
|
||||||
if (!$this->profile) {
|
if (!$this->profile) {
|
||||||
|
// TRANS: Client error displayed on user tag page when trying to add tags providing a non-existing user ID.
|
||||||
$this->clientError(_('No profile with that ID.'));
|
$this->clientError(_('No profile with that ID.'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -63,6 +66,8 @@ class TagotherAction extends Action
|
|||||||
|
|
||||||
function title()
|
function title()
|
||||||
{
|
{
|
||||||
|
// TRANS: Title for "tag other users" page.
|
||||||
|
// TRANS: %s is the user nickname.
|
||||||
return sprintf(_('Tag %s'), $this->profile->nickname);
|
return sprintf(_('Tag %s'), $this->profile->nickname);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,6 +80,7 @@ class TagotherAction extends Action
|
|||||||
function showContent()
|
function showContent()
|
||||||
{
|
{
|
||||||
$this->elementStart('div', 'entity_profile vcard author');
|
$this->elementStart('div', 'entity_profile vcard author');
|
||||||
|
// TRANS: Header for user details on "tag other users" page.
|
||||||
$this->element('h2', null, _('User profile'));
|
$this->element('h2', null, _('User profile'));
|
||||||
|
|
||||||
$avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
|
$avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
|
||||||
@ -118,6 +124,7 @@ class TagotherAction extends Action
|
|||||||
'action' => common_local_url('tagother', array('id' => $this->profile->id))));
|
'action' => common_local_url('tagother', array('id' => $this->profile->id))));
|
||||||
|
|
||||||
$this->elementStart('fieldset');
|
$this->elementStart('fieldset');
|
||||||
|
// TRANS: Fieldset legend on "tag other users" page.
|
||||||
$this->element('legend', null, _('Tag user'));
|
$this->element('legend', null, _('Tag user'));
|
||||||
$this->hidden('token', common_session_token());
|
$this->hidden('token', common_session_token());
|
||||||
$this->hidden('id', $this->profile->id);
|
$this->hidden('id', $this->profile->id);
|
||||||
@ -126,11 +133,14 @@ class TagotherAction extends Action
|
|||||||
|
|
||||||
$this->elementStart('ul', 'form_data');
|
$this->elementStart('ul', 'form_data');
|
||||||
$this->elementStart('li');
|
$this->elementStart('li');
|
||||||
|
// TRANS: Field label for inputting tags on "tag other users" page.
|
||||||
$this->input('tags', _('Tags'),
|
$this->input('tags', _('Tags'),
|
||||||
($this->arg('tags')) ? $this->arg('tags') : implode(' ', Profile_tag::getTags($user->id, $this->profile->id)),
|
($this->arg('tags')) ? $this->arg('tags') : implode(' ', Profile_tag::getTags($user->id, $this->profile->id)),
|
||||||
|
// TRANS: Title for input field for inputting tags on "tag other users" page.
|
||||||
_('Tags for this user (letters, numbers, -, ., and _), separated by commas or spaces.'));
|
_('Tags for this user (letters, numbers, -, ., and _), separated by commas or spaces.'));
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
$this->elementEnd('ul');
|
$this->elementEnd('ul');
|
||||||
|
// TRANS: Button text for saving tags for other users.
|
||||||
$this->submit('save', _m('BUTTON','Save'));
|
$this->submit('save', _m('BUTTON','Save'));
|
||||||
$this->elementEnd('fieldset');
|
$this->elementEnd('fieldset');
|
||||||
$this->elementEnd('form');
|
$this->elementEnd('form');
|
||||||
@ -172,6 +182,7 @@ class TagotherAction extends Action
|
|||||||
!Subscription::pkeyGet(array('subscriber' => $this->profile->id,
|
!Subscription::pkeyGet(array('subscriber' => $this->profile->id,
|
||||||
'subscribed' => $user->id)))
|
'subscribed' => $user->id)))
|
||||||
{
|
{
|
||||||
|
// TRANS: Client error on "tag other users" page when tagging a user is not possible because of missing mutual subscriptions.
|
||||||
$this->clientError(_('You can only tag people you are subscribed to or who are subscribed to you.'));
|
$this->clientError(_('You can only tag people you are subscribed to or who are subscribed to you.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -179,6 +190,7 @@ class TagotherAction extends Action
|
|||||||
$result = Profile_tag::setTags($user->id, $this->profile->id, $tags);
|
$result = Profile_tag::setTags($user->id, $this->profile->id, $tags);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
|
// TRANS: Client error on "tag other users" page when saving tags fails server side.
|
||||||
$this->clientError(_('Could not save tags.'));
|
$this->clientError(_('Could not save tags.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -188,7 +200,8 @@ class TagotherAction extends Action
|
|||||||
if ($this->boolean('ajax')) {
|
if ($this->boolean('ajax')) {
|
||||||
$this->startHTML('text/xml;charset=utf-8');
|
$this->startHTML('text/xml;charset=utf-8');
|
||||||
$this->elementStart('head');
|
$this->elementStart('head');
|
||||||
$this->element('title', null, _('Tags'));
|
// TRANS: Title of "tag other users" page.
|
||||||
|
$this->element('title', null, _m('TITLE','Tags'));
|
||||||
$this->elementEnd('head');
|
$this->elementEnd('head');
|
||||||
$this->elementStart('body');
|
$this->elementStart('body');
|
||||||
$this->elementStart('p', 'subtags');
|
$this->elementStart('p', 'subtags');
|
||||||
@ -215,6 +228,7 @@ class TagotherAction extends Action
|
|||||||
} else {
|
} else {
|
||||||
$this->elementStart('div', 'instructions');
|
$this->elementStart('div', 'instructions');
|
||||||
$this->element('p', null,
|
$this->element('p', null,
|
||||||
|
// TRANS: Page notice on "tag other users" page.
|
||||||
_('Use this form to add tags to your subscribers or subscriptions.'));
|
_('Use this form to add tags to your subscribers or subscriptions.'));
|
||||||
$this->elementEnd('div');
|
$this->elementEnd('div');
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
|||||||
require_once(INSTALLDIR.'/lib/rssaction.php');
|
require_once(INSTALLDIR.'/lib/rssaction.php');
|
||||||
|
|
||||||
// Formatting of RSS handled by Rss10Action
|
// Formatting of RSS handled by Rss10Action
|
||||||
|
|
||||||
class TagrssAction extends Rss10Action
|
class TagrssAction extends Rss10Action
|
||||||
{
|
{
|
||||||
var $tag;
|
var $tag;
|
||||||
@ -32,6 +31,7 @@ class TagrssAction extends Rss10Action
|
|||||||
$tag = common_canonical_tag($this->trimmed('tag'));
|
$tag = common_canonical_tag($this->trimmed('tag'));
|
||||||
$this->tag = Notice_tag::staticGet('tag', $tag);
|
$this->tag = Notice_tag::staticGet('tag', $tag);
|
||||||
if (!$this->tag) {
|
if (!$this->tag) {
|
||||||
|
// TRANS: Client error when requesting a tag feed for a non-existing tag.
|
||||||
$this->clientError(_('No such tag.'));
|
$this->clientError(_('No such tag.'));
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
@ -62,6 +62,8 @@ class TagrssAction extends Rss10Action
|
|||||||
$c = array('url' => common_local_url('tagrss', array('tag' => $tagname)),
|
$c = array('url' => common_local_url('tagrss', array('tag' => $tagname)),
|
||||||
'title' => $tagname,
|
'title' => $tagname,
|
||||||
'link' => common_local_url('tagrss', array('tag' => $tagname)),
|
'link' => common_local_url('tagrss', array('tag' => $tagname)),
|
||||||
|
// TRANS: Tag feed description.
|
||||||
|
// TRANS: %1$s is the tag name, %2$s is the StatusNet sitename.
|
||||||
'description' => sprintf(_('Updates tagged with %1$s on %2$s!'),
|
'description' => sprintf(_('Updates tagged with %1$s on %2$s!'),
|
||||||
$tagname, common_config('site', 'name')));
|
$tagname, common_config('site', 'name')));
|
||||||
return $c;
|
return $c;
|
||||||
|
@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
|
|||||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class UnsandboxAction extends ProfileFormAction
|
class UnsandboxAction extends ProfileFormAction
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -50,7 +49,6 @@ class UnsandboxAction extends ProfileFormAction
|
|||||||
*
|
*
|
||||||
* @return boolean success flag
|
* @return boolean success flag
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function prepare($args)
|
function prepare($args)
|
||||||
{
|
{
|
||||||
if (!parent::prepare($args)) {
|
if (!parent::prepare($args)) {
|
||||||
@ -62,6 +60,7 @@ class UnsandboxAction extends ProfileFormAction
|
|||||||
assert(!empty($cur)); // checked by parent
|
assert(!empty($cur)); // checked by parent
|
||||||
|
|
||||||
if (!$cur->hasRight(Right::SANDBOXUSER)) {
|
if (!$cur->hasRight(Right::SANDBOXUSER)) {
|
||||||
|
// TRANS: Client error on page to unsandbox a user when the feature is not enabled.
|
||||||
$this->clientError(_('You cannot sandbox users on this site.'));
|
$this->clientError(_('You cannot sandbox users on this site.'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -69,6 +68,7 @@ class UnsandboxAction extends ProfileFormAction
|
|||||||
assert(!empty($this->profile)); // checked by parent
|
assert(!empty($this->profile)); // checked by parent
|
||||||
|
|
||||||
if (!$this->profile->isSandboxed()) {
|
if (!$this->profile->isSandboxed()) {
|
||||||
|
// TRANS: Client error on page to unsilence a user when the to be unsandboxed user has not been sandboxed.
|
||||||
$this->clientError(_('User is not sandboxed.'));
|
$this->clientError(_('User is not sandboxed.'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -81,7 +81,6 @@ class UnsandboxAction extends ProfileFormAction
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function handlePost()
|
function handlePost()
|
||||||
{
|
{
|
||||||
$this->profile->unsandbox();
|
$this->profile->unsandbox();
|
||||||
|
@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
|
|||||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class UnsilenceAction extends ProfileFormAction
|
class UnsilenceAction extends ProfileFormAction
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -50,7 +49,6 @@ class UnsilenceAction extends ProfileFormAction
|
|||||||
*
|
*
|
||||||
* @return boolean success flag
|
* @return boolean success flag
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function prepare($args)
|
function prepare($args)
|
||||||
{
|
{
|
||||||
if (!parent::prepare($args)) {
|
if (!parent::prepare($args)) {
|
||||||
@ -62,6 +60,7 @@ class UnsilenceAction extends ProfileFormAction
|
|||||||
assert(!empty($cur)); // checked by parent
|
assert(!empty($cur)); // checked by parent
|
||||||
|
|
||||||
if (!$cur->hasRight(Right::SILENCEUSER)) {
|
if (!$cur->hasRight(Right::SILENCEUSER)) {
|
||||||
|
// TRANS: Client error on page to unsilence a user when the feature is not enabled.
|
||||||
$this->clientError(_('You cannot silence users on this site.'));
|
$this->clientError(_('You cannot silence users on this site.'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -69,6 +68,7 @@ class UnsilenceAction extends ProfileFormAction
|
|||||||
assert(!empty($this->profile)); // checked by parent
|
assert(!empty($this->profile)); // checked by parent
|
||||||
|
|
||||||
if (!$this->profile->isSilenced()) {
|
if (!$this->profile->isSilenced()) {
|
||||||
|
// TRANS: Client error on page to unsilence a user when the to be unsilenced user has not been silenced.
|
||||||
$this->clientError(_('User is not silenced.'));
|
$this->clientError(_('User is not silenced.'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -81,7 +81,6 @@ class UnsilenceAction extends ProfileFormAction
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function handlePost()
|
function handlePost()
|
||||||
{
|
{
|
||||||
$this->profile->unsilence();
|
$this->profile->unsilence();
|
||||||
|
@ -44,11 +44,11 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||||||
*/
|
*/
|
||||||
class UnsubscribeAction extends Action
|
class UnsubscribeAction extends Action
|
||||||
{
|
{
|
||||||
|
|
||||||
function handle($args)
|
function handle($args)
|
||||||
{
|
{
|
||||||
parent::handle($args);
|
parent::handle($args);
|
||||||
if (!common_logged_in()) {
|
if (!common_logged_in()) {
|
||||||
|
// TRANS: Client error displayed when trying to unsubscribe while not logged in.
|
||||||
$this->clientError(_('Not logged in.'));
|
$this->clientError(_('Not logged in.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -74,6 +74,7 @@ class UnsubscribeAction extends Action
|
|||||||
$other_id = $this->arg('unsubscribeto');
|
$other_id = $this->arg('unsubscribeto');
|
||||||
|
|
||||||
if (!$other_id) {
|
if (!$other_id) {
|
||||||
|
// TRANS: Client error displayed when trying to unsubscribe without providing a profile ID.
|
||||||
$this->clientError(_('No profile ID in request.'));
|
$this->clientError(_('No profile ID in request.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -81,6 +82,7 @@ class UnsubscribeAction extends Action
|
|||||||
$other = Profile::staticGet('id', $other_id);
|
$other = Profile::staticGet('id', $other_id);
|
||||||
|
|
||||||
if (!$other) {
|
if (!$other) {
|
||||||
|
// TRANS: Client error displayed when trying to unsubscribe while providing a non-existing profile ID.
|
||||||
$this->clientError(_('No profile with that ID.'));
|
$this->clientError(_('No profile with that ID.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -95,6 +97,7 @@ class UnsubscribeAction extends Action
|
|||||||
if ($this->boolean('ajax')) {
|
if ($this->boolean('ajax')) {
|
||||||
$this->startHTML('text/xml;charset=utf-8');
|
$this->startHTML('text/xml;charset=utf-8');
|
||||||
$this->elementStart('head');
|
$this->elementStart('head');
|
||||||
|
// TRANS: Page title for page to unsubscribe.
|
||||||
$this->element('title', null, _('Unsubscribed'));
|
$this->element('title', null, _('Unsubscribed'));
|
||||||
$this->elementEnd('head');
|
$this->elementEnd('head');
|
||||||
$this->elementStart('body');
|
$this->elementStart('body');
|
||||||
|
@ -45,7 +45,6 @@ require_once INSTALLDIR.'/extlib/libomb/service_provider.php';
|
|||||||
*/
|
*/
|
||||||
class UpdateprofileAction extends Action
|
class UpdateprofileAction extends Action
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For initializing members of the class.
|
* For initializing members of the class.
|
||||||
*
|
*
|
||||||
@ -61,8 +60,10 @@ class UpdateprofileAction extends Action
|
|||||||
$license = $_POST['omb_listenee_license'];
|
$license = $_POST['omb_listenee_license'];
|
||||||
$site_license = common_config('license', 'url');
|
$site_license = common_config('license', 'url');
|
||||||
if (!common_compatible_license($license, $site_license)) {
|
if (!common_compatible_license($license, $site_license)) {
|
||||||
$this->clientError(sprintf(_('Listenee stream license ‘%1$s’ is not '.
|
// TRANS: Client error displayed when trying to update profile with an incompatible license.
|
||||||
'compatible with site license ‘%2$s’.'),
|
// TRANS: %1$s is the license incompatible with site license %2$s.
|
||||||
|
$this->clientError(sprintf(_('Listenee stream license "%1$s" is not '.
|
||||||
|
'compatible with site license "%2$s".'),
|
||||||
$license, $site_license));
|
$license, $site_license));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -32,8 +32,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Miscellaneous settings actions
|
* Miscellaneous settings actions
|
||||||
*
|
*
|
||||||
@ -46,7 +44,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
|||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class UrlsettingsAction extends SettingsAction
|
class UrlsettingsAction extends SettingsAction
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -54,9 +51,9 @@ class UrlsettingsAction extends SettingsAction
|
|||||||
*
|
*
|
||||||
* @return string Title of the page
|
* @return string Title of the page
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function title()
|
function title()
|
||||||
{
|
{
|
||||||
|
// TRANS: Title of URL settings tab in profile settings.
|
||||||
return _('URL settings');
|
return _('URL settings');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,7 +62,6 @@ class UrlsettingsAction extends SettingsAction
|
|||||||
*
|
*
|
||||||
* @return instructions for use
|
* @return instructions for use
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function getInstructions()
|
function getInstructions()
|
||||||
{
|
{
|
||||||
// TRANS: Instructions for tab "Other" in user profile settings.
|
// TRANS: Instructions for tab "Other" in user profile settings.
|
||||||
@ -85,7 +81,6 @@ class UrlsettingsAction extends SettingsAction
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function showContent()
|
function showContent()
|
||||||
{
|
{
|
||||||
$user = common_current_user();
|
$user = common_current_user();
|
||||||
@ -118,11 +113,12 @@ class UrlsettingsAction extends SettingsAction
|
|||||||
|
|
||||||
// Include default values
|
// Include default values
|
||||||
|
|
||||||
|
// TRANS: Default value for URL shortening settings.
|
||||||
$services['none'] = _('[none]');
|
$services['none'] = _('[none]');
|
||||||
|
// TRANS: Default value for URL shortening settings.
|
||||||
$services['internal'] = _('[internal]');
|
$services['internal'] = _('[internal]');
|
||||||
|
|
||||||
if ($services) {
|
if ($services) {
|
||||||
|
|
||||||
asort($services);
|
asort($services);
|
||||||
|
|
||||||
$this->elementStart('li');
|
$this->elementStart('li');
|
||||||
@ -135,16 +131,20 @@ class UrlsettingsAction extends SettingsAction
|
|||||||
}
|
}
|
||||||
$this->elementStart('li');
|
$this->elementStart('li');
|
||||||
$this->input('maxurllength',
|
$this->input('maxurllength',
|
||||||
|
// TRANS: Field label in URL settings in profile.
|
||||||
_('URL longer than'),
|
_('URL longer than'),
|
||||||
(!is_null($this->arg('maxurllength'))) ?
|
(!is_null($this->arg('maxurllength'))) ?
|
||||||
$this->arg('maxurllength') : User_urlshortener_prefs::maxUrlLength($user),
|
$this->arg('maxurllength') : User_urlshortener_prefs::maxUrlLength($user),
|
||||||
|
// TRANS: Field title in URL settings in profile.
|
||||||
_('URLs longer than this will be shortened, 0 means always shorten.'));
|
_('URLs longer than this will be shortened, 0 means always shorten.'));
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
$this->elementStart('li');
|
$this->elementStart('li');
|
||||||
$this->input('maxnoticelength',
|
$this->input('maxnoticelength',
|
||||||
|
// TRANS: Field label in URL settings in profile.
|
||||||
_('Text longer than'),
|
_('Text longer than'),
|
||||||
(!is_null($this->arg('maxnoticelength'))) ?
|
(!is_null($this->arg('maxnoticelength'))) ?
|
||||||
$this->arg('maxnoticelength') : User_urlshortener_prefs::maxNoticeLength($user),
|
$this->arg('maxnoticelength') : User_urlshortener_prefs::maxNoticeLength($user),
|
||||||
|
// TRANS: Field title in URL settings in profile.
|
||||||
_('URLs in notices longer than this will be shortened, 0 means always shorten.'));
|
_('URLs in notices longer than this will be shortened, 0 means always shorten.'));
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
$this->elementEnd('ul');
|
$this->elementEnd('ul');
|
||||||
@ -162,7 +162,6 @@ class UrlsettingsAction extends SettingsAction
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function handlePost()
|
function handlePost()
|
||||||
{
|
{
|
||||||
// CSRF protection
|
// CSRF protection
|
||||||
@ -184,13 +183,15 @@ class UrlsettingsAction extends SettingsAction
|
|||||||
$maxurllength = $this->trimmed('maxurllength');
|
$maxurllength = $this->trimmed('maxurllength');
|
||||||
|
|
||||||
if (!Validate::number($maxurllength, array('min' => 0))) {
|
if (!Validate::number($maxurllength, array('min' => 0))) {
|
||||||
throw new ClientException(_('Invalid number for max url length.'));
|
// TRANS: Client exception thrown when the maximum URL settings value is invalid in profile URL settings.
|
||||||
|
throw new ClientException(_('Invalid number for maximum URL length.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$maxnoticelength = $this->trimmed('maxnoticelength');
|
$maxnoticelength = $this->trimmed('maxnoticelength');
|
||||||
|
|
||||||
if (!Validate::number($maxnoticelength, array('min' => 0))) {
|
if (!Validate::number($maxnoticelength, array('min' => 0))) {
|
||||||
throw new ClientException(_('Invalid number for max notice length.'));
|
// TRANS: Client exception thrown when the maximum notice length settings value is invalid in profile URL settings.
|
||||||
|
throw new ClientException(_('Invalid number for maximum notice length.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = common_current_user();
|
$user = common_current_user();
|
||||||
@ -235,6 +236,7 @@ class UrlsettingsAction extends SettingsAction
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
|
// TRANS: Server exception thrown in profile URL settings when preferences could not be saved.
|
||||||
throw new ServerException(_('Error saving user URL shortening preferences.'));
|
throw new ServerException(_('Error saving user URL shortening preferences.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ class UserauthorizationAction extends Action
|
|||||||
|
|
||||||
function showPageNotice()
|
function showPageNotice()
|
||||||
{
|
{
|
||||||
// TRANS: Page notice on "Auhtorize subscription" page.
|
// TRANS: Page notice on "Authorize subscription" page.
|
||||||
$this->element('p', null, _('Please check these details to make sure '.
|
$this->element('p', null, _('Please check these details to make sure '.
|
||||||
'that you want to subscribe to this ' .
|
'that you want to subscribe to this ' .
|
||||||
'user’s notices. If you didn’t just ask ' .
|
'user’s notices. If you didn’t just ask ' .
|
||||||
@ -243,10 +243,10 @@ class UserauthorizationAction extends Action
|
|||||||
{
|
{
|
||||||
// TRANS: Accept message header from Authorise subscription page.
|
// TRANS: Accept message header from Authorise subscription page.
|
||||||
common_show_header(_('Subscription authorized'));
|
common_show_header(_('Subscription authorized'));
|
||||||
// TRANS: Accept message text from Authorise subscription page.
|
|
||||||
$this->element('p', null,
|
$this->element('p', null,
|
||||||
|
// TRANS: Accept message text from Authorise subscription page.
|
||||||
_('The subscription has been authorized, but no '.
|
_('The subscription has been authorized, but no '.
|
||||||
'callback URL was passed. Check with the site’s ' .
|
'callback URL was passed. Check with the site\'s ' .
|
||||||
'instructions for details on how to authorize the ' .
|
'instructions for details on how to authorize the ' .
|
||||||
'subscription. Your subscription token is:'));
|
'subscription. Your subscription token is:'));
|
||||||
$this->element('blockquote', 'token', $tok);
|
$this->element('blockquote', 'token', $tok);
|
||||||
@ -257,10 +257,10 @@ class UserauthorizationAction extends Action
|
|||||||
{
|
{
|
||||||
// TRANS: Reject message header from Authorise subscription page.
|
// TRANS: Reject message header from Authorise subscription page.
|
||||||
common_show_header(_('Subscription rejected'));
|
common_show_header(_('Subscription rejected'));
|
||||||
// TRANS: Reject message from Authorise subscription page.
|
|
||||||
$this->element('p', null,
|
$this->element('p', null,
|
||||||
|
// TRANS: Reject message from Authorise subscription page.
|
||||||
_('The subscription has been rejected, but no '.
|
_('The subscription has been rejected, but no '.
|
||||||
'callback URL was passed. Check with the site’s ' .
|
'callback URL was passed. Check with the site\'s ' .
|
||||||
'instructions for details on how to fully reject ' .
|
'instructions for details on how to fully reject ' .
|
||||||
'the subscription.'));
|
'the subscription.'));
|
||||||
common_show_footer();
|
common_show_footer();
|
||||||
|
@ -63,7 +63,7 @@ class Group_join_queue extends Managed_DataObject
|
|||||||
if (empty($member)) {
|
if (empty($member)) {
|
||||||
// TRANS: Exception thrown providing an invalid profile ID.
|
// TRANS: Exception thrown providing an invalid profile ID.
|
||||||
// TRANS: %s is the invalid profile ID.
|
// TRANS: %s is the invalid profile ID.
|
||||||
throw new Exception(sprintf(_("Profile ID %s is invalid."),$this->profile_id));
|
throw new Exception(sprintf(_('Profile ID %s is invalid.'),$this->profile_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $member;
|
return $member;
|
||||||
@ -76,7 +76,7 @@ class Group_join_queue extends Managed_DataObject
|
|||||||
if (empty($group)) {
|
if (empty($group)) {
|
||||||
// TRANS: Exception thrown providing an invalid group ID.
|
// TRANS: Exception thrown providing an invalid group ID.
|
||||||
// TRANS: %s is the invalid group ID.
|
// TRANS: %s is the invalid group ID.
|
||||||
throw new Exception(sprintf(_("Group ID %s is invalid."),$this->group_id));
|
throw new Exception(sprintf(_('Group ID %s is invalid.'),$this->group_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $group;
|
return $group;
|
||||||
|
@ -168,7 +168,7 @@ class Profile extends Memcached_DataObject
|
|||||||
function getFancyName()
|
function getFancyName()
|
||||||
{
|
{
|
||||||
if ($this->fullname) {
|
if ($this->fullname) {
|
||||||
// TRANS: Full name of a profile or group followed by nickname in parens
|
// TRANS: Full name of a profile or group (%1$s) followed by nickname (%2$s) in parentheses.
|
||||||
return sprintf(_m('FANCYNAME','%1$s (%2$s)'), $this->fullname, $this->nickname);
|
return sprintf(_m('FANCYNAME','%1$s (%2$s)'), $this->fullname, $this->nickname);
|
||||||
} else {
|
} else {
|
||||||
return $this->nickname;
|
return $this->nickname;
|
||||||
@ -180,7 +180,6 @@ class Profile extends Memcached_DataObject
|
|||||||
*
|
*
|
||||||
* @return mixed Notice or null
|
* @return mixed Notice or null
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function getCurrentNotice()
|
function getCurrentNotice()
|
||||||
{
|
{
|
||||||
$notice = $this->getNotices(0, 1);
|
$notice = $this->getNotices(0, 1);
|
||||||
|
@ -267,8 +267,8 @@ class Subscription extends Memcached_DataObject
|
|||||||
common_date_iso8601($this->created));
|
common_date_iso8601($this->created));
|
||||||
|
|
||||||
$act->time = strtotime($this->created);
|
$act->time = strtotime($this->created);
|
||||||
// TRANS: Activity tile when subscribing to another person.
|
// TRANS: Activity title when subscribing to another person.
|
||||||
$act->title = _("Follow");
|
$act->title = _m('TITLE','Follow');
|
||||||
// TRANS: Notification given when one person starts following another.
|
// TRANS: Notification given when one person starts following another.
|
||||||
// TRANS: %1$s is the subscriber, %2$s is the subscribed.
|
// TRANS: %1$s is the subscriber, %2$s is the subscribed.
|
||||||
$act->content = sprintf(_('%1$s is now following %2$s.'),
|
$act->content = sprintf(_('%1$s is now following %2$s.'),
|
||||||
@ -301,7 +301,6 @@ class Subscription extends Memcached_DataObject
|
|||||||
*
|
*
|
||||||
* @return Subscription stream of subscriptions; use fetch() to iterate
|
* @return Subscription stream of subscriptions; use fetch() to iterate
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static function bySubscriber($subscriberId,
|
static function bySubscriber($subscriberId,
|
||||||
$offset = 0,
|
$offset = 0,
|
||||||
$limit = PROFILES_PER_PAGE)
|
$limit = PROFILES_PER_PAGE)
|
||||||
@ -362,7 +361,6 @@ class Subscription extends Memcached_DataObject
|
|||||||
*
|
*
|
||||||
* @return Subscription stream of subscriptions; use fetch() to iterate
|
* @return Subscription stream of subscriptions; use fetch() to iterate
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static function bySubscribed($subscribedId,
|
static function bySubscribed($subscribedId,
|
||||||
$offset = 0,
|
$offset = 0,
|
||||||
$limit = PROFILES_PER_PAGE)
|
$limit = PROFILES_PER_PAGE)
|
||||||
@ -420,7 +418,6 @@ class Subscription extends Memcached_DataObject
|
|||||||
*
|
*
|
||||||
* @return boolean success flag.
|
* @return boolean success flag.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function update($orig=null)
|
function update($orig=null)
|
||||||
{
|
{
|
||||||
$result = parent::update($orig);
|
$result = parent::update($orig);
|
||||||
|
@ -965,5 +965,4 @@ class User extends Memcached_DataObject
|
|||||||
|
|
||||||
return $apps;
|
return $apps;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
|
|||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class AccountProfileBlock extends ProfileBlock
|
class AccountProfileBlock extends ProfileBlock
|
||||||
{
|
{
|
||||||
protected $profile = null;
|
protected $profile = null;
|
||||||
@ -131,9 +130,9 @@ class AccountProfileBlock extends ProfileBlock
|
|||||||
$this->out->elementStart('li', 'entity_edit');
|
$this->out->elementStart('li', 'entity_edit');
|
||||||
$this->out->element('a', array('href' => common_local_url('profilesettings'),
|
$this->out->element('a', array('href' => common_local_url('profilesettings'),
|
||||||
// TRANS: Link title for link on user profile.
|
// TRANS: Link title for link on user profile.
|
||||||
'title' => _('Edit profile settings')),
|
'title' => _('Edit profile settings.')),
|
||||||
// TRANS: Link text for link on user profile.
|
// TRANS: Link text for link on user profile.
|
||||||
_('Edit'));
|
_m('BUTTON','Edit'));
|
||||||
$this->out->elementEnd('li');
|
$this->out->elementEnd('li');
|
||||||
} else { // someone else's page
|
} else { // someone else's page
|
||||||
|
|
||||||
@ -160,9 +159,9 @@ class AccountProfileBlock extends ProfileBlock
|
|||||||
$this->out->elementStart('li', 'entity_send-a-message');
|
$this->out->elementStart('li', 'entity_send-a-message');
|
||||||
$this->out->element('a', array('href' => common_local_url('newmessage', array('to' => $this->user->id)),
|
$this->out->element('a', array('href' => common_local_url('newmessage', array('to' => $this->user->id)),
|
||||||
// TRANS: Link title for link on user profile.
|
// TRANS: Link title for link on user profile.
|
||||||
'title' => _('Send a direct message to this user')),
|
'title' => _('Send a direct message to this user.')),
|
||||||
// TRANS: Link text for link on user profile.
|
// TRANS: Link text for link on user profile.
|
||||||
_('Message'));
|
_m('BUTTON','Message'));
|
||||||
$this->out->elementEnd('li');
|
$this->out->elementEnd('li');
|
||||||
|
|
||||||
// nudge
|
// nudge
|
||||||
@ -288,6 +287,6 @@ class AccountProfileBlock extends ProfileBlock
|
|||||||
$this->out->element('a', array('href' => $url,
|
$this->out->element('a', array('href' => $url,
|
||||||
'class' => 'entity_remote_subscribe'),
|
'class' => 'entity_remote_subscribe'),
|
||||||
// TRANS: Link text for link that will subscribe to a remote profile.
|
// TRANS: Link text for link that will subscribe to a remote profile.
|
||||||
_('Subscribe'));
|
_m('BUTTON','Subscribe'));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -46,7 +46,6 @@ require_once INSTALLDIR.'/lib/form.php';
|
|||||||
*
|
*
|
||||||
* @see UnsubscribeForm
|
* @see UnsubscribeForm
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class CancelSubscriptionForm extends Form
|
class CancelSubscriptionForm extends Form
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -61,7 +60,6 @@ class CancelSubscriptionForm extends Form
|
|||||||
* @param HTMLOutputter $out output channel
|
* @param HTMLOutputter $out output channel
|
||||||
* @param Profile $profile being subscribed to
|
* @param Profile $profile being subscribed to
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function __construct($out=null, $profile=null)
|
function __construct($out=null, $profile=null)
|
||||||
{
|
{
|
||||||
parent::__construct($out);
|
parent::__construct($out);
|
||||||
@ -74,7 +72,6 @@ class CancelSubscriptionForm extends Form
|
|||||||
*
|
*
|
||||||
* @return string ID of the form
|
* @return string ID of the form
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function id()
|
function id()
|
||||||
{
|
{
|
||||||
return 'subscription-cancel-' . $this->profile->id;
|
return 'subscription-cancel-' . $this->profile->id;
|
||||||
@ -85,7 +82,6 @@ class CancelSubscriptionForm extends Form
|
|||||||
*
|
*
|
||||||
* @return string of the form class
|
* @return string of the form class
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function formClass()
|
function formClass()
|
||||||
{
|
{
|
||||||
return 'form_unsubscribe ajax';
|
return 'form_unsubscribe ajax';
|
||||||
@ -96,7 +92,6 @@ class CancelSubscriptionForm extends Form
|
|||||||
*
|
*
|
||||||
* @return string URL of the action
|
* @return string URL of the action
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function action()
|
function action()
|
||||||
{
|
{
|
||||||
return common_local_url('cancelsubscription',
|
return common_local_url('cancelsubscription',
|
||||||
@ -121,9 +116,9 @@ class CancelSubscriptionForm extends Form
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function formActions()
|
function formActions()
|
||||||
{
|
{
|
||||||
$this->out->submit('submit', _('Cancel sub request'));
|
// TRANS: Button text for form action to cancel a subscription request.
|
||||||
|
$this->out->submit('submit', _m('BUTTON','Cancel subscription request'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -641,7 +641,7 @@ function mail_notify_message($message, $from=null, $to=null)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* notify a user that one of their notices has been chosen as a 'fave'
|
* Notify a user that one of their notices has been chosen as a 'fave'
|
||||||
*
|
*
|
||||||
* Doesn't check that the user has an email address nor if they
|
* Doesn't check that the user has an email address nor if they
|
||||||
* want to receive notification of faves. Maybe this happens higher
|
* want to receive notification of faves. Maybe this happens higher
|
||||||
@ -704,7 +704,7 @@ function mail_notify_fave($other, $user, $notice)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* notify a user that they have received an "attn:" message AKA "@-reply"
|
* Notify a user that they have received an "attn:" message AKA "@-reply"
|
||||||
*
|
*
|
||||||
* @param User $user The user who recevied the notice
|
* @param User $user The user who recevied the notice
|
||||||
* @param Notice $notice The notice that was sent
|
* @param Notice $notice The notice that was sent
|
||||||
|
@ -42,7 +42,6 @@ require_once INSTALLDIR.'/lib/widget.php';
|
|||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
* @link http://status.net/
|
* @link http://status.net/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class SubGroupNav extends Menu
|
class SubGroupNav extends Menu
|
||||||
{
|
{
|
||||||
var $user = null;
|
var $user = null;
|
||||||
@ -52,7 +51,6 @@ class SubGroupNav extends Menu
|
|||||||
*
|
*
|
||||||
* @param Action $action current action, used for output
|
* @param Action $action current action, used for output
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function __construct($action=null, $user=null)
|
function __construct($action=null, $user=null)
|
||||||
{
|
{
|
||||||
parent::__construct($action);
|
parent::__construct($action);
|
||||||
@ -64,7 +62,6 @@ class SubGroupNav extends Menu
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function show()
|
function show()
|
||||||
{
|
{
|
||||||
$cur = common_current_user();
|
$cur = common_current_user();
|
||||||
@ -76,23 +73,30 @@ class SubGroupNav extends Menu
|
|||||||
|
|
||||||
$this->out->menuItem(common_local_url('showstream', array('nickname' =>
|
$this->out->menuItem(common_local_url('showstream', array('nickname' =>
|
||||||
$this->user->nickname)),
|
$this->user->nickname)),
|
||||||
_('Profile'),
|
// TRANS: Menu item in local navigation menu.
|
||||||
|
_m('MENU','Profile'),
|
||||||
(empty($profile)) ? $this->user->nickname : $profile->getBestName(),
|
(empty($profile)) ? $this->user->nickname : $profile->getBestName(),
|
||||||
$action == 'showstream',
|
$action == 'showstream',
|
||||||
'nav_profile');
|
'nav_profile');
|
||||||
$this->out->menuItem(common_local_url('subscriptions',
|
$this->out->menuItem(common_local_url('subscriptions',
|
||||||
array('nickname' =>
|
array('nickname' =>
|
||||||
$this->user->nickname)),
|
$this->user->nickname)),
|
||||||
_('Subscriptions'),
|
// TRANS: Menu item in local navigation menu.
|
||||||
sprintf(_('People %s subscribes to'),
|
_m('MENU','Subscriptions'),
|
||||||
|
// TRANS: Menu item title in local navigation menu.
|
||||||
|
// TRANS: %s is a user nickname.
|
||||||
|
sprintf(_('People %s subscribes to.'),
|
||||||
$this->user->nickname),
|
$this->user->nickname),
|
||||||
$action == 'subscriptions',
|
$action == 'subscriptions',
|
||||||
'nav_subscriptions');
|
'nav_subscriptions');
|
||||||
$this->out->menuItem(common_local_url('subscribers',
|
$this->out->menuItem(common_local_url('subscribers',
|
||||||
array('nickname' =>
|
array('nickname' =>
|
||||||
$this->user->nickname)),
|
$this->user->nickname)),
|
||||||
_('Subscribers'),
|
// TRANS: Menu item in local navigation menu.
|
||||||
sprintf(_('People subscribed to %s'),
|
_m('MENU','Subscribers'),
|
||||||
|
// TRANS: Menu item title in local navigation menu.
|
||||||
|
// TRANS: %s is a user nickname.
|
||||||
|
sprintf(_('People subscribed to %s.'),
|
||||||
$this->user->nickname),
|
$this->user->nickname),
|
||||||
$action == 'subscribers',
|
$action == 'subscribers',
|
||||||
'nav_subscribers');
|
'nav_subscribers');
|
||||||
@ -103,8 +107,10 @@ class SubGroupNav extends Menu
|
|||||||
$this->out->menuItem(common_local_url('subqueue',
|
$this->out->menuItem(common_local_url('subqueue',
|
||||||
array('nickname' =>
|
array('nickname' =>
|
||||||
$this->user->nickname)),
|
$this->user->nickname)),
|
||||||
sprintf(_('Pending (%d)'), $pending),
|
// TRANS: Menu item in local navigation menu.
|
||||||
sprintf(_('Approve pending subscription requests'),
|
sprintf(_m('MENU','Pending (%d)'), $pending),
|
||||||
|
// TRANS: Menu item title in local navigation menu.
|
||||||
|
sprintf(_('Approve pending subscription requests.'),
|
||||||
$this->user->nickname),
|
$this->user->nickname),
|
||||||
$action == 'subqueueaction',
|
$action == 'subqueueaction',
|
||||||
'nav_subscribers');
|
'nav_subscribers');
|
||||||
@ -113,15 +119,21 @@ class SubGroupNav extends Menu
|
|||||||
$this->out->menuItem(common_local_url('usergroups',
|
$this->out->menuItem(common_local_url('usergroups',
|
||||||
array('nickname' =>
|
array('nickname' =>
|
||||||
$this->user->nickname)),
|
$this->user->nickname)),
|
||||||
_('Groups'),
|
// TRANS: Menu item in local navigation menu.
|
||||||
sprintf(_('Groups %s is a member of'),
|
_m('MENU','Groups'),
|
||||||
|
// TRANS: Menu item title in local navigation menu.
|
||||||
|
// TRANS: %s is a user nickname.
|
||||||
|
sprintf(_('Groups %s is a member of.'),
|
||||||
$this->user->nickname),
|
$this->user->nickname),
|
||||||
$action == 'usergroups',
|
$action == 'usergroups',
|
||||||
'nav_usergroups');
|
'nav_usergroups');
|
||||||
if (common_config('invite', 'enabled') && !is_null($cur) && $this->user->id === $cur->id) {
|
if (common_config('invite', 'enabled') && !is_null($cur) && $this->user->id === $cur->id) {
|
||||||
$this->out->menuItem(common_local_url('invite'),
|
$this->out->menuItem(common_local_url('invite'),
|
||||||
_('Invite'),
|
// TRANS: Menu item in local navigation menu.
|
||||||
sprintf(_('Invite friends and colleagues to join you on %s'),
|
_m('MENU','Invite'),
|
||||||
|
// TRANS: Menu item title in local navigation menu.
|
||||||
|
// TRANS: %s is a user nickname.
|
||||||
|
sprintf(_('Invite friends and colleagues to join you on %s.'),
|
||||||
common_config('site', 'name')),
|
common_config('site', 'name')),
|
||||||
$action == 'invite',
|
$action == 'invite',
|
||||||
'nav_invite');
|
'nav_invite');
|
||||||
|
Loading…
Reference in New Issue
Block a user