]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/profilesettings.php
Merge branch '0.9.x' into 1.0.x
[quix0rs-gnu-social.git] / actions / profilesettings.php
index 28b1d20f34125fab3b39b60281de0b08458dfeb2..e1d686ca292678cf2790683aea0fbd4266fc3f24 100644 (file)
@@ -33,7 +33,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
-require_once INSTALLDIR.'/lib/accountsettingsaction.php';
+
 
 /**
  * Change profile settings
@@ -47,14 +47,13 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.php';
  * @link     http://status.net/
  */
 
-class ProfilesettingsAction extends AccountSettingsAction
+class ProfilesettingsAction extends SettingsAction
 {
     /**
      * Title of the page
      *
      * @return string Title of the page
      */
-
     function title()
     {
         // TRANS: Page title for profile settings.
@@ -66,7 +65,6 @@ class ProfilesettingsAction extends AccountSettingsAction
      *
      * @return instructions for use
      */
-
     function getInstructions()
     {
         // TRANS: Usage instructions for profile settings.
@@ -87,7 +85,6 @@ class ProfilesettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function showContent()
     {
         $user = common_current_user();
@@ -165,14 +162,14 @@ class ProfilesettingsAction extends AccountSettingsAction
             $this->input('tags', _('Tags'),
                          ($this->arg('tags')) ? $this->arg('tags') : implode(' ', $user->getSelfTags()),
                          // TRANS: Tooltip for field label in form for profile settings.
-                         _('Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated'));
+                         _('Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated.'));
             $this->elementEnd('li');
             $this->elementStart('li');
             $language = common_language();
             // TRANS: Dropdownlist label in form for profile settings.
             $this->dropdown('language', _('Language'),
                          // TRANS: Tooltip for dropdown list label in form for profile settings.
-                            get_nice_language_list(), _('Preferred language'),
+                            get_nice_language_list(), _('Preferred language.'),
                             false, $language);
             $this->elementEnd('li');
             $timezone = common_timezone();
@@ -191,7 +188,7 @@ class ProfilesettingsAction extends AccountSettingsAction
             $this->checkbox('autosubscribe',
                             // TRANS: Checkbox label in form for profile settings.
                             _('Automatically subscribe to whoever '.
-                              'subscribes to me (best for non-humans)'),
+                              'subscribes to me (best for non-humans).'),
                             ($this->arg('autosubscribe')) ?
                             $this->boolean('autosubscribe') : $user->autosubscribe);
             $this->elementEnd('li');
@@ -212,12 +209,12 @@ class ProfilesettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function handlePost()
     {
         // CSRF protection
         $token = $this->trimmed('token');
         if (!$token || $token != common_session_token()) {
+            // TRANS: Form validation error.
             $this->showForm(_('There was a problem with your session token. '.
                               'Try again, please.'));
             return;
@@ -292,7 +289,7 @@ class ProfilesettingsAction extends AccountSettingsAction
                 if (!common_valid_profile_tag($tag)) {
                     // TRANS: Validation error in form for profile settings.
                     // TRANS: %s is an invalid tag.
-                    $this->showForm(sprintf(_('Invalid tag: "%s"'), $tag));
+                    $this->showForm(sprintf(_('Invalid tag: "%s".'), $tag));
                     return;
                 }
             }
@@ -323,7 +320,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 +345,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 +403,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 +416,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 +425,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 +449,45 @@ 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('div', array('id' => 'account_actions',
+                                         'class' => 'section'));
+        $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')),
+                               // TRANS: Option in profile settings to create a backup of the account of the currently logged in user.
+                               _('Backup account'));
+                $this->elementEnd('li');
+            }
+            if ($user->hasRight(Right::DELETEACCOUNT)) {
+                $this->elementStart('li');
+                $this->element('a',
+                               array('href' => common_local_url('deleteaccount')),
+                               // TRANS: Option in profile settings to delete the account of the currently logged in user.
+                               _('Delete account'));
+                $this->elementEnd('li');
+            }
+            if ($user->hasRight(Right::RESTOREACCOUNT)) {
+                $this->elementStart('li');
+                $this->element('a',
+                               array('href' => common_local_url('restoreaccount')),
+                               // TRANS: Option in profile settings to restore the account of the currently logged in user from a backup.
+                               _('Restore account'));
+                $this->elementEnd('li');
+            }
+            Event::handle('EndProfileSettingsActions', array($this));
+        }
+        $this->elementEnd('ul');
+        $this->elementEnd('div');
+        $this->elementEnd('div');
+    }
 }