diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/designsettings.php | 60 |
1 files changed, 49 insertions, 11 deletions
diff --git a/lib/designsettings.php b/lib/designsettings.php index 9650679ac..476621c07 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -212,18 +212,19 @@ class DesignSettingsAction extends AccountSettingsAction 'maxlength' => '7', 'size' => '7', 'value' => '#' . $lcolor->hexValue())); + $this->elementEnd('li'); - $this->elementEnd('li'); + } catch (WebColorException $e) { + common_log(LOG_ERR, 'Bad color values in design ID: ' .$design->id); + } - } catch (WebColorException $e) { - common_log(LOG_ERR, 'Bad color values in design ID: ' . - $design->id); - } + $this->elementEnd('ul'); + $this->elementEnd('fieldset'); - $this->elementEnd('ul'); - $this->elementEnd('fieldset'); + $this->submit('defaults', _('Use defaults'), 'submit form_action-default', + 'defaults', _('Restore default designs')); - $this->element('input', array('id' => 'settings_design_reset', + $this->element('input', array('id' => 'settings_design_reset', 'type' => 'reset', 'value' => 'Reset', 'class' => 'submit form_action-primary', @@ -271,8 +272,8 @@ class DesignSettingsAction extends AccountSettingsAction if ($this->arg('save')) { $this->saveDesign(); - } else if ($this->arg('reset')) { - $this->resetDesign(); + } else if ($this->arg('defaults')) { + $this->restoreDefaults(); } else { $this->showForm(_('Unexpected form submission.')); } @@ -316,7 +317,7 @@ class DesignSettingsAction extends AccountSettingsAction } /** - * Get a default user design + * Get a default design * * @return Design design */ @@ -358,6 +359,12 @@ class DesignSettingsAction extends AccountSettingsAction return $design; } + /** + * Save the background image, if any, and set its disposition + * + * @return nothing + */ + function saveBackgroundImage($design) { // Now that we have a Design ID we can add a file to the design. @@ -403,4 +410,35 @@ class DesignSettingsAction extends AccountSettingsAction } } + /** + * Restore the user or group design to system defaults + * + * @return nothing + */ + + function restoreDefaults() + { + $design = $this->getWorkingDesign(); + $default = $this->defaultDesign(); + $original = clone($design); + + $design->backgroundcolor = $default->backgroundcolor; + $design->contentcolor = $default->contentcolor; + $design->sidebarcolor = $default->sidebarcolor; + $design->textcolor = $default->textcolor; + $design->linkcolor = $default->linkcolor; + + $design->setDisposition(false, true, false); + + $result = $design->update($original); + + if ($result === false) { + common_log_db_error($design, 'UPDATE', __FILE__); + $this->showForm(_('Couldn\'t update your design.')); + return; + } + + $this->showForm(_('Design defaults restored.'), true); + } + } |