Delete design when user chooses to restore default design, instead

of saving a design with site defaults.
This commit is contained in:
Zach Copley 2009-12-02 16:44:23 -08:00
parent 3e38d376a9
commit 4f359d2a8b
4 changed files with 23 additions and 73 deletions

View File

@ -173,17 +173,12 @@ class GroupDesignSettingsAction extends DesignSettingsAction
function getWorkingDesign()
{
$design = null;
if (isset($this->group)) {
$design = $this->group->getDesign();
}
if (empty($design)) {
$design = $this->defaultDesign();
}
return $design;
}
@ -197,7 +192,13 @@ class GroupDesignSettingsAction extends DesignSettingsAction
function showContent()
{
$this->showDesignForm($this->getWorkingDesign());
$design = $this->getWorkingDesign();
if (empty($design)) {
$design = Design::siteDesign();
}
$this->showDesignForm($design);
}
/**

View File

@ -96,14 +96,8 @@ class UserDesignSettingsAction extends DesignSettingsAction
function getWorkingDesign()
{
$user = common_current_user();
$design = $user->getDesign();
if (empty($design)) {
$design = $this->defaultDesign();
}
return $design;
}
@ -117,7 +111,13 @@ class UserDesignSettingsAction extends DesignSettingsAction
function showContent()
{
$this->showDesignForm($this->getWorkingDesign());
$design = $this->getWorkingDesign();
if (empty($design)) {
$design = Design::siteDesign();
}
$this->showDesignForm($design);
}
/**

View File

@ -134,7 +134,6 @@ class ApiAction extends Action
$twitter_user['protected'] = false; # not supported by StatusNet yet
$twitter_user['followers_count'] = $profile->subscriberCount();
$defaultDesign = Design::siteDesign();
$design = null;
$user = $profile->getUser();
@ -145,7 +144,7 @@ class ApiAction extends Action
}
if (empty($design)) {
$design = $defaultDesign;
$design = Design::siteDesign();
}
$color = Design::toWebColor(empty($design->backgroundcolor) ? $defaultDesign->backgroundcolor : $design->backgroundcolor);

View File

@ -333,49 +333,6 @@ class DesignSettingsAction extends AccountSettingsAction
$this->autofocus('design_background-image_file');
}
/**
* Get a default design
*
* @return Design design
*/
function defaultDesign()
{
$defaults = common_config('site', 'design');
$design = new Design();
try {
$color = new WebColor();
$color->parseColor($defaults['backgroundcolor']);
$design->backgroundcolor = $color->intValue();
$color->parseColor($defaults['contentcolor']);
$design->contentcolor = $color->intValue();
$color->parseColor($defaults['sidebarcolor']);
$design->sidebarcolor = $color->intValue();
$color->parseColor($defaults['textcolor']);
$design->textcolor = $color->intValue();
$color->parseColor($defaults['linkcolor']);
$design->linkcolor = $color->intValue();
$design->backgroundimage = $defaults['backgroundimage'];
$design->disposition = $defaults['disposition'];
} catch (WebColorException $e) {
common_log(LOG_ERR, _('Bad default color settings: ' .
$e->getMessage()));
}
return $design;
}
/**
* Save the background image, if any, and set its disposition
*
@ -445,24 +402,17 @@ class DesignSettingsAction extends AccountSettingsAction
function restoreDefaults()
{
$design = $this->getWorkingDesign();
$default = $this->defaultDesign();
$original = clone($design);
$design = $this->getWorkingDesign();
$design->backgroundcolor = $default->backgroundcolor;
$design->contentcolor = $default->contentcolor;
$design->sidebarcolor = $default->sidebarcolor;
$design->textcolor = $default->textcolor;
$design->linkcolor = $default->linkcolor;
if (!empty($design)) {
$design->setDisposition(false, true, false);
$result = $design->delete();
$result = $design->update($original);
if ($result === false) {
common_log_db_error($design, 'UPDATE', __FILE__);
$this->showForm(_('Couldn\'t update your design.'));
return;
if ($result === false) {
common_log_db_error($design, 'DELETE', __FILE__);
$this->showForm(_('Couldn\'t update your design.'));
return;
}
}
$this->showForm(_('Design defaults restored.'), true);