Translator documentation updated.
FIXME added for missing class documentation.
Various documentation tweaks.
if (empty($this->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->elementEnd('head');
$this->elementStart('body');
if ($this->approve) {
- // TRANS: Message on page for group admin after approving a join request.
+ // TRANS: Message on page for group admin after approving a join request.
$this->element('p', 'success', _('Join request approved.'));
} elseif ($this->cancel) {
- // TRANS: Message on page for group admin after rejecting a join request.
+ // TRANS: Message on page for group admin after rejecting a join request.
$this->element('p', 'success', _('Join request canceled.'));
}
$this->elementEnd('body');
/**
* StatusNet, the distributed open-source microblogging tool
*
- * Leave a group
+ * Approve group subscription request
*
* PHP version 5
*
StatusNet::setApi(true);
}
if (!common_logged_in()) {
+ // TRANS: Client error displayed when trying to leave a group while not logged in.
$this->clientError(_('Not logged in.'));
return;
}
$other_id = $this->arg('unsubscribeto');
if (!$other_id) {
+ // TRANS: Client error displayed when trying to leave a group without specifying an ID.
$this->clientError(_('No profile ID in request.'));
return;
}
$other = Profile::staticGet('id', $other_id);
if (!$other) {
+ // TRANS: Client error displayed when trying to leave a non-existing group.
$this->clientError(_('No profile with that ID.'));
return;
}
if ($this->boolean('ajax')) {
$this->startHTML('text/xml;charset=utf-8');
$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->elementStart('body');
$subscribe = new SubscribeForm($this, $other);
}
}
+// @todo FIXME: documentation missing.
class GroupQueueList extends GroupMemberList
{
function newListItem($profile)
}
}
+// @todo FIXME: documentation missing.
class GroupQueueListItem extends GroupMemberListItem
{
function showActions()
exit(1);
}
-
-
/**
* Change profile settings
*
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class ProfilesettingsAction extends SettingsAction
{
/**
// TRANS: Tooltip for field label in form for profile settings. Plural
// TRANS: is decided by the number of characters available for the
// TRANS: biography (%d).
- $bioInstr = sprintf(_m('Describe yourself and your interests in %d character',
- 'Describe yourself and your interests in %d characters',
+ $bioInstr = sprintf(_m('Describe yourself and your interests in %d character.',
+ 'Describe yourself and your interests in %d characters.',
$maxBio),
$maxBio);
} else {
// 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.
$this->textarea('bio', _('Bio'),
($this->arg('bio')) ? $this->arg('bio') : $profile->bio,
$this->input('location', _('Location'),
($this->arg('location')) ? $this->arg('location') : $profile->location,
// 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');
if (common_config('location', 'share') == 'user') {
$this->elementStart('li');
$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.
_('Subscription policy'),
+ // TRANS: Dropdown field option for following policy.
array(User::SUBSCRIBE_POLICY_OPEN => _('Let anyone follow me'),
+ // TRANS: Dropdown field option for following policy.
User::SUBSCRIBE_POLICY_MODERATE => _('Ask me first')),
// TRANS: Dropdown field title on group edit form.
_('Whether other users need your permission to follow your updates.'),
if (empty($member)) {
// TRANS: Exception thrown providing an 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;
if (empty($group)) {
// TRANS: Exception thrown providing an 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;
function getFancyName()
{
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);
} else {
return $this->nickname;
*
* @return mixed Notice or null
*/
-
function getCurrentNotice()
{
$notice = $this->getNotices(0, 1);
{
return Subscription::exists($this, $other);
}
-
+
/**
* Check if a pending subscription request is outstanding for this...
*
common_date_iso8601($this->created));
$act->time = strtotime($this->created);
- // TRANS: Activity tile when subscribing to another person.
- $act->title = _("Follow");
+ // TRANS: Activity title when subscribing to another person.
+ $act->title = _m('TITLE','Follow');
// TRANS: Notification given when one person starts following another.
// TRANS: %1$s is the subscriber, %2$s is the subscribed.
$act->content = sprintf(_('%1$s is now following %2$s.'),
*
* @return Subscription stream of subscriptions; use fetch() to iterate
*/
-
static function bySubscriber($subscriberId,
$offset = 0,
$limit = PROFILES_PER_PAGE)
*
* @return Subscription stream of subscriptions; use fetch() to iterate
*/
-
static function bySubscribed($subscribedId,
$offset = 0,
$limit = PROFILES_PER_PAGE)
*
* @return boolean success flag.
*/
-
function update($orig=null)
{
$result = parent::update($orig);
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class AccountProfileBlock extends ProfileBlock
{
protected $profile = null;
$this->out->elementStart('li', 'entity_edit');
$this->out->element('a', array('href' => common_local_url('profilesettings'),
// TRANS: Link title for link on user profile.
- 'title' => _('Edit profile settings')),
+ 'title' => _('Edit profile settings.')),
// TRANS: Link text for link on user profile.
- _('Edit'));
+ _m('BUTTON','Edit'));
$this->out->elementEnd('li');
} else { // someone else's page
$this->out->elementStart('li', 'entity_send-a-message');
$this->out->element('a', array('href' => common_local_url('newmessage', array('to' => $this->user->id)),
// 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.
- _('Message'));
+ _m('BUTTON','Message'));
$this->out->elementEnd('li');
// nudge
$this->out->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
// TRANS: Link text for link that will subscribe to a remote profile.
- _('Subscribe'));
+ _m('BUTTON','Subscribe'));
}
-}
\ No newline at end of file
+}
*
* @see UnsubscribeForm
*/
-
class CancelSubscriptionForm extends Form
{
/**
* @param HTMLOutputter $out output channel
* @param Profile $profile being subscribed to
*/
-
function __construct($out=null, $profile=null)
{
parent::__construct($out);
*
* @return string ID of the form
*/
-
function id()
{
return 'subscription-cancel-' . $this->profile->id;
*
* @return string of the form class
*/
-
function formClass()
{
return 'form_unsubscribe ajax';
*
* @return string URL of the action
*/
-
function action()
{
return common_local_url('cancelsubscription',
*
* @return void
*/
-
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'));
}
}
}
/**
- * 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
* want to receive notification of faves. Maybe this happens higher
}
/**
- * 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 Notice $notice The notice that was sent
private function __construct()
{
}
-
+
public static function getInstance($id = '__default__')
{
if (empty(self::$_singleton)) {
}
return $result;
}
-
+
protected function _mapAction($action, $path)
{
if (!array_key_exists($action, $this->_actionToPath)) {
$this->_actionToPath[$action][] = $path;
return;
}
-
+
public function generate($values = array(), $qstring = array(), $anchor = '')
{
if (!array_key_exists('action', $values)) {
return parent::generate($values, $qstring, $anchor);
}
-
+
$action = $values['action'];
if (!array_key_exists($action, $this->_actionToPath)) {
return parent::generate($values, $qstring, $anchor);
}
-
+
$oldPaths = $this->paths;
$this->paths = $this->_actionToPath[$action];
$result = parent::generate($values, $qstring, $anchor);
/**
* Create a unique hashkey for the router.
- *
+ *
* The router's url map can change based on the version of the software
* you're running and the plugins that are enabled. To avoid having bad routes
* get stuck in the cache, the key includes a list of plugins and the software
* version.
- *
- * There can still be problems with a) differences in versions of the plugins and
+ *
+ * There can still be problems with a) differences in versions of the plugins and
* b) people running code between official versions, but these tend to be more
* sophisticated users who can grok what's going on and clear their caches.
- *
+ *
* @return string cache key string that should uniquely identify a router
*/
-
+
static function cacheKey()
{
$parts = array('router');
return Cache::codeKey(implode(':', $parts));
}
-
+
function initialize()
{
$m = StatusNet_URL_Mapper::getInstance();
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class SubGroupNav extends Menu
{
var $user = null;
*
* @param Action $action current action, used for output
*/
-
function __construct($action=null, $user=null)
{
parent::__construct($action);
*
* @return void
*/
-
function show()
{
$cur = common_current_user();
$this->out->menuItem(common_local_url('showstream', array('nickname' =>
$this->user->nickname)),
- _('Profile'),
+ // TRANS: Menu item in local navigation menu.
+ _m('MENU','Profile'),
(empty($profile)) ? $this->user->nickname : $profile->getBestName(),
$action == 'showstream',
'nav_profile');
$this->out->menuItem(common_local_url('subscriptions',
array('nickname' =>
$this->user->nickname)),
- _('Subscriptions'),
- sprintf(_('People %s subscribes to'),
+ // TRANS: Menu item in local navigation menu.
+ _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),
$action == 'subscriptions',
'nav_subscriptions');
$this->out->menuItem(common_local_url('subscribers',
array('nickname' =>
$this->user->nickname)),
- _('Subscribers'),
- sprintf(_('People subscribed to %s'),
+ // TRANS: Menu item in local navigation menu.
+ _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),
$action == 'subscribers',
'nav_subscribers');
$this->out->menuItem(common_local_url('subqueue',
array('nickname' =>
$this->user->nickname)),
- sprintf(_('Pending (%d)'), $pending),
- sprintf(_('Approve pending subscription requests'),
+ // TRANS: Menu item in local navigation menu.
+ sprintf(_m('MENU','Pending (%d)'), $pending),
+ // TRANS: Menu item title in local navigation menu.
+ sprintf(_('Approve pending subscription requests.'),
$this->user->nickname),
$action == 'subqueueaction',
'nav_subscribers');
$this->out->menuItem(common_local_url('usergroups',
array('nickname' =>
$this->user->nickname)),
- _('Groups'),
- sprintf(_('Groups %s is a member of'),
+ // TRANS: Menu item in local navigation menu.
+ _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),
$action == 'usergroups',
'nav_usergroups');
if (common_config('invite', 'enabled') && !is_null($cur) && $this->user->id === $cur->id) {
$this->out->menuItem(common_local_url('invite'),
- _('Invite'),
- sprintf(_('Invite friends and colleagues to join you on %s'),
+ // TRANS: Menu item in local navigation menu.
+ _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')),
$action == 'invite',
'nav_invite');