summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/userdesign.go.js31
-rw-r--r--lib/designsettings.php10
2 files changed, 35 insertions, 6 deletions
diff --git a/js/userdesign.go.js b/js/userdesign.go.js
index dda86294e..70dd9c7de 100644
--- a/js/userdesign.go.js
+++ b/js/userdesign.go.js
@@ -7,6 +7,35 @@
* @link http://laconi.ca/
*/
$(document).ready(function() {
+ function InitColors(i, E) {
+ switch (parseInt(E.id.slice(-1))) {
+ case 1: default:
+ $(E).val(rgb2hex($('body').css('background-color')));
+ break;
+ case 2:
+ $(E).val(rgb2hex($('#content').css('background-color')));
+ break;
+ case 3:
+ $(E).val(rgb2hex($('#aside_primary').css('background-color')));
+ break;
+ case 4:
+ $(E).val(rgb2hex($('html body').css('color')));
+ break;
+ case 5:
+ $(E).val(rgb2hex($('a').css('color')));
+ break;
+ }
+ }
+
+ function rgb2hex(rgb) {
+ rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
+ function hex(x) {
+ hexDigits = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
+ return isNaN(x) ? "00" : hexDigits[(x - x % 16) / 16] + hexDigits[x % 16];
+ }
+ return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
+ }
+
function UpdateColors(S) {
C = $(S).val();
switch (parseInt(S.id.slice(-1))) {
@@ -55,7 +84,7 @@ $(document).ready(function() {
f = $.farbtastic('#color-picker', SynchColors);
swatches = $('#settings_design_color .swatch');
-
+ swatches.each(InitColors);
swatches
.each(SynchColors)
.blur(function() {
diff --git a/lib/designsettings.php b/lib/designsettings.php
index fbffdb208..1b0e62166 100644
--- a/lib/designsettings.php
+++ b/lib/designsettings.php
@@ -182,7 +182,7 @@ class DesignSettingsAction extends AccountSettingsAction
'class' => 'swatch',
'maxlength' => '7',
'size' => '7',
- 'value' => '#' . $bgcolor->hexValue()));
+ 'value' => ''));
$this->elementEnd('li');
$ccolor = new WebColor($design->contentcolor);
@@ -195,7 +195,7 @@ class DesignSettingsAction extends AccountSettingsAction
'class' => 'swatch',
'maxlength' => '7',
'size' => '7',
- 'value' => '#' . $ccolor->hexValue()));
+ 'value' => ''));
$this->elementEnd('li');
$sbcolor = new WebColor($design->sidebarcolor);
@@ -208,7 +208,7 @@ class DesignSettingsAction extends AccountSettingsAction
'class' => 'swatch',
'maxlength' => '7',
'size' => '7',
- 'value' => '#' . $sbcolor->hexValue()));
+ 'value' => ''));
$this->elementEnd('li');
$tcolor = new WebColor($design->textcolor);
@@ -221,7 +221,7 @@ class DesignSettingsAction extends AccountSettingsAction
'class' => 'swatch',
'maxlength' => '7',
'size' => '7',
- 'value' => '#' . $tcolor->hexValue()));
+ 'value' => ''));
$this->elementEnd('li');
$lcolor = new WebColor($design->linkcolor);
@@ -234,7 +234,7 @@ class DesignSettingsAction extends AccountSettingsAction
'class' => 'swatch',
'maxlength' => '7',
'size' => '7',
- 'value' => '#' . $lcolor->hexValue()));
+ 'value' => ''));
$this->elementEnd('li');
} catch (WebColorException $e) {