forked from GNUsocial/gnu-social
		
	Merge remote-tracking branch 'gitorious/1.0.x' into 1.0.x
This commit is contained in:
		| @@ -124,6 +124,7 @@ class BlankAdPlugin extends UAPPlugin | |||||||
|                             'author' => 'Evan Prodromou', |                             'author' => 'Evan Prodromou', | ||||||
|                             'homepage' => 'http://status.net/wiki/Plugin:BlankAdPlugin', |                             'homepage' => 'http://status.net/wiki/Plugin:BlankAdPlugin', | ||||||
|                             'rawdescription' => |                             'rawdescription' => | ||||||
|  |                             // TRANS: Plugin description. | ||||||
|                             _m('Plugin for testing ad layout.')); |                             _m('Plugin for testing ad layout.')); | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -82,13 +82,19 @@ class BlogspamNetPlugin extends Plugin | |||||||
|         } else { |         } else { | ||||||
|             common_debug("Blogspamnet results = " . $response); |             common_debug("Blogspamnet results = " . $response); | ||||||
|             if (preg_match('/^ERROR(:(.*))?$/', $response, $match)) { |             if (preg_match('/^ERROR(:(.*))?$/', $response, $match)) { | ||||||
|                 throw new ServerException(sprintf(_m("Error from %1$s: %2$s"), $this->baseUrl, $match[2]), 500); |                 // TRANS: Server exception thrown when blogspam.net returns error status. | ||||||
|  |                 // TRANS: %1$s is the base URL, %2$s is the error (unknown contents; no period). | ||||||
|  |                 throw new ServerException(sprintf(_m('Error from %1$s: %2$s'), $this->baseUrl, $match[2]), 500); | ||||||
|             } else if (preg_match('/^SPAM(:(.*))?$/', $response, $match)) { |             } else if (preg_match('/^SPAM(:(.*))?$/', $response, $match)) { | ||||||
|                 throw new ClientException(sprintf(_m("Spam checker results: %s"), $match[2]), 400); |                 // TRANS: Server exception thrown when blogspam.net returns spam status. | ||||||
|  |                 // TRANS: Does not end with period because of unknown contents for %s (spam match). | ||||||
|  |                 throw new ClientException(sprintf(_m('Spam checker results: %s'), $match[2]), 400); | ||||||
|             } else if (preg_match('/^OK$/', $response)) { |             } else if (preg_match('/^OK$/', $response)) { | ||||||
|                 // don't do anything |                 // don't do anything | ||||||
|             } else { |             } else { | ||||||
|                 throw new ServerException(sprintf(_m("Unexpected response from %1$s: %2$s"), $this->baseUrl, $response), 500); |                 // TRANS: Server exception thrown when blogspam.net returns an unexpected status. | ||||||
|  |                 // TRANS: %1$s is the base URL, %2$s is the response (unknown contents; no period). | ||||||
|  |                 throw new ServerException(sprintf(_m('Unexpected response from %1$s: %2$s'), $this->baseUrl, $response), 500); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         return true; |         return true; | ||||||
| @@ -149,6 +155,7 @@ class BlogspamNetPlugin extends Plugin | |||||||
|                             'author' => 'Evan Prodromou, Brion Vibber', |                             'author' => 'Evan Prodromou, Brion Vibber', | ||||||
|                             'homepage' => 'http://status.net/wiki/Plugin:BlogspamNet', |                             'homepage' => 'http://status.net/wiki/Plugin:BlogspamNet', | ||||||
|                             'rawdescription' => |                             'rawdescription' => | ||||||
|  |                             // TRANS: Plugin description. | ||||||
|                             _m('Plugin to check submitted notices with blogspam.net.')); |                             _m('Plugin to check submitted notices with blogspam.net.')); | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -42,7 +42,6 @@ if (!defined('STATUSNET')) { | |||||||
|  * |  * | ||||||
|  * @see      DB_DataObject |  * @see      DB_DataObject | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class Bookmark extends Memcached_DataObject | class Bookmark extends Memcached_DataObject | ||||||
| { | { | ||||||
|     public $__table = 'bookmark'; // table name |     public $__table = 'bookmark'; // table name | ||||||
| @@ -65,7 +64,6 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * @return User_greeting_count object found, or null for no hits |      * @return User_greeting_count object found, or null for no hits | ||||||
|      * |      * | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function staticGet($k, $v=null) |     function staticGet($k, $v=null) | ||||||
|     { |     { | ||||||
|         return Memcached_DataObject::staticGet('Bookmark', $k, $v); |         return Memcached_DataObject::staticGet('Bookmark', $k, $v); | ||||||
| @@ -83,7 +81,6 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * @return Bookmark object found, or null for no hits |      * @return Bookmark object found, or null for no hits | ||||||
|      * |      * | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function pkeyGet($kv) |     function pkeyGet($kv) | ||||||
|     { |     { | ||||||
|         return Memcached_DataObject::pkeyGet('Bookmark', $kv); |         return Memcached_DataObject::pkeyGet('Bookmark', $kv); | ||||||
| @@ -97,7 +94,6 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * |      * | ||||||
|      * @return array array of column definitions |      * @return array array of column definitions | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function table() |     function table() | ||||||
|     { |     { | ||||||
|         return array('id' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL, |         return array('id' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL, | ||||||
| @@ -115,7 +111,6 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * |      * | ||||||
|      * @return array list of key field names |      * @return array list of key field names | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function keys() |     function keys() | ||||||
|     { |     { | ||||||
|         return array_keys($this->keyTypes()); |         return array_keys($this->keyTypes()); | ||||||
| @@ -126,7 +121,6 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * |      * | ||||||
|      * @return array associative array of key definitions |      * @return array associative array of key definitions | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function keyTypes() |     function keyTypes() | ||||||
|     { |     { | ||||||
|         return array('id' => 'K', |         return array('id' => 'K', | ||||||
| @@ -138,7 +132,6 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * |      * | ||||||
|      * @return array magic three-false array that stops auto-incrementing. |      * @return array magic three-false array that stops auto-incrementing. | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function sequenceKey() |     function sequenceKey() | ||||||
|     { |     { | ||||||
|         return array(false, false, false); |         return array(false, false, false); | ||||||
| @@ -151,7 +144,6 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * |      * | ||||||
|      * @return Bookmark found bookmark or null |      * @return Bookmark found bookmark or null | ||||||
|      */ |      */ | ||||||
|      |  | ||||||
|     function getByNotice($notice) |     function getByNotice($notice) | ||||||
|     { |     { | ||||||
|         return self::staticGet('uri', $notice->uri); |         return self::staticGet('uri', $notice->uri); | ||||||
| @@ -165,7 +157,6 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * |      * | ||||||
|      * @return Bookmark bookmark found or null |      * @return Bookmark bookmark found or null | ||||||
|      */ |      */ | ||||||
|       |  | ||||||
|     static function getByURL($profile, $url) |     static function getByURL($profile, $url) | ||||||
|     { |     { | ||||||
|         $nb = new Bookmark(); |         $nb = new Bookmark(); | ||||||
| @@ -192,13 +183,13 @@ class Bookmark extends Memcached_DataObject | |||||||
|      * |      * | ||||||
|      * @return Notice saved notice |      * @return Notice saved notice | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     static function saveNew($profile, $title, $url, $rawtags, $description, |     static function saveNew($profile, $title, $url, $rawtags, $description, | ||||||
|                             $options=null) |                             $options=null) | ||||||
|     { |     { | ||||||
|         $nb = self::getByURL($profile, $url); |         $nb = self::getByURL($profile, $url); | ||||||
|  |  | ||||||
|         if (!empty($nb)) { |         if (!empty($nb)) { | ||||||
|  |             // TRANS: Client exception thrown when trying to save a new bookmark that already exists. | ||||||
|             throw new ClientException(_m('Bookmark already exists.')); |             throw new ClientException(_m('Bookmark already exists.')); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -209,6 +200,7 @@ class Bookmark extends Memcached_DataObject | |||||||
|         if (array_key_exists('uri', $options)) { |         if (array_key_exists('uri', $options)) { | ||||||
|             $other = Bookmark::staticGet('uri', $options['uri']); |             $other = Bookmark::staticGet('uri', $options['uri']); | ||||||
|             if (!empty($other)) { |             if (!empty($other)) { | ||||||
|  |                 // TRANS: Client exception thrown when trying to save a new bookmark that already exists. | ||||||
|                 throw new ClientException(_m('Bookmark already exists.')); |                 throw new ClientException(_m('Bookmark already exists.')); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @@ -288,8 +280,8 @@ class Bookmark extends Memcached_DataObject | |||||||
|             $shortUrl = $url; |             $shortUrl = $url; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // @todo FIXME: i18n documentation. |         // TRANS: Bookmark content. | ||||||
|         // TRANS: %1$s is a title, %2$s is a short URL, %3$s is a description, |         // TRANS: %1$s is a title, %2$s is a short URL, %3$s is the bookmark description, | ||||||
| 	// TRANS: %4$s is space separated list of hash tags. | 	// TRANS: %4$s is space separated list of hash tags. | ||||||
|         $content = sprintf(_m('"%1$s" %2$s %3$s %4$s'), |         $content = sprintf(_m('"%1$s" %2$s %3$s %4$s'), | ||||||
|                            $title, |                            $title, | ||||||
| @@ -297,6 +289,9 @@ class Bookmark extends Memcached_DataObject | |||||||
|                            $description, |                            $description, | ||||||
|                            implode(' ', $hashtags)); |                            implode(' ', $hashtags)); | ||||||
|  |  | ||||||
|  |         // TRANS: Rendered bookmark content. | ||||||
|  |         // TRANS: %1$s is a URL, %2$s the bookmark title, %3$s is the bookmark description, | ||||||
|  | 	// TRANS: %4$s is space separated list of hash tags. | ||||||
|         $rendered = sprintf(_m('<span class="xfolkentry">'. |         $rendered = sprintf(_m('<span class="xfolkentry">'. | ||||||
|                               '<a class="taggedlink" href="%1$s">%2$s</a> '. |                               '<a class="taggedlink" href="%1$s">%2$s</a> '. | ||||||
|                               '<span class="description">%3$s</span> '. |                               '<span class="description">%3$s</span> '. | ||||||
|   | |||||||
| @@ -43,7 +43,6 @@ if (!defined('STATUSNET')) { | |||||||
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 | ||||||
|  * @link      http://status.net/ |  * @link      http://status.net/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class BookmarkPlugin extends MicroAppPlugin | class BookmarkPlugin extends MicroAppPlugin | ||||||
| { | { | ||||||
|     const VERSION         = '0.1'; |     const VERSION         = '0.1'; | ||||||
| @@ -60,7 +59,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value |      * @return boolean hook value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onUserRightsCheck($profile, $right, &$result) |     function onUserRightsCheck($profile, $right, &$result) | ||||||
|     { |     { | ||||||
|         if ($right == self::IMPORTDELICIOUS) { |         if ($right == self::IMPORTDELICIOUS) { | ||||||
| @@ -78,7 +76,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value; true means continue processing, false means stop. |      * @return boolean hook value; true means continue processing, false means stop. | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onCheckSchema() |     function onCheckSchema() | ||||||
|     { |     { | ||||||
|         $schema = Schema::get(); |         $schema = Schema::get(); | ||||||
| @@ -127,7 +124,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value |      * @return boolean hook value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onEndShowStyles($action) |     function onEndShowStyles($action) | ||||||
|     { |     { | ||||||
|         $action->cssLink($this->path('bookmark.css')); |         $action->cssLink($this->path('bookmark.css')); | ||||||
| @@ -141,7 +137,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value; true means continue processing, false means stop. |      * @return boolean hook value; true means continue processing, false means stop. | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onAutoload($cls) |     function onAutoload($cls) | ||||||
|     { |     { | ||||||
|         $dir = dirname(__FILE__); |         $dir = dirname(__FILE__); | ||||||
| @@ -175,7 +170,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value; true means continue processing, false means stop. |      * @return boolean hook value; true means continue processing, false means stop. | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onRouterInitialized($m) |     function onRouterInitialized($m) | ||||||
|     { |     { | ||||||
|         $m->connect('main/bookmark/new', |         $m->connect('main/bookmark/new', | ||||||
| @@ -207,7 +201,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value |      * @return boolean hook value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onEndInitializeQueueManager($qm) |     function onEndInitializeQueueManager($qm) | ||||||
|     { |     { | ||||||
|         $qm->connect('dlcsback', 'DeliciousBackupImporter'); |         $qm->connect('dlcsback', 'DeliciousBackupImporter'); | ||||||
| @@ -222,7 +215,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return value |      * @return value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onPluginVersion(&$versions) |     function onPluginVersion(&$versions) | ||||||
|     { |     { | ||||||
|         $versions[] = array('name' => 'Sample', |         $versions[] = array('name' => 'Sample', | ||||||
| @@ -230,6 +222,7 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|                             'author' => 'Evan Prodromou', |                             'author' => 'Evan Prodromou', | ||||||
|                             'homepage' => 'http://status.net/wiki/Plugin:Bookmark', |                             'homepage' => 'http://status.net/wiki/Plugin:Bookmark', | ||||||
|                             'rawdescription' => |                             'rawdescription' => | ||||||
|  |                             // TRANS: Plugin description. | ||||||
|                             _m('Simple extension for supporting bookmarks.')); |                             _m('Simple extension for supporting bookmarks.')); | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
| @@ -242,7 +235,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value |      * @return boolean hook value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onStartLoadDoc(&$title, &$output) |     function onStartLoadDoc(&$title, &$output) | ||||||
|     { |     { | ||||||
|         if ($title == 'bookmarklet') { |         if ($title == 'bookmarklet') { | ||||||
| @@ -256,8 +248,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Show a link to our delicious import page on profile settings form |      * Show a link to our delicious import page on profile settings form | ||||||
|      * |      * | ||||||
| @@ -265,7 +255,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value |      * @return boolean hook value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function onEndProfileSettingsActions($action) |     function onEndProfileSettingsActions($action) | ||||||
|     { |     { | ||||||
|         $user = common_current_user(); |         $user = common_current_user(); | ||||||
| @@ -274,6 +263,7 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|             $action->elementStart('li'); |             $action->elementStart('li'); | ||||||
|             $action->element('a', |             $action->element('a', | ||||||
|                              array('href' => common_local_url('importdelicious')), |                              array('href' => common_local_url('importdelicious')), | ||||||
|  |                              // TRANS: Link text in proile leading to import form. | ||||||
|                              _m('Import del.icio.us bookmarks')); |                              _m('Import del.icio.us bookmarks')); | ||||||
|             $action->elementEnd('li'); |             $action->elementEnd('li'); | ||||||
|         } |         } | ||||||
| @@ -314,7 +304,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return Notice resulting notice. |      * @return Notice resulting notice. | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     static private function _postRemoteBookmark(Ostatus_profile $author, |     static private function _postRemoteBookmark(Ostatus_profile $author, | ||||||
|                                                 Activity $activity) |                                                 Activity $activity) | ||||||
|     { |     { | ||||||
| @@ -335,7 +324,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return true if it's a Post of a Bookmark, else false |      * @return true if it's a Post of a Bookmark, else false | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     static private function _isPostBookmark($activity) |     static private function _isPostBookmark($activity) | ||||||
|     { |     { | ||||||
|         return ($activity->verb == ActivityVerb::POST && |         return ($activity->verb == ActivityVerb::POST && | ||||||
| @@ -354,7 +342,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return boolean hook value |      * @return boolean hook value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function deleteRelated($notice) |     function deleteRelated($notice) | ||||||
|     { |     { | ||||||
|         $nb = Bookmark::getByNotice($notice); |         $nb = Bookmark::getByNotice($notice); | ||||||
| @@ -375,7 +362,6 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|      * |      * | ||||||
|      * @return Notice resulting notice |      * @return Notice resulting notice | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function saveNoticeFromActivity($activity, $profile, $options=array()) |     function saveNoticeFromActivity($activity, $profile, $options=array()) | ||||||
|     { |     { | ||||||
|         $bookmark = $activity->objects[0]; |         $bookmark = $activity->objects[0]; | ||||||
| @@ -383,6 +369,7 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|         $relLinkEls = ActivityUtils::getLinks($bookmark->element, 'related'); |         $relLinkEls = ActivityUtils::getLinks($bookmark->element, 'related'); | ||||||
|  |  | ||||||
|         if (count($relLinkEls) < 1) { |         if (count($relLinkEls) < 1) { | ||||||
|  |             // TRANS: Client exception thrown when a bookmark is formatted incorrectly. | ||||||
|             throw new ClientException(_m('Expected exactly 1 link '. |             throw new ClientException(_m('Expected exactly 1 link '. | ||||||
|                                         'rel=related in a Bookmark.')); |                                         'rel=related in a Bookmark.')); | ||||||
|         } |         } | ||||||
| @@ -476,6 +463,7 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|         $attachments = $notice->attachments(); |         $attachments = $notice->attachments(); | ||||||
|  |  | ||||||
|         if (count($attachments) != 1) { |         if (count($attachments) != 1) { | ||||||
|  |             // TRANS: Server exception thrown when a bookmark has multiple attachments. | ||||||
|             throw new ServerException(_m('Bookmark notice with the '. |             throw new ServerException(_m('Bookmark notice with the '. | ||||||
|                                         'wrong number of attachments.')); |                                         'wrong number of attachments.')); | ||||||
|         } |         } | ||||||
| @@ -530,7 +518,8 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|  |  | ||||||
|         if (count($atts) < 1) { |         if (count($atts) < 1) { | ||||||
|             // Something wrong; let default code deal with it. |             // Something wrong; let default code deal with it. | ||||||
|             throw new Exception("That can't be right."); |             // TRANS: Exception thrown when a bookmark has no attachments. | ||||||
|  |             throw new Exception(_m('Bookmark has no attachments.')); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $att = $atts[0]; |         $att = $atts[0]; | ||||||
| @@ -644,6 +633,7 @@ class BookmarkPlugin extends MicroAppPlugin | |||||||
|  |  | ||||||
|     function appTitle() |     function appTitle() | ||||||
|     { |     { | ||||||
|         return _m('Bookmark'); |         // TRANS: Application title. | ||||||
|  |         return _m('TITLE','Bookmark'); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { | |||||||
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 | ||||||
|  * @link      http://status.net/ |  * @link      http://status.net/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class BookmarkForm extends Form | class BookmarkForm extends Form | ||||||
| { | { | ||||||
|     private $_title       = null; |     private $_title       = null; | ||||||
| @@ -63,7 +62,6 @@ class BookmarkForm extends Form | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function __construct($out=null, $title=null, $url=null, $tags=null, |     function __construct($out=null, $title=null, $url=null, $tags=null, | ||||||
|                          $description=null) |                          $description=null) | ||||||
|     { |     { | ||||||
| @@ -80,7 +78,6 @@ class BookmarkForm extends Form | |||||||
|      * |      * | ||||||
|      * @return int ID of the form |      * @return int ID of the form | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function id() |     function id() | ||||||
|     { |     { | ||||||
|         return 'form_new_bookmark'; |         return 'form_new_bookmark'; | ||||||
| @@ -91,7 +88,6 @@ class BookmarkForm extends Form | |||||||
|      * |      * | ||||||
|      * @return string class of the form |      * @return string class of the form | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function formClass() |     function formClass() | ||||||
|     { |     { | ||||||
|         return 'form_settings ajax-notice'; |         return 'form_settings ajax-notice'; | ||||||
| @@ -102,7 +98,6 @@ class BookmarkForm extends Form | |||||||
|      * |      * | ||||||
|      * @return string URL of the action |      * @return string URL of the action | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function action() |     function action() | ||||||
|     { |     { | ||||||
|         return common_local_url('newbookmark'); |         return common_local_url('newbookmark'); | ||||||
| @@ -113,7 +108,6 @@ class BookmarkForm extends Form | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function formData() |     function formData() | ||||||
|     { |     { | ||||||
|         $this->out->elementStart('fieldset', array('id' => 'new_bookmark_data')); |         $this->out->elementStart('fieldset', array('id' => 'new_bookmark_data')); | ||||||
| @@ -121,30 +115,38 @@ class BookmarkForm extends Form | |||||||
|  |  | ||||||
|         $this->li(); |         $this->li(); | ||||||
|         $this->out->input('title', |         $this->out->input('title', | ||||||
|  |                           // TRANS: Field label on form for adding a new bookmark. | ||||||
|                           _m('LABEL','Title'), |                           _m('LABEL','Title'), | ||||||
|                           $this->_title, |                           $this->_title, | ||||||
|                           _m('Title of the bookmark')); |                           // TRANS: Field title on form for adding a new bookmark. | ||||||
|  |                           _m('Title of the bookmark.')); | ||||||
|         $this->unli(); |         $this->unli(); | ||||||
|  |  | ||||||
|         $this->li(); |         $this->li(); | ||||||
|         $this->out->input('url', |         $this->out->input('url', | ||||||
|  |                           // TRANS: Field label on form for adding a new bookmark. | ||||||
|                           _m('LABEL','URL'), |                           _m('LABEL','URL'), | ||||||
|                           $this->_url, |                           $this->_url, | ||||||
|                           _m('URL to bookmark')); |                           // TRANS: Field title on form for adding a new bookmark. | ||||||
|  |                           _m('URL to bookmark.')); | ||||||
|         $this->unli(); |         $this->unli(); | ||||||
|  |  | ||||||
|         $this->li(); |         $this->li(); | ||||||
|         $this->out->input('tags', |         $this->out->input('tags', | ||||||
|  |                           // TRANS: Field label on form for adding a new bookmark. | ||||||
|                           _m('LABEL','Tags'), |                           _m('LABEL','Tags'), | ||||||
|                           $this->_tags, |                           $this->_tags, | ||||||
|                           _m('Comma- or space-separated list of tags')); |                           // TRANS: Field title on form for adding a new bookmark. | ||||||
|  |                           _m('Comma- or space-separated list of tags.')); | ||||||
|         $this->unli(); |         $this->unli(); | ||||||
|  |  | ||||||
|         $this->li(); |         $this->li(); | ||||||
|         $this->out->input('description', |         $this->out->input('description', | ||||||
|  |                           // TRANS: Field label on form for adding a new bookmark. | ||||||
|                           _m('LABEL','Description'), |                           _m('LABEL','Description'), | ||||||
|                           $this->_description, |                           $this->_description, | ||||||
|                           _m('Description of the URL')); |                           // TRANS: Field title on form for adding a new bookmark. | ||||||
|  |                           _m('Description of the URL.')); | ||||||
|         $this->unli(); |         $this->unli(); | ||||||
|  |  | ||||||
|         $this->out->elementEnd('ul'); |         $this->out->elementEnd('ul'); | ||||||
| @@ -165,6 +167,7 @@ class BookmarkForm extends Form | |||||||
|  |  | ||||||
|     function formActions() |     function formActions() | ||||||
|     { |     { | ||||||
|  |         // TRANS: Button text for action to save a new bookmark. | ||||||
|         $this->out->submit('submit', _m('BUTTON', 'Save')); |         $this->out->submit('submit', _m('BUTTON', 'Save')); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -49,12 +49,11 @@ class BookmarkpopupAction extends NewbookmarkAction | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function showTitle() |     function showTitle() | ||||||
|     { |     { | ||||||
|  |         $this->element('title', | ||||||
|                        // TRANS: Title for mini-posting window loaded from bookmarklet. |                        // TRANS: Title for mini-posting window loaded from bookmarklet. | ||||||
|                        // TRANS: %s is the StatusNet site name. |                        // TRANS: %s is the StatusNet site name. | ||||||
|         $this->element('title',  |  | ||||||
|                        null, sprintf(_m('Bookmark on %s'), |                        null, sprintf(_m('Bookmark on %s'), | ||||||
|                                      common_config('site', 'name'))); |                                      common_config('site', 'name'))); | ||||||
|     } |     } | ||||||
| @@ -66,7 +65,6 @@ class BookmarkpopupAction extends NewbookmarkAction | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function showHeader() |     function showHeader() | ||||||
|     { |     { | ||||||
|         $this->elementStart('div', array('id' => 'header')); |         $this->elementStart('div', array('id' => 'header')); | ||||||
| @@ -89,7 +87,6 @@ class BookmarkpopupAction extends NewbookmarkAction | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function showCore() |     function showCore() | ||||||
|     { |     { | ||||||
|     } |     } | ||||||
| @@ -99,7 +96,6 @@ class BookmarkpopupAction extends NewbookmarkAction | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function showFooter() |     function showFooter() | ||||||
|     { |     { | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { | |||||||
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 | ||||||
|  * @link      http://status.net/ |  * @link      http://status.net/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class DeliciousBackupImporter extends QueueHandler | class DeliciousBackupImporter extends QueueHandler | ||||||
| { | { | ||||||
|     /** |     /** | ||||||
| @@ -52,7 +51,6 @@ class DeliciousBackupImporter extends QueueHandler | |||||||
|      * |      * | ||||||
|      * @return string transport string |      * @return string transport string | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function transport() |     function transport() | ||||||
|     { |     { | ||||||
|         return 'dlcsback'; |         return 'dlcsback'; | ||||||
| @@ -72,7 +70,6 @@ class DeliciousBackupImporter extends QueueHandler | |||||||
|      * |      * | ||||||
|      * @return boolean success value |      * @return boolean success value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function handle($data) |     function handle($data) | ||||||
|     { |     { | ||||||
|         list($user, $body) = $data; |         list($user, $body) = $data; | ||||||
| @@ -82,7 +79,8 @@ class DeliciousBackupImporter extends QueueHandler | |||||||
|         $dls = $doc->getElementsByTagName('dl'); |         $dls = $doc->getElementsByTagName('dl'); | ||||||
|  |  | ||||||
|         if ($dls->length != 1) { |         if ($dls->length != 1) { | ||||||
|             throw new ClientException(_m("Bad import file.")); |             // TRANS: Client exception thrown when a file upload is incorrect. | ||||||
|  |             throw new ClientException(_m('Bad import file.')); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $dl = $dls->item(0); |         $dl = $dls->item(0); | ||||||
| @@ -159,12 +157,12 @@ class DeliciousBackupImporter extends QueueHandler | |||||||
|      * |      * | ||||||
|      * @return Notice imported notice |      * @return Notice imported notice | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function importBookmark($user, $dt, $dd = null) |     function importBookmark($user, $dt, $dd = null) | ||||||
|     { |     { | ||||||
|         $as = $dt->getElementsByTagName('a'); |         $as = $dt->getElementsByTagName('a'); | ||||||
|  |  | ||||||
|         if ($as->length == 0) { |         if ($as->length == 0) { | ||||||
|  |             // TRANS: Client exception thrown when a bookmark in an import file is incorrectly formatted. | ||||||
|             throw new ClientException(_m("No <A> tag in a <DT>.")); |             throw new ClientException(_m("No <A> tag in a <DT>.")); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -173,6 +171,7 @@ class DeliciousBackupImporter extends QueueHandler | |||||||
|         $private = $a->getAttribute('private'); |         $private = $a->getAttribute('private'); | ||||||
|  |  | ||||||
|         if ($private != 0) { |         if ($private != 0) { | ||||||
|  |             // TRANS: Client exception thrown when a bookmark in an import file is private. | ||||||
|             throw new ClientException(_m('Skipping private bookmark.')); |             throw new ClientException(_m('Skipping private bookmark.')); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -306,5 +305,4 @@ class DeliciousBackupImporter extends QueueHandler | |||||||
|             $this->fixListItem($node); |             $this->fixListItem($node); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { | |||||||
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 | ||||||
|  * @link      http://status.net/ |  * @link      http://status.net/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class DeliciousBookmarkImporter extends QueueHandler | class DeliciousBookmarkImporter extends QueueHandler | ||||||
| { | { | ||||||
|     /** |     /** | ||||||
| @@ -52,7 +51,6 @@ class DeliciousBookmarkImporter extends QueueHandler | |||||||
|      * |      * | ||||||
|      * @return string 'dlcsbkmk' |      * @return string 'dlcsbkmk' | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function transport() |     function transport() | ||||||
|     { |     { | ||||||
|         return 'dlcsbkmk'; |         return 'dlcsbkmk'; | ||||||
| @@ -65,7 +63,6 @@ class DeliciousBookmarkImporter extends QueueHandler | |||||||
|      * |      * | ||||||
|      * @return boolean success value |      * @return boolean success value | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function handle($data) |     function handle($data) | ||||||
|     { |     { | ||||||
|         $profile = Profile::staticGet('id', $data['profile_id']); |         $profile = Profile::staticGet('id', $data['profile_id']); | ||||||
|   | |||||||
| @@ -63,19 +63,25 @@ function getBookmarksFile() | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (!file_exists($filename)) { |     if (!file_exists($filename)) { | ||||||
|         throw new Exception("No such file '$filename'."); |         // TRANS: Exception thrown when a file upload cannot be found. | ||||||
|  |         // TRANS: %s is the file that could not be found. | ||||||
|  |         throw new Exception(sprintf(_m('No such file "%s".'),$filename)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (!is_file($filename)) { |     if (!is_file($filename)) { | ||||||
|         throw new Exception("Not a regular file: '$filename'."); |         // TRANS: Exception thrown when a file upload is incorrect. | ||||||
|  |         // TRANS: %s is the irregular file. | ||||||
|  |         throw new Exception(sprintf(_m('Not a regular file: "%s".'),$filename)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (!is_readable($filename)) { |     if (!is_readable($filename)) { | ||||||
|         throw new Exception("File '$filename' not readable."); |         // TRANS: Exception thrown when a file upload is not readable. | ||||||
|  |         // TRANS: %s is the file that could not be read. | ||||||
|  |         throw new Exception(sprintf(_m('File "%s" not readable.'),$filename)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // TRANS: %s is the filename that contains a backup for a user. |     // TRANS: %s is the filename that contains a backup for a user. | ||||||
|     printfv(_m("Getting backup from file \"%s\".")."\n", $filename); |     printfv(_m('Getting backup from file "%s".')."\n", $filename); | ||||||
|  |  | ||||||
|     $html = file_get_contents($filename); |     $html = file_get_contents($filename); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { | |||||||
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 | ||||||
|  * @link      http://status.net/ |  * @link      http://status.net/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class ImportdeliciousAction extends Action | class ImportdeliciousAction extends Action | ||||||
| { | { | ||||||
|     protected $success = false; |     protected $success = false; | ||||||
| @@ -55,9 +54,9 @@ class ImportdeliciousAction extends Action | |||||||
|      * |      * | ||||||
|      * @return string page title |      * @return string page title | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function title() |     function title() | ||||||
|     { |     { | ||||||
|  |         // TRANS: Title for page to import del.icio.us bookmark backups on. | ||||||
|         return _m("Import del.icio.us bookmarks"); |         return _m("Import del.icio.us bookmarks"); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -68,7 +67,6 @@ class ImportdeliciousAction extends Action | |||||||
|      * |      * | ||||||
|      * @return boolean true |      * @return boolean true | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function prepare($argarray) |     function prepare($argarray) | ||||||
|     { |     { | ||||||
|         parent::prepare($argarray); |         parent::prepare($argarray); | ||||||
| @@ -76,12 +74,14 @@ class ImportdeliciousAction extends Action | |||||||
|         $cur = common_current_user(); |         $cur = common_current_user(); | ||||||
|  |  | ||||||
|         if (empty($cur)) { |         if (empty($cur)) { | ||||||
|  |             // TRANS: Client exception thrown when trying to import bookmarks without being logged in. | ||||||
|             throw new ClientException(_m('Only logged-in users can '. |             throw new ClientException(_m('Only logged-in users can '. | ||||||
|                                         'import del.icio.us backups.'), |                                         'import del.icio.us backups.'), | ||||||
|                                       403); |                                       403); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!$cur->hasRight(BookmarkPlugin::IMPORTDELICIOUS)) { |         if (!$cur->hasRight(BookmarkPlugin::IMPORTDELICIOUS)) { | ||||||
|  |             // TRANS: Client exception thrown when trying to import bookmarks without having the rights to do so. | ||||||
|             throw new ClientException(_m('You may not restore your account.'), 403); |             throw new ClientException(_m('You may not restore your account.'), 403); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -95,7 +95,6 @@ class ImportdeliciousAction extends Action | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function handle($argarray=null) |     function handle($argarray=null) | ||||||
|     { |     { | ||||||
|         parent::handle($argarray); |         parent::handle($argarray); | ||||||
| @@ -115,12 +114,12 @@ class ImportdeliciousAction extends Action | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function importDelicious() |     function importDelicious() | ||||||
|     { |     { | ||||||
|         $this->checkSessionToken(); |         $this->checkSessionToken(); | ||||||
|  |  | ||||||
|         if (!isset($_FILES[ImportDeliciousForm::FILEINPUT]['error'])) { |         if (!isset($_FILES[ImportDeliciousForm::FILEINPUT]['error'])) { | ||||||
|  |             // TRANS: Client exception thrown when trying to import bookmarks and upload fails. | ||||||
|             throw new ClientException(_m('No uploaded file.')); |             throw new ClientException(_m('No uploaded file.')); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -134,36 +133,37 @@ class ImportdeliciousAction extends Action | |||||||
|             return; |             return; | ||||||
|         case UPLOAD_ERR_FORM_SIZE: |         case UPLOAD_ERR_FORM_SIZE: | ||||||
|             throw new ClientException( |             throw new ClientException( | ||||||
|                 // TRANS: Client exception. |             // TRANS: Client exception thrown when an uploaded file is too large. | ||||||
|                 _m('The uploaded file exceeds the MAX_FILE_SIZE directive' . |                 _m('The uploaded file exceeds the MAX_FILE_SIZE directive' . | ||||||
|                 ' that was specified in the HTML form.')); |                 ' that was specified in the HTML form.')); | ||||||
|             return; |             return; | ||||||
|         case UPLOAD_ERR_PARTIAL: |         case UPLOAD_ERR_PARTIAL: | ||||||
|             @unlink($_FILES[ImportDeliciousForm::FILEINPUT]['tmp_name']); |             @unlink($_FILES[ImportDeliciousForm::FILEINPUT]['tmp_name']); | ||||||
|             // TRANS: Client exception. |             // TRANS: Client exception thrown when a file was only partially uploaded. | ||||||
|             throw new ClientException(_m('The uploaded file was only' . |             throw new ClientException(_m('The uploaded file was only' . | ||||||
|                 ' partially uploaded.')); |                 ' partially uploaded.')); | ||||||
|             return; |             return; | ||||||
|         case UPLOAD_ERR_NO_FILE: |         case UPLOAD_ERR_NO_FILE: | ||||||
|             // No file; probably just a non-AJAX submission. |             // No file; probably just a non-AJAX submission. | ||||||
|  |             // TRANS: Client exception thrown when a file upload has failed. | ||||||
|             throw new ClientException(_m('No uploaded file.')); |             throw new ClientException(_m('No uploaded file.')); | ||||||
|             return; |             return; | ||||||
|         case UPLOAD_ERR_NO_TMP_DIR: |         case UPLOAD_ERR_NO_TMP_DIR: | ||||||
|             // TRANS: Client exception thrown when a temporary folder is not present |             // TRANS: Client exception thrown when a temporary folder is not present. | ||||||
|             throw new ClientException(_m('Missing a temporary folder.')); |             throw new ClientException(_m('Missing a temporary folder.')); | ||||||
|             return; |             return; | ||||||
|         case UPLOAD_ERR_CANT_WRITE: |         case UPLOAD_ERR_CANT_WRITE: | ||||||
|             // TRANS: Client exception thrown when writing to disk is not possible |             // TRANS: Client exception thrown when writing to disk is not possible. | ||||||
|             throw new ClientException(_m('Failed to write file to disk.')); |             throw new ClientException(_m('Failed to write file to disk.')); | ||||||
|             return; |             return; | ||||||
|         case UPLOAD_ERR_EXTENSION: |         case UPLOAD_ERR_EXTENSION: | ||||||
|             // TRANS: Client exception thrown when a file upload has been stopped |             // TRANS: Client exception thrown when a file upload has been stopped. | ||||||
|             throw new ClientException(_m('File upload stopped by extension.')); |             throw new ClientException(_m('File upload stopped by extension.')); | ||||||
|             return; |             return; | ||||||
|         default: |         default: | ||||||
|             common_log(LOG_ERR, __METHOD__ . ": Unknown upload error " . |             common_log(LOG_ERR, __METHOD__ . ": Unknown upload error " . | ||||||
|                 $_FILES[ImportDeliciousForm::FILEINPUT]['error']); |                 $_FILES[ImportDeliciousForm::FILEINPUT]['error']); | ||||||
|             // TRANS: Client exception thrown when a file upload operation has failed |             // TRANS: Client exception thrown when a file upload operation has failed. | ||||||
|             throw new ClientException(_m('System error uploading file.')); |             throw new ClientException(_m('System error uploading file.')); | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| @@ -172,18 +172,24 @@ class ImportdeliciousAction extends Action | |||||||
|  |  | ||||||
|         try { |         try { | ||||||
|             if (!file_exists($filename)) { |             if (!file_exists($filename)) { | ||||||
|                 throw new ServerException("No such file '$filename'."); |                 // TRANS: Server exception thrown when a file upload cannot be found. | ||||||
|  |                 // TRANS: %s is the file that could not be found. | ||||||
|  |                 throw new ServerException(sprintf(_m('No such file "%s".'),$filename)); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (!is_file($filename)) { |             if (!is_file($filename)) { | ||||||
|                 throw new ServerException("Not a regular file: '$filename'."); |                 // TRANS: Server exception thrown when a file upload is incorrect. | ||||||
|  |                 // TRANS: %s is the irregular file. | ||||||
|  |                 throw new ServerException(sprintf(_m('Not a regular file: "%s".'),$filename)); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (!is_readable($filename)) { |             if (!is_readable($filename)) { | ||||||
|                 throw new ServerException("File '$filename' not readable."); |                 // TRANS: Server exception thrown when a file upload is not readable. | ||||||
|  |                 // TRANS: %s is the file that could not be read. | ||||||
|  |                 throw new ServerException(sprintf(_m('File "%s" not readable.'),$filename)); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             common_debug(sprintf(_m("Getting backup from file '%s'."), $filename)); |             common_debug(sprintf("Getting backup from file '%s'.", $filename)); | ||||||
|  |  | ||||||
|             $html = file_get_contents($filename); |             $html = file_get_contents($filename); | ||||||
|  |  | ||||||
| @@ -214,14 +220,15 @@ class ImportdeliciousAction extends Action | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function showContent() |     function showContent() | ||||||
|     { |     { | ||||||
|         if ($this->success) { |         if ($this->success) { | ||||||
|             $this->element('p', null, |             $this->element('p', null, | ||||||
|  |                            // TRANS: Success message after importing bookmarks. | ||||||
|                            _m('Bookmarks have been imported. Your bookmarks should now appear in search and your profile page.')); |                            _m('Bookmarks have been imported. Your bookmarks should now appear in search and your profile page.')); | ||||||
|         } else if ($this->inprogress) { |         } else if ($this->inprogress) { | ||||||
|             $this->element('p', null, |             $this->element('p', null, | ||||||
|  |                            // TRANS: Busy message for importing bookmarks. | ||||||
|                            _m('Bookmarks are being imported. Please wait a few minutes for results.')); |                            _m('Bookmarks are being imported. Please wait a few minutes for results.')); | ||||||
|         } else { |         } else { | ||||||
|             $form = new ImportDeliciousForm($this); |             $form = new ImportDeliciousForm($this); | ||||||
| @@ -238,7 +245,6 @@ class ImportdeliciousAction extends Action | |||||||
|      * |      * | ||||||
|      * @return boolean is read only action? |      * @return boolean is read only action? | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function isReadOnly($args) |     function isReadOnly($args) | ||||||
|     { |     { | ||||||
|         return !$this->isPost(); |         return !$this->isPost(); | ||||||
| @@ -255,7 +261,6 @@ class ImportdeliciousAction extends Action | |||||||
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 | ||||||
|  * @link      http://status.net/ |  * @link      http://status.net/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class ImportDeliciousForm extends Form | class ImportDeliciousForm extends Form | ||||||
| { | { | ||||||
|     const FILEINPUT = 'deliciousbackupfile'; |     const FILEINPUT = 'deliciousbackupfile'; | ||||||
| @@ -269,7 +274,6 @@ class ImportDeliciousForm extends Form | |||||||
|      * |      * | ||||||
|      * @return ImportDeliciousForm this |      * @return ImportDeliciousForm this | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function __construct($out=null) |     function __construct($out=null) | ||||||
|     { |     { | ||||||
|         parent::__construct($out); |         parent::__construct($out); | ||||||
| @@ -281,7 +285,6 @@ class ImportDeliciousForm extends Form | |||||||
|      * |      * | ||||||
|      * @return string the form's class |      * @return string the form's class | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function formClass() |     function formClass() | ||||||
|     { |     { | ||||||
|         return 'form_import_delicious'; |         return 'form_import_delicious'; | ||||||
| @@ -292,7 +295,6 @@ class ImportDeliciousForm extends Form | |||||||
|      * |      * | ||||||
|      * @return string the form's action URL |      * @return string the form's action URL | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function action() |     function action() | ||||||
|     { |     { | ||||||
|         return common_local_url('importdelicious'); |         return common_local_url('importdelicious'); | ||||||
| @@ -305,11 +307,11 @@ class ImportDeliciousForm extends Form | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function formData() |     function formData() | ||||||
|     { |     { | ||||||
|         $this->out->elementStart('p', 'instructions'); |         $this->out->elementStart('p', 'instructions'); | ||||||
|  |  | ||||||
|  |         // TRANS: Form instructions for importing bookmarks. | ||||||
|         $this->out->raw(_m('You can upload a backed-up '. |         $this->out->raw(_m('You can upload a backed-up '. | ||||||
|                           'delicious.com bookmarks file.')); |                           'delicious.com bookmarks file.')); | ||||||
|  |  | ||||||
| @@ -337,9 +339,11 @@ class ImportDeliciousForm extends Form | |||||||
|     function formActions() |     function formActions() | ||||||
|     { |     { | ||||||
|         $this->out->submit('submit', |         $this->out->submit('submit', | ||||||
|  |                            // TRANS: Button text on form to import bookmarks. | ||||||
|                            _m('BUTTON', 'Upload'), |                            _m('BUTTON', 'Upload'), | ||||||
|                            'submit', |                            'submit', | ||||||
|                            null, |                            null, | ||||||
|                            _m('Upload the file')); |                            // TRANS: Button title on form to import bookmarks. | ||||||
|  |                            _m('Upload the file.')); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -43,7 +43,6 @@ if (!defined('STATUSNET')) { | |||||||
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 | ||||||
|  * @link      http://status.net/ |  * @link      http://status.net/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class NewbookmarkAction extends Action | class NewbookmarkAction extends Action | ||||||
| { | { | ||||||
|     protected $user        = null; |     protected $user        = null; | ||||||
| @@ -59,9 +58,9 @@ class NewbookmarkAction extends Action | |||||||
|      * |      * | ||||||
|      * @return string Action title |      * @return string Action title | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function title() |     function title() | ||||||
|     { |     { | ||||||
|  |         // TRANS: Title for action to create a new bookmark. | ||||||
|         return _m('New bookmark'); |         return _m('New bookmark'); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -72,7 +71,6 @@ class NewbookmarkAction extends Action | |||||||
|      * |      * | ||||||
|      * @return boolean true |      * @return boolean true | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function prepare($argarray) |     function prepare($argarray) | ||||||
|     { |     { | ||||||
|         parent::prepare($argarray); |         parent::prepare($argarray); | ||||||
| @@ -80,7 +78,8 @@ class NewbookmarkAction extends Action | |||||||
|         $this->user = common_current_user(); |         $this->user = common_current_user(); | ||||||
|  |  | ||||||
|         if (empty($this->user)) { |         if (empty($this->user)) { | ||||||
|             throw new ClientException(_m("Must be logged in to post a bookmark."), |             // TRANS: Client exception thrown when trying to create a new bookmark while not logged in. | ||||||
|  |             throw new ClientException(_m('Must be logged in to post a bookmark.'), | ||||||
|                                       403); |                                       403); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -103,7 +102,6 @@ class NewbookmarkAction extends Action | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function handle($argarray=null) |     function handle($argarray=null) | ||||||
|     { |     { | ||||||
|         parent::handle($argarray); |         parent::handle($argarray); | ||||||
| @@ -122,7 +120,6 @@ class NewbookmarkAction extends Action | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function newBookmark() |     function newBookmark() | ||||||
|     { |     { | ||||||
|         if ($this->boolean('ajax')) { |         if ($this->boolean('ajax')) { | ||||||
| @@ -130,10 +127,12 @@ class NewbookmarkAction extends Action | |||||||
|         } |         } | ||||||
|         try { |         try { | ||||||
|             if (empty($this->title)) { |             if (empty($this->title)) { | ||||||
|  |                 // TRANS: Client exception thrown when trying to create a new bookmark without a title. | ||||||
|                 throw new ClientException(_m('Bookmark must have a title.')); |                 throw new ClientException(_m('Bookmark must have a title.')); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (empty($this->url)) { |             if (empty($this->url)) { | ||||||
|  |                 // TRANS: Client exception thrown when trying to create a new bookmark without a URL. | ||||||
|                 throw new ClientException(_m('Bookmark must have an URL.')); |                 throw new ClientException(_m('Bookmark must have an URL.')); | ||||||
|             } |             } | ||||||
|  |  | ||||||
| @@ -159,8 +158,8 @@ class NewbookmarkAction extends Action | |||||||
|             $this->xw->startDocument('1.0', 'UTF-8'); |             $this->xw->startDocument('1.0', 'UTF-8'); | ||||||
|             $this->elementStart('html'); |             $this->elementStart('html'); | ||||||
|             $this->elementStart('head'); |             $this->elementStart('head'); | ||||||
|             // TRANS: Page title after sending a notice. |             // TRANS: Page title after posting a bookmark. | ||||||
|             $this->element('title', null, _m('Notice posted')); |             $this->element('title', null, _m('Bookmark posted')); | ||||||
|             $this->elementEnd('head'); |             $this->elementEnd('head'); | ||||||
|             $this->elementStart('body'); |             $this->elementStart('body'); | ||||||
|             $this->showNotice($saved); |             $this->showNotice($saved); | ||||||
| @@ -192,7 +191,6 @@ class NewbookmarkAction extends Action | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function showContent() |     function showContent() | ||||||
|     { |     { | ||||||
|         if (!empty($this->error)) { |         if (!empty($this->error)) { | ||||||
| @@ -219,7 +217,6 @@ class NewbookmarkAction extends Action | |||||||
|      * |      * | ||||||
|      * @return boolean is read only action? |      * @return boolean is read only action? | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function isReadOnly($args) |     function isReadOnly($args) | ||||||
|     { |     { | ||||||
|         if ($_SERVER['REQUEST_METHOD'] == 'GET' || |         if ($_SERVER['REQUEST_METHOD'] == 'GET' || | ||||||
| @@ -230,4 +227,3 @@ class NewbookmarkAction extends Action | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   |  | ||||||
| @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { | |||||||
|  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 | ||||||
|  * @link      http://status.net/ |  * @link      http://status.net/ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| class NoticebyurlAction extends Action | class NoticebyurlAction extends Action | ||||||
| { | { | ||||||
|     protected $url     = null; |     protected $url     = null; | ||||||
| @@ -59,7 +58,6 @@ class NoticebyurlAction extends Action | |||||||
|      * |      * | ||||||
|      * @return boolean true |      * @return boolean true | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function prepare($argarray) |     function prepare($argarray) | ||||||
|     { |     { | ||||||
|         parent::prepare($argarray); |         parent::prepare($argarray); | ||||||
| @@ -67,7 +65,8 @@ class NoticebyurlAction extends Action | |||||||
|         $this->file = File::staticGet('id', $this->trimmed('id')); |         $this->file = File::staticGet('id', $this->trimmed('id')); | ||||||
|  |  | ||||||
|         if (empty($this->file)) { |         if (empty($this->file)) { | ||||||
|             throw new ClientException(_m('Unknown URL')); |             // TRANS: Client exception thrown when an unknown URL is provided. | ||||||
|  |             throw new ClientException(_m('Unknown URL.')); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $pageArg = $this->trimmed('page'); |         $pageArg = $this->trimmed('page'); | ||||||
| @@ -85,13 +84,16 @@ class NoticebyurlAction extends Action | |||||||
|      * |      * | ||||||
|      * @return string page title |      * @return string page title | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function title() |     function title() | ||||||
|     { |     { | ||||||
|         if ($this->page == 1) { |         if ($this->page == 1) { | ||||||
|             return sprintf(_m("Notices linking to %s"), $this->file->url); |             // TRANS: Title of notice stream of notices with a given attachment (first page). | ||||||
|  |             // TRANS: %s is the URL. | ||||||
|  |             return sprintf(_m('Notices linking to %s'), $this->file->url); | ||||||
|         } else { |         } else { | ||||||
|             return sprintf(_m("Notices linking to %1$s, page %2$d"), |             // TRANS: Title of notice stream of notices with a given attachment (all but first page). | ||||||
|  |             // TRANS: %1$s is the URL, %2$s is the page number. | ||||||
|  |             return sprintf(_m('Notices linking to %1$s, page %2$d'), | ||||||
|                            $this->file->url, |                            $this->file->url, | ||||||
|                            $this->page); |                            $this->page); | ||||||
|         } |         } | ||||||
| @@ -104,7 +106,6 @@ class NoticebyurlAction extends Action | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function handle($argarray=null) |     function handle($argarray=null) | ||||||
|     { |     { | ||||||
|         $this->showPage(); |         $this->showPage(); | ||||||
| @@ -117,7 +118,6 @@ class NoticebyurlAction extends Action | |||||||
|      * |      * | ||||||
|      * @return void |      * @return void | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function showContent() |     function showContent() | ||||||
|     { |     { | ||||||
|         $nl = new NoticeList($this->notices, $this); |         $nl = new NoticeList($this->notices, $this); | ||||||
| @@ -142,7 +142,6 @@ class NoticebyurlAction extends Action | |||||||
|      * |      * | ||||||
|      * @return boolean is read only action? |      * @return boolean is read only action? | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function isReadOnly($args) |     function isReadOnly($args) | ||||||
|     { |     { | ||||||
|         return true; |         return true; | ||||||
| @@ -169,7 +168,6 @@ class NoticebyurlAction extends Action | |||||||
|      * |      * | ||||||
|      * @return string etag http header |      * @return string etag http header | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     function etag() |     function etag() | ||||||
|     { |     { | ||||||
|         return null; |         return null; | ||||||
|   | |||||||
| @@ -50,7 +50,6 @@ class ShowbookmarkAction extends ShownoticeAction | |||||||
|  |  | ||||||
|     function getNotice() |     function getNotice() | ||||||
|     { |     { | ||||||
|  |  | ||||||
|         $this->id = $this->trimmed('id'); |         $this->id = $this->trimmed('id'); | ||||||
|  |  | ||||||
|         $this->bookmark = Bookmark::staticGet('id', $this->id); |         $this->bookmark = Bookmark::staticGet('id', $this->id); | ||||||
|   | |||||||
| @@ -205,7 +205,7 @@ class QnAPlugin extends MicroAppPlugin | |||||||
|  |  | ||||||
|         $questionObj = $activity->objects[0]; |         $questionObj = $activity->objects[0]; | ||||||
|  |  | ||||||
|         if ($questinoObj->type != QnA_Question::OBJECT_TYPE) { |         if ($questionObj->type != QnA_Question::OBJECT_TYPE) { | ||||||
|             throw new Exception('Wrong type for object.'); |             throw new Exception('Wrong type for object.'); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user