From ea820862975e34ad71e845c70e422a3de08073f1 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Fri, 8 Apr 2011 18:46:41 +0200 Subject: [PATCH] Update translator documentation. Whitespace updates. Header updates. Break long lines in README. Indentation updates. --- plugins/FirePHP/FirePHPPlugin.php | 13 +++-- plugins/FirePHP/README | 6 +- .../FollowEveryone/FollowEveryonePlugin.php | 3 +- plugins/ForceGroup/ForceGroupPlugin.php | 4 +- plugins/GeoURL/GeoURLPlugin.php | 1 + plugins/Geonames/GeonamesPlugin.php | 15 +++-- .../GoogleAnalytics/GoogleAnalyticsPlugin.php | 1 + plugins/Gravatar/GravatarPlugin.php | 14 ++++- plugins/Gravatar/README | 7 +-- .../GroupPrivateMessagePlugin.php | 55 ++++++++++--------- plugins/GroupPrivateMessage/Group_message.php | 13 +++-- .../Group_message_profile.php | 22 ++++---- .../Group_privacy_settings.php | 21 ++++--- plugins/GroupPrivateMessage/groupinbox.php | 14 +++-- .../groupmessagecommand.php | 9 ++- .../GroupPrivateMessage/groupmessageform.php | 14 ++--- .../GroupPrivateMessage/groupmessagelist.php | 2 +- .../groupmessagelistitem.php | 6 +- .../GroupPrivateMessage/newgroupmessage.php | 14 +++-- .../GroupPrivateMessage/showgroupmessage.php | 15 ++--- 20 files changed, 140 insertions(+), 109 deletions(-) diff --git a/plugins/FirePHP/FirePHPPlugin.php b/plugins/FirePHP/FirePHPPlugin.php index 27f760c81c..8c6fae4d5f 100644 --- a/plugins/FirePHP/FirePHPPlugin.php +++ b/plugins/FirePHP/FirePHPPlugin.php @@ -1,11 +1,11 @@ -Author URI: http://candrews.integralblue.com/ + * StatusNet Plugin: 0.9 + * Plugin Name: FirePHP + * Description: Sends StatusNet log output to FirePHP + * Version: 0.1 + * Author: Craig Andrews + * Author URI: http://candrews.integralblue.com/ */ /* @@ -65,6 +65,7 @@ class FirePHPPlugin extends Plugin 'author' => 'Craig Andrews', 'homepage' => 'http://status.net/wiki/Plugin:FirePHP', 'rawdescription' => + // TRANS: Plugin description. _m('The FirePHP plugin writes StatusNet\'s log output to FirePHP.')); return true; } diff --git a/plugins/FirePHP/README b/plugins/FirePHP/README index 22ed1e9be3..d7ba86e59c 100644 --- a/plugins/FirePHP/README +++ b/plugins/FirePHP/README @@ -1,8 +1,9 @@ The FirePHP plugin writes StatusNet's log output to FirePHP. Using FirePHP on production sites can expose sensitive information. - You must protect the security of your application by disabling FirePHP - logging on your live site. + +You must protect the security of your application by disabling FirePHP logging +on your live site! Installation ============ @@ -18,4 +19,3 @@ Example ======= addPlugin('FirePHP', array()); - diff --git a/plugins/FollowEveryone/FollowEveryonePlugin.php b/plugins/FollowEveryone/FollowEveryonePlugin.php index 04ed932122..98f61c3a99 100644 --- a/plugins/FollowEveryone/FollowEveryonePlugin.php +++ b/plugins/FollowEveryone/FollowEveryonePlugin.php @@ -59,7 +59,6 @@ class FollowEveryonePlugin extends Plugin * @param User &$newUser The new user * * @return boolean hook value - * */ function onEndUserRegister(&$newProfile, &$newUser) { @@ -115,7 +114,6 @@ class FollowEveryonePlugin extends Plugin $schema = Schema::get(); // For storing user-submitted flags on profiles - $schema->ensureTable('user_followeveryone_prefs', array(new ColumnDef('user_id', 'integer', null, true, 'PRI'), @@ -200,6 +198,7 @@ class FollowEveryonePlugin extends Plugin 'author' => 'Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:FollowEveryone', 'rawdescription' => + // TRANS: Plugin description. _m('New users follow everyone at registration and are followed in return.')); return true; } diff --git a/plugins/ForceGroup/ForceGroupPlugin.php b/plugins/ForceGroup/ForceGroupPlugin.php index 5925dcaef0..c8e6709fc8 100644 --- a/plugins/ForceGroup/ForceGroupPlugin.php +++ b/plugins/ForceGroup/ForceGroupPlugin.php @@ -33,11 +33,11 @@ class ForceGroupPlugin extends Plugin * List by local nickname. */ public $post = array(); - + /** * New user registrations will automatically join these groups on * registration. They're not prevented from leaving, however. - * + * * List by local nickname. */ public $join = array(); diff --git a/plugins/GeoURL/GeoURLPlugin.php b/plugins/GeoURL/GeoURLPlugin.php index 91da81a5aa..9f2670eb82 100644 --- a/plugins/GeoURL/GeoURLPlugin.php +++ b/plugins/GeoURL/GeoURLPlugin.php @@ -121,6 +121,7 @@ class GeoURLPlugin extends Plugin 'author' => 'Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:GeoURL', 'rawdescription' => + // TRANS: Plugin description. _m('Ping GeoURL when '. 'new geolocation-enhanced notices are posted.')); return true; diff --git a/plugins/Geonames/GeonamesPlugin.php b/plugins/Geonames/GeonamesPlugin.php index d88014bb80..ea9899442c 100644 --- a/plugins/Geonames/GeonamesPlugin.php +++ b/plugins/Geonames/GeonamesPlugin.php @@ -435,7 +435,8 @@ class GeonamesPlugin extends Plugin function getGeonames($method, $params) { if ($this->lastTimeout && (time() - $this->lastTimeout < $this->timeoutWindow)) { - throw new Exception("skipping due to recent web service timeout"); + // TRANS: Exception thrown when a geo names service is not used because of a recent timeout. + throw new Exception(_m('Skipping due to recent web service timeout.')); } $client = HTTPClient::start(); @@ -451,13 +452,16 @@ class GeonamesPlugin extends Plugin } if (!$result->isOk()) { - throw new Exception("HTTP error code " . $result->getStatus()); + // TRANS: Exception thrown when a geo names service does not return an expected response. + // TRANS: %s is an HTTP error code. + throw new Exception(sprintf(_m('HTTP error code %s.'),$result->getStatus())); } $body = $result->getBody(); if (empty($body)) { - throw new Exception("Empty HTTP body in response"); + // TRANS: Exception thrown when a geo names service returns an empty body. + throw new Exception(_m('Empty HTTP body in response.')); } // This will throw an exception if the XML is mal-formed @@ -473,7 +477,9 @@ class GeonamesPlugin extends Plugin } if (isset($document->status)) { - throw new Exception("Error #".$document->status['value']." ('".$document->status['message']."')"); + // TRANS: Exception thrown when a geo names service return a specific error number and error text. + // TRANS: %1$s is an error code, %2$s is an error message. + throw new Exception(sprintf(_m('Error #%1$s ("%2$s").'),$document->status['value'],$document->status['message'])); } // Array of elements, >0 elements @@ -488,6 +494,7 @@ class GeonamesPlugin extends Plugin 'author' => 'Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:Geonames', 'rawdescription' => + // TRANS: Plugin description. _m('Uses Geonames service to get human-readable '. 'names for locations based on user-provided lat/long pairs.')); return true; diff --git a/plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php b/plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php index bb937ec5b9..b34fe203ec 100644 --- a/plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php +++ b/plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php @@ -77,6 +77,7 @@ class GoogleAnalyticsPlugin extends Plugin 'author' => 'Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:GoogleAnalytics', 'rawdescription' => + // TRANS: Plugin description. _m('Use Google Analytics'. ' to track web access.')); return true; diff --git a/plugins/Gravatar/GravatarPlugin.php b/plugins/Gravatar/GravatarPlugin.php index 5fcc79fd51..256f6b162a 100644 --- a/plugins/Gravatar/GravatarPlugin.php +++ b/plugins/Gravatar/GravatarPlugin.php @@ -57,15 +57,18 @@ class GravatarPlugin extends Plugin 'action' => common_local_url('avatarsettings'))); $action->elementStart('fieldset', array('id' => 'settings_gravatar_add')); + // TRANS: Fieldset legend. Gravatar is an avatar service. $action->element('legend', null, _m('Set Gravatar')); $action->hidden('token', common_session_token()); $action->element('p', 'form_guide', + // TRANS: Form guide. Gravatar is an avatar service. _m('If you want to use your Gravatar image, click "Add".')); $action->element('input', array('type' => 'submit', 'id' => 'settings_gravatar_add_action-submit', 'name' => 'add', 'class' => 'submit', - 'value' => _m('Add'))); + // TRANS: Button text to add a Gravatar. Gravatar is an avatar service. + 'value' => _m('BUTTON','Add'))); $action->elementEnd('fieldset'); $action->elementEnd('form'); } elseif($hasGravatar) { @@ -75,19 +78,23 @@ class GravatarPlugin extends Plugin 'action' => common_local_url('avatarsettings'))); $action->elementStart('fieldset', array('id' => 'settings_gravatar_remove')); + // TRANS: Fieldset legend. Gravatar is an avatar service. $action->element('legend', null, _m('Remove Gravatar')); $action->hidden('token', common_session_token()); $action->element('p', 'form_guide', + // TRANS: Form guide. Gravatar is an avatar service. _m('If you want to remove your Gravatar image, click "Remove".')); $action->element('input', array('type' => 'submit', 'id' => 'settings_gravatar_remove_action-submit', 'name' => 'remove', 'class' => 'submit', + // TRANS: Button text to remove a Gravatar. Gravatar is an avatar service. 'value' => _m('Remove'))); $action->elementEnd('fieldset'); $action->elementEnd('form'); } else { $action->element('p', 'form_guide', + // TRANS: Form guide. Gravatar is an avatar service. _m('To use a Gravatar first enter in an email address.')); } } @@ -137,6 +144,7 @@ class GravatarPlugin extends Plugin $cur = common_current_user(); if(empty($cur->email)) { + // TRANS: Message displayed when no e-mail address was set when saving Gravatar setting. Gravatar is an avatar service. return array('message' => _m('You do not have an email address set in your profile.'), 'success' => false); } @@ -155,10 +163,12 @@ class GravatarPlugin extends Plugin $gravatar->created = DB_DataObject_Cast::dateTime(); # current time if (!$gravatar->insert()) { + // TRANS: Message displayed when saving Gravatar setting fails. Gravatar is an avatar service. return array('message' => _m('Failed to save Gravatar to the database.'), 'success' => false); } } + // TRANS: Message displayed when Gravatar was added. Gravatar is an avatar service. return array('message' => _m('Gravatar added.'), 'success' => true); } @@ -177,6 +187,7 @@ class GravatarPlugin extends Plugin $avatar = $profile->getAvatar(AVATAR_MINI_SIZE); if($avatar) $avatar->delete(); + // TRANS: Message displayed when Gravatar was removed. Gravatar is an avatar service. return array('message' => _m('Gravatar removed.'), 'success' => true); } @@ -197,6 +208,7 @@ class GravatarPlugin extends Plugin 'author' => 'Eric Helgeson', 'homepage' => 'http://status.net/wiki/Plugin:Gravatar', 'rawdescription' => + // TRANS: Plugin decsription. _m('The Gravatar plugin allows users to use their Gravatar with StatusNet.')); return true; diff --git a/plugins/Gravatar/README b/plugins/Gravatar/README index 2639048089..0f6c7280d9 100644 --- a/plugins/Gravatar/README +++ b/plugins/Gravatar/README @@ -1,13 +1,12 @@ GravatarPlugin 0.1 -About +About: This will allow users to use their Gravatar Avatar with your StatusNet install. -Configuration +Configuration: add this to your config.php: addPlugin('Gravatar', array()); -ToDo: +To do: Site default all on for gravatar by default Migration Script -Localize diff --git a/plugins/GroupPrivateMessage/GroupPrivateMessagePlugin.php b/plugins/GroupPrivateMessage/GroupPrivateMessagePlugin.php index 87c5aa9bda..6e31d69925 100644 --- a/plugins/GroupPrivateMessage/GroupPrivateMessagePlugin.php +++ b/plugins/GroupPrivateMessage/GroupPrivateMessagePlugin.php @@ -46,7 +46,6 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class GroupPrivateMessagePlugin extends Plugin { /** @@ -57,7 +56,6 @@ class GroupPrivateMessagePlugin extends Plugin * * @return boolean hook value */ - function onCheckSchema() { $schema = Schema::get(); @@ -78,7 +76,7 @@ class GroupPrivateMessagePlugin extends Plugin 'datetime'), new ColumnDef('modified', 'timestamp'))); - + $schema->ensureTable('group_message', array(new ColumnDef('id', 'char', @@ -136,7 +134,6 @@ class GroupPrivateMessagePlugin extends Plugin * * @return boolean hook value */ - function onAutoload($cls) { $dir = dirname(__FILE__); @@ -171,7 +168,6 @@ class GroupPrivateMessagePlugin extends Plugin * * @return boolean hook value */ - function onRouterInitialized($m) { $m->connect('group/:nickname/inbox', @@ -199,7 +195,6 @@ class GroupPrivateMessagePlugin extends Plugin * * @see Action */ - function onEndGroupGroupNav($groupnav) { $action = $groupnav->action; @@ -207,7 +202,9 @@ class GroupPrivateMessagePlugin extends Plugin $action->menuItem(common_local_url('groupinbox', array('nickname' => $group->nickname)), + // TRANS: Menu item in group page. _m('MENU','Inbox'), + // TRANS: Menu title in group page. _m('Private messages for this group.'), $action->trimmed('action') == 'groupinbox', 'nav_group_inbox'); @@ -221,7 +218,6 @@ class GroupPrivateMessagePlugin extends Plugin * * @result boolean hook value */ - function onEndGroupSave($group) { $gps = new Group_privacy_settings(); @@ -244,7 +240,6 @@ class GroupPrivateMessagePlugin extends Plugin * * @param GroupEditForm $form form being shown */ - function onEndGroupEditFormData($form) { $gps = null; @@ -255,20 +250,30 @@ class GroupPrivateMessagePlugin extends Plugin $form->out->elementStart('li'); $form->out->dropdown('allow_privacy', + // TRANS: Dropdown label in group settings page for if group allows private messages. _m('Private messages'), + // TRANS: Dropdown option in group settings page for allowing private messages. array(Group_privacy_settings::SOMETIMES => _m('Sometimes'), + // TRANS: Dropdown option in group settings page for allowing private messages. Group_privacy_settings::ALWAYS => _m('Always'), + // TRANS: Dropdown option in group settings page for allowing private messages. Group_privacy_settings::NEVER => _m('Never')), + // TRANS: Dropdown title in group settings page for if group allows private messages. _m('Whether to allow private messages to this group.'), false, (empty($gps)) ? Group_privacy_settings::SOMETIMES : $gps->allow_privacy); $form->out->elementEnd('li'); $form->out->elementStart('li'); $form->out->dropdown('allow_sender', + // TRANS: Dropdown label in group settings page for who can send private messages to the group. _m('Private senders'), + // TRANS: Dropdown option in group settings page for who can send private messages. array(Group_privacy_settings::EVERYONE => _m('Everyone'), + // TRANS: Dropdown option in group settings page for who can send private messages. Group_privacy_settings::MEMBER => _m('Member'), + // TRANS: Dropdown option in group settings page for who can send private messages. Group_privacy_settings::ADMIN => _m('Admin')), + // TRANS: Dropdown title in group settings page for who can send private messages to the group. _m('Who can send private messages to the group.'), false, (empty($gps)) ? Group_privacy_settings::MEMBER : $gps->allow_sender); @@ -292,7 +297,7 @@ class GroupPrivateMessagePlugin extends Plugin } else { $orig = clone($gps); } - + $gps->allow_privacy = $action->trimmed('allow_privacy'); $gps->allow_sender = $action->trimmed('allow_sender'); @@ -302,21 +307,21 @@ class GroupPrivateMessagePlugin extends Plugin } else { $gps->update($orig); } - + return true; } /** * Overload 'd' command to send private messages to groups. - * + * * 'd !group word word word' will send the private message * 'word word word' to the group 'group'. - * + * * @param string $cmd Command being run * @param string $arg Rest of the message (including address) * @param User $user User sending the message * @param Command &$result The resulting command object to be run. - * + * * @return boolean hook value */ function onStartIntepretCommand($cmd, $arg, $user, &$result) @@ -350,7 +355,7 @@ class GroupPrivateMessagePlugin extends Plugin * * @param Widget $widget The showgroup action being shown * @param User_group $group The current group - * + * * @return boolean hook value */ function onEndGroupActionsList($widget, $group) @@ -370,8 +375,10 @@ class GroupPrivateMessagePlugin extends Plugin $action->elementStart('li', 'entity_send-a-message'); $action->element('a', array('href' => common_local_url('newgroupmessage', array('nickname' => $group->nickname)), + // TRANS: Title for action in group actions list. 'title' => _m('Send a direct message to this group.')), - _m('Message')); + // TRANS: Link text for action in group actions list to send a private message to a group. + _m('LINKTEXT','Message')); // $form = new GroupMessageForm($action, $group); // $form->hidden = true; // $form->show(); @@ -384,12 +391,9 @@ class GroupPrivateMessagePlugin extends Plugin * privacy == always, force a group private message to all mentioned groups. * If any of the groups disallows private messages, skip it. * - * @param - * + * @param */ - function onStartNoticeSave(&$notice) { - // Look for group tags // FIXME: won't work for remote groups // @fixme if Notice::saveNew is refactored so we can just pull its list @@ -406,11 +410,9 @@ class GroupPrivateMessagePlugin extends Plugin $profile = $notice->getProfile(); if ($count > 0) { - /* Add them to the database */ foreach (array_unique($match[1]) as $nickname) { - $group = User_group::getForNickname($nickname, $profile); if (empty($group)) { @@ -433,7 +435,6 @@ class GroupPrivateMessagePlugin extends Plugin } if ($forcePrivate) { - foreach ($ignored as $group) { common_log(LOG_NOTICE, "Notice forced to group direct message ". @@ -454,11 +455,12 @@ class GroupPrivateMessagePlugin extends Plugin // Don't save the notice! // FIXME: this is probably cheating. + // TRANS: Client exception thrown when a private group message has to be forced. throw new ClientException(sprintf(_m('Forced notice to private group message.')), 200); } } - + return true; } @@ -470,12 +472,12 @@ class GroupPrivateMessagePlugin extends Plugin * * @return boolean hook value */ - function onEndGroupProfileElements($action, $group) { $gps = Group_privacy_settings::forGroup($group); - + if ($gps->allow_privacy == Group_privacy_settings::ALWAYS) { + // TRANS: Indicator on the group page that the group is (essentially) private. $action->element('p', 'privategroupindicator', _m('Private')); } @@ -486,7 +488,7 @@ class GroupPrivateMessagePlugin extends Plugin { if ($action instanceof ShowgroupAction) { $gps = Group_privacy_settings::forGroup($action->group); - + if ($gps->allow_privacy == Group_privacy_settings::ALWAYS) { return false; } @@ -501,6 +503,7 @@ class GroupPrivateMessagePlugin extends Plugin 'author' => 'Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:GroupPrivateMessage', 'rawdescription' => + // TRANS: Plugin description. _m('Allow posting private messages to groups.')); return true; } diff --git a/plugins/GroupPrivateMessage/Group_message.php b/plugins/GroupPrivateMessage/Group_message.php index 800cd10575..53fe0fe90f 100644 --- a/plugins/GroupPrivateMessage/Group_message.php +++ b/plugins/GroupPrivateMessage/Group_message.php @@ -44,7 +44,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php'; * * @see DB_DataObject */ - class Group_message extends Memcached_DataObject { public $__table = 'group_message'; // table name @@ -66,7 +65,6 @@ class Group_message extends Memcached_DataObject * @param mixed $v Value to lookup * * @return Group_message object found, or null for no hits - * */ function staticGet($k, $v=null) { @@ -123,6 +121,8 @@ class Group_message extends Memcached_DataObject { if (!$user->hasRight(Right::NEWMESSAGE)) { // XXX: maybe break this out into a separate right + // TRANS: Exception thrown when trying to send group private message without having the right to do that. + // TRANS: %s is a user nickname. throw new Exception(sprintf(_m('User %s is not allowed to send private messages.'), $user->nickname)); } @@ -134,6 +134,8 @@ class Group_message extends Memcached_DataObject // We use the same limits as for 'regular' private messages. if (Message::contentTooLong($text)) { + // TRANS: Exception thrown when trying to send group private message that is too long. + // TRANS: %d is the maximum meggage length. throw new Exception(sprintf(_m('That\'s too long. Maximum message size is %d character.', 'That\'s too long. Maximum message size is %d characters.', Message::maxContent()), @@ -143,7 +145,7 @@ class Group_message extends Memcached_DataObject // Valid! Let's do this thing! $gm = new Group_message(); - + $gm->id = UUID::gen(); $gm->uri = common_local_url('showgroupmessage', array('id' => $gm->id)); $gm->from_profile = $user->id; @@ -165,7 +167,7 @@ class Group_message extends Memcached_DataObject function distribute() { $group = User_group::staticGet('id', $this->to_group); - + $member = $group->getMembers(); while ($member->fetch()) { @@ -177,6 +179,7 @@ class Group_message extends Memcached_DataObject { $group = User_group::staticGet('id', $this->to_group); if (empty($group)) { + // TRANS: Exception thrown when trying to send group private message to a non-existing group. throw new ServerException(_m('No group for group message.')); } return $group; @@ -186,6 +189,7 @@ class Group_message extends Memcached_DataObject { $sender = Profile::staticGet('id', $this->from_profile); if (empty($sender)) { + // TRANS: Exception thrown when trying to send group private message without having a sender. throw new ServerException(_m('No sender for group message.')); } return $sender; @@ -204,5 +208,4 @@ class Group_message extends Memcached_DataObject return $gm; } - } diff --git a/plugins/GroupPrivateMessage/Group_message_profile.php b/plugins/GroupPrivateMessage/Group_message_profile.php index 4be0932cc2..20ce0120ac 100644 --- a/plugins/GroupPrivateMessage/Group_message_profile.php +++ b/plugins/GroupPrivateMessage/Group_message_profile.php @@ -44,7 +44,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php'; * * @see DB_DataObject */ - class Group_message_profile extends Memcached_DataObject { public $__table = 'group_message_profile'; // table name @@ -61,7 +60,6 @@ class Group_message_profile extends Memcached_DataObject * @param mixed $v Value to lookup * * @return Group_message object found, or null for no hits - * */ function staticGet($k, $v=null) { @@ -120,7 +118,7 @@ class Group_message_profile extends Memcached_DataObject function send($gm, $profile) { $gmp = new Group_message_profile(); - + $gmp->group_message_id = $gm->id; $gmp->to_profile = $profile->id; $gmp->created = common_sql_now(); @@ -138,7 +136,7 @@ class Group_message_profile extends Memcached_DataObject $this->notifyByMail(); } - function notifyByMail() + function notifyByMail() { $to = User::staticGet('id', $this->to_profile); @@ -163,14 +161,14 @@ class Group_message_profile extends Memcached_DataObject // TRANS: %3$s is the message content, %4$s a URL to the message, // TRANS: %5$s is the StatusNet sitename. $body = sprintf(_m("%1\$s (%2\$s) sent a private message to group %3\$s:\n\n". - "------------------------------------------------------\n". - "%4\$s\n". - "------------------------------------------------------\n\n". - "You can reply to their message here:\n\n". - "%5\$s\n\n". - "Do not reply to this email; it will not get to them.\n\n". - "With kind regards,\n". - "%6\$s"), + "------------------------------------------------------\n". + "%4\$s\n". + "------------------------------------------------------\n\n". + "You can reply to their message here:\n\n". + "%5\$s\n\n". + "Do not reply to this email; it will not get to them.\n\n". + "With kind regards,\n". + "%6\$s"), $from_profile->getBestName(), $from_profile->nickname, $group->nickname, diff --git a/plugins/GroupPrivateMessage/Group_privacy_settings.php b/plugins/GroupPrivateMessage/Group_privacy_settings.php index 7447ca9a62..9a8e5c045a 100644 --- a/plugins/GroupPrivateMessage/Group_privacy_settings.php +++ b/plugins/GroupPrivateMessage/Group_privacy_settings.php @@ -44,16 +44,15 @@ if (!defined('STATUSNET')) { * * @see DB_DataObject */ - class Group_privacy_settings extends Memcached_DataObject { public $__table = 'group_privacy_settings'; /** ID of the group. */ - public $group_id; + public $group_id; /** When to allow privacy: always, sometimes, or never. */ public $allow_privacy; /** Who can send private messages: everyone, member, admin */ - public $allow_sender; + public $allow_sender; /** row creation timestamp */ public $created; /** Last-modified timestamp */ @@ -81,7 +80,6 @@ class Group_privacy_settings extends Memcached_DataObject * * @return User_greeting_count object found, or null for no hits */ - function staticGet($k, $v=null) { return Memcached_DataObject::staticGet('Group_privacy_settings', $k, $v); @@ -95,7 +93,6 @@ class Group_privacy_settings extends Memcached_DataObject * * @return array array of column definitions */ - function table() { return array('group_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL, @@ -103,7 +100,7 @@ class Group_privacy_settings extends Memcached_DataObject 'allow_sender' => DB_DATAOBJECT_INT, 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL, 'modified' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL); - + } /** @@ -115,7 +112,6 @@ class Group_privacy_settings extends Memcached_DataObject * * @return array list of key field names */ - function keys() { return array_keys($this->keyTypes()); @@ -128,7 +124,6 @@ class Group_privacy_settings extends Memcached_DataObject * 'K' for primary key: for compound keys, add an entry for each component; * 'U' for unique keys: compound keys are not well supported here. */ - function keyTypes() { return array('group_id' => 'K'); @@ -139,7 +134,6 @@ class Group_privacy_settings extends Memcached_DataObject * * @return array magic three-false array that stops auto-incrementing. */ - function sequenceKey() { return array(false, false, false); @@ -164,6 +158,7 @@ class Group_privacy_settings extends Memcached_DataObject $gps = self::forGroup($group); if ($gps->allow_privacy == Group_privacy_settings::NEVER) { + // TRANS: Exception thrown when trying to set group privacy setting if group %s does not allow private messages. throw new Exception(sprintf(_m('Group %s does not allow private messages.'), $group->nickname)); } @@ -172,6 +167,8 @@ class Group_privacy_settings extends Memcached_DataObject case Group_privacy_settings::EVERYONE: $profile = $user->getProfile(); if (Group_block::isBlocked($group, $profile)) { + // TRANS: Exception thrown when trying to send group private message while blocked from that group. + // TRANS: %1$s is a user nickname, %2$s is a group nickname. throw new Exception(sprintf(_m('User %1$s is blocked from group %2$s.'), $user->nickname, $group->nickname)); @@ -179,6 +176,8 @@ class Group_privacy_settings extends Memcached_DataObject break; case Group_privacy_settings::MEMBER: if (!$user->isMember($group)) { + // TRANS: Exception thrown when trying to send group private message while not a member. + // TRANS: %1$s is a user nickname, %2$s is a group nickname. throw new Exception(sprintf(_m('User %1$s is not a member of group %2$s.'), $user->nickname, $group->nickname)); @@ -186,12 +185,16 @@ class Group_privacy_settings extends Memcached_DataObject break; case Group_privacy_settings::ADMIN: if (!$user->isAdmin($group)) { + // TRANS: Exception thrown when trying to send group private message while not a group administrator. + // TRANS: %1$s is a user nickname, %2$s is a group nickname. throw new Exception(sprintf(_m('User %1$s is not an administrator of group %2$s.'), $user->nickname, $group->nickname)); } break; default: + // TRANS: Exception thrown when encountering undefined group privacy settings. + // TRANS: %s is a group nickname. throw new Exception(sprintf(_m('Unknown privacy settings for group %s.'), $group->nickname)); } diff --git a/plugins/GroupPrivateMessage/groupinbox.php b/plugins/GroupPrivateMessage/groupinbox.php index e1c4fc996d..3464a1202a 100644 --- a/plugins/GroupPrivateMessage/groupinbox.php +++ b/plugins/GroupPrivateMessage/groupinbox.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * List of private messages to this group - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class GroupinboxAction extends GroupDesignAction { var $gm; @@ -63,6 +62,7 @@ class GroupinboxAction extends GroupDesignAction $cur = common_current_user(); if (empty($cur)) { + // TRANS: Client exception thrown when trying to view group inbox while not logged in. throw new ClientException(_m('Only for logged-in users.'), 403); } @@ -79,16 +79,19 @@ class GroupinboxAction extends GroupDesignAction $localGroup = Local_group::staticGet('nickname', $nickname); if (empty($localGroup)) { + // TRANS: Client exception thrown when trying to view group inbox for non-existing group. throw new ClientException(_m('No such group.'), 404); } $this->group = User_group::staticGet('id', $localGroup->group_id); if (empty($this->group)) { + // TRANS: Client exception thrown when trying to view group inbox for non-existing group. throw new ClientException(_m('No such group.'), 404); } if (!$cur->isMember($this->group)) { + // TRANS: Client exception thrown when trying to view group inbox while not a member. throw new ClientException(_m('Only for members.'), 403); } @@ -97,8 +100,8 @@ class GroupinboxAction extends GroupDesignAction if (!$this->page) { $this->page = 1; } - - $this->gm = Group_message::forGroup($this->group, + + $this->gm = Group_message::forGroup($this->group, ($this->page - 1) * MESSAGES_PER_PAGE, MESSAGES_PER_PAGE + 1); return true; @@ -122,6 +125,7 @@ class GroupinboxAction extends GroupDesignAction $cnt = $gml->show(); if ($cnt == 0) { + // TRANS: Text of group inbox if no private messages were sent to it. $this->element('p', 'guide', _m('This group has not received any private messages.')); } $this->pagination($this->page > 1, @@ -167,6 +171,7 @@ class GroupinboxAction extends GroupDesignAction $base = $this->group->getFancyName(); if ($this->page == 1) { + // TRANS: Title of inbox for group %s. return sprintf(_m('%s group inbox'), $base); } else { // TRANS: Page title for any but first group page. @@ -184,7 +189,6 @@ class GroupinboxAction extends GroupDesignAction * * @return void */ - function showPageNotice() { $instr = $this->getInstructions(); diff --git a/plugins/GroupPrivateMessage/groupmessagecommand.php b/plugins/GroupPrivateMessage/groupmessagecommand.php index bd865cb37c..2df45b10b4 100644 --- a/plugins/GroupPrivateMessage/groupmessagecommand.php +++ b/plugins/GroupPrivateMessage/groupmessagecommand.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * Command object for messages to groups - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class GroupMessageCommand extends Command { /** User sending the message. */ @@ -61,7 +60,6 @@ class GroupMessageCommand extends Command * @param string $nickname Nickname of the group * @param string $text Text of message */ - function __construct($user, $nickname, $text) { $this->user = $user; @@ -76,8 +74,9 @@ class GroupMessageCommand extends Command $gm = Group_message::send($this->user, $group, $this->text); - $channel->output($this->user, - sprintf(_m('Direct message to group %s sent.'), + $channel->output($this->user, + // TRANS: Succes message after sending private group message to group %s. + sprintf(_m('Direct message to group %s sent.'), $group->nickname)); return true; diff --git a/plugins/GroupPrivateMessage/groupmessageform.php b/plugins/GroupPrivateMessage/groupmessageform.php index 6d44096123..c33e4b25a2 100644 --- a/plugins/GroupPrivateMessage/groupmessageform.php +++ b/plugins/GroupPrivateMessage/groupmessageform.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * Form for posting a group message - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class GroupMessageForm extends Form { var $group; @@ -58,7 +57,6 @@ class GroupMessageForm extends Form * * @todo add a drop-down list to post to any group */ - function __construct($out, $group, $content=null) { parent::__construct($out); @@ -71,7 +69,7 @@ class GroupMessageForm extends Form * Action for the form */ function action() - { + { return common_local_url('newgroupmessage', array('nickname' => $this->group->nickname)); } @@ -87,6 +85,7 @@ class GroupMessageForm extends Form { $this->out->element('legend', null, + // TRANS: Form legend for sending private message to group %s. sprintf(_m('Message to %s'), $this->group->nickname)); } @@ -97,7 +96,6 @@ class GroupMessageForm extends Form * * @return */ - function id() { return 'form_notice-group-message'; @@ -110,7 +108,6 @@ class GroupMessageForm extends Form * * @return */ - function formClass() { return 'form_notice'; @@ -123,11 +120,11 @@ class GroupMessageForm extends Form * * @return */ - function formData() { $this->out->element('label', array('for' => 'notice_data-text', 'id' => 'notice_data-text-label'), + // TRANS: Field label for private group message to group %s. sprintf(_m('Direct message to %s'), $this->group->nickname)); $this->out->element('textarea', array('id' => 'notice_data-text', @@ -140,6 +137,7 @@ class GroupMessageForm extends Form if ($contentLimit > 0) { $this->out->elementStart('dl', 'form_note'); + // TRANS: Indicator for number of chatacters still available for notice. $this->out->element('dt', null, _m('Available characters')); $this->out->element('dd', array('class' => 'count'), $contentLimit); @@ -154,13 +152,13 @@ class GroupMessageForm extends Form * * @return */ - function formActions() { $this->out->element('input', array('id' => 'notice_action-submit', 'class' => 'submit', 'name' => 'message_send', 'type' => 'submit', + // TRANS: Send button text for sending private group notice. 'value' => _m('Send button for sending notice', 'Send'))); } } diff --git a/plugins/GroupPrivateMessage/groupmessagelist.php b/plugins/GroupPrivateMessage/groupmessagelist.php index 07f8ed5e4c..61ea3b233a 100644 --- a/plugins/GroupPrivateMessage/groupmessagelist.php +++ b/plugins/GroupPrivateMessage/groupmessagelist.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * Widget for showing list of group messages - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify diff --git a/plugins/GroupPrivateMessage/groupmessagelistitem.php b/plugins/GroupPrivateMessage/groupmessagelistitem.php index 4c0fd2ce64..cb9c6a5992 100644 --- a/plugins/GroupPrivateMessage/groupmessagelistitem.php +++ b/plugins/GroupPrivateMessage/groupmessagelistitem.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * Widget for showing an individual group message - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -69,13 +69,13 @@ class GroupMessageListItem extends Widget { $group = $this->gm->getGroup(); $sender = $this->gm->getSender(); - + $this->out->elementStart('li', array('class' => 'hentry notice message group-message', 'id' => 'message-' . $this->gm->id)); $this->out->elementStart('div', 'entry-title'); $this->out->elementStart('span', 'vcard author'); - $this->out->elementStart('a', + $this->out->elementStart('a', array('href' => $sender->profileurl, 'class' => 'url')); $avatar = $sender->getAvatar(AVATAR_STREAM_SIZE); diff --git a/plugins/GroupPrivateMessage/newgroupmessage.php b/plugins/GroupPrivateMessage/newgroupmessage.php index 61377ba178..4ba659eacc 100644 --- a/plugins/GroupPrivateMessage/newgroupmessage.php +++ b/plugins/GroupPrivateMessage/newgroupmessage.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * Action for adding a new group message - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class NewgroupmessageAction extends Action { var $group; @@ -58,7 +57,6 @@ class NewgroupmessageAction extends Action * * @return boolean true */ - function prepare($argarray) { parent::prepare($argarray); @@ -66,10 +64,12 @@ class NewgroupmessageAction extends Action $this->user = common_current_user(); if (empty($this->user)) { + // TRANS: Client exception thrown when trying to send a private group message while not logged in. throw new ClientException(_m('Must be logged in.'), 403); } if (!$this->user->hasRight(Right::NEWMESSAGE)) { + // TRANS: Exception thrown when user %s is not allowed to send a private group message. throw new Exception(sprintf(_m('User %s is not allowed to send private messages.'), $this->user->nickname)); } @@ -87,21 +87,21 @@ class NewgroupmessageAction extends Action $localGroup = Local_group::staticGet('nickname', $nickname); if (empty($localGroup)) { + // TRANS: Client exception thrown when trying to send a private group message to a non-existing group. throw new ClientException(_m('No such group.'), 404); } $this->group = User_group::staticGet('id', $localGroup->group_id); if (empty($this->group)) { + // TRANS: Client exception thrown when trying to send a private group message to a non-existing group. throw new ClientException(_m('No such group.'), 404); } // This throws an exception on error - Group_privacy_settings::ensurePost($this->user, $this->group); // If we're posted to, check session token and get text - if ($this->isPost()) { $this->checkSessionToken(); $this->text = $this->trimmed('content'); @@ -117,7 +117,6 @@ class NewgroupmessageAction extends Action * * @return void */ - function handle($argarray=null) { if ($this->isPost()) { @@ -140,11 +139,13 @@ class NewgroupmessageAction extends Action if ($this->boolean('ajax')) { $this->startHTML('text/xml;charset=utf-8'); $this->elementStart('head'); + // TRANS: Title after sending a private group message. $this->element('title', null, _m('Message sent')); $this->elementEnd('head'); $this->elementStart('body'); $this->element('p', array('id' => 'command_result'), + // TRANS: Succes text after sending a direct message to group %s. sprintf(_m('Direct message to %s sent.'), $this->group->nickname)); $this->elementEnd('body'); @@ -156,6 +157,7 @@ class NewgroupmessageAction extends Action function title() { + // TRANS: Title of form for new private group message. return sprintf(_m('New message to group %s'), $this->group->nickname); } } diff --git a/plugins/GroupPrivateMessage/showgroupmessage.php b/plugins/GroupPrivateMessage/showgroupmessage.php index 828b676548..a0ec4198c4 100644 --- a/plugins/GroupPrivateMessage/showgroupmessage.php +++ b/plugins/GroupPrivateMessage/showgroupmessage.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * Show a single group message - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class ShowgroupmessageAction extends Action { var $gm; @@ -59,7 +58,6 @@ class ShowgroupmessageAction extends Action * * @return boolean true */ - function prepare($argarray) { parent::prepare($argarray); @@ -67,6 +65,7 @@ class ShowgroupmessageAction extends Action $this->user = common_current_user(); if (empty($this->user)) { + // TRANS: Client exception thrown when trying to view group private messages without being logged in. throw new ClientException(_m('Only logged-in users can view private messages.'), 403); } @@ -76,22 +75,26 @@ class ShowgroupmessageAction extends Action $this->gm = Group_message::staticGet('id', $id); if (empty($this->gm)) { + // TRANS: Client exception thrown when trying to view a non-existing group private message. throw new ClientException(_m('No such message.'), 404); } $this->group = User_group::staticGet('id', $this->gm->to_group); if (empty($this->group)) { + // TRANS: Server exception thrown when trying to view group private messages for a non-exsting group. throw new ServerException(_m('Group not found.')); } if (!$this->user->isMember($this->group)) { + // TRANS: Client exception thrown when trying to view a group private message without being a group member. throw new ClientException(_m('Cannot read message.'), 403); } $this->sender = Profile::staticGet('id', $this->gm->from_profile); if (empty($this->sender)) { + // TRANS: Server exception thrown when trying to view a group private message without a sender. throw new ServerException(_m('No sender found.')); } @@ -105,7 +108,6 @@ class ShowgroupmessageAction extends Action * * @return void */ - function handle($argarray=null) { $this->showPage(); @@ -114,9 +116,10 @@ class ShowgroupmessageAction extends Action /** * Title of the page */ - function title() { + // TRANS: Title for private group message. + // TRANS: %1$s is the sender name, %2$s is the group name, %3$s is a timestamp. return sprintf(_m('Message from %1$s to group %2$s on %3$s'), $this->sender->nickname, $this->group->nickname, @@ -126,7 +129,6 @@ class ShowgroupmessageAction extends Action /** * Show the content area. */ - function showContent() { $this->elementStart('ul', 'notices messages'); @@ -144,7 +146,6 @@ class ShowgroupmessageAction extends Action * * @return boolean is read only action? */ - function isReadOnly($args) { return true;