Only pick up new default site colors if the theme has NOT changed.

This commit is contained in:
Zach Copley 2009-12-02 17:50:51 -08:00
parent 008f51db4d
commit 55a488326e

View File

@ -129,8 +129,6 @@ class DesignadminpanelAction extends AdminPanelAction
$bgimage = $this->saveBackgroundImage(); $bgimage = $this->saveBackgroundImage();
common_debug("background image: $bgimage");
static $settings = array('theme', 'logo'); static $settings = array('theme', 'logo');
$values = array(); $values = array();
@ -141,7 +139,15 @@ class DesignadminpanelAction extends AdminPanelAction
$this->validate($values); $this->validate($values);
// assert(all values are valid); $oldtheme = common_config('site', 'theme');
$config = new Config();
$config->query('BEGIN');
// Only update colors if the theme has not changed.
if ($oldtheme == $values['theme']) {
$bgcolor = new WebColor($this->trimmed('design_background')); $bgcolor = new WebColor($this->trimmed('design_background'));
$ccolor = new WebColor($this->trimmed('design_content')); $ccolor = new WebColor($this->trimmed('design_content'));
@ -149,6 +155,13 @@ class DesignadminpanelAction extends AdminPanelAction
$tcolor = new WebColor($this->trimmed('design_text')); $tcolor = new WebColor($this->trimmed('design_text'));
$lcolor = new WebColor($this->trimmed('design_links')); $lcolor = new WebColor($this->trimmed('design_links'));
Config::save('design', 'backgroundcolor', $bgcolor->intValue());
Config::save('design', 'contentcolor', $ccolor->intValue());
Config::save('design', 'sidebarcolor', $sbcolor->intValue());
Config::save('design', 'textcolor', $tcolor->intValue());
Config::save('design', 'linkcolor', $lcolor->intValue());
}
$onoff = $this->arg('design_background-image_onoff'); $onoff = $this->arg('design_background-image_onoff');
$on = false; $on = false;
@ -162,9 +175,11 @@ class DesignadminpanelAction extends AdminPanelAction
$tile = $this->boolean('design_background-image_repeat'); $tile = $this->boolean('design_background-image_repeat');
$config = new Config(); // Hack to use Design's bit setter
$scratch = new Design();
$scratch->setDisposition($on, $off, $tile);
$config->query('BEGIN'); Config::save('design', 'disposition', $scratch->disposition);
foreach ($settings as $setting) { foreach ($settings as $setting) {
Config::save('site', $setting, $values[$setting]); Config::save('site', $setting, $values[$setting]);
@ -174,21 +189,7 @@ class DesignadminpanelAction extends AdminPanelAction
Config::save('design', 'backgroundimage', $bgimage); Config::save('design', 'backgroundimage', $bgimage);
} }
Config::save('design', 'backgroundcolor', $bgcolor->intValue());
Config::save('design', 'contentcolor', $ccolor->intValue());
Config::save('design', 'sidebarcolor', $sbcolor->intValue());
Config::save('design', 'textcolor', $tcolor->intValue());
Config::save('design', 'linkcolor', $lcolor->intValue());
// Hack to use Design's bit setter
$scratch = new Design();
$scratch->setDisposition($on, $off, $tile);
Config::save('design', 'disposition', $scratch->disposition);
$config->query('COMMIT'); $config->query('COMMIT');
return;
} }
/** /**