X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=actions%2Fuserdesignsettings.php;h=c83815412ad1407605f5cb048b9c7f2c7de9ef1a;hb=c97048d01bea468e0cf8865b60c3c250b4515c39;hp=b82dea8dd6ab44266e40f40a0de13433cfb0f5af;hpb=8eb66467165e107d0c80c64f6c429fed1d1101d5;p=quix0rs-gnu-social.git diff --git a/actions/userdesignsettings.php b/actions/userdesignsettings.php index b82dea8dd6..c83815412a 100644 --- a/actions/userdesignsettings.php +++ b/actions/userdesignsettings.php @@ -71,6 +71,7 @@ class UserDesignSettingsAction extends DesignSettingsAction */ function title() { + // TRANS: Title for profile design page. return _('Profile design'); } @@ -81,6 +82,7 @@ class UserDesignSettingsAction extends DesignSettingsAction */ function getInstructions() { + // TRANS: Instructions for Profile design page. return _('Customize the way your profile looks ' . 'with a background image and a colour palette of your choice.'); } @@ -115,6 +117,20 @@ class UserDesignSettingsAction extends DesignSettingsAction $this->showDesignForm($design); } + /** + * Shows the design settings form + * + * @param Design $design a working design to show + * + * @return nothing + */ + + function showDesignForm($design) + { + $form = new UserDesignForm($this, $design, $this->submitaction); + $form->show(); + } + /** * Save or update the user's design settings * @@ -122,6 +138,8 @@ class UserDesignSettingsAction extends DesignSettingsAction */ function saveDesign() { + $this->saveDesignPreferences(); + foreach ($this->args as $key => $val) { if (preg_match('/(#ho|ho)Td.*g/i', $val)) { $this->sethd(); @@ -158,7 +176,8 @@ class UserDesignSettingsAction extends DesignSettingsAction $tile = true; } - $user = common_current_user(); + $user = common_current_user(); + $design = $user->getDesign(); if (!empty($design)) { @@ -176,6 +195,7 @@ class UserDesignSettingsAction extends DesignSettingsAction if ($result === false) { common_log_db_error($design, 'UPDATE', __FILE__); + // TRANS: Form validation error on Profile design page when updating design settings has failed. $this->showForm(_('Could not update your design.')); return; } @@ -198,6 +218,7 @@ class UserDesignSettingsAction extends DesignSettingsAction if (empty($id)) { common_log_db_error($id, 'INSERT', __FILE__); + // TRANS: Form validation error on Profile design page when saving design settings has failed. $this->showForm(_('Unable to save your design settings.')); return; } @@ -208,6 +229,7 @@ class UserDesignSettingsAction extends DesignSettingsAction if (empty($result)) { common_log_db_error($original, 'UPDATE', __FILE__); + // TRANS: Form validation error on Profile design page when saving design settings has failed. $this->showForm(_('Unable to save your design settings.')); $user->query('ROLLBACK'); return; @@ -219,6 +241,7 @@ class UserDesignSettingsAction extends DesignSettingsAction $this->saveBackgroundImage($design); + // TRANS: Confirmation message on Profile design page when saving design settings has succeeded. $this->showForm(_('Design preferences saved.'), true); } @@ -229,7 +252,6 @@ class UserDesignSettingsAction extends DesignSettingsAction */ function sethd() { - $user = common_current_user(); $design = $user->getDesign(); @@ -250,6 +272,7 @@ class UserDesignSettingsAction extends DesignSettingsAction if (empty($id)) { common_log_db_error($id, 'INSERT', __FILE__); + // TRANS: Form validation error on Profile design page when saving design settings has failed. $this->showForm(_('Unable to save your design settings.')); return; } @@ -260,6 +283,7 @@ class UserDesignSettingsAction extends DesignSettingsAction if (empty($result)) { common_log_db_error($original, 'UPDATE', __FILE__); + // TRANS: Form validation error on Profile design page when updating design settings has failed. $this->showForm(_('Unable to save your design settings.')); $user->query('ROLLBACK'); return; @@ -269,6 +293,73 @@ class UserDesignSettingsAction extends DesignSettingsAction $this->saveBackgroundImage($design); + // TRANS: Succes message on Profile design page when finding an easter egg. $this->showForm(_('Enjoy your hotdog!'), true); } + + function saveDesignPreferences() + { + $viewdesigns = $this->boolean('viewdesigns'); + + $user = common_current_user(); + + $original = clone($user); + + $user->viewdesigns = $viewdesigns; + + $result = $user->update($original); + + if ($result === false) { + common_log_db_error($user, 'UPDATE', __FILE__); + // TRANS: Server exception thrown on Profile design page when updating design settings fails. + throw new ServerException(_('Could not update user.')); + } + } +} + +class UserDesignForm extends DesignForm +{ + function __construct($out, $design, $actionurl) + { + parent::__construct($out, $design, $actionurl); + } + + /** + * Legend of the Form + * + * @return void + */ + function formLegend() + { + // TRANS: Form legend on Profile design page. + $this->out->element('legend', null, _('Design settings')); + } + + /** + * Data elements of the form + * + * @return void + */ + + function formData() + { + $user = common_current_user(); + + $this->out->elementStart('ul', 'form_data'); + $this->out->elementStart('li'); + // TRANS: Checkbox label on Profile design page. + $this->out->checkbox('viewdesigns', _('View profile designs'), + // TRANS: Title for checkbox on Profile design page. + - $user->viewdesigns, _('Show or hide profile designs.')); + $this->out->elementEnd('li'); + $this->out->elementEnd('ul'); + + $this->out->elementEnd('fieldset'); + + $this->out->elementStart('fieldset'); + // TRANS: Form legend on Profile design page for form to choose a background image. + $this->out->element('legend', null, _('Background file')); + + parent::formData(); + } }