]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/profilesettings.php
Translator comments added
[quix0rs-gnu-social.git] / actions / profilesettings.php
index 0c1efa90726a6364451e1b59044fcde86ac42890..523c9df4cbd2a80e8f0718dcebed572efd27935a 100644 (file)
@@ -46,7 +46,6 @@ 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 ProfilesettingsAction extends AccountSettingsAction
 {
     /**
@@ -54,7 +53,6 @@ class ProfilesettingsAction extends AccountSettingsAction
      *
      * @return string Title of the page
      */
-
     function title()
     {
         // TRANS: Page title for profile settings.
@@ -66,7 +64,6 @@ class ProfilesettingsAction extends AccountSettingsAction
      *
      * @return instructions for use
      */
-
     function getInstructions()
     {
         // TRANS: Usage instructions for profile settings.
@@ -87,7 +84,6 @@ class ProfilesettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function showContent()
     {
         $user = common_current_user();
@@ -212,7 +208,6 @@ class ProfilesettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function handlePost()
     {
         // CSRF protection
@@ -225,7 +220,13 @@ class ProfilesettingsAction extends AccountSettingsAction
 
         if (Event::handle('StartProfileSaveForm', array($this))) {
 
-            $nickname = $this->trimmed('nickname');
+            try {
+                $nickname = Nickname::normalize($this->trimmed('nickname'));
+            } catch (NicknameException $e) {
+                $this->showForm($e->getMessage());
+                return;
+            }
+
             $fullname = $this->trimmed('fullname');
             $homepage = $this->trimmed('homepage');
             $bio = $this->trimmed('bio');
@@ -236,13 +237,7 @@ class ProfilesettingsAction extends AccountSettingsAction
             $tagstring = $this->trimmed('tags');
 
             // Some validation
-            if (!Validate::string($nickname, array('min_length' => 1,
-                                                   'max_length' => 64,
-                                                   'format' => NICKNAME_FMT))) {
-                // TRANS: Validation error in form for profile settings.
-                $this->showForm(_('Nickname must have only lowercase letters and numbers and no spaces.'));
-                return;
-            } else if (!User::allowed_nickname($nickname)) {
+            if (!User::allowed_nickname($nickname)) {
                 // TRANS: Validation error in form for profile settings.
                 $this->showForm(_('Not a valid nickname.'));
                 return;
@@ -253,20 +248,20 @@ class ProfilesettingsAction extends AccountSettingsAction
                 return;
             } else if (!is_null($fullname) && mb_strlen($fullname) > 255) {
                 // TRANS: Validation error in form for profile settings.
-                $this->showForm(_('Full name is too long (max 255 characters).'));
+                $this->showForm(_('Full name is too long (maximum 255 characters).'));
                 return;
             } else if (Profile::bioTooLong($bio)) {
                 // TRANS: Validation error in form for profile settings.
                 // TRANS: Plural form is used based on the maximum number of allowed
                 // TRANS: characters for the biography (%d).
-                $this->showForm(sprintf(_m('Bio is too long (max %d character).',
-                                           'Bio is too long (max %d characters).',
+                $this->showForm(sprintf(_m('Bio is too long (maximum %d character).',
+                                           'Bio is too long (maximum %d characters).',
                                            Profile::maxBio()),
                                         Profile::maxBio()));
                 return;
             } else if (!is_null($location) && mb_strlen($location) > 255) {
                 // TRANS: Validation error in form for profile settings.
-                $this->showForm(_('Location is too long (max 255 characters).'));
+                $this->showForm(_('Location is too long (maximum 255 characters).'));
                 return;
             }  else if (is_null($timezone) || !in_array($timezone, DateTimeZone::listIdentifiers())) {
                 // TRANS: Validation error in form for profile settings.
@@ -278,7 +273,7 @@ class ProfilesettingsAction extends AccountSettingsAction
                 return;
             } else if (!is_null($language) && strlen($language) > 50) {
                 // TRANS: Validation error in form for profile settings.
-                $this->showForm(_('Language is too long (max 50 characters).'));
+                $this->showForm(_('Language is too long (maximum 50 characters).'));
                 return;
             }
 
@@ -323,7 +318,7 @@ class ProfilesettingsAction extends AccountSettingsAction
                 if ($result === false) {
                     common_log_db_error($user, 'UPDATE', __FILE__);
                     // TRANS: Server error thrown when user profile settings could not be updated.
-                    $this->serverError(_('Couldn\'t update user.'));
+                    $this->serverError(_('Could not update user.'));
                     return;
                 } else {
                     // Re-initialize language environment if it changed
@@ -348,7 +343,7 @@ class ProfilesettingsAction extends AccountSettingsAction
                     common_log_db_error($user, 'UPDATE', __FILE__);
                     // TRANS: Server error thrown when user profile settings could not be updated to
                     // TRANS: automatically subscribe to any subscriber.
-                    $this->serverError(_('Couldn\'t update user for autosubscribe.'));
+                    $this->serverError(_('Could not update user for autosubscribe.'));
                     return;
                 }
             }
@@ -406,7 +401,7 @@ class ProfilesettingsAction extends AccountSettingsAction
                 if ($result === false) {
                     common_log_db_error($prefs, ($exists) ? 'UPDATE' : 'INSERT', __FILE__);
                     // TRANS: Server error thrown when user profile location preference settings could not be updated.
-                    $this->serverError(_('Couldn\'t save location prefs.'));
+                    $this->serverError(_('Could not save location prefs.'));
                     return;
                 }
             }
@@ -419,7 +414,7 @@ class ProfilesettingsAction extends AccountSettingsAction
             if ($result === false) {
                 common_log_db_error($profile, 'UPDATE', __FILE__);
                 // TRANS: Server error thrown when user profile settings could not be saved.
-                $this->serverError(_('Couldn\'t save profile.'));
+                $this->serverError(_('Could not save profile.'));
                 return;
             }
 
@@ -428,7 +423,7 @@ class ProfilesettingsAction extends AccountSettingsAction
 
             if (!$result) {
                 // TRANS: Server error thrown when user profile settings tags could not be saved.
-                $this->serverError(_('Couldn\'t save tags.'));
+                $this->serverError(_('Could not save tags.'));
                 return;
             }
 
@@ -452,4 +447,38 @@ class ProfilesettingsAction extends AccountSettingsAction
             return $other->id != $user->id;
         }
     }
+
+    function showAside() {
+        $user = common_current_user();
+
+        $this->elementStart('div', array('id' => 'aside_primary',
+                                         'class' => 'aside'));
+        $this->elementStart('ul');
+        if (Event::handle('StartProfileSettingsActions', array($this))) {
+            if ($user->hasRight(Right::BACKUPACCOUNT)) {
+                $this->elementStart('li');
+                $this->element('a',
+                               array('href' => common_local_url('backupaccount')),
+                               _('Backup account'));
+                $this->elementEnd('li');
+            }
+            if ($user->hasRight(Right::DELETEACCOUNT)) {
+                $this->elementStart('li');
+                $this->element('a',
+                               array('href' => common_local_url('deleteaccount')),
+                               _('Delete account'));
+                $this->elementEnd('li');
+            }
+            if ($user->hasRight(Right::RESTOREACCOUNT)) {
+                $this->elementStart('li');
+                $this->element('a',
+                               array('href' => common_local_url('restoreaccount')),
+                               _('Restore account'));
+                $this->elementEnd('li');
+            }
+            Event::handle('EndProfileSettingsActions', array($this));
+        }
+        $this->elementEnd('ul');
+        $this->elementEnd('div');
+    }
 }