X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Furlsettings.php;h=69ad4c869066fb2434b117577560c4507b03ea37;hb=4694d068f965ec733edcfe5c9afe8244ae01f00a;hp=7b2fc3f5542cb3736bee9af29d47d80e2a6c9e2d;hpb=e211e6228d7f7742967686005c693697e327e366;p=quix0rs-gnu-social.git diff --git a/actions/urlsettings.php b/actions/urlsettings.php index 7b2fc3f554..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,7 +62,6 @@ class UrlsettingsAction extends AccountSettingsAction * * @return instructions for use */ - function getInstructions() { // TRANS: Instructions for tab "Other" in user profile settings. @@ -85,7 +81,6 @@ class UrlsettingsAction extends AccountSettingsAction * * @return void */ - function showContent() { $user = common_current_user(); @@ -99,23 +94,31 @@ 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] = $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)'); + $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'); @@ -128,17 +131,21 @@ class UrlsettingsAction extends AccountSettingsAction } $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'); // TRANS: Button text for saving "Other settings" in profile. @@ -155,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; @@ -176,14 +183,16 @@ class UrlsettingsAction extends AccountSettingsAction $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(); @@ -201,8 +210,7 @@ class UrlsettingsAction extends AccountSettingsAction if ($result === false) { common_log_db_error($user, 'UPDATE', __FILE__); // TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server. - $this->serverError(_('Couldn\'t update user.')); - return; + $this->serverError(_('Could not update user.')); } $prefs = User_urlshortener_prefs::getPrefs($user); @@ -228,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); } }