X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Furlsettings.php;h=69ad4c869066fb2434b117577560c4507b03ea37;hb=47ef917f62c445d29b2690d73c1a7ae991fcc4dd;hp=ddf8daa2ae9b7142fc483996c9472db3dfa97706;hpb=829a017a5d0104f495cd0b645ecb1f3cdeda25ac;p=quix0rs-gnu-social.git diff --git a/actions/urlsettings.php b/actions/urlsettings.php index ddf8daa2ae..69ad4c8690 100644 --- a/actions/urlsettings.php +++ b/actions/urlsettings.php @@ -32,8 +32,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR.'/lib/accountsettingsaction.php'; - /** * Miscellaneous settings actions * @@ -46,17 +44,16 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php'; * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ - -class UrlsettingsAction extends AccountSettingsAction +class UrlsettingsAction extends SettingsAction { /** * Title of the page * * @return string Title of the page */ - function title() { + // TRANS: Title of URL settings tab in profile settings. return _('URL settings'); } @@ -65,9 +62,9 @@ class UrlsettingsAction extends AccountSettingsAction * * @return instructions for use */ - function getInstructions() { + // TRANS: Instructions for tab "Other" in user profile settings. return _('Manage various other options.'); } @@ -84,7 +81,6 @@ class UrlsettingsAction extends AccountSettingsAction * * @return void */ - function showContent() { $user = common_current_user(); @@ -98,44 +94,62 @@ class UrlsettingsAction extends AccountSettingsAction $this->hidden('token', common_session_token()); $this->elementStart('ul', 'form_data'); - $shorteners = array(_('[none]') => array('freeService' => false)); + $shorteners = array(); Event::handle('GetUrlShorteners', array(&$shorteners)); $services = array(); - foreach($shorteners as $name=>$value) + + foreach ($shorteners as $name => $value) { - $services[$name]=$name; - if($value['freeService']){ - $services[$name].=_(' (free service)'); + $services[$name] = $name; + if ($value['freeService']) { + // 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). + $services[$name] .= _(' (free service)'); } } - if($services) - { + + // Include default values + + // TRANS: Default value for URL shortening settings. + $services['none'] = _('[none]'); + // TRANS: Default value for URL shortening settings. + $services['internal'] = _('[internal]'); + + if ($services) { asort($services); $this->elementStart('li'); + // TRANS: Label for dropdown with URL shortener services. $this->dropdown('urlshorteningservice', _('Shorten URLs with'), + // TRANS: Tooltip for for dropdown with URL shortener services. $services, _('Automatic shortening service to use.'), false, $user->urlshorteningservice); $this->elementEnd('li'); } $this->elementStart('li'); $this->input('maxurllength', + // TRANS: Field label in URL settings in profile. _('URL longer than'), (!is_null($this->arg('maxurllength'))) ? $this->arg('maxurllength') : User_urlshortener_prefs::maxUrlLength($user), - _('URLs longer than this will be shortened, 0 means always shorten.')); + // TRANS: Field title in URL settings in profile. + _('URLs longer than this will be shortened, -1 means never shorten because a URL is long.')); $this->elementEnd('li'); $this->elementStart('li'); $this->input('maxnoticelength', + // TRANS: Field label in URL settings in profile. _('Text longer than'), (!is_null($this->arg('maxnoticelength'))) ? $this->arg('maxnoticelength') : User_urlshortener_prefs::maxNoticeLength($user), - _('URLs in notices longer than this will be shortened, 0 means always shorten.')); + // TRANS: Field title in URL settings in profile. + _('URLs in notices longer than this will always be shortened, -1 means only shorten if the full post exceeds maximum length.')); $this->elementEnd('li'); $this->elementEnd('ul'); - $this->submit('save', _('Save')); + // TRANS: Button text for saving "Other settings" in profile. + $this->submit('save', _m('BUTTON','Save')); $this->elementEnd('fieldset'); $this->elementEnd('form'); } @@ -148,12 +162,12 @@ class UrlsettingsAction extends AccountSettingsAction * * @return void */ - function handlePost() { // CSRF protection $token = $this->trimmed('token'); if (!$token || $token != common_session_token()) { + // TRANS: Client error displayed when the session token does not match or is not given. $this->showForm(_('There was a problem with your session token. '. 'Try again, please.')); return; @@ -162,20 +176,23 @@ class UrlsettingsAction extends AccountSettingsAction $urlshorteningservice = $this->trimmed('urlshorteningservice'); if (!is_null($urlshorteningservice) && strlen($urlshorteningservice) > 50) { - $this->showForm(_('URL shortening service is too long (max 50 chars).')); + // TRANS: Form validation error for form "Other settings" in user profile. + $this->showForm(_('URL shortening service is too long (maximum 50 characters).')); return; } $maxurllength = $this->trimmed('maxurllength'); - if (!Validate::number($maxurllength, array('min' => 0))) { - throw new ClientException(_('Invalid number for max url length.')); + if (!Validate::number($maxurllength, array('min' => -1))) { + // 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.')); } $maxnoticelength = $this->trimmed('maxnoticelength'); - if (!Validate::number($maxnoticelength, array('min' => 0))) { - throw new ClientException(_('Invalid number for max notice length.')); + if (!Validate::number($maxnoticelength, array('min' => -1))) { + // 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.')); } $user = common_current_user(); @@ -192,8 +209,8 @@ class UrlsettingsAction extends AccountSettingsAction if ($result === false) { common_log_db_error($user, 'UPDATE', __FILE__); - $this->serverError(_('Couldn\'t update user.')); - return; + // TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server. + $this->serverError(_('Could not update user.')); } $prefs = User_urlshortener_prefs::getPrefs($user); @@ -219,11 +236,13 @@ class UrlsettingsAction extends AccountSettingsAction } if (!$result) { + // TRANS: Server exception thrown in profile URL settings when preferences could not be saved. throw new ServerException(_('Error saving user URL shortening preferences.')); } $user->query('COMMIT'); + // TRANS: Confirmation message after saving preferences. $this->showForm(_('Preferences saved.'), true); } }