]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge remote-tracking branch 'gitorious/1.0.x' into 1.0.x
authorEvan Prodromou <evan@status.net>
Fri, 8 Apr 2011 20:14:09 +0000 (16:14 -0400)
committerEvan Prodromou <evan@status.net>
Fri, 8 Apr 2011 20:14:09 +0000 (16:14 -0400)
57 files changed:
lib/inboxnoticestream.php
lib/oembedhelper.php
plugins/Echo/EchoPlugin.php
plugins/EmailAuthentication/EmailAuthenticationPlugin.php
plugins/EmailAuthentication/README
plugins/EmailSummary/EmailSummaryPlugin.php
plugins/EmailSummary/Email_summary_status.php
plugins/EmailSummary/siteemailsummaryhandler.php
plugins/EmailSummary/useremailsummaryhandler.php
plugins/Enjit/enjitqueuehandler.php
plugins/Event/EventPlugin.php
plugins/Event/Happening.php
plugins/Event/RSVP.php
plugins/Event/cancelrsvp.php
plugins/Event/cancelrsvpform.php
plugins/Event/event.css
plugins/Event/eventform.php
plugins/Event/newevent.php
plugins/Event/newrsvp.php
plugins/Event/rsvpform.php
plugins/Event/showevent.php
plugins/Event/showrsvp.php
plugins/ExtendedProfile/ExtendedProfilePlugin.php
plugins/ExtendedProfile/classes/Profile_detail.php
plugins/ExtendedProfile/lib/extendedprofile.php
plugins/ExtendedProfile/lib/extendedprofilewidget.php
plugins/FacebookBridge/FacebookBridgePlugin.php
plugins/FacebookBridge/actions/facebookadminpanel.php
plugins/FacebookBridge/actions/facebookdeauthorize.php
plugins/FacebookBridge/actions/facebookfinishlogin.php
plugins/FacebookBridge/actions/facebooklogin.php
plugins/FacebookBridge/actions/facebooksettings.php
plugins/FacebookBridge/classes/Notice_to_item.php
plugins/FacebookBridge/lib/facebookclient.php
plugins/FirePHP/FirePHPPlugin.php
plugins/FirePHP/README
plugins/FollowEveryone/FollowEveryonePlugin.php
plugins/ForceGroup/ForceGroupPlugin.php
plugins/GeoURL/GeoURLPlugin.php
plugins/Geonames/GeonamesPlugin.php
plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php
plugins/Gravatar/GravatarPlugin.php
plugins/Gravatar/README
plugins/GroupPrivateMessage/GroupPrivateMessagePlugin.php
plugins/GroupPrivateMessage/Group_message.php
plugins/GroupPrivateMessage/Group_message_profile.php
plugins/GroupPrivateMessage/Group_privacy_settings.php
plugins/GroupPrivateMessage/groupinbox.php
plugins/GroupPrivateMessage/groupmessagecommand.php
plugins/GroupPrivateMessage/groupmessageform.php
plugins/GroupPrivateMessage/groupmessagelist.php
plugins/GroupPrivateMessage/groupmessagelistitem.php
plugins/GroupPrivateMessage/newgroupmessage.php
plugins/GroupPrivateMessage/showgroupmessage.php
plugins/SQLStats/SQLStatsPlugin.php
theme/neo/css/display.css
theme/rebase/css/display.css

index 7570210d3ecd9f9b2ca96193160d19ffd4f5a4d1..09c3edb281d76420ba93e9044002f4669447939b 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Stream of notices for the user's inbox
- * 
+ *
  * 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 InboxNoticeStream extends ScopingNoticeStream
 {
     /**
@@ -133,4 +132,4 @@ class RawInboxNoticeStream extends NoticeStream
 
         return $ids;
     }
-}
\ No newline at end of file
+}
index 4aae8159188f2ef3fb3e4ddd6d6d5234ec5a694f..6d8064e660502298525ecfb205d40f0c6a41ed25 100644 (file)
@@ -131,6 +131,7 @@ class oEmbedHelper
         }
 
         if (empty($api)) {
+            // TRANS: Server exception thrown in oEmbed action if no API endpoint is available.
             throw new ServerException(_('No oEmbed API endpoint available.'));
         }
 
index cd8d8c0e73a1cf15c615522b5b65ec75e4a26aa5..a6f87bc38d0e82557aea9e4d9078d7a487cc7887 100644 (file)
@@ -108,6 +108,7 @@ class EchoPlugin extends Plugin
                             'author' => 'Zach Copley',
                             'homepage' => 'http://status.net/wiki/Plugin:Echo',
                             'rawdescription' =>
+                            // TRANS: Plugin description.
                             _m('Use <a href="http://aboutecho.com/">Echo</a>'.
                                ' to add commenting to notice pages.'));
         return true;
index 689d6231d1e2a0ed3763d7bb53607fe179f530d0..e55614ea432d820faadbec3f26569af9daa51ab6 100644 (file)
@@ -57,6 +57,7 @@ class EmailAuthenticationPlugin extends Plugin
                             'author' => 'Craig Andrews',
                             'homepage' => 'http://status.net/wiki/Plugin:EmailAuthentication',
                             'rawdescription' =>
+                            // TRANS: Plugin description.
                             _m('The Email Authentication plugin allows users to login using their email address.'));
         return true;
     }
index 32081568963125b656d6cf085a18c3c6430b54d8..3fc40794be0e50b2b08d4c0b10e4d993cb68295e 100644 (file)
@@ -1,7 +1,8 @@
 The Email Authentication plugin allows users to login using their email address.
 
-The provided email address is used to lookup the user's nickname, then that nickname and the provided password is checked.
+The provided email address is used to lookup the user's nickname, then that
+nickname and the provided password is checked.
 
 Installation
 ============
-add "addPlugin('emailAuthentication');" to the bottom of your config.php
+add "addPlugin('emailAuthentication');" to the bottom of your config.php.
index 66c1214106550e9d5d430a327c4c192ab8093223..36aec6c96c8f2582801d081fef5239a3282885b3 100644 (file)
@@ -43,7 +43,6 @@ if (!defined('STATUSNET')) {
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
-
 class EmailSummaryPlugin extends Plugin
 {
     /**
@@ -51,13 +50,11 @@ class EmailSummaryPlugin extends Plugin
      *
      * @return boolean hook value
      */
-
     function onCheckSchema()
     {
         $schema = Schema::get();
 
         // For storing user-submitted flags on profiles
-
         $schema->ensureTable('email_summary_status',
                              array(new ColumnDef('user_id', 'integer', null,
                                                  false, 'PRI'),
@@ -80,9 +77,8 @@ class EmailSummaryPlugin extends Plugin
      * @param string $cls Name of the class to be loaded
      *
      * @return boolean hook value; true means continue processing, false means stop.
-     * 
+     *
      */
-    
     function onAutoload($cls)
     {
         $dir = dirname(__FILE__);
@@ -107,9 +103,7 @@ class EmailSummaryPlugin extends Plugin
      * @param array &$versions array of version data
      *
      * @return boolean hook value; true means continue processing, false means stop.
-     * 
      */
-    
     function onPluginVersion(&$versions)
     {
         $versions[] = array('name' => 'EmailSummary',
@@ -117,86 +111,84 @@ class EmailSummaryPlugin extends Plugin
                             'author' => 'Evan Prodromou',
                             'homepage' => 'http://status.net/wiki/Plugin:EmailSummary',
                             'rawdescription' =>
+                            // TRANS: Plugin description.
                             _m('Send an email summary of the inbox to users.'));
         return true;
     }
 
     /**
      * Register our queue handlers
-     * 
+     *
      * @param QueueManager $qm Current queue manager
-     * 
+     *
      * @return boolean hook value
      */
-    
     function onEndInitializeQueueManager($qm)
     {
         $qm->connect('sitesum', 'SiteEmailSummaryHandler');
         $qm->connect('usersum', 'UserEmailSummaryHandler');
         return true;
     }
-    
+
     /**
      * Add a checkbox to turn off email summaries
-     * 
+     *
      * @param Action $action Action being executed (emailsettings)
-     * 
+     *
      * @return boolean hook value
      */
-    
     function onEndEmailFormData($action)
     {
         $user = common_current_user();
-       
+
         $action->elementStart('li');
         $action->checkbox('emailsummary',
                           // TRANS: Checkbox label in e-mail preferences form.
-                          _m('Send me a periodic summary of updates from my network.'),
+                          _m('Send me a periodic summary of updates from my network'),
                           Email_summary_status::getSendSummary($user->id));
         $action->elementEnd('li');
         return true;
     }
-    
+
     /**
      * Add a checkbox to turn off email summaries
-     * 
+     *
      * @param Action $action Action being executed (emailsettings)
-     * 
+     *
      * @return boolean hook value
      */
-    
     function onEndEmailSaveForm($action)
     {
         $sendSummary = $action->boolean('emailsummary');
-       
+
         $user = common_current_user();
-       
+
         if (!empty($user)) {
-           
+
             $ess = Email_summary_status::staticGet('user_id', $user->id);
-           
+
             if (empty($ess)) {
-               
+
                 $ess = new Email_summary_status();
 
                 $ess->user_id      = $user->id;
                 $ess->send_summary = $sendSummary;
                 $ess->created      = common_sql_now();
                 $ess->modified     = common_sql_now();
-               
+
                 $ess->insert();
-               
+
             } else {
-               
+
                 $orig = clone($ess);
-               
+
                 $ess->send_summary = $sendSummary;
                 $ess->modified     = common_sql_now();
-               
+
                 $ess->update($orig);
             }
         }
-       
+
         return true;
     }
 }
index 7072370faf7fdd99dae4d53cbd3534b304a221c6..0c9e880f18de498a4fb68569b099a9133d658e97 100644 (file)
@@ -35,7 +35,7 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
 
 /**
  * Data class for email summaries
- * 
+ *
  * Email summary information for users
  *
  * @category Action
@@ -46,7 +46,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
  *
  * @see      DB_DataObject
  */
-
 class Email_summary_status extends Memcached_DataObject
 {
     public $__table = 'email_summary_status'; // table name
@@ -78,7 +77,6 @@ class Email_summary_status extends Memcached_DataObject
      *
      * @return array array of column definitions
      */
-
     function table()
     {
         return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -93,7 +91,6 @@ class Email_summary_status extends Memcached_DataObject
      *
      * @return array list of key field names
      */
-
     function keys()
     {
         return array_keys($this->keyTypes());
@@ -121,7 +118,6 @@ class Email_summary_status extends Memcached_DataObject
      *
      * @return array magic three-false array that stops auto-incrementing.
      */
-    
     function sequenceKey()
     {
         return array(false, false, false);
@@ -134,7 +130,6 @@ class Email_summary_status extends Memcached_DataObject
      *
      * @return int flag for whether to send this user a summary email
      */
-
     static function getSendSummary($user_id)
     {
         $ess = Email_summary_status::staticGet('user_id', $user_id);
@@ -153,11 +148,10 @@ class Email_summary_status extends Memcached_DataObject
      *
      * @return Email_summary_status instance for this user, with count already incremented.
      */
-
     static function getLastSummaryID($user_id)
     {
         $ess = Email_summary_status::staticGet('user_id', $user_id);
-       
+
         if (!empty($ess)) {
             return $ess->last_summary_id;
         } else {
index 1c0d4997deef0276152e39b76ef54d44403f1797..3369a5a70321bd266613f5e59df04c1748cdb2b2 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  * StatusNet - the distributed open-source microblogging tool
- * 
+ *
  * Handler for queue items of type 'sitesum', sends email summaries
  * to all users on the site.
  *
@@ -31,7 +31,7 @@ if (!defined('STATUSNET')) {
 }
 
 /**
- * 
+ *
  * Handler for queue items of type 'sitesum', sends email summaries
  * to all users on the site.
  *
@@ -42,7 +42,6 @@ if (!defined('STATUSNET')) {
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
-
 class SiteEmailSummaryHandler extends QueueHandler
 {
 
@@ -55,7 +54,6 @@ class SiteEmailSummaryHandler extends QueueHandler
      *
      * @return string
      */
-    
     function transport()
     {
         return 'sitesum';
@@ -63,21 +61,20 @@ class SiteEmailSummaryHandler extends QueueHandler
 
     /**
      * Handle the site
-     * 
+     *
      * @param mixed $object
      * @return boolean true on success, false on failure
      */
-    
     function handle($object)
     {
         $qm = QueueManager::get();
 
         try {
             // Enqueue a summary for all users
-           
+
             $user = new User();
             $user->find();
-           
+
             while ($user->fetch()) {
                 try {
                     $qm->enqueue($user->id, 'usersum');
@@ -89,8 +86,7 @@ class SiteEmailSummaryHandler extends QueueHandler
         } catch (Exception $e) {
             common_log(LOG_WARNING, $e->getMessage());
         }
-       
+
         return true;
     }
 }
-
index 5e10af40eb1f48d42bad570fc545980d5b825300..2c8c0d9039e1afd6c1d68fb3579c704848e049ed 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
  * StatusNet - the distributed open-source microblogging tool
- * 
+ *
  * Handler for queue items of type 'usersum', sends an email summaries
  * to a particular user.
  *
@@ -41,13 +41,11 @@ if (!defined('STATUSNET')) {
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
-
 class UserEmailSummaryHandler extends QueueHandler
 {
     // Maximum number of notices to include by default. This is probably too much.
-    
     const MAX_NOTICES = 200;
-    
+
     /**
      * Return transport keyword which identifies items this queue handler
      * services; must be defined for all subclasses.
@@ -57,7 +55,6 @@ class UserEmailSummaryHandler extends QueueHandler
      *
      * @return string
      */
-    
     function transport()
     {
         return 'sitesum';
@@ -65,47 +62,46 @@ class UserEmailSummaryHandler extends QueueHandler
 
     /**
      * Send a summary email to the user
-     * 
+     *
      * @param mixed $object
      * @return boolean true on success, false on failure
      */
-    
     function handle($user_id)
     {
         // Skip if they've asked not to get summaries
 
         $ess = Email_summary_status::staticGet('user_id', $user_id);
-       
+
         if (!empty($ess) && !$ess->send_summary) {
             common_log(LOG_INFO, sprintf('Not sending email summary for user %s by request.', $user_id));
             return true;
         }
 
         $since_id = null;
-       
+
         if (!empty($ess)) {
             $since_id = $ess->last_summary_id;
         }
-         
+
         $user = User::staticGet('id', $user_id);
 
         if (empty($user)) {
             common_log(LOG_INFO, sprintf('Not sending email summary for user %s; no such user.', $user_id));
             return true;
         }
-       
+
         if (empty($user->email)) {
             common_log(LOG_INFO, sprintf('Not sending email summary for user %s; no email address.', $user_id));
             return true;
         }
-       
+
         $profile = $user->getProfile();
-       
+
         if (empty($profile)) {
             common_log(LOG_WARNING, sprintf('Not sending email summary for user %s; no profile.', $user_id));
             return true;
         }
-       
+
         $notice = $user->ownFriendsTimeline(0, self::MAX_NOTICES, $since_id);
 
         if (empty($notice) || $notice->N == 0) {
@@ -117,18 +113,20 @@ class UserEmailSummaryHandler extends QueueHandler
         // figuring out a better way. -ESP
 
         $new_top = null;
-       
+
         if ($notice instanceof ArrayWrapper) {
             $new_top = $notice->_items[0]->id;
         }
-       
+
         $out = new XMLStringer();
 
         $out->elementStart('div', array('width' => '100%',
                                         'style' => 'background-color: #ffffff; border: 4px solid #4c609a; padding: 10px;'));
 
         $out->elementStart('div', array('style' => 'color: #ffffff; background-color: #4c609a; font-weight: bold; margin-bottom: 10px; padding: 4px;'));
-       $out->raw(sprintf(_m('Recent updates from %1s for %2s:'),
+        // TRANS: Text in e-mail summary.
+        // TRANS: %1$s is the StatusNet sitename, %2$s is the recipient's profile name.
+        $out->raw(sprintf(_m('Recent updates from %1$s for %2s:'),
                           common_config('site', 'name'),
                           $profile->getBestName()));
         $out->elementEnd('div');
@@ -137,13 +135,12 @@ class UserEmailSummaryHandler extends QueueHandler
                                           'style' => 'border: none; border-collapse: collapse;', 'cellpadding' => '6'));
 
         while ($notice->fetch()) {
-           
             $profile = Profile::staticGet('id', $notice->profile_id);
-           
+
             if (empty($profile)) {
                 continue;
             }
-           
+
             $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
 
             $out->elementStart('tr');
@@ -191,7 +188,7 @@ class UserEmailSummaryHandler extends QueueHandler
             $out->elementEnd('td');
             $out->elementEnd('tr');
         }
-       
+
         $out->elementEnd('table');
 
         $out->raw(sprintf(_m('<p><a href="%1s">change your email settings for %2s</a></p>'),
@@ -199,35 +196,32 @@ class UserEmailSummaryHandler extends QueueHandler
                           common_config('site', 'name')));
 
         $out->elementEnd('div');
-       
+
         $body = $out->getString();
-       
+
         // FIXME: do something for people who don't like HTML email
-       
+
         mail_to_user($user, _m('Updates from your network'), $body,
                      array('Content-Type' => 'text/html; charset=UTF-8'));
 
         if (empty($ess)) {
-           
             $ess = new Email_summary_status();
-           
+
             $ess->user_id         = $user_id;
             $ess->created         = common_sql_now();
             $ess->last_summary_id = $new_top;
             $ess->modified        = common_sql_now();
 
             $ess->insert();
-           
         } else {
-           
             $orig = clone($ess);
-           
+
             $ess->last_summary_id = $new_top;
             $ess->modified        = common_sql_now();
 
             $ess->update($orig);
         }
-       
+
         return true;
     }
 }
index 4a68f4f6b6fabe5d7961574e7e24a3f74096ddb6..284f29477c9782bce22117653f2341ad37ec15c5 100644 (file)
@@ -23,7 +23,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
 
 /**
  * Queue handler for watching new notices and posting to enjit.
- * @fixme is this actually being used/functional atm?
+ * @todo FIXME: Is this actually being used/functional atm?
  */
 class EnjitQueueHandler extends QueueHandler
 {
index 36b0ac59861b92cfbc4c82cbf509257e06416958..aca2922f177e324e574aaf4299c2c52890da2e05 100644 (file)
@@ -105,7 +105,6 @@ class EventPlugin extends MicroappPlugin
      *
      * @return boolean hook value; true means continue processing, false means stop.
      */
-
     function onRouterInitialized($m)
     {
         $m->connect('main/event/new',
@@ -130,12 +129,14 @@ class EventPlugin extends MicroappPlugin
                             'author' => 'Evan Prodromou',
                             'homepage' => 'http://status.net/wiki/Plugin:Event',
                             'description' =>
+                            // TRANS: Plugin description.
                             _m('Event invitations and RSVPs.'));
         return true;
     }
 
     function appTitle() {
-        return _m('Event');
+        // TRANS: Title for event application.
+        return _m('TITLE','Event');
     }
 
     function tag() {
@@ -162,12 +163,13 @@ class EventPlugin extends MicroappPlugin
     function saveNoticeFromActivity($activity, $actor, $options=array())
     {
         if (count($activity->objects) != 1) {
-            throw new Exception('Too many activity objects.');
+            throw new Exception(_('Too many activity objects.'));
         }
 
         $happeningObj = $activity->objects[0];
 
         if ($happeningObj->type != Happening::OBJECT_TYPE) {
+            // TRANS: Exception thrown when event plugin comes across a non-event type object.
             throw new Exception(_m('Wrong type for object.'));
         }
 
@@ -175,8 +177,8 @@ class EventPlugin extends MicroappPlugin
 
         switch ($activity->verb) {
         case ActivityVerb::POST:
-            $notice = Happening::saveNew($actor, 
-                                     $start_time, 
+            $notice = Happening::saveNew($actor,
+                                     $start_time,
                                      $end_time,
                                      $happeningObj->title,
                                      null,
@@ -189,12 +191,14 @@ class EventPlugin extends MicroappPlugin
             $happening = Happening::staticGet('uri', $happeningObj->id);
             if (empty($happening)) {
                 // FIXME: save the event
+                // TRANS: Exception thrown when trying to RSVP for an unknown event.
                 throw new Exception(_m('RSVP for unknown event.'));
             }
             $notice = RSVP::saveNew($actor, $happening, $activity->verb, $options);
             break;
         default:
-            throw new Exception(_m('Unknown verb for events'));
+            // TRANS: Exception thrown when event plugin comes across a undefined verb.
+            throw new Exception(_m('Unknown verb for events.'));
         }
 
         return $notice;
@@ -207,7 +211,6 @@ class EventPlugin extends MicroappPlugin
      *
      * @return ActivityObject
      */
-
     function activityObjectFromNotice($notice)
     {
         $happening = null;
@@ -225,12 +228,14 @@ class EventPlugin extends MicroappPlugin
         }
 
         if (empty($happening)) {
+            // TRANS: Exception thrown when event plugin comes across a unknown object type.
             throw new Exception(_m('Unknown object type.'));
         }
 
         $notice = $happening->getNotice();
 
         if (empty($notice)) {
+            // TRANS: Exception thrown when referring to a notice that is not an event an in event context.
             throw new Exception(_m('Unknown event notice.'));
         }
 
@@ -264,7 +269,6 @@ class EventPlugin extends MicroappPlugin
      *
      * @return ActivityObject
      */
-
     function onEndNoticeAsActivity($notice, &$act) {
         switch ($notice->object_type) {
         case RSVP::POSITIVE:
@@ -282,7 +286,6 @@ class EventPlugin extends MicroappPlugin
      * @param Notice $notice
      * @param HTMLOutputter $out
      */
-
     function showNotice($notice, $out)
     {
         switch ($notice->object_type) {
@@ -372,6 +375,7 @@ class EventPlugin extends MicroappPlugin
 
         $out->elementStart('div', 'event-times'); // VEVENT/EVENT-TIMES IN
 
+        // TRANS: Field label for event description.
         $out->element('strong', null, _m('Time:'));
 
         $out->element('abbr', array('class' => 'dtstart',
@@ -392,6 +396,7 @@ class EventPlugin extends MicroappPlugin
 
         if (!empty($event->location)) {
             $out->elementStart('div', 'event-location');
+            // TRANS: Field label for event description.
             $out->element('strong', null, _m('Location:'));
             $out->element('span', 'location', $event->location);
             $out->elementEnd('div');
@@ -399,6 +404,7 @@ class EventPlugin extends MicroappPlugin
 
         if (!empty($event->description)) {
             $out->elementStart('div', 'event-description');
+            // TRANS: Field label for event description.
             $out->element('strong', null, _m('Description:'));
             $out->element('span', 'description', $event->description);
             $out->elementEnd('div');
@@ -407,6 +413,7 @@ class EventPlugin extends MicroappPlugin
         $rsvps = $event->getRSVPs();
 
         $out->elementStart('div', 'event-rsvps');
+        // TRANS: Field label for event description.
         $out->element('strong', null, _m('Attending:'));
         $out->element('span', 'event-rsvps',
                       // TRANS: RSVP counts.
@@ -440,7 +447,6 @@ class EventPlugin extends MicroappPlugin
      * @param HTMLOutputter $out
      * @return Widget
      */
-
     function entryForm($out)
     {
         return new EventForm($out);
@@ -451,7 +457,6 @@ class EventPlugin extends MicroappPlugin
      *
      * @param Notice $notice
      */
-
     function deleteRelated($notice)
     {
         switch ($notice->object_type) {
index ec3e12595d6d148bf0fb5a4fc0210f0c6ca47dad..a2811252c00c998e51f1338f1cc2b09c1f015e8f 100644 (file)
@@ -47,7 +47,6 @@ if (!defined('STATUSNET')) {
  *
  * @see      Managed_DataObject
  */
-
 class Happening extends Managed_DataObject
 {
     const OBJECT_TYPE = 'http://activitystrea.ms/schema/1.0/event';
@@ -122,6 +121,7 @@ class Happening extends Managed_DataObject
         if (array_key_exists('uri', $options)) {
             $other = Happening::staticGet('uri', $options['uri']);
             if (!empty($other)) {
+                // TRANS: Client exception thrown when trying to create an event that already exists.
                 throw new ClientException(_m('Event already exists.'));
             }
         }
@@ -163,6 +163,9 @@ class Happening extends Managed_DataObject
                            $location,
                            $description);
 
+        // TRANS: Rendered event description. %1$s is a title, %2$s is start time, %3$s is start time,
+       // TRANS: %4$s is end time, %5$s is end time, %6$s is location, %7$s is description.
+       // TRANS: Class names should not be translated.
         $rendered = sprintf(_m('<span class="vevent">'.
                               '<span class="summary">%1$s</span> '.
                               '<abbr class="dtstart" title="%2$s">%3$s</a> - '.
index 85862d375df134e33eac3f89da3dea233bf567ac..1f47958e9a266b4e07fdd3828c614b6f0d46f813 100644 (file)
@@ -42,7 +42,6 @@ if (!defined('STATUSNET')) {
  *
  * @see      Managed_DataObject
  */
-
 class RSVP extends Managed_DataObject
 {
     const POSITIVE = 'http://activitystrea.ms/schema/1.0/rsvp-yes';
@@ -64,7 +63,6 @@ class RSVP extends Managed_DataObject
      * @param mixed  $v Value to lookup
      *
      * @return RSVP object found, or null for no hits
-     *
      */
     function staticGet($k, $v=null)
     {
@@ -77,7 +75,6 @@ class RSVP extends Managed_DataObject
      * @param array $kv array of key-value mappings
      *
      * @return Bookmark object found, or null for no hits
-     *
      */
 
     function pkeyGet($kv)
@@ -141,6 +138,7 @@ class RSVP extends Managed_DataObject
         if (array_key_exists('uri', $options)) {
             $other = RSVP::staticGet('uri', $options['uri']);
             if (!empty($other)) {
+                // TRANS: Client exception thrown when trying to save an already existing RSVP ("please respond").
                 throw new ClientException(_m('RSVP already exists.'));
             }
         }
@@ -149,6 +147,7 @@ class RSVP extends Managed_DataObject
                                      'event_id' => $event->id));
 
         if (!empty($other)) {
+            // TRANS: Client exception thrown when trying to save an already existing RSVP ("please respond").
             throw new ClientException(_m('RSVP already exists.'));
         }
 
@@ -179,7 +178,7 @@ class RSVP extends Managed_DataObject
         // XXX: come up with something sexier
 
         $content = $rsvp->asString();
-        
+
         $rendered = $rsvp->asHTML();
 
         $options = array_merge(array('object_type' => $verb),
@@ -217,7 +216,8 @@ class RSVP extends Managed_DataObject
             return '?';
             break;
         default:
-            throw new Exception(sprintf(_m('Unknown verb "%s"'),$verb));
+            // TRANS: Exception thrown when requesting an undefined verb for RSVP.
+            throw new Exception(sprintf(_m('Unknown verb "%s".'),$verb));
         }
     }
 
@@ -234,6 +234,7 @@ class RSVP extends Managed_DataObject
             return RSVP::POSSIBLE;
             break;
         default:
+            // TRANS: Exception thrown when requesting an undefined code for RSVP.
             throw new Exception(sprintf(_m('Unknown code "%s".'),$code));
         }
     }
@@ -242,6 +243,8 @@ class RSVP extends Managed_DataObject
     {
         $notice = Notice::staticGet('uri', $this->uri);
         if (empty($notice)) {
+            // TRANS: Server exception thrown when requesting a non-exsting notice for an RSVP ("please respond").
+            // TRANS: %s is the RSVP with the missing notice.
             throw new ServerException(sprintf(_m('RSVP %s does not correspond to a notice in the database.'),$this->id));
         }
         return $notice;
@@ -297,6 +300,8 @@ class RSVP extends Managed_DataObject
     {
         $profile = Profile::staticGet('id', $this->profile_id);
         if (empty($profile)) {
+            // TRANS: Exception thrown when requesting a non-existing profile.
+            // TRANS: %s is the ID of the non-existing profile.
             throw new Exception(sprintf(_m('No profile with ID %s.'),$this->profile_id));
         }
         return $profile;
@@ -306,6 +311,8 @@ class RSVP extends Managed_DataObject
     {
         $event = Happening::staticGet('id', $this->event_id);
         if (empty($event)) {
+            // TRANS: Exception thrown when requesting a non-existing event.
+            // TRANS: %s is the ID of the non-existing event.
             throw new Exception(sprintf(_m('No event with ID %s.'),$this->event_id));
         }
         return $event;
@@ -335,21 +342,34 @@ class RSVP extends Managed_DataObject
 
         switch ($response) {
         case 'Y':
+            // TRANS: HTML version of an RSVP ("please respond") status for a user.
+            // TRANS: %1$s is a profile URL, %2$s a profile name,
+            // TRANS: %3$s is an event URL, %4$s an event title.
             $fmt = _m("<span class='automatic event-rsvp'><a href='%1\$s'>%2\$s</a> is attending <a href='%3\$s'>%4\$s</a>.</span>");
             break;
         case 'N':
+            // TRANS: HTML version of an RSVP ("please respond") status for a user.
+            // TRANS: %1$s is a profile URL, %2$s a profile name,
+            // TRANS: %3$s is an event URL, %4$s an event title.
             $fmt = _m("<span class='automatic event-rsvp'><a href='%1\$s'>%2\$s</a> is not attending <a href='%3\$s'>%4\$s</a>.</span>");
             break;
         case '?':
+            // TRANS: HTML version of an RSVP ("please respond") status for a user.
+            // TRANS: %1$s is a profile URL, %2$s a profile name,
+            // TRANS: %3$s is an event URL, %4$s an event title.
             $fmt = _m("<span class='automatic event-rsvp'><a href='%1\$s'>%2\$s</a> might attend <a href='%3\$s'>%4\$s</a>.</span>");
             break;
         default:
+            // TRANS: Exception thrown when requesting a user's RSVP status for a non-existing response code.
+            // TRANS: %s is the non-existing response code.
             throw new Exception(sprintf(_m('Unknown response code %s.'),$response));
             break;
         }
 
         if (empty($event)) {
             $eventUrl = '#';
+            // TRANS: Used as event title when not event title is available.
+            // TRANS: Used as: Username [is [not ] attending|might attend] an unknown event.
             $eventTitle = _m('an unknown event');
         } else {
             $notice = $event->getNotice();
@@ -370,20 +390,30 @@ class RSVP extends Managed_DataObject
 
         switch ($response) {
         case 'Y':
+            // TRANS: Plain text version of an RSVP ("please respond") status for a user.
+            // TRANS: %1$s is a profile name, %2$s is an event title.
             $fmt = _m('%1$s is attending %2$s.');
             break;
         case 'N':
+            // TRANS: Plain text version of an RSVP ("please respond") status for a user.
+            // TRANS: %1$s is a profile name, %2$s is an event title.
             $fmt = _m('%1$s is not attending %2$s.');
             break;
         case '?':
+            // TRANS: Plain text version of an RSVP ("please respond") status for a user.
+            // TRANS: %1$s is a profile name, %2$s is an event title.
             $fmt = _m('%1$s might attend %2$s.');
             break;
         default:
+            // TRANS: Exception thrown when requesting a user's RSVP status for a non-existing response code.
+            // TRANS: %s is the non-existing response code.
             throw new Exception(sprintf(_m('Unknown response code %s.'),$response));
             break;
         }
 
         if (empty($event)) {
+            // TRANS: Used as event title when not event title is available.
+            // TRANS: Used as: Username [is [not ] attending|might attend] an unknown event.
             $eventTitle = _m('an unknown event');
         } else {
             $notice = $event->getNotice();
index 94f78bfca6563aec51d1a8deac0eb6ba3f40f158..6b0ddb228733b7e885008f56dc9f151a0400249c 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Cancel the RSVP for an event
- * 
+ *
  * PHP version 5
  *
  * This program is free software: you can redistribute it and/or modify
@@ -27,6 +27,7 @@
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
+
 if (!defined('STATUSNET')) {
     // This check helps protect against security problems;
     // your code file can't be executed directly from the web.
@@ -43,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 CancelrsvpAction extends Action
 {
     protected $user  = null;
@@ -55,10 +55,10 @@ class CancelrsvpAction extends Action
      *
      * @return string Action title
      */
-
     function title()
     {
-        return _m('Cancel RSVP');
+        // TRANS: Title for RSVP ("please respond") action.
+        return _m('TITLE','Cancel RSVP');
     }
 
     /**
@@ -68,7 +68,6 @@ class CancelrsvpAction extends Action
      *
      * @return boolean true
      */
-
     function prepare($argarray)
     {
         parent::prepare($argarray);
@@ -79,24 +78,28 @@ class CancelrsvpAction extends Action
         $rsvpId = $this->trimmed('rsvp');
 
         if (empty($rsvpId)) {
+            // TRANS: Client exception thrown when referring to a non-existing RSVP ("please respond") item.
             throw new ClientException(_m('No such RSVP.'));
         }
 
         $this->rsvp = RSVP::staticGet('id', $rsvpId);
 
         if (empty($this->rsvp)) {
+            // TRANS: Client exception thrown when referring to a non-existing RSVP ("please respond") item.
             throw new ClientException(_m('No such RSVP.'));
         }
 
         $this->event = Happening::staticGet('id', $this->rsvp->event_id);
 
         if (empty($this->event)) {
+            // TRANS: Client exception thrown when referring to a non-existing event.
             throw new ClientException(_m('No such event.'));
         }
 
         $this->user = common_current_user();
 
         if (empty($this->user)) {
+            // TRANS: Client exception thrown when trying tp RSVP ("please respond") while not logged in.
             throw new ClientException(_m('You must be logged in to RSVP for an event.'));
         }
 
@@ -110,7 +113,6 @@ class CancelrsvpAction extends Action
      *
      * @return void
      */
-
     function handle($argarray=null)
     {
         parent::handle($argarray);
@@ -129,7 +131,6 @@ class CancelrsvpAction extends Action
      *
      * @return void
      */
-
     function cancelRSVP()
     {
         try {
@@ -171,7 +172,6 @@ class CancelrsvpAction extends Action
      *
      * @return void
      */
-
     function showContent()
     {
         if (!empty($this->error)) {
@@ -194,7 +194,6 @@ class CancelrsvpAction extends Action
      *
      * @return boolean is read only action?
      */
-
     function isReadOnly($args)
     {
         if ($_SERVER['REQUEST_METHOD'] == 'GET' ||
index 14161d1897fc9ec957c0cf06681d050cd28d7a00..107351135aa502cdbfef2ff9549ccfafc8d00d0f 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Form to RSVP for an event
- * 
+ *
  * 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 CancelRSVPForm extends Form
 {
     protected $rsvp = null;
@@ -60,7 +59,6 @@ class CancelRSVPForm extends Form
      *
      * @return int ID of the form
      */
-
     function id()
     {
         return 'form_event_rsvp';
@@ -71,7 +69,6 @@ class CancelRSVPForm extends Form
      *
      * @return string class of the form
      */
-
     function formClass()
     {
         return 'ajax';
@@ -82,7 +79,6 @@ class CancelRSVPForm extends Form
      *
      * @return string URL of the action
      */
-
     function action()
     {
         return common_local_url('cancelrsvp');
@@ -93,7 +89,6 @@ class CancelRSVPForm extends Form
      *
      * @return void
      */
-
     function formData()
     {
         $this->out->elementStart('fieldset', array('id' => 'new_rsvp_data'));
@@ -102,12 +97,15 @@ class CancelRSVPForm extends Form
 
         switch (RSVP::verbFor($this->rsvp->response)) {
         case RSVP::POSITIVE:
+            // TRANS: Possible status for RSVP ("please respond") item.
             $this->out->text(_m('You will attend this event.'));
             break;
         case RSVP::NEGATIVE:
+            // TRANS: Possible status for RSVP ("please respond") item.
             $this->out->text(_m('You will not attend this event.'));
             break;
         case RSVP::POSSIBLE:
+            // TRANS: Possible status for RSVP ("please respond") item.
             $this->out->text(_m('You might attend this event.'));
             break;
         }
@@ -120,9 +118,9 @@ class CancelRSVPForm extends Form
      *
      * @return void
      */
-
     function formActions()
     {
+        // TRANS: Button text to cancel responding to an RSVP ("please respond") item.
         $this->out->submit('cancel', _m('BUTTON', 'Cancel'));
     }
 }
index a922bb579128eff2124ff7a63a35c0df457f196d..8c9cbbb0823bb38a96069d1e8d633a6bcb8d55a2 100644 (file)
@@ -6,4 +6,3 @@
 .event-title { margin-left: 0px; }
 #content .event .entry-title { margin-left: 0px; }
 #content .event .entry-content { margin-left: 0px; }
-
index 9c9a86229bdebb3af3bea237b7dd65e5c95e74f1..832604a31d950fa8aaa283763c3907f0b1fbdeac 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Form for entering an event
- * 
+ *
  * 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 EventForm extends Form
 {
     /**
@@ -52,7 +51,6 @@ class EventForm extends Form
      *
      * @return int ID of the form
      */
-
     function id()
     {
         return 'form_new_event';
@@ -63,7 +61,6 @@ class EventForm extends Form
      *
      * @return string class of the form
      */
-
     function formClass()
     {
         return 'form_settings ajax-notice';
@@ -74,7 +71,6 @@ class EventForm extends Form
      *
      * @return string URL of the action
      */
-
     function action()
     {
         return common_local_url('newevent');
@@ -85,7 +81,6 @@ class EventForm extends Form
      *
      * @return void
      */
-
     function formData()
     {
         $this->out->elementStart('fieldset', array('id' => 'new_bookmark_data'));
@@ -93,57 +88,73 @@ class EventForm extends Form
 
         $this->li();
         $this->out->input('title',
+                          // TRANS: Field label on event form.
                           _m('LABEL','Title'),
                           null,
+                          // TRANS: Field title on event form.
                           _m('Title of the event.'));
         $this->unli();
 
         $this->li();
         $this->out->input('startdate',
+                          // TRANS: Field label on event form.
                           _m('LABEL','Start date'),
                           null,
+                          // TRANS: Field title on event form.
                           _m('Date the event starts.'));
         $this->unli();
 
         $this->li();
         $this->out->input('starttime',
+                          // TRANS: Field label on event form.
                           _m('LABEL','Start time'),
                           null,
+                          // TRANS: Field title on event form.
                           _m('Time the event starts.'));
         $this->unli();
 
         $this->li();
         $this->out->input('enddate',
+                          // TRANS: Field label on event form.
                           _m('LABEL','End date'),
-                          null,   
+                          null,
+                          // TRANS: Field title on event form.
                           _m('Date the event ends.'));
         $this->unli();
 
         $this->li();
         $this->out->input('endtime',
+                          // TRANS: Field label on event form.
                           _m('LABEL','End time'),
                           null,
+                          // TRANS: Field title on event form.
                           _m('Time the event ends.'));
         $this->unli();
 
         $this->li();
         $this->out->input('location',
+                          // TRANS: Field label on event form.
                           _m('LABEL','Location'),
                           null,
+                          // TRANS: Field title on event form.
                           _m('Event location.'));
         $this->unli();
 
         $this->li();
         $this->out->input('url',
+                          // TRANS: Field label on event form.
                           _m('LABEL','URL'),
                           null,
+                          // TRANS: Field title on event form.
                           _m('URL for more information.'));
         $this->unli();
 
         $this->li();
         $this->out->input('description',
+                          // TRANS: Field label on event form.
                           _m('LABEL','Description'),
                           null,
+                          // TRANS: Field title on event form.
                           _m('Description of the event.'));
         $this->unli();
 
@@ -162,9 +173,9 @@ class EventForm extends Form
      *
      * @return void
      */
-
     function formActions()
     {
+        // TRANS: Button text to save an event..
         $this->out->submit('submit', _m('BUTTON', 'Save'));
     }
 }
index 93baa37b6b82f3cdfb520819acbc456ba1cdbb4e..cadf0e14331b9557a4de8a908a914124e1d072ab 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Add a new event
- * 
+ *
  * PHP version 5
  *
  * This program is free software: you can redistribute it and/or modify
@@ -27,6 +27,7 @@
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
+
 if (!defined('STATUSNET')) {
     // This check helps protect against security problems;
     // your code file can't be executed directly from the web.
@@ -43,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 NeweventAction extends Action
 {
     protected $user        = null;
@@ -60,10 +60,10 @@ class NeweventAction extends Action
      *
      * @return string Action title
      */
-
     function title()
     {
-        return _m('New event');
+        // TRANS: Title for new event form.
+        return _m('TITLE','New event');
     }
 
     /**
@@ -73,7 +73,6 @@ class NeweventAction extends Action
      *
      * @return boolean true
      */
-
     function prepare($argarray)
     {
         parent::prepare($argarray);
@@ -81,6 +80,7 @@ class NeweventAction extends Action
         $this->user = common_current_user();
 
         if (empty($this->user)) {
+            // TRANS: Client exception thrown when trying to post an event while not logged in.
             throw new ClientException(_m('Must be logged in to post a event.'),
                                       403);
         }
@@ -92,6 +92,7 @@ class NeweventAction extends Action
         $this->title       = $this->trimmed('title');
 
         if (empty($this->title)) {
+            // TRANS: Client exception thrown when trying to post an event without providing a title.
             throw new ClientException(_m('Title required.'));
         }
 
@@ -102,6 +103,7 @@ class NeweventAction extends Action
         $startDate = $this->trimmed('startdate');
 
         if (empty($startDate)) {
+            // TRANS: Client exception thrown when trying to post an event without providing a start date.
             throw new ClientException(_m('Start date required.'));
         }
 
@@ -114,6 +116,7 @@ class NeweventAction extends Action
         $endDate   = $this->trimmed('enddate');
 
         if (empty($endDate)) {
+            // TRANS: Client exception thrown when trying to post an event without providing an end date.
             throw new ClientException(_m('End date required.'));
         }
 
@@ -135,12 +138,16 @@ class NeweventAction extends Action
         $this->endTime   = strtotime($end);
 
         if ($this->startTime == 0) {
+            // TRANS: Client exception thrown when trying to post an event with a date that cannot be processed.
+            // TRANS: %s is the data that could not be processed.
             throw new Exception(sprintf(_m('Could not parse date "%s".'),
                                         $start));
         }
 
 
         if ($this->endTime == 0) {
+            // TRANS: Client exception thrown when trying to post an event with a date that cannot be processed.
+            // TRANS: %s is the data that could not be processed.
             throw new Exception(sprintf(_m('Could not parse date "%s".'),
                                         $end));
         }
@@ -155,7 +162,6 @@ class NeweventAction extends Action
      *
      * @return void
      */
-
     function handle($argarray=null)
     {
         parent::handle($argarray);
@@ -174,19 +180,21 @@ class NeweventAction extends Action
      *
      * @return void
      */
-
     function newEvent()
     {
         try {
             if (empty($this->title)) {
+                // TRANS: Client exception thrown when trying to post an event without providing a title.
                 throw new ClientException(_m('Event must have a title.'));
             }
 
             if (empty($this->startTime)) {
+                // TRANS: Client exception thrown when trying to post an event without providing a start time.
                 throw new ClientException(_m('Event must have a start time.'));
             }
 
             if (empty($this->endTime)) {
+                // TRANS: Client exception thrown when trying to post an event without providing an end time.
                 throw new ClientException(_m('Event must have an end time.'));
             }
 
@@ -195,7 +203,7 @@ class NeweventAction extends Action
             // Does the heavy-lifting for getting "To:" information
 
             ToSelector::fillOptions($this, $options);
-            
+
             $profile = $this->user->getProfile();
 
             $saved = Happening::saveNew($profile,
@@ -239,7 +247,6 @@ class NeweventAction extends Action
      *
      * @return void
      */
-
     function showContent()
     {
         if (!empty($this->error)) {
@@ -262,7 +269,6 @@ class NeweventAction extends Action
      *
      * @return boolean is read only action?
      */
-
     function isReadOnly($args)
     {
         if ($_SERVER['REQUEST_METHOD'] == 'GET' ||
index cb7f72d49c326fd6190860d8d2602c1a95682e52..b000767340b57dd793ebb6d507d46f356e7e9014 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * RSVP for an event
- * 
+ *
  * PHP version 5
  *
  * This program is free software: you can redistribute it and/or modify
@@ -27,6 +27,7 @@
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
+
 if (!defined('STATUSNET')) {
     // This check helps protect against security problems;
     // your code file can't be executed directly from the web.
@@ -43,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 NewrsvpAction extends Action
 {
     protected $user  = null;
@@ -55,10 +55,10 @@ class NewrsvpAction extends Action
      *
      * @return string Action title
      */
-
     function title()
     {
-        return _m('New RSVP');
+        // TRANS: Title for RSVP ("please respond") action.
+        return _m('TITLE','New RSVP');
     }
 
     /**
@@ -68,7 +68,6 @@ class NewrsvpAction extends Action
      *
      * @return boolean true
      */
-
     function prepare($argarray)
     {
         parent::prepare($argarray);
@@ -79,18 +78,21 @@ class NewrsvpAction extends Action
         $eventId = $this->trimmed('event');
 
         if (empty($eventId)) {
+            // TRANS: Client exception thrown when requesting a non-exsting event.
             throw new ClientException(_m('No such event.'));
         }
 
         $this->event = Happening::staticGet('id', $eventId);
 
         if (empty($this->event)) {
+            // TRANS: Client exception thrown when requesting a non-exsting event.
             throw new ClientException(_m('No such event.'));
         }
 
         $this->user = common_current_user();
 
         if (empty($this->user)) {
+            // TRANS: Client exception thrown when trying to RSVP ("please respond") while not logged in.
             throw new ClientException(_m('You must be logged in to RSVP for an event.'));
         }
 
@@ -107,7 +109,8 @@ class NewrsvpAction extends Action
             $this->verb = RSVP::POSSIBLE;
             break;
         default:
-            throw new ClientException('Unknown submit value.');
+            // TRANS: Client exception thrown when using an invalud value for RSVP ("please respond").
+            throw new ClientException(_('Unknown submit value.'));
         }
 
         return true;
@@ -120,7 +123,6 @@ class NewrsvpAction extends Action
      *
      * @return void
      */
-
     function handle($argarray=null)
     {
         parent::handle($argarray);
@@ -139,7 +141,6 @@ class NewrsvpAction extends Action
      *
      * @return void
      */
-
     function newRSVP()
     {
         try {
@@ -158,7 +159,7 @@ class NewrsvpAction extends Action
             $this->xw->startDocument('1.0', 'UTF-8');
             $this->elementStart('html');
             $this->elementStart('head');
-            // TRANS: Page title after sending a notice.
+            // TRANS: Page title after creating an event.
             $this->element('title', null, _m('Event saved'));
             $this->elementEnd('head');
             $this->elementStart('body');
@@ -178,7 +179,6 @@ class NewrsvpAction extends Action
      *
      * @return void
      */
-
     function showContent()
     {
         if (!empty($this->error)) {
@@ -201,7 +201,6 @@ class NewrsvpAction extends Action
      *
      * @return boolean is read only action?
      */
-
     function isReadOnly($args)
     {
         if ($_SERVER['REQUEST_METHOD'] == 'GET' ||
index 494e64929f7a42a64eb76bde4a60f5089e932dfe..6f86004f94c5c6d557ac094c2963ca7e9960b215 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Form to RSVP for an event
- * 
+ *
  * 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 RSVPForm extends Form
 {
     protected $event = null;
@@ -60,7 +59,6 @@ class RSVPForm extends Form
      *
      * @return int ID of the form
      */
-
     function id()
     {
         return 'form_event_rsvp';
@@ -71,7 +69,6 @@ class RSVPForm extends Form
      *
      * @return string class of the form
      */
-
     function formClass()
     {
         return 'ajax';
@@ -82,7 +79,6 @@ class RSVPForm extends Form
      *
      * @return string URL of the action
      */
-
     function action()
     {
         return common_local_url('newrsvp');
@@ -93,11 +89,11 @@ class RSVPForm extends Form
      *
      * @return void
      */
-
     function formData()
     {
         $this->out->elementStart('fieldset', array('id' => 'new_rsvp_data'));
 
+        // TRANS: Field label on form to RSVP ("please respond") for an event.
         $this->out->text(_m('RSVP:'));
 
         $this->out->hidden('event', $this->event->id);
@@ -111,14 +107,16 @@ class RSVPForm extends Form
      *
      * @return void
      */
-
     function formActions()
     {
+        // TRANS: Button text for RSVP ("please respond") reply to confirm attendence.
         $this->submitButton('yes', _m('BUTTON', 'Yes'));
+        // TRANS: Button text for RSVP ("please respond") reply to deny attendence.
         $this->submitButton('no', _m('BUTTON', 'No'));
+        // TRANS: Button text for RSVP ("please respond") reply to indicate one might attend.
         $this->submitButton('maybe', _m('BUTTON', 'Maybe'));
     }
-    
+
     function submitButton($id, $label)
     {
         $this->out->element('input', array('type' => 'submit',
index e5afd47d00b765630d184218fce1ff54dc23694e..52e17f860aeba8193687fd55d5303519d8011266 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Show a single event
- * 
+ *
  * PHP version 5
  *
  * This program is free software: you can redistribute it and/or modify
index 7b129177e1114dd2d27bcebf8400466075853e1f..da80448af83d6b035e11d57e5f2473bb3e393cd2 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2010, StatusNet, Inc.
  *
  * Show a single RSVP
- * 
+ *
  * PHP version 5
  *
  * This program is free software: you can redistribute it and/or modify
index ce1593dad52b86b403c06a70dca8d09413763d35..51584e9f912e70e960ea7646a142f1e3430eaa90 100644 (file)
@@ -29,7 +29,6 @@ if (!defined('STATUSNET')) {
  */
 class ExtendedProfilePlugin extends Plugin
 {
-
     function onPluginVersion(&$versions)
     {
         $versions[] = array(
@@ -37,8 +36,8 @@ class ExtendedProfilePlugin extends Plugin
             'version' => STATUSNET_VERSION,
             'author' => 'Brion Vibber, Samantha Doherty, Zach Copley',
             'homepage' => 'http://status.net/wiki/Plugin:ExtendedProfile',
-            'rawdescription' => _m(
-                'UI extensions for additional profile fields.')
+            // TRANS: Plugin description.
+            'rawdescription' => _m('UI extensions for additional profile fields.')
         );
 
         return true;
@@ -120,9 +119,9 @@ class ExtendedProfilePlugin extends Plugin
         $user = User::staticGet('id', $profile->id);
         if ($user) {
             $url = common_local_url('profiledetail', array('nickname' => $user->nickname));
+            // TRANS: Link text on user profile page leading to extended profile page.
             $out->element('a', array('href' => $url, 'class' => 'profiledetail'), _m('More details...'));
         }
         return true;
     }
-
 }
index 96869b0e63bc252cc0452184d89180794a9739f3..94e52c396c6a2506c3d97a8228b0747074062703 100644 (file)
@@ -80,7 +80,6 @@ class Profile_detail extends Managed_DataObject
      * @return User_greeting_count object found, or null for no hits
      *
      */
-
     function staticGet($k, $v=null)
     {
         return Memcached_DataObject::staticGet('Profile_detail', $k, $v);
@@ -98,7 +97,6 @@ class Profile_detail extends Managed_DataObject
      * @return Bookmark object found, or null for no hits
      *
      */
-
     function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Profile_detail', $kv);
@@ -107,6 +105,7 @@ class Profile_detail extends Managed_DataObject
     static function schemaDef()
     {
         return array(
+            // No need for i18n. Table properties.
             'description'
                 => 'Additional profile details for the ExtendedProfile plugin',
             'fields'      => array(
@@ -138,5 +137,4 @@ class Profile_detail extends Managed_DataObject
             )
         );
     }
-
 }
index fa632e5073886b9eca4fe2664db1329516049345..d73170b235a6355b0918e3bbdfd185fdb1f95fcd 100644 (file)
@@ -116,6 +116,7 @@ class ExtendedProfile
 
         if (empty($phones)) {
             $pArrays[] = array(
+                // TRANS: Field label for extended profile properties.
                 'label' => _m('Phone'),
                 'index' => 0,
                 'type'  => 'phone',
@@ -126,6 +127,7 @@ class ExtendedProfile
         } else {
             for ($i = 0; $i < sizeof($phones); $i++) {
                 $pa = array(
+                    // TRANS: Field label for extended profile properties.
                     'label' => _m('Phone'),
                     'type'  => 'phone',
                     'index' => intval($phones[$i]->value_index),
@@ -147,12 +149,14 @@ class ExtendedProfile
 
         if (empty($ims)) {
             $iArrays[] = array(
+                // TRANS: Field label for extended profile properties (Instant Messaging).
                 'label' => _m('IM'),
                 'type' => 'im'
             );
         } else {
             for ($i = 0; $i < sizeof($ims); $i++) {
                 $ia = array(
+                    // TRANS: Field label for extended profile properties (Instant Messaging).
                     'label' => _m('IM'),
                     'type'  => 'im',
                     'index' => intval($ims[$i]->value_index),
@@ -173,12 +177,14 @@ class ExtendedProfile
 
         if (empty($sites)) {
             $wArrays[] = array(
+                // TRANS: Field label for extended profile properties.
                 'label' => _m('Website'),
                 'type' => 'website'
             );
         } else {
             for ($i = 0; $i < sizeof($sites); $i++) {
                 $wa = array(
+                    // TRANS: Field label for extended profile properties.
                     'label' => _m('Website'),
                     'type'  => 'website',
                     'index' => intval($sites[$i]->value_index),
@@ -202,6 +208,7 @@ class ExtendedProfile
 
         if (empty($companies)) {
             $eArrays[] = array(
+                // TRANS: Field label for extended profile properties.
                 'label'   => _m('Employer'),
                 'type'    => 'experience',
                 'company' => null,
@@ -213,6 +220,7 @@ class ExtendedProfile
         } else {
             for ($i = 0; $i < sizeof($companies); $i++) {
                 $ea = array(
+                    // TRANS: Field label for extended profile properties.
                     'label'   => _m('Employer'),
                     'type'    => 'experience',
                     'company' => $companies[$i]->field_value,
@@ -239,6 +247,7 @@ class ExtendedProfile
         if (empty($schools)) {
             $iArrays[] = array(
                 'type' => 'education',
+                // TRANS: Field label for extended profile properties.
                 'label' => _m('Institution'),
                 'school' => null,
                 'degree' => null,
@@ -251,6 +260,7 @@ class ExtendedProfile
             for ($i = 0; $i < sizeof($schools); $i++) {
                 $ia = array(
                     'type'    => 'education',
+                    // TRANS: Field label for extended profile properties.
                     'label'   => _m('Institution'),
                     'school'  => $schools[$i]->field_value,
                     'degree'  => isset($degrees[$i]->field_value) ? $degrees[$i]->field_value : null,
@@ -275,32 +285,39 @@ class ExtendedProfile
     {
         return array(
             'basic' => array(
+                // TRANS: Field label for extended profile properties.
                 'label' => _m('Personal'),
                 'fields' => array(
                     'fullname' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Full name'),
                         'profile' => 'fullname',
                         'vcard' => 'fn',
                     ),
                     'title' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Title'),
                         'vcard' => 'title',
                     ),
                     'manager' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Manager'),
                         'type' => 'person',
                         'vcard' => 'x-manager',
                     ),
                     'location' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Location'),
                         'profile' => 'location'
                     ),
                     'bio' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Bio'),
                         'type' => 'textarea',
                         'profile' => 'bio',
                     ),
                     'tags' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Tags'),
                         'type' => 'tags',
                         'profile' => 'tags',
@@ -308,6 +325,7 @@ class ExtendedProfile
                 ),
             ),
             'contact' => array(
+                // TRANS: Field label for extended profile properties.
                 'label' => _m('Contact'),
                 'fields' => array(
                     'phone'   => $this->getPhones(),
@@ -316,29 +334,35 @@ class ExtendedProfile
                 ),
             ),
             'personal' => array(
+                // TRANS: Field label for extended profile properties.
                 'label' => _m('Personal'),
                 'fields' => array(
                     'birthday' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Birthday'),
                         'type' => 'date',
                         'vcard' => 'bday',
                     ),
                     'spouse' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Spouse\'s name'),
                         'vcard' => 'x-spouse',
                     ),
                     'kids' => array(
+                        // TRANS: Field label for extended profile properties.
                         'label' => _m('Kids\' names')
                     ),
                 ),
             ),
             'experience' => array(
+                // TRANS: Field label for extended profile properties.
                 'label' => _m('Work experience'),
                 'fields' => array(
                     'experience' => $this->getExperiences()
                 ),
             ),
             'education' => array(
+                // TRANS: Field label for extended profile properties.
                 'label' => _m('Education'),
                 'fields' => array(
                     'education' => $this->getEducation()
index 24c8b2f3d452974ec8f6eca6429b0ee4f9e5bedf..03be420bea953f9dc945d6d2d614506d8718c418 100644 (file)
@@ -80,9 +80,11 @@ class ExtendedProfileWidget extends Form
         // For JQuery UI modal dialog
         $this->out->elementStart(
             'div',
-            array('id' => 'confirm-dialog', 'title' => 'Confirmation Required')
+            // TRANS: Title for extended profile entry deletion dialog.
+            array('id' => 'confirm-dialog', 'title' => _m('Confirmation Required'))
         );
-        $this->out->text('Really delete this entry?');
+        // TRANS: Confirmation text for extended profile entry deletion dialog.
+        $this->out->text(_m('Really delete this entry?'));
         $this->out->elementEnd('div');
         $this->showSections();
     }
@@ -163,7 +165,9 @@ class ExtendedProfileWidget extends Form
         if (!empty($field['value'])) {
             $this->out->text($field['value']);
             if (!empty($field['rel'])) {
-               $this->out->text(' (' . $field['rel'] . ')');
+               // TRANS: Value between parentheses (phone number, website, or IM address).
+               $outtext = sprintf(_m('(%s)'),$field['rel']);
+               $this->out->text(' '.$outtext);
             }
         }
         $this->out->elementEnd('div');
@@ -174,7 +178,9 @@ class ExtendedProfileWidget extends Form
         $this->out->elementStart('div', array('class' => 'im-display'));
         $this->out->text($field['value']);
         if (!empty($field['rel'])) {
-            $this->out->text(' (' . $field['rel'] . ')');
+            // TRANS: Value between parentheses (phone number, website, or IM address).
+            $outtext = sprintf(_m('(%s)'),$field['rel']);
+            $this->out->text(' '.$outtext);
         }
         $this->out->elementEnd('div');
     }
@@ -196,7 +202,9 @@ class ExtendedProfileWidget extends Form
         );
 
         if (!empty($field['rel'])) {
-            $this->out->text(' (' . $field['rel'] . ')');
+            // TRANS: Value between parentheses (phone number, website, or IM address).
+            $outtext = sprintf(_m('(%s)'),$field['rel']);
+            $this->out->text(' '.$outtext);
         }
         $this->out->elementEnd('div');
     }
@@ -314,11 +322,13 @@ class ExtendedProfileWidget extends Form
     protected function showExperience($name, $field)
     {
         $this->out->elementStart('div', 'experience-item');
+        // TRANS: Field label in experience area of extended profile.
         $this->out->element('div', 'label', _m('Company'));
 
         if (!empty($field['company'])) {
             $this->out->element('div', 'field', $field['company']);
 
+            // TRANS: Field label in experience area of extended profile (when did one start a position).
             $this->out->element('div', 'label', _m('Start'));
             $this->out->element(
                 'div',
@@ -326,6 +336,7 @@ class ExtendedProfileWidget extends Form
                 date('j M Y', strtotime($field['start'])
                 )
             );
+            // TRANS: Field label in experience area of extended profile (when did one end a position).
             $this->out->element('div', 'label', _m('End'));
             $this->out->element(
                 'div',
@@ -338,7 +349,8 @@ class ExtendedProfileWidget extends Form
                 $this->out->element(
                     'div',
                     array('class' => 'field current'),
-                    '(' . _m('Current') . ')'
+                    // TRANS: Field value in experience area of extended profile (one still holds a position).
+                    _m('(Current)')
                 );
             }
         }
@@ -356,6 +368,7 @@ class ExtendedProfileWidget extends Form
             )
         );
 
+        // TRANS: Field label in experience edit area of extended profile (which company does one work for).
         $this->out->element('div', 'label', _m('Company'));
         $this->out->input(
             $id,
@@ -363,6 +376,7 @@ class ExtendedProfileWidget extends Form
             isset($field['company']) ? $field['company'] : null
         );
 
+        // TRANS: Field label in experience edit area of extended profile (when did one start at a company).
         $this->out->element('div', 'label', _m('Start'));
         $this->out->input(
             $id . '-start',
@@ -370,6 +384,7 @@ class ExtendedProfileWidget extends Form
             isset($field['start']) ? date('j M Y', strtotime($field['start'])) : null
         );
 
+        // TRANS: Field label in experience edit area of extended profile (when did one terminate at a company).
         $this->out->element('div', 'label', _m('End'));
 
         $this->out->input(
@@ -384,6 +399,7 @@ class ExtendedProfileWidget extends Form
         $this->out->elementStart('div', 'current-checkbox');
         $this->out->checkbox(
             $id . '-current',
+            // TRANS: Checkbox label in experience edit area of extended profile (one still works at a company).
             _m('Current'),
             $field['current']
         );
@@ -396,14 +412,17 @@ class ExtendedProfileWidget extends Form
     protected function showEducation($name, $field)
     {
         $this->out->elementStart('div', 'education-item');
+        // TRANS: Field label in education area of extended profile.
         $this->out->element('div', 'label', _m('Institution'));
         if (!empty($field['school'])) {
-
             $this->out->element('div', 'field', $field['school']);
+            // TRANS: Field label in education area of extended profile.
             $this->out->element('div', 'label', _m('Degree'));
             $this->out->element('div', 'field', $field['degree']);
+            // TRANS: Field label in education area of extended profile.
             $this->out->element('div', 'label', _m('Description'));
             $this->out->element('div', 'field', $field['description']);
+            // TRANS: Field label in education area of extended profile (when did one start an education).
             $this->out->element('div', 'label', _m('Start'));
             $this->out->element(
                 'div',
@@ -411,6 +430,7 @@ class ExtendedProfileWidget extends Form
                 date('j M Y', strtotime($field['start'])
                 )
             );
+            // TRANS: Field label in education area of extended profile (when did one end a education).
             $this->out->element('div', 'label', _m('End'));
             $this->out->element(
                 'div',
@@ -432,6 +452,7 @@ class ExtendedProfileWidget extends Form
                 'class' => 'education-item'
             )
         );
+        // TRANS: Field label in education edit area of extended profile.
         $this->out->element('div', 'label', _m('Institution'));
         $this->out->input(
             $id,
@@ -439,6 +460,7 @@ class ExtendedProfileWidget extends Form
             isset($field['school']) ? $field['school'] : null
         );
 
+        // TRANS: Field label in education edit area of extended profile.
         $this->out->element('div', 'label', _m('Degree'));
         $this->out->input(
             $id . '-degree',
@@ -446,6 +468,7 @@ class ExtendedProfileWidget extends Form
             isset($field['degree']) ? $field['degree'] : null
         );
 
+        // TRANS: Field label in education edit area of extended profile.
         $this->out->element('div', 'label', _m('Description'));
 
         $this->out->textarea(
@@ -454,17 +477,21 @@ class ExtendedProfileWidget extends Form
             isset($field['description']) ? $field['description'] : null
         );
 
+        // TRANS: Field label in education edit area of extended profile (when did one start an education).
         $this->out->element('div', 'label', _m('Start'));
         $this->out->input(
             $id . '-start',
             null,
+            // @todo FIXME: does date format need i18n? If so, should probly be dealt with in core.
             isset($field['start']) ? date('j M Y', strtotime($field['start'])) : null
         );
 
+        // TRANS: Field label in education edit area of extended profile (when did one end an education).
         $this->out->element('div', 'label', _m('End'));
         $this->out->input(
             $id . '-end',
             null,
+            // @todo FIXME: does date format need i18n? If so, should probly be dealt with in core.
             isset($field['end']) ? date('j M Y', strtotime($field['end'])) : null
         );
 
@@ -491,7 +518,8 @@ class ExtendedProfileWidget extends Form
                 'href' => 'javascript://',
                 'style' => 'display: none;'
             ),
-            'Add another item'
+            // TRANS: Link description in extended profile page to add another profile element.
+            _m('Add another item')
         );
     }
 
@@ -601,7 +629,8 @@ class ExtendedProfileWidget extends Form
             $this->showEditableEducation($name, $field);
             break;
         default:
-            $out->input($id, null, "TYPE: $type");
+            // TRANS: Field label for undefined field in extended profile.
+            $out->input($id, null, sprintf(_m('TYPE: %s'),$type));
         }
     }
 
@@ -610,14 +639,16 @@ class ExtendedProfileWidget extends Form
      *
      * @return void
      */
-
     function formActions()
     {
         $this->out->submit(
             'save',
+            // TRANS: Button text for saving extended profile properties.
             _m('BUTTON','Save'),
             'submit form_action-secondary',
             'save',
+            // TRANS: .
+            // TRANS: Button title for saving extended profile properties.
             _m('Save details')
        );
     }
@@ -627,7 +658,6 @@ class ExtendedProfileWidget extends Form
      *
      * @return string ID of the form
      */
-
     function id()
     {
         return 'profile-details-' . $this->profile->id;
@@ -638,7 +668,6 @@ class ExtendedProfileWidget extends Form
      *
      * @return string of the form class
      */
-
     function formClass()
     {
         return 'form_profile_details form_settings';
@@ -649,7 +678,6 @@ class ExtendedProfileWidget extends Form
      *
      * @return string URL of the action
      */
-
     function action()
     {
         return common_local_url('profiledetailsettings');
index 68e931e3871e1054884aa5242ae351705c3f3fb1..d893baf62d9f703054ea853a21c47dd4038706f9 100644 (file)
@@ -101,7 +101,6 @@ class FacebookBridgePlugin extends Plugin
      */
     function onAutoload($cls)
     {
-
         $dir = dirname(__FILE__);
 
         //common_debug("class = " . $cls);
@@ -128,7 +127,6 @@ class FacebookBridgePlugin extends Plugin
         default:
             return true;
         }
-
     }
 
     /**
@@ -214,10 +212,11 @@ class FacebookBridgePlugin extends Plugin
         if ($this->hasApplication()) {
 
             $action->menuItem(
+                // TRANS: Menu item for "Facebook" login.
                 common_local_url('facebooklogin'),
                 _m('MENU', 'Facebook'),
-                // TRANS: Tooltip for menu item "Facebook".
-                _m('Login or register using Facebook'),
+                // TRANS: Menu title for "Facebook" login.
+                _m('Login or register using Facebook.'),
                'facebooklogin' === $action_name
             );
         }
@@ -253,10 +252,10 @@ class FacebookBridgePlugin extends Plugin
 
             $nav->out->menuItem(
                 common_local_url('facebookadminpanel'),
-                // TRANS: Menu item.
+                // TRANS: Menu item for "Facebook" in administration panel.
                 _m('MENU','Facebook'),
-                // TRANS: Tooltip for menu item "Facebook".
-                _m('Facebook integration configuration'),
+                // TRANS: Menu title for "Facebook" in administration panel.
+                _m('Facebook integration configuration.'),
                 $action_name == 'facebookadminpanel',
                 'nav_facebook_admin_panel'
             );
@@ -294,16 +293,14 @@ class FacebookBridgePlugin extends Plugin
 
                 $action->menuItem(
                     common_local_url('facebooksettings'),
-                    // TRANS: Menu item tab.
+                    // TRANS: Menu item for "Facebook" in user settings.
                     _m('MENU','Facebook'),
-                    // TRANS: Tooltip for menu item "Facebook".
-                    _m('Facebook settings'),
+                    // TRANS: Menu title for "Facebook" in user settings.
+                    _m('Facebook settings.'),
                     $action_name === 'facebooksettings'
                 );
-
             }
         }
-
     }
 
     /*
@@ -324,7 +321,6 @@ class FacebookBridgePlugin extends Plugin
             if (!empty($appId) && !empty($secret)) {
                 return true;
             }
-
         }
 
         return false;
@@ -420,7 +416,6 @@ ENDOFSCRIPT;
                 common_debug("LOGOUT URL = $logoutUrl");
                 common_redirect($logoutUrl, 303);
             }
-
         }
     }
 
@@ -561,6 +556,7 @@ ENDOFSCRIPT;
             'author' => 'Craig Andrews, Zach Copley',
             'homepage' => 'http://status.net/wiki/Plugin:FacebookBridge',
             'rawdescription' =>
+             // TRANS: Plugin description.
             _m('A plugin for integrating StatusNet with Facebook.')
         );
 
index 034b58b2fa218b104abd68fbed2bf1078ee75b6c..21c358900862d021bb21dfb4876616b5802e66a3 100644 (file)
@@ -49,7 +49,8 @@ class FacebookadminpanelAction extends AdminPanelAction
      */
     function title()
     {
-        return _m('Facebook');
+        // TRANS: Title for Facebook administration panel.
+        return _m('TITLE','Facebook integration settings');
     }
 
     /**
@@ -59,6 +60,7 @@ class FacebookadminpanelAction extends AdminPanelAction
      */
     function getInstructions()
     {
+        // TRANS: Instruction for Facebook administration panel.
         return _m('Facebook integration settings');
     }
 
@@ -120,12 +122,14 @@ class FacebookadminpanelAction extends AdminPanelAction
 
         if (mb_strlen($values['facebook']['appid']) > 255) {
             $this->clientError(
+                // TRANS: Client error displayed when providing too long a Facebook application ID.
                 _m("Invalid Facebook ID. Maximum length is 255 characters.")
             );
         }
 
         if (mb_strlen($values['facebook']['secret']) > 255) {
             $this->clientError(
+                // TRANS: Client error displayed when providing too long a Facebook secret key.
                 _m("Invalid Facebook secret. Maximum length is 255 characters.")
             );
         }
@@ -175,13 +179,16 @@ class FacebookAdminPanelForm extends AdminForm
             'fieldset',
             array('id' => 'settings_facebook-application')
         );
+        // TRANS: Fieldset legend.
         $this->out->element('legend', null, _m('Facebook application settings'));
         $this->out->elementStart('ul', 'form_data');
 
         $this->li();
         $this->input(
             'appid',
+            // TRANS: Field label for Facebook application ID.
             _m('Application ID'),
+            // TRANS: Field title for Facebook application ID.
             _m('ID of your Facebook application.'),
             'facebook'
         );
@@ -190,7 +197,9 @@ class FacebookAdminPanelForm extends AdminForm
         $this->li();
         $this->input(
             'secret',
-             _m('Secret'),
+            // TRANS: Field label for Facebook secret key.
+            _m('Secret'),
+            // TRANS: Field title for Facebook secret key.
             _m('Application secret.'),
             'facebook'
         );
@@ -207,6 +216,9 @@ class FacebookAdminPanelForm extends AdminForm
      */
     function formActions()
     {
-        $this->out->submit('submit', _m('BUTTON','Save'), 'submit', null, _m('Save Facebook settings.'));
+        // TRANS: Button text to save Facebook integration settings.
+        $this->out->submit('submit', _m('BUTTON','Save'),
+                           // TRANS: Button title to save Facebook integration settings.
+                           'submit', null, _m('Save Facebook settings.'));
     }
 }
index 6813ccf1d2e053bb9937597c9af586903fe233b5..1a83c3a003c1baad4a8839a44fb5760d0be1f8ae 100644 (file)
@@ -140,5 +140,4 @@ class FacebookdeauthorizeAction extends Action
             }
         }
     }
-
-}
\ No newline at end of file
+}
index f952ad2e2bdaf86b74d5d505e6b36fe0f9864ab9..3d2fb571d7aa0280535063212683ed73a6fcb333 100644 (file)
@@ -38,7 +38,6 @@ class FacebookfinishloginAction extends Action
     private $fbuser   = null; // Facebook user object (JSON)
 
     function prepare($args) {
-
         parent::prepare($args);
 
         $this->facebook = new Facebook(
@@ -64,7 +63,6 @@ class FacebookfinishloginAction extends Action
         }
 
         if (!empty($this->fbuser)) {
-
             // OKAY, all is well... proceed to register
 
             common_debug("Found a valid Facebook user.", __FILE__);
@@ -85,6 +83,7 @@ class FacebookfinishloginAction extends Action
             );
 
             $this->clientError(
+                // TRANS: Client error displayed when trying to connect to Facebook while not logged in.
                 _m('You must be logged into Facebook to register a local account using Facebook.')
             );
         }
@@ -115,6 +114,8 @@ class FacebookfinishloginAction extends Action
                 );
 
                 $this->clientError(
+                    // TRANS: Client error displayed when trying to connect to a Facebook account that is already linked
+                    // TRANS: in the same StatusNet site.
                     _m('There is already a local account linked with that Facebook account.')
                 );
 
@@ -138,6 +139,7 @@ class FacebookfinishloginAction extends Action
 
         if (!$token || $token != common_session_token()) {
             $this->showForm(
+                // TRANS: Client error displayed when the session token does not match or is not given.
                 _m('There was a problem with your session token. Try again, please.')
             );
             return;
@@ -147,6 +149,7 @@ class FacebookfinishloginAction extends Action
 
             if (!$this->boolean('license')) {
                 $this->showForm(
+                    // TRANS: Form validation error displayed when user has not agreed to the license.
                     _m('You cannot register if you do not agree to the license.'),
                     $this->trimmed('newname')
                 );
@@ -164,6 +167,7 @@ class FacebookfinishloginAction extends Action
         } else {
 
             $this->showForm(
+                // TRANS: Form validation error displayed when an unhandled error occurs.
                 _m('An unknown error has occured.'),
                 $this->trimmed('newname')
             );
@@ -180,8 +184,9 @@ class FacebookfinishloginAction extends Action
 
             $this->element(
                 'div', 'instructions',
-                // TRANS: %s is the site name.
                 sprintf(
+                    // TRANS: Form instructions for connecting to Facebook.
+                    // TRANS: %s is the site name.
                     _m('This is the first time you have logged into %s so we must connect your Facebook to a local account. You can either create a new local account, or connect with an existing local account.'),
                     common_config('site', 'name')
                 )
@@ -209,7 +214,7 @@ class FacebookfinishloginAction extends Action
     }
 
     /**
-     * @fixme much of this duplicates core code, which is very fragile.
+     * @todo FIXME: Much of this duplicates core code, which is very fragile.
      * Should probably be replaced with an extensible mini version of
      * the core registration form.
      */
@@ -225,7 +230,7 @@ class FacebookfinishloginAction extends Action
                                           'class' => 'form_settings',
                                           'action' => common_local_url('facebookfinishlogin')));
         $this->elementStart('fieldset', array('id' => 'settings_facebook_connect_options'));
-        // TRANS: Legend.
+        // TRANS: Fieldset legend.
         $this->element('legend', null, _m('Connection options'));
         $this->elementStart('ul', 'form_data');
         $this->elementStart('li');
@@ -252,9 +257,10 @@ class FacebookfinishloginAction extends Action
         $this->elementStart('fieldset');
         $this->hidden('token', common_session_token());
         $this->element('legend', null,
-                       // TRANS: Legend.
+                       // TRANS: Fieldset legend.
                        _m('Create new account'));
         $this->element('p', null,
+                       // TRANS: Form instructions.
                        _m('Create a new user with this nickname.'));
         $this->elementStart('ul', 'form_data');
 
@@ -265,6 +271,7 @@ class FacebookfinishloginAction extends Action
         // TRANS: Field label.
         $this->input('newname', _m('New nickname'),
                      ($this->username) ? $this->username : '',
+                     // TRANS: Field title.
                      _m('1-64 lowercase letters or numbers, no punctuation or spaces.'));
         $this->elementEnd('li');
 
@@ -272,15 +279,16 @@ class FacebookfinishloginAction extends Action
         Event::handle('EndRegistrationFormData', array($this));
 
         $this->elementEnd('ul');
-        // TRANS: Submit button.
+        // TRANS: Submit button to create a new account.
         $this->submit('create', _m('BUTTON','Create'));
         $this->elementEnd('fieldset');
 
         $this->elementStart('fieldset');
-        // TRANS: Legend.
         $this->element('legend', null,
+                       // TRANS: Fieldset legend.
                        _m('Connect existing account'));
         $this->element('p', null,
+                       // TRANS: Form instructions.
                        _m('If you already have an account, login with your username and password to connect it to your Facebook.'));
         $this->elementStart('ul', 'form_data');
         $this->elementStart('li');
@@ -288,10 +296,11 @@ class FacebookfinishloginAction extends Action
         $this->input('nickname', _m('Existing nickname'));
         $this->elementEnd('li');
         $this->elementStart('li');
+        // TRANS: Field label.
         $this->password('password', _m('Password'));
         $this->elementEnd('li');
         $this->elementEnd('ul');
-        // TRANS: Submit button.
+        // TRANS: Submit button to connect a Facebook account to an existing StatusNet account.
         $this->submit('connect', _m('BUTTON','Connect'));
         $this->elementEnd('fieldset');
 
@@ -344,11 +353,13 @@ class FacebookfinishloginAction extends Action
         }
 
         if (!User::allowed_nickname($nickname)) {
+            // TRANS: Form validation error displayed when picking a nickname that is not allowed.
             $this->showForm(_m('Nickname not allowed.'));
             return;
         }
 
         if (User::staticGet('nickname', $nickname)) {
+            // TRANS: Form validation error displayed when picking a nickname that is already in use.
             $this->showForm(_m('Nickname already in use. Try another one.'));
             return;
         }
@@ -377,6 +388,7 @@ class FacebookfinishloginAction extends Action
         $result = $this->flinkUser($user->id, $this->fbuid);
 
         if (!$result) {
+            // TRANS: Server error displayed when connecting to Facebook fails.
             $this->serverError(_m('Error connecting user to Facebook.'));
             return;
         }
@@ -479,6 +491,7 @@ class FacebookfinishloginAction extends Action
         $password = $this->trimmed('password');
 
         if (!common_check_user($nickname, $password)) {
+            // TRANS: Form validation error displayed when username/password combination is incorrect.
             $this->showForm(_m('Invalid username or password.'));
             return;
         }
@@ -516,6 +529,7 @@ class FacebookfinishloginAction extends Action
         $result = $this->flinkUser($user->id, $this->fbuid);
 
         if (empty($result)) {
+            // TRANS: Server error displayed when connecting to Facebook fails.
             $this->serverError(_m('Error connecting user to Facebook.'));
             return;
         }
@@ -687,5 +701,4 @@ class FacebookfinishloginAction extends Action
 
          return false;
      }
-
 }
index 924dd46565cdb53a44afe371ba50346a7391f726..fa3cc7a6f2a27f8fc7f201a016b6bfbe66cc427c 100644 (file)
@@ -34,12 +34,12 @@ if (!defined('STATUSNET')) {
 
 class FacebookloginAction extends Action
 {
-
     function handle($args)
     {
         parent::handle($args);
 
         if (common_is_real_login()) {
+            // TRANS: Client error displayed when trying to login while already logged in.
             $this->clientError(_m('Already logged in.'));
         } else {
             $this->showPage();
@@ -48,7 +48,7 @@ class FacebookloginAction extends Action
 
     function getInstructions()
     {
-        // TRANS: Instructions.
+        // TRANS: Form instructions.
         return _m('Login with your Facebook Account');
     }
 
@@ -68,7 +68,6 @@ class FacebookloginAction extends Action
     }
 
     function showContent() {
-
         $this->elementStart('fieldset');
 
         $facebook = Facebookclient::getFacebook();
@@ -90,8 +89,10 @@ class FacebookloginAction extends Action
 
         $attrs = array(
             'src' => Plugin::staticPath('FacebookBridge', 'images/login-button.png'),
-            'alt'   => 'Login with Facebook',
-            'title' => 'Login with Facebook'
+            // TRANS: Alt text for "Login with Facebook" image.
+            'alt'   => _m('Login with Facebook'),
+            // TRANS: Title for "Login with Facebook" image.
+            'title' => _m('Login with Facebook.')
         );
 
         $this->element('img', $attrs);
@@ -117,4 +118,3 @@ class FacebookloginAction extends Action
         $nav->show();
     }
 }
-
index 7d45cc03e6b99eff5be883a806aa1a0dcffdd92d..aaa220403576ddfaa9e994cad788c791309d361b 100644 (file)
@@ -83,6 +83,7 @@ class FacebooksettingsAction extends SettingsAction {
         $token = $this->trimmed('token');
         if (!$token || $token != common_session_token()) {
             $this->showForm(
+                // TRANS: Client error displayed when the session token does not match or is not given.
                 _m('There was a problem with your session token. Try again, please.')
             );
             return;
@@ -102,7 +103,7 @@ class FacebooksettingsAction extends SettingsAction {
      */
     function title() {
         // TRANS: Page title for Facebook settings.
-        return _m('Facebook settings');
+        return _m('TITLE','Facebook settings');
     }
 
     /**
@@ -111,6 +112,7 @@ class FacebooksettingsAction extends SettingsAction {
      * @return instructions for use
      */
     function getInstructions() {
+        // TRANS: Instructions for Facebook settings.
         return _m('Facebook settings');
     }
 
@@ -134,6 +136,7 @@ class FacebooksettingsAction extends SettingsAction {
 
             $this->hidden('token', common_session_token());
 
+            // TRANS: Form note. User is connected to facebook.
             $this->element('p', 'form_note', _m('Connected Facebook user'));
 
             $this->elementStart('p', array('class' => 'facebook-user-display'));
@@ -161,6 +164,7 @@ class FacebooksettingsAction extends SettingsAction {
 
             $this->checkbox(
                 'noticesync',
+                // TRANS: Checkbox label in Facebook settings.
                 _m('Publish my notices to Facebook.'),
                 ($this->flink) ? ($this->flink->noticesync & FOREIGN_NOTICE_SEND) : true
             );
@@ -171,6 +175,7 @@ class FacebooksettingsAction extends SettingsAction {
 
             $this->checkbox(
                     'replysync',
+                    // TRANS: Checkbox label in Facebook settings.
                     _m('Send "@" replies to Facebook.'),
                     ($this->flink) ? ($this->flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : true
             );
@@ -188,13 +193,14 @@ class FacebooksettingsAction extends SettingsAction {
 
             $this->elementStart('fieldset');
 
-            // TRANS: Legend.
+            // TRANS: Fieldset legend for form to disconnect from Facebook.
             $this->element('legend', null, _m('Disconnect my account from Facebook'));
 
             if (empty($this->user->password)) {
                 $this->elementStart('p', array('class' => 'form_guide'));
 
                 $msg = sprintf(
+                    // TRANS: Notice in disconnect from Facebook form if user has no local StatusNet password.
                     _m(
                         'Disconnecting your Faceboook would make it impossible to '
                             . 'log in! Please [set a password](%s) first.'
@@ -206,14 +212,11 @@ class FacebooksettingsAction extends SettingsAction {
                 $this->elementEnd('p');
             } else {
                 // @todo FIXME: i18n: This message is not being used.
-                $msg = sprintf(
-                    // TRANS: Message displayed when initiating disconnect of a StatusNet user
-                    // TRANS: from a Facebook account. %1$s is the StatusNet site name.
-                    _m(
-                        'Keep your %1$s account but disconnect from Facebook. ' .
-                        'You\'ll use your %1$s password to log in.'
-                    ),
-                    common_config('site', 'name')
+                // TRANS: Message displayed when initiating disconnect of a StatusNet user
+                // TRANS: from a Facebook account. %1$s is the StatusNet site name.
+                $msg = sprintf(_m('Keep your %1$s account but disconnect from Facebook. ' .
+                                  'You\'ll use your %1$s password to log in.'),
+                               common_config('site', 'name')
                 );
 
                 // TRANS: Submit button.
@@ -240,6 +243,7 @@ class FacebooksettingsAction extends SettingsAction {
         $result = $this->flink->update($original);
 
         if ($result === false) {
+            // TRANS: Notice in case saving of synchronisation preferences fail.
             $this->showForm(_m('There was a problem saving your sync preferences.'));
         } else {
             // TRANS: Confirmation that synchronisation settings have been saved into the system.
@@ -257,10 +261,12 @@ class FacebooksettingsAction extends SettingsAction {
 
         if ($result === false) {
             common_log_db_error($user, 'DELETE', __FILE__);
+            // TRANS: Server error displayed when deleting the link to a Facebook account fails.
             $this->serverError(_m('Could not delete link to Facebook.'));
             return;
         }
 
+        // TRANS: Confirmation message. StatusNet account was unlinked from Facebook.
         $this->showForm(_m('You have disconnected from Facebook.'), true);
     }
 }
index a6a80303428230d3b43b8469bcb96bc5cac7d49b..d37c95ffc1e5858cb7cd22099604ece3990b6272 100644 (file)
@@ -48,7 +48,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
  *
  * @see      DB_DataObject
  */
-
 class Notice_to_item extends Memcached_DataObject
 {
     public $__table = 'notice_to_item'; // table name
@@ -67,7 +66,6 @@ class Notice_to_item extends Memcached_DataObject
      * @return Notice_to_item object found, or null for no hits
      *
      */
-
     function staticGet($k, $v=null)
     {
         return Memcached_DataObject::staticGet('Notice_to_item', $k, $v);
@@ -81,7 +79,6 @@ class Notice_to_item extends Memcached_DataObject
      *
      * @return array array of column definitions
      */
-
     function table()
     {
         return array(
@@ -109,7 +106,6 @@ class Notice_to_item extends Memcached_DataObject
      *
      * @return array list of key field names
      */
-
     function keys()
     {
         return array_keys($this->keyTypes());
@@ -127,7 +123,6 @@ class Notice_to_item 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('notice_id' => 'K', 'item_id' => 'U');
@@ -143,7 +138,6 @@ class Notice_to_item extends Memcached_DataObject
      *
      * @return array magic three-false array that stops auto-incrementing.
      */
-
     function sequenceKey()
     {
         return array(false, false, false);
@@ -157,7 +151,6 @@ class Notice_to_item extends Memcached_DataObject
      *
      * @return Notice_to_item new object for this value
      */
-
     static function saveNew($notice_id, $item_id)
     {
         $n2i = Notice_to_item::staticGet('notice_id', $notice_id);
index 37d6a0a7a01487ef5443607ed7454f09921d1cbc..0469ce8aca2aa7d98c9cebc8e2d8135a09630ed7 100644 (file)
@@ -340,7 +340,8 @@ class Facebookclient
     function checkPermission($permission)
     {
         if (!in_array($permission, array('publish_stream', 'status_update'))) {
-             throw new ServerException("No such permission!");
+             // TRANS: Server exception thrown when permission check fails.
+             throw new ServerException(_('No such permission!'));
         }
 
         $fbuid = $this->flink->foreign_id;
@@ -397,7 +398,6 @@ class Facebookclient
             );
 
             return false;
-
         }
     }
 
@@ -461,7 +461,7 @@ class Facebookclient
                     ),
                     __FILE__
                 );
-            // @fixme: We want to rety at a later time when the throttling has expired
+            // @todo FIXME: We want to rety at a later time when the throttling has expired
             // instead of just giving up.
             return true;
             break;
@@ -582,7 +582,6 @@ class Facebookclient
         );
 
         if (!empty($result)) { // result will contain the item ID
-
             // Save a mapping
             Notice_to_item::saveNew($this->notice->id, $result);
 
@@ -598,7 +597,6 @@ class Facebookclient
                 ),
                 __FILE__
             );
-
         } else {
 
             $msg = sprintf(
@@ -740,7 +738,6 @@ class Facebookclient
             $result = $this->mailFacebookDisconnect();
 
             if (!$result) {
-
                 $msg = 'Unable to send email to notify %s (%d), fbuid %d '
                      . 'about his/her Facebook link being removed.';
 
@@ -755,9 +752,7 @@ class Facebookclient
                     __FILE__
                 );
             }
-
         } else {
-
             $msg = 'Unable to send email to notify %s (%d), fbuid %d '
                  . 'about his/her Facebook link being removed because the '
                  . 'user has not set an email address.';
@@ -789,26 +784,23 @@ class Facebookclient
 
         common_switch_locale($this->user->language);
 
+        // TRANS: E-mail subject.
         $subject = _m('Your Facebook connection has been removed');
 
-        $msg = <<<BODY
-Hi %1$s,
-
-We're sorry to inform you we are unable to publish your notice to
-Facebook, and have removed the connection between your %2$s account and
-Facebook.
+        // TRANS: E-mail body. %1$s is a username, %2$s is the StatusNet sitename.
+        $msg = _m("Hi %1\$s,\n\n".
+                  "We are sorry to inform you we are unable to publish your notice to\n".
+                  "Facebook, and have removed the connection between your %2\$s account and\n".
+                  "Facebook.\n\n".
+                  "This may have happened because you have removed permission for %2\$s\n".
+                  "to post on your behalf, or perhaps you have deactivated your Facebook\n".
+                  "account. You can reconnect your %2\$s account to Facebook at any time by\n".
+                  "logging in with Facebook again.\n\n".
+                  "Sincerely,\n\n".
+                  "%2\$s\n");
 
-This may have happened because you have removed permission for %2$s
-to post on your behalf, or perhaps you have deactivated your Facebook
-account. You can reconnect your %s account to Facebook at any time by
-logging in with Facebook again.
-
-Sincerely,
-
-%2$s
-BODY;
         $body = sprintf(
-            _m($msg),
+            $msg,
             $this->user->nickname,
             $siteName
         );
@@ -848,22 +840,21 @@ BODY;
 
         common_switch_locale($user->language);
 
+        // TRANS: E-mail subject. %s is the StatusNet sitename.
         $subject = _m('Contact the %s administrator to retrieve your account');
 
-        $msg = <<<BODY
-Hi %1$s,
-
-We've noticed you have deauthorized the Facebook connection for your
-%2$s account.  You have not set a password for your %2$s account yet, so
-you will not be able to login. If you wish to continue using your %2$s
-account, please contact the site administrator (%3$s) to set a password.
+        // TRANS: E-mail body. %1$s is a username,
+        // TRANS: %2$s is the StatusNet sitename, %3$s is the site contact e-mail address.
+        $msg = _m("Hi %1\$s,\n\n".
+                  "We have noticed you have deauthorized the Facebook connection for your\n".
+                  "%2\$s account.  You have not set a password for your %2\$s account yet, so\n".
+                  "you will not be able to login. If you wish to continue using your %2\$s\n".
+                  "account, please contact the site administrator (%3\$s) to set a password.\n\n".
+                  "Sincerely,\n\n".
+                  "%2\$s\n");
 
-Sincerely,
-
-%2$s
-BODY;
         $body = sprintf(
-            _m($msg),
+            $msg,
             $user->nickname,
             $siteName,
             $siteEmail
@@ -990,9 +981,7 @@ BODY;
         $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id);
 
         if (!empty($this->flink) && !empty($n2i)) {
-
             try {
-
                 $result = $this->facebook->api(
                     array(
                         'method'  => 'stream.remove',
@@ -1002,7 +991,6 @@ BODY;
                 );
 
                 if (!empty($result) && result == true) {
-
                     common_log(
                       LOG_INFO,
                         sprintf(
@@ -1020,7 +1008,6 @@ BODY;
                 } else {
                     throw new FaceboookApiException(var_export($result, true));
                 }
-
             } catch (FacebookApiException $e) {
                 common_log(
                   LOG_WARNING,
@@ -1049,9 +1036,7 @@ BODY;
         $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id);
 
         if (!empty($this->flink) && !empty($n2i)) {
-
             try {
-
                 $result = $this->facebook->api(
                     array(
                         'method'  => 'stream.addlike',
@@ -1061,7 +1046,6 @@ BODY;
                 );
 
                 if (!empty($result) && result == true) {
-
                     common_log(
                       LOG_INFO,
                         sprintf(
@@ -1073,11 +1057,9 @@ BODY;
                         ),
                         __FILE__
                     );
-
                 } else {
                     throw new FacebookApiException(var_export($result, true));
                 }
-
             } catch (FacebookApiException $e) {
                 common_log(
                   LOG_WARNING,
@@ -1105,9 +1087,7 @@ BODY;
         $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id);
 
         if (!empty($this->flink) && !empty($n2i)) {
-
             try {
-
                 $result = $this->facebook->api(
                     array(
                         'method'  => 'stream.removeLike',
@@ -1117,7 +1097,6 @@ BODY;
                 );
 
                 if (!empty($result) && result == true) {
-
                     common_log(
                       LOG_INFO,
                         sprintf(
@@ -1133,7 +1112,6 @@ BODY;
                 } else {
                     throw new FacebookApiException(var_export($result, true));
                 }
-
             } catch (FacebookApiException $e) {
                   common_log(
                   LOG_WARNING,
@@ -1151,5 +1129,4 @@ BODY;
             }
         }
     }
-
 }
index 27f760c81cb77913b8b5493eac6dbab25e8e5b87..8c6fae4d5f260c48212faa9b596b37c820717650 100644 (file)
@@ -1,11 +1,11 @@
 <?php
 /*
-StatusNet Plugin: 0.9
-Plugin Name: FirePHP
-Description: Sends StatusNet log output to FirePHP
-Version: 0.1
-Author: Craig Andrews <candrews@integralblue.com>
-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 <candrews@integralblue.com>
+ * 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;
     }
index 22ed1e9be3decd20e0763e9e125e012f30be21ed..d7ba86e59cfec0ec2cc2bddd6a29ff690e5e3035 100644 (file)
@@ -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());
-
index 04ed9321220a2a32b667c23adc686f3615a592ba..98f61c3a99459f29fb495ff980496625b0bbfb11 100644 (file)
@@ -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;
     }
index 5925dcaef04e184ec202a5a459db4606bbc49dfd..c8e6709fc8534d931f9e8be5569ae4406d1385f7 100644 (file)
@@ -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();
index 91da81a5aa4299c44025a1c05152a347bc00fde3..9f2670eb822f40ce438ae11cf842aa6f3c565f95 100644 (file)
@@ -121,6 +121,7 @@ class GeoURLPlugin extends Plugin
                             'author' => 'Evan Prodromou',
                             'homepage' => 'http://status.net/wiki/Plugin:GeoURL',
                             'rawdescription' =>
+                            // TRANS: Plugin description.
                             _m('Ping <a href="http://geourl.org/">GeoURL</a> when '.
                                'new geolocation-enhanced notices are posted.'));
         return true;
index d88014bb8070b57d614063dcb7a091d815a3ab6d..ea9899442cd47c8c2d42f8db65086f8e7b9e90fd 100644 (file)
@@ -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 <a href="http://geonames.org/">Geonames</a> service to get human-readable '.
                                'names for locations based on user-provided lat/long pairs.'));
         return true;
index bb937ec5b942a916dc4f5c0d50d40994929853a8..b34fe203ec9075f2ec54d3a87d2f93094152e6bc 100644 (file)
@@ -77,6 +77,7 @@ class GoogleAnalyticsPlugin extends Plugin
                             'author' => 'Evan Prodromou',
                             'homepage' => 'http://status.net/wiki/Plugin:GoogleAnalytics',
                             'rawdescription' =>
+                            // TRANS: Plugin description.
                             _m('Use <a href="http://www.google.com/analytics/">Google Analytics</a>'.
                                ' to track web access.'));
         return true;
index 5fcc79fd51809c0c031bbea4834b920f8eaded3b..256f6b162a0ef2bc44e4be76f91b104378c73b70 100644 (file)
@@ -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 <a href="http://www.gravatar.com/">Gravatar</a> with StatusNet.'));
 
         return true;
index 2639048089be8e621a7c6b1cb549988487aa7fbb..0f6c7280d9d24e5c88448991e0be2d007f40433f 100644 (file)
@@ -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
index 87c5aa9bdafe55b25ddb5329ce74e66ba5646fac..6e31d699257383fcf924824743c7f9ed108d92ee 100644 (file)
@@ -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;
     }
index 800cd105755d4c8526813251d55e71058871eebc..53fe0fe90f211751ebb520abedcbff3a1b1b25ff 100644 (file)
@@ -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;
     }
-
 }
index 4be0932cc29c462692903ece43c4bbc573cfe3b7..20ce0120acb64db5e746ea235dbf5f48927684c1 100644 (file)
@@ -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,
index 7447ca9a622908d998ff2b0a1aced1e6baa4628c..9a8e5c045a7eb60d24716be15a44f795f70105b4 100644 (file)
@@ -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));
         }
index e1c4fc996dee8f8e086b7cf34cafc2df484b6a9d..3464a1202a2cff6b01623047630031d773a578e5 100644 (file)
@@ -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();
index bd865cb37c78d3f4d135e436f3206d9246819ba9..2df45b10b48a3fde97cab8e1aef00445fa8f2967 100644 (file)
@@ -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;
index 6d440961230d727ad2f7e9a72f8fe60f058ec3c6..c33e4b25a29bd4ca5554f7a68e86832c95581b27 100644 (file)
@@ -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')));
     }
 }
index 07f8ed5e4c79812ad390761a5f6516b0b07a42a8..61ea3b233ae2553d7a6bf1b27a55c4a604e564af 100644 (file)
@@ -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
index 4c0fd2ce64d73371d77a2f9cd322bb371e5b8645..cb9c6a5992d43ababd89e813bd921e885e282d97 100644 (file)
@@ -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);
index 61377ba178838f38f92e2a7f28f1412db2fb88ae..4ba659eacc83b863c7281b1b85e2440338e3a05f 100644 (file)
@@ -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);
     }
 }
index 828b6765488591f37108381b42ecbb7f8ff30317..a0ec4198c43376d30c58409bddd572679efdd711 100644 (file)
@@ -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;
index 9e810a3ffc10fcf7b99b21071f614045e15a604b..20a9cbada2e6f1ecf38bf2cd5ce038021b02c999 100644 (file)
@@ -25,9 +25,8 @@ if (!defined('STATUSNET')) {
  * Check DB queries for filesorts and such and log em.
  *
  * @package SQLStatsPlugin
- * @maintainer Evan Prodromou <brion@status.net>
+ * @maintainer Evan Prodromou <evan@status.net>
  */
-
 class SQLStatsPlugin extends Plugin
 {
     protected $queryCount = 0;
@@ -42,6 +41,7 @@ class SQLStatsPlugin extends Plugin
                             'author' => 'Evan Prodromou',
                             'homepage' => 'http://status.net/wiki/Plugin:SQLStats',
                             'rawdescription' =>
+                            // TRANS: Plugin decription.
                             _m('Debug tool to watch for poorly indexed DB queries.'));
 
         return true;
index 555b28082583fe53cc78f4fe9340223a8587a6ea..14095d9bbe84defd738a8a4c5c0ef87e64686937 100644 (file)
@@ -1349,7 +1349,7 @@ table.profile_list tr.alt {
     margin: 0px;
 }
 
-.question fieldset legend, .qna-full-question fieldset legend {
+.question fieldset legend, .qna-full-question fieldset legend, .answer fieldset legend {
     display: none;
 }
 
@@ -1408,7 +1408,7 @@ table.profile_list tr.alt {
     margin-top: 0px;
 }
 
-.question p.best {
+.question p.best, .answer p.best {
     background: url(../images/rosette.png) no-repeat top left;
     padding-left: 20px;
 }
index 45553e973aaf11f00df77e27588e5a125f1efd3a..43f477cd1ed972ec9d74148f6f9e55fcc04b7d9d 100644 (file)
@@ -717,15 +717,10 @@ display:none;
 
 #export_data li {
     list-style-type:none;
-    display: inline;
-    line-height: 2;
+    line-height: 2.5;
 }
 
 #export_data li a {
-    padding-left: 20px;
-    margin-right: 10px;
-}
-#export_data li a.foaf {
     padding-left: 30px;
 }