| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  | /** | 
					
						
							| 
									
										
										
										
											2009-08-25 18:12:20 -04:00
										 |  |  |  * StatusNet, the distributed open-source microblogging tool | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |  * Miscellaneous settings | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * PHP version 5 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * LICENCE: This program is free software: you can redistribute it and/or modify | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  |  * it under the terms of the GNU Affero General Public License as published by | 
					
						
							|  |  |  |  * the Free Software Foundation, either version 3 of the License, or | 
					
						
							|  |  |  |  * (at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  * GNU Affero General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU Affero General Public License | 
					
						
							|  |  |  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  * @category  Settings | 
					
						
							| 
									
										
										
										
											2009-08-25 18:12:20 -04:00
										 |  |  |  * @package   StatusNet | 
					
						
							| 
									
										
										
										
											2009-08-25 18:19:04 -04:00
										 |  |  |  * @author    Robin Millette <millette@status.net> | 
					
						
							|  |  |  |  * @author    Evan Prodromou <evan@status.net> | 
					
						
							| 
									
										
										
										
											2009-08-25 18:12:20 -04:00
										 |  |  |  * @copyright 2008-2009 StatusNet, Inc. | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 | 
					
						
							| 
									
										
										
										
											2009-08-25 18:16:46 -04:00
										 |  |  |  * @link      http://status.net/ | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  | if (!defined('GNUSOCIAL')) { exit(1); } | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Miscellaneous settings actions | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Currently this just manages URL shortening. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @category Settings | 
					
						
							| 
									
										
										
										
											2009-08-25 18:12:20 -04:00
										 |  |  |  * @package  StatusNet | 
					
						
							| 
									
										
										
										
											2009-08-25 18:19:04 -04:00
										 |  |  |  * @author   Robin Millette <millette@status.net> | 
					
						
							|  |  |  |  * @author   Zach Copley <zach@status.net> | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 | 
					
						
							| 
									
										
										
										
											2009-08-25 18:16:46 -04:00
										 |  |  |  * @link     http://status.net/ | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2011-01-23 12:35:35 -05:00
										 |  |  | class UrlsettingsAction extends SettingsAction | 
					
						
							| 
									
										
										
										
											2008-12-23 14:49:23 -05:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Title of the page | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return string Title of the page | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     function title() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |         // TRANS: Title of URL settings tab in profile settings.
 | 
					
						
							| 
									
										
										
										
											2010-09-11 16:22:03 -04:00
										 |  |  |         return _('URL settings'); | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Instructions for use | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return instructions for use | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     function getInstructions() | 
					
						
							| 
									
										
										
										
											2008-12-23 14:33:23 -05:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2010-11-01 14:19:37 +01:00
										 |  |  |         // TRANS: Instructions for tab "Other" in user profile settings.
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         return _('Manage various other options.'); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-03 19:42:50 +00:00
										 |  |  |     function showScripts() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         parent::showScripts(); | 
					
						
							|  |  |  |         $this->autofocus('urlshorteningservice'); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Content area of the page | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Shows a form for uploading an avatar. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return void | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     function showContent() | 
					
						
							| 
									
										
										
										
											2008-12-23 14:33:23 -05:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |         $user = $this->scoped->getUser(); | 
					
						
							| 
									
										
										
										
											2008-12-11 23:46:00 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-15 22:57:15 +00:00
										 |  |  |         $this->elementStart('form', array('method' => 'post', | 
					
						
							| 
									
										
										
										
											2009-01-17 23:52:37 +00:00
										 |  |  |                                           'id' => 'form_settings_other', | 
					
						
							|  |  |  |                                           'class' => 'form_settings', | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  |                                           'action' => | 
					
						
							| 
									
										
										
										
											2010-09-11 16:22:03 -04:00
										 |  |  |                                           common_local_url('urlsettings'))); | 
					
						
							| 
									
										
										
										
											2009-01-17 23:52:37 +00:00
										 |  |  |         $this->elementStart('fieldset'); | 
					
						
							| 
									
										
										
										
											2009-01-15 22:57:15 +00:00
										 |  |  |         $this->hidden('token', common_session_token()); | 
					
						
							| 
									
										
										
										
											2009-11-11 17:05:24 -05:00
										 |  |  |         $this->elementStart('ul', 'form_data'); | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-01 15:25:06 -08:00
										 |  |  |         $shorteners = array(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-11 14:02:57 -05:00
										 |  |  |         Event::handle('GetUrlShorteners', array(&$shorteners)); | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-11 17:09:00 -05:00
										 |  |  |         $services = array(); | 
					
						
							| 
									
										
										
										
											2011-01-23 16:49:12 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |         foreach ($shorteners as $name => $value) | 
					
						
							| 
									
										
										
										
											2009-11-11 14:02:57 -05:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2011-01-23 16:49:12 -05:00
										 |  |  |             $services[$name] = $name; | 
					
						
							|  |  |  |             if ($value['freeService']) { | 
					
						
							| 
									
										
										
										
											2010-11-01 14:19:37 +01:00
										 |  |  |                 // TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
 | 
					
						
							|  |  |  |                 // TRANS: user's profile settings. This message has one space at the beginning. Use your
 | 
					
						
							|  |  |  |                 // TRANS: language's word separator here if it has one (most likely a single space).
 | 
					
						
							| 
									
										
										
										
											2011-01-23 16:49:12 -05:00
										 |  |  |                 $services[$name] .= _(' (free service)'); | 
					
						
							| 
									
										
										
										
											2009-09-03 14:58:50 -04:00
										 |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2011-01-23 16:49:12 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |         // Include default values
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |         // TRANS: Default value for URL shortening settings.
 | 
					
						
							| 
									
										
										
										
											2011-01-23 16:49:12 -05:00
										 |  |  |         $services['none']     = _('[none]'); | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |         // TRANS: Default value for URL shortening settings.
 | 
					
						
							| 
									
										
										
										
											2011-01-23 16:49:12 -05:00
										 |  |  |         $services['internal'] = _('[internal]'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ($services) { | 
					
						
							| 
									
										
										
										
											2009-11-11 17:05:24 -05:00
										 |  |  |             asort($services); | 
					
						
							| 
									
										
										
										
											2009-01-17 22:42:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-11 17:05:24 -05:00
										 |  |  |             $this->elementStart('li'); | 
					
						
							| 
									
										
										
										
											2010-11-01 14:19:37 +01:00
										 |  |  |             // TRANS: Label for dropdown with URL shortener services.
 | 
					
						
							| 
									
										
										
										
											2009-11-11 17:05:24 -05:00
										 |  |  |             $this->dropdown('urlshorteningservice', _('Shorten URLs with'), | 
					
						
							| 
									
										
										
										
											2010-11-01 14:19:37 +01:00
										 |  |  |                             // TRANS: Tooltip for for dropdown with URL shortener services.
 | 
					
						
							| 
									
										
										
										
											2009-11-11 17:05:24 -05:00
										 |  |  |                             $services, _('Automatic shortening service to use.'), | 
					
						
							|  |  |  |                             false, $user->urlshorteningservice); | 
					
						
							|  |  |  |             $this->elementEnd('li'); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2009-07-05 14:33:12 -04:00
										 |  |  |         $this->elementStart('li'); | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |         $this->input('maxurllength', | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |                      // TRANS: Field label in URL settings in profile.
 | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |                      _('URL longer than'), | 
					
						
							| 
									
										
										
										
											2010-04-26 02:37:11 -04:00
										 |  |  |                      (!is_null($this->arg('maxurllength'))) ? | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |                      $this->arg('maxurllength') : User_urlshortener_prefs::maxUrlLength($user), | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |                      // TRANS: Field title in URL settings in profile.
 | 
					
						
							| 
									
										
										
										
											2013-10-06 22:35:26 +02:00
										 |  |  |                      _('URLs longer than this will be shortened, -1 means never shorten because a URL is long.')); | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |         $this->elementEnd('li'); | 
					
						
							|  |  |  |         $this->elementStart('li'); | 
					
						
							|  |  |  |         $this->input('maxnoticelength', | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |                      // TRANS: Field label in URL settings in profile.
 | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |                      _('Text longer than'), | 
					
						
							| 
									
										
										
										
											2010-04-26 02:37:11 -04:00
										 |  |  |                      (!is_null($this->arg('maxnoticelength'))) ? | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |                      $this->arg('maxnoticelength') : User_urlshortener_prefs::maxNoticeLength($user), | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |                      // TRANS: Field title in URL settings in profile.
 | 
					
						
							| 
									
										
										
										
											2013-10-06 22:35:26 +02:00
										 |  |  |                      _('URLs in notices longer than this will always be shortened, -1 means only shorten if the full post exceeds maximum length.')); | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |         $this->elementEnd('li'); | 
					
						
							| 
									
										
										
										
											2009-01-17 23:52:37 +00:00
										 |  |  |         $this->elementEnd('ul'); | 
					
						
							| 
									
										
										
										
											2010-11-01 14:19:37 +01:00
										 |  |  |         // TRANS: Button text for saving "Other settings" in profile.
 | 
					
						
							|  |  |  |         $this->submit('save', _m('BUTTON','Save')); | 
					
						
							| 
									
										
										
										
											2009-01-17 23:52:37 +00:00
										 |  |  |         $this->elementEnd('fieldset'); | 
					
						
							| 
									
										
										
										
											2009-01-15 22:57:15 +00:00
										 |  |  |         $this->elementEnd('form'); | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2008-12-04 13:02:33 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |     protected function doPost() | 
					
						
							| 
									
										
										
										
											2008-12-23 14:33:23 -05:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         $urlshorteningservice = $this->trimmed('urlshorteningservice'); | 
					
						
							| 
									
										
										
										
											2008-12-11 23:46:00 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         if (!is_null($urlshorteningservice) && strlen($urlshorteningservice) > 50) { | 
					
						
							| 
									
										
										
										
											2010-11-01 14:19:37 +01:00
										 |  |  |             // TRANS: Form validation error for form "Other settings" in user profile.
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |             throw new ClientException(_('URL shortening service is too long (maximum 50 characters).')); | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2008-12-11 23:46:00 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |         $maxurllength = $this->trimmed('maxurllength'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-06 22:35:26 +02:00
										 |  |  |         if (!Validate::number($maxurllength, array('min' => -1))) { | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |             // TRANS: Client exception thrown when the maximum URL settings value is invalid in profile URL settings.
 | 
					
						
							|  |  |  |             throw new ClientException(_('Invalid number for maximum URL length.')); | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $maxnoticelength = $this->trimmed('maxnoticelength'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-25 22:48:32 +02:00
										 |  |  |         if (!Validate::number($maxnoticelength, array('min' => -1))) { | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |             // TRANS: Client exception thrown when the maximum notice length settings value is invalid in profile URL settings.
 | 
					
						
							|  |  |  |             throw new ClientException(_('Invalid number for maximum notice length.')); | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |         $user = $this->scoped->getUser(); | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         $user->query('BEGIN'); | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         $original = clone($user); | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         $user->urlshorteningservice = $urlshorteningservice; | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         $result = $user->update($original); | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:44:28 -05:00
										 |  |  |         if ($result === false) { | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |             common_log_db_error($user, 'UPDATE', __FILE__); | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |             $user->query('ROLLBACK'); | 
					
						
							| 
									
										
										
										
											2010-11-01 14:19:37 +01:00
										 |  |  |             // TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |             throw new ServerException(_('Could not update user.')); | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |         $prefs = User_urlshortener_prefs::getPrefs($user); | 
					
						
							|  |  |  |         $orig  = null; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |         if (!$prefs instanceof User_urlshortener_prefs) { | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |             $prefs = new User_urlshortener_prefs(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             $prefs->user_id = $user->id; | 
					
						
							|  |  |  |             $prefs->created = common_sql_now(); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             $orig = clone($prefs); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $prefs->urlshorteningservice = $urlshorteningservice; | 
					
						
							|  |  |  |         $prefs->maxurllength         = $maxurllength; | 
					
						
							|  |  |  |         $prefs->maxnoticelength      = $maxnoticelength; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |         if ($orig instanceof User_urlshortener_prefs) { | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |             $result = $prefs->update($orig); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             $result = $prefs->insert(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |         if ($result === null) { | 
					
						
							|  |  |  |             $user->query('ROLLBACK'); | 
					
						
							| 
									
										
										
										
											2011-03-29 21:30:12 +02:00
										 |  |  |             // TRANS: Server exception thrown in profile URL settings when preferences could not be saved.
 | 
					
						
							| 
									
										
										
										
											2010-04-26 02:01:11 -04:00
										 |  |  |             throw new ServerException(_('Error saving user URL shortening preferences.')); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         $user->query('COMMIT'); | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-17 00:39:53 +01:00
										 |  |  |         // TRANS: Confirmation message after saving preferences.
 | 
					
						
							| 
									
										
										
										
											2015-07-17 15:16:45 +02:00
										 |  |  |         return _('Preferences saved.'); | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2008-11-06 16:05:52 -05:00
										 |  |  | } |