From b01d96aed5004b6b07cf0e9437eb0bd95b8a70da Mon Sep 17 00:00:00 2001 From: Steven Wittens Date: Sun, 29 Oct 2006 13:21:46 +0000 Subject: [PATCH] #88202: Adding Garland theme to core. --- CHANGELOG.txt | 2 + misc/farbtastic/farbtastic.css | 33 + misc/farbtastic/farbtastic.js | 326 ++++++ misc/farbtastic/marker.png | Bin 0 -> 652 bytes misc/farbtastic/mask.png | Bin 0 -> 2020 bytes misc/farbtastic/wheel.png | Bin 0 -> 11733 bytes misc/favicon.ico | Bin 8430 -> 1150 bytes modules/color/color.css | 77 ++ modules/color/color.info | 4 + modules/color/color.js | 245 +++++ modules/color/color.module | 542 ++++++++++ modules/color/images/hook.png | Bin 0 -> 140 bytes modules/color/images/lock.png | Bin 0 -> 251 bytes modules/system/system.install | 8 +- profiles/default/default.profile | 2 +- themes/garland/block.tpl.php | 8 + themes/garland/color/base.png | Bin 0 -> 29774 bytes themes/garland/color/color.inc | 61 ++ themes/garland/color/preview.css | 58 ++ themes/garland/color/preview.png | Bin 0 -> 22111 bytes themes/garland/comment.tpl.php | 22 + themes/garland/fix-ie.css | 54 + themes/garland/images/bg-bar-white.png | Bin 0 -> 110 bytes themes/garland/images/bg-bar.png | Bin 0 -> 125 bytes themes/garland/images/bg-content-left.png | Bin 0 -> 3275 bytes themes/garland/images/bg-content-right.png | Bin 0 -> 3169 bytes themes/garland/images/bg-content.png | Bin 0 -> 485 bytes .../images/bg-navigation-item-hover.png | Bin 0 -> 441 bytes themes/garland/images/bg-navigation-item.png | Bin 0 -> 502 bytes themes/garland/images/bg-navigation.png | Bin 0 -> 104 bytes themes/garland/images/bg-tab.png | Bin 0 -> 115 bytes themes/garland/images/body.png | Bin 0 -> 712 bytes themes/garland/images/gradient-inner.png | Bin 0 -> 189 bytes themes/garland/images/menu-collapsed.gif | Bin 0 -> 176 bytes themes/garland/images/menu-expanded.gif | Bin 0 -> 183 bytes themes/garland/images/menu-leaf.gif | Bin 0 -> 175 bytes themes/garland/logo.png | Bin 0 -> 5399 bytes themes/garland/minnelli/color/base.png | Bin 0 -> 31169 bytes themes/garland/minnelli/color/color.inc | 61 ++ themes/garland/minnelli/color/preview.png | Bin 0 -> 199434 bytes themes/garland/minnelli/logo.png | Bin 0 -> 5399 bytes themes/garland/minnelli/screenshot.png | Bin 0 -> 6665 bytes themes/garland/minnelli/style.css | 20 + themes/garland/node.tpl.php | 31 + themes/garland/page.tpl.php | 92 ++ themes/garland/screenshot.png | Bin 0 -> 6634 bytes themes/garland/style.css | 924 ++++++++++++++++++ themes/garland/template.php | 87 ++ 48 files changed, 2652 insertions(+), 5 deletions(-) create mode 100644 misc/farbtastic/farbtastic.css create mode 100644 misc/farbtastic/farbtastic.js create mode 100644 misc/farbtastic/marker.png create mode 100644 misc/farbtastic/mask.png create mode 100644 misc/farbtastic/wheel.png create mode 100644 modules/color/color.css create mode 100644 modules/color/color.info create mode 100644 modules/color/color.js create mode 100644 modules/color/color.module create mode 100644 modules/color/images/hook.png create mode 100644 modules/color/images/lock.png create mode 100644 themes/garland/block.tpl.php create mode 100644 themes/garland/color/base.png create mode 100644 themes/garland/color/color.inc create mode 100644 themes/garland/color/preview.css create mode 100644 themes/garland/color/preview.png create mode 100644 themes/garland/comment.tpl.php create mode 100644 themes/garland/fix-ie.css create mode 100644 themes/garland/images/bg-bar-white.png create mode 100644 themes/garland/images/bg-bar.png create mode 100644 themes/garland/images/bg-content-left.png create mode 100644 themes/garland/images/bg-content-right.png create mode 100644 themes/garland/images/bg-content.png create mode 100644 themes/garland/images/bg-navigation-item-hover.png create mode 100644 themes/garland/images/bg-navigation-item.png create mode 100644 themes/garland/images/bg-navigation.png create mode 100644 themes/garland/images/bg-tab.png create mode 100644 themes/garland/images/body.png create mode 100644 themes/garland/images/gradient-inner.png create mode 100644 themes/garland/images/menu-collapsed.gif create mode 100644 themes/garland/images/menu-expanded.gif create mode 100644 themes/garland/images/menu-leaf.gif create mode 100644 themes/garland/logo.png create mode 100644 themes/garland/minnelli/color/base.png create mode 100644 themes/garland/minnelli/color/color.inc create mode 100644 themes/garland/minnelli/color/preview.png create mode 100644 themes/garland/minnelli/logo.png create mode 100644 themes/garland/minnelli/screenshot.png create mode 100644 themes/garland/minnelli/style.css create mode 100644 themes/garland/node.tpl.php create mode 100644 themes/garland/page.tpl.php create mode 100644 themes/garland/screenshot.png create mode 100644 themes/garland/style.css create mode 100644 themes/garland/template.php diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 9b6a01a0f0db..fc37b38bdffb 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -12,6 +12,8 @@ Drupal 5.0, xxxx-xx-xx (development version) * install pre-made 'install profiles' or distributions * import the database structure with automatic table prefixing * be localized +- added new default Garland theme +- added color module to change some themes' color schemes - included the jQuery JavaScript library 1.0.2 and converted all core JavaScript to use it - introduced the ability to alter mail sent from system - module system: diff --git a/misc/farbtastic/farbtastic.css b/misc/farbtastic/farbtastic.css new file mode 100644 index 000000000000..07d953f2d7ce --- /dev/null +++ b/misc/farbtastic/farbtastic.css @@ -0,0 +1,33 @@ +.farbtastic { + position: relative; +} +.farbtastic * { + position: absolute; + cursor: crosshair; +} +.farbtastic, .farbtastic .wheel { + width: 195px; + height: 195px; +} +.farbtastic .color, .farbtastic .overlay { + top: 47px; + left: 47px; + width: 101px; + height: 101px; +} +.farbtastic .wheel { + background: url(wheel.png) no-repeat; + width: 195px; + height: 195px; +} +.farbtastic .overlay { + background: url(mask.png) no-repeat; +} +.farbtastic .marker { + width: 17px; + height: 17px; + margin: -8px 0 0 -8px; + overflow: hidden; + background: url(marker.png) no-repeat; +} + diff --git a/misc/farbtastic/farbtastic.js b/misc/farbtastic/farbtastic.js new file mode 100644 index 000000000000..361179b756bf --- /dev/null +++ b/misc/farbtastic/farbtastic.js @@ -0,0 +1,326 @@ +// $Id$ +// Farbtastic 1.1 + +jQuery.fn.farbtastic = function (callback) { + $.farbtastic(this, callback); + return this; +}; + +jQuery.farbtastic = function (container, callback) { + var container = $(container).get(0); + return container.farbtastic || (container.farbtastic = new jQuery._farbtastic(container, callback)); +} + +jQuery._farbtastic = function (container, callback) { + // Store farbtastic object + var fb = this; + + // Insert markup + $(container).html('
'); + var e = $('.farbtastic', container); + fb.wheel = $('.wheel', container).get(0); + // Dimensions + fb.radius = 84; + fb.square = 100; + fb.width = 194; + + // Fix background PNGs in IE6 + if (navigator.appVersion.match(/MSIE [0-6]\./)) { + $('*', e).each(function () { + if (this.currentStyle.backgroundImage != 'none') { + var image = this.currentStyle.backgroundImage; + image = this.currentStyle.backgroundImage.substring(5, image.length - 2); + $(this).css({ + 'backgroundImage': 'none', + 'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')" + }); + } + }); + } + + /** + * Link to the given element(s) or callback. + */ + fb.linkTo = function (callback) { + // Unbind previous nodes + if (typeof fb.callback == 'object') { + $(fb.callback).unbind('keyup', fb.updateValue); + } + + // Bind callback or elements + if (typeof callback == 'function') { + fb.callback = callback; + } + else if (typeof callback == 'object' || typeof callback == 'string') { + fb.callback = $(callback); + fb.callback.bind('keyup', fb.updateValue); + if (fb.callback.get(0).value) { + fb.setColor(fb.callback.get(0).value); + } + } + return this; + } + fb.updateValue = function (event) { + if (this.value && this.value != fb.color) { + fb.setColor(this.value); + } + } + + /** + * Change color with HTML syntax #123456 + */ + fb.setColor = function (color) { + var unpack = fb.unpack(color); + if (fb.color != color && unpack) { + fb.color = color; + fb.rgb = unpack; + fb.hsl = fb.RGBToHSL(fb.rgb); + fb.updateDisplay(); + } + return this; + } + + /** + * Change color with HSL triplet [0..1, 0..1, 0..1] + */ + fb.setHSL = function (hsl) { + fb.hsl = hsl; + fb.rgb = fb.HSLToRGB(hsl); + fb.color = fb.pack(fb.rgb); + fb.updateDisplay(); + return this; + } + + ///////////////////////////////////////////////////// + + /** + * Retrieve the coordinates of the given event relative to the center + * of the widget. + */ + fb.widgetCoords = function (event) { + var x, y; + var el = event.target || event.srcElement; + var reference = fb.wheel; + + if (typeof event.offsetX != 'undefined') { + // Use offset coordinates and find common offsetParent + var pos = { x: event.offsetX, y: event.offsetY }; + + // Send the coordinates upwards through the offsetParent chain. + var e = el; + while (e) { + e.mouseX = pos.x; + e.mouseY = pos.y; + pos.x += e.offsetLeft; + pos.y += e.offsetTop; + e = e.offsetParent; + } + + // Look for the coordinates starting from the wheel widget. + var e = reference; + var offset = { x: 0, y: 0 } + while (e) { + if (typeof e.mouseX != 'undefined') { + x = e.mouseX - offset.x; + y = e.mouseY - offset.y; + break; + } + offset.x += e.offsetLeft; + offset.y += e.offsetTop; + e = e.offsetParent; + } + + // Reset stored coordinates + e = el; + while (e) { + e.mouseX = undefined; + e.mouseY = undefined; + e = e.offsetParent; + } + } + else { + // Use absolute coordinates + var pos = fb.absolutePosition(reference); + x = (event.pageX || 0*(event.clientX + $('html').get(0).scrollLeft)) - pos.x; + y = (event.pageY || 0*(event.clientY + $('html').get(0).scrollTop)) - pos.y; + } + // Subtract distance to middle + return { x: x - fb.width / 2, y: y - fb.width / 2 }; + } + + /** + * Mousedown handler + */ + fb.mousedown = function (event) { + // Capture mouse + if (!document.dragging) { + $(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup); + document.dragging = true; + } + + // Check which area is being dragged + var pos = fb.widgetCoords(event); + fb.circleDrag = Math.max(Math.abs(pos.x), Math.abs(pos.y)) * 2 > fb.square; + + // Process + fb.mousemove(event); + return false; + } + + /** + * Mousemove handler + */ + fb.mousemove = function (event) { + // Get coordinates relative to color picker center + var pos = fb.widgetCoords(event); + + // Set new HSL parameters + if (fb.circleDrag) { + var hue = Math.atan2(pos.x, -pos.y) / 6.28; + if (hue < 0) hue += 1; + fb.setHSL([hue, fb.hsl[1], fb.hsl[2]]); + } + else { + var sat = Math.max(0, Math.min(1, -(pos.x / fb.square) + .5)); + var lum = Math.max(0, Math.min(1, -(pos.y / fb.square) + .5)); + fb.setHSL([fb.hsl[0], sat, lum]); + } + return false; + } + + /** + * Mouseup handler + */ + fb.mouseup = function () { + // Uncapture mouse + $(document).unbind('mousemove', fb.mousemove); + $(document).unbind('mouseup', fb.mouseup); + document.dragging = false; + } + + /** + * Update the markers and styles + */ + fb.updateDisplay = function () { + // Markers + var angle = fb.hsl[0] * 6.28; + $('.h-marker', e).css({ + left: Math.round(Math.sin(angle) * fb.radius + fb.width / 2) + 'px', + top: Math.round(-Math.cos(angle) * fb.radius + fb.width / 2) + 'px' + }); + + $('.sl-marker', e).css({ + left: Math.round(fb.square * (.5 - fb.hsl[1]) + fb.width / 2) + 'px', + top: Math.round(fb.square * (.5 - fb.hsl[2]) + fb.width / 2) + 'px' + }); + + // Saturation/Luminance gradient + $('.color', e).css('backgroundColor', fb.pack(fb.HSLToRGB([fb.hsl[0], 1, 0.5]))); + + // Linked elements or callback + if (typeof fb.callback == 'object') { + // Set background/foreground color + $(fb.callback).css({ + backgroundColor: fb.color, + color: fb.hsl[2] > 0.5 ? '#000' : '#fff' + }); + + // Change linked value + $(fb.callback).each(function() { + if (this.value && this.value != fb.color) { + this.value = fb.color; + } + }); + } + else if (typeof fb.callback == 'function') { + fb.callback.call(fb, fb.color); + } + } + + /** + * Get absolute position of element + */ + fb.absolutePosition = function (el) { + var r = { x: el.offsetLeft, y: el.offsetTop }; + // Resolve relative to offsetParent + if (el.offsetParent) { + var tmp = fb.absolutePosition(el.offsetParent); + r.x += tmp.x; + r.y += tmp.y; + } + return r; + }; + + /* Various color utility functions */ + fb.pack = function (rgb) { + var r = Math.round(rgb[0] * 255); + var g = Math.round(rgb[1] * 255); + var b = Math.round(rgb[2] * 255); + return '#' + (r < 16 ? '0' : '') + r.toString(16) + + (g < 16 ? '0' : '') + g.toString(16) + + (b < 16 ? '0' : '') + b.toString(16); + } + + fb.unpack = function (color) { + if (color.length == 7) { + return [parseInt('0x' + color.substring(1, 3)) / 255, + parseInt('0x' + color.substring(3, 5)) / 255, + parseInt('0x' + color.substring(5, 7)) / 255]; + } + else if (color.length == 4) { + return [parseInt('0x' + color.substring(1, 2)) / 15, + parseInt('0x' + color.substring(2, 3)) / 15, + parseInt('0x' + color.substring(3, 4)) / 15]; + } + } + + fb.HSLToRGB = function (hsl) { + var m1, m2, r, g, b; + var h = hsl[0], s = hsl[1], l = hsl[2]; + m2 = (l <= 0.5) ? l * (s + 1) : l + s - l*s; + m1 = l * 2 - m2; + return [this.hueToRGB(m1, m2, h+0.33333), + this.hueToRGB(m1, m2, h), + this.hueToRGB(m1, m2, h-0.33333)]; + } + + fb.hueToRGB = function (m1, m2, h) { + h = (h < 0) ? h + 1 : ((h > 1) ? h - 1 : h); + if (h * 6 < 1) return m1 + (m2 - m1) * h * 6; + if (h * 2 < 1) return m2; + if (h * 3 < 2) return m1 + (m2 - m1) * (0.66666 - h) * 6; + return m1; + } + + fb.RGBToHSL = function (rgb) { + var min, max, delta, h, s, l; + var r = rgb[0], g = rgb[1], b = rgb[2]; + min = Math.min(r, Math.min(g, b)); + max = Math.max(r, Math.max(g, b)); + delta = max - min; + l = (min + max) / 2; + s = 0; + if (l > 0 && l < 1) { + s = delta / (l < 0.5 ? (2 * l) : (2 - 2 * l)); + } + h = 0; + if (delta > 0) { + if (max == r && max != g) h += (g - b) / delta; + if (max == g && max != b) h += (2 + (b - r) / delta); + if (max == b && max != r) h += (4 + (r - g) / delta); + h /= 6; + } + return [h, s, l]; + } + + // Install mousedown handler (the others are set on the document on-demand) + $('*', e).mousedown(fb.mousedown); + + // Init color + fb.setColor('#000000'); + + // Set linked elements/callback + if (callback) { + fb.linkTo(callback); + } +} \ No newline at end of file diff --git a/misc/farbtastic/marker.png b/misc/farbtastic/marker.png new file mode 100644 index 0000000000000000000000000000000000000000..3929bbb51dd950802bb9bf12a397d1ac1e140610 GIT binary patch literal 652 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 literal 0 HcmV?d00001 diff --git a/misc/favicon.ico b/misc/favicon.ico index 18e2d52f94af7d9210ae79a9976ee977c3202733..0ed7df519eab2572e3db8d2cf395fb2ab601b071 100644 GIT binary patch literal 1150 zcmai!TSyd97{@;`H0VKJk|GnIL@0c#Kqw))Jw$~TiBgCUwV0R9Ts6A5T8LPfxmuEe zl9v**TwPsVcf4%L+HSaOnptLEc5U0hP>=}opPe)7EX%;+4F5UjeBb}~&6#s%hA4oY zp`paCk)+r{6h=hROf1AAo;YiWSWbSdudkC_W?f}kL*cQWO2uwh{q2M9uE&>z_ubV> zxlca+JYqOfrHGgU=#M5j z5REtXp}FV~G$|n{Pu`B&>?l#yig46r>{^|)be@sd&|Z)Hrq3iy8SaARL@oXJioV)( zbUa9a_Wo%!-Q16rB^SO=+ZTL!Ye$)~Petg>CM?gr^YT)i`3V#H>awu%Yr&fvHN8+t zHM;K|7C5g@C(H;XUXRG*FXrBA&{}u^R$UpewkqaL%>{!J-=+$43ykl%%I1(0j4Ays zEYDl;bG!`}O)T_R2<>Tvhvx{-)p4+Bi&2vq<(7DDez=44hHIW0UCiIDWb?`Jh{ugN zEXSU&B9Tzc_NMZ3#H_^kYT{dk4VHUFF|W735ffOAcDBalNraZtvn>)oHrSB#=FUzS zbGM53E4%UZrNCRWuHgOH)tS*0t%Qf?1kDQmr6T=+>ud(>?HG7^QaZmW(^7YlJ_l~i5 zCr0x6Yroix@pGTd)8o(LVaQ_NK~ap|ZhV^R&+jj8dzH6ne3aDaFTYvbKG1Y=GtXKa f(NYM}Y%tM4phxNeB40^y?%`g}{3{^#-yr%A@P5Y- literal 8430 zcmcgxYitx%6u#RCO~Ay6K|w>JiI!+$&_qQ8@EKF zB^XmmF^Uk37J~lJ@G2+^1lJ-F5TOPNtbicWmKF+KV0Vw-nb~`Dc6MfVm=-2Id(S=h zobNmH+MREzR76EpS((CkvwAhE)L5lddAU7rzD}tnh}rXU)r`EyV0R)1gF>2Bhe3@) zUh!@21ZDpGv*XpANn*1LU90S5uTMt_(hMqm`%iMgmz&Hth0>AvHkw&A_!30!h)i(! zNJGSY+ATS998;4FCrExFKB^F;-`{s2%c%jE6#gZ-ZuDTId6np_yiqnF{k)`tN$^Zl zYL}R45CYj?GR)Rk zsa*fUVCB~s*hN#WIhq&ym*lAKq+RF{N$g zl=dHI^&Ckgw>4tPqy@#b@)|{9V`XIVi`N<)<5rVh4AeJE`3#K*U%dXAZ|vCO5^kW2%zB{>lMboq)_-k4Cd^Vdk zXT(-*Ip^HO+}41U-C7E>aft^*r(E_!HZQ$^Q-jWTZhbq$k);O|-b zq&%=F?>qhX-mfQ_2H;?dph1R{xpV=i+Y4XT!r#~YLSI)ho6Vf>Xg|27dds^*90`~r z*uMIm-jn;%sk3K}?O0Va+<@DTJVb@%9H}XBkLw>^x#|GNRBkdewC|u8aC|f-DXu>L zp=A$;J~*b(?1JncJ`zr^n`Y8NJ2t)p+{Qn%@#WTe*M~;73w`kSF1-81_s?7*e0vwV zTVC2Vzq~&b=-+DtZ0iR%oQuDns2kcJ3NL(n7j`cgarWmKzl5dm0k@aX`5y~LoQu!g z`N^=$-HW2&h5`qwr)B!_RZssqw=5t_KyX6=*nN$oj($7dAAeIde+`D){E_3cW1*2{ zKVB>{r~kf#rT>712!^6?X`muD#XzCC;(#LfM%|@E@hA~wLsqHUv{Dr*rG|AYRmzrB zDyA*2RMgG%I*+=JF&K+68QbDuuJkaXYz3Y;*fvqVPAONs)shQ#c~xf?L8PhdyxDN|2fRl zFo78%$R9D6Ybv)EajvJqKhdiP2d8x{AU0WZGd~;Zg)xWVsVWg`GSB!~)K7Bj0oa;T zkM|+g$DEK;1U*F%R0KsukW^ML5LEWUz*2>MF*#>Zid zvj+$NV9eW?8)}QB+`>(TXZaLCa}h)rL3I&i7eRLsRF`FtUgVGn1pS2`V!8*umRRta z>%qZ4i@Dic)fhK{4Wf*o$_Nkg1YJfDX5^~O>~w-a)BHTX;lV!$yvH=Zk6O#2qL1#Q zL6CRt=NbS?y*3yd4(VsnL;n$9li-u~nG64RiN`+VAVCkJj|@Q(5+or({uOZRI$nb| zB#1+TIwZ(Lf)d(gT6amIyK4SlYQ^(A`v&xQX(u7{Sr8vOHI_{TCov@SvH zUXdQe{@?Gy&%b}WpoIxy_)7Ah*4#XTQ`)n93?P;XYI(qW$nF0GAAas-9W)|AO%vqw zK=-gla=Yw5^WOsd2Wp!jw+VWCpnBln)|+7Fx8H-Gd$+?O<}!{%>>!^D2zG*ECrI`%eY6ATE{PwIpL^wZ1Yf~2Q1k>ze>waa)O`sng<1P8 zN8JO9AsP4Z#~{7}mVy=QfpeN+qhYStc>*jq@yd0?`FKo(eGWSdlfAU$)?D`&YgR9A z+&ZRn0*?IujXf~#VR?`m&Eq!)!4Wyb;h%@yA!31#xmO>>upI04j(Hxx7e|n|AFfz) s-S;5)oa6P5BAI(X5%+jE;TG35uJ0=9B1Fj;-cwZM-c!`#`M8$;2kjY6fB*mh diff --git a/modules/color/color.css b/modules/color/color.css new file mode 100644 index 000000000000..0b532e966247 --- /dev/null +++ b/modules/color/color.css @@ -0,0 +1,77 @@ +/* Farbtastic placement */ +.color-form { + max-width: 50em; + position: relative; +} +#placeholder { + position: absolute; + top: 0; + right: 0; +} + +/* Palette */ +.color-form .form-item { + height: 2em; + line-height: 2em; + padding-left: 1em; + margin: 0.5em 0; +} +.color-form label { + float: left; + clear: left; + width: 10em; +} +.color-form .form-text, .color-form .form-select { + float: left; +} +.color-form .form-text { + text-align: center; + margin-right: 5px; + cursor: pointer; +} + +#palette .hook { + float: left; + margin-top: 3px; + width: 16px; + height: 16px; +} +#palette .down, #palette .up, #palette .both { + background: url('images/hook.png') no-repeat 100% 0; +} +#palette .up { + background-position: 100% -27px; +} +#palette .both { + background-position: 100% -54px; +} + +#palette .lock { + float: left; + position: relative; + top: -1.4em; + left: -10px; + width: 20px; + height: 25px; + background: url('images/lock.png') no-repeat 50% 2px; + cursor: pointer; +} +#palette .unlocked { + background-position: 50% -22px; +} +#palette .form-item { + width: 20em; +} +#palette .item-selected { + background: #eee; +} + +/* Preview */ +#preview { + display: none; +} +html.js #preview { + display: block; + position: relative; + float: left; +} diff --git a/modules/color/color.info b/modules/color/color.info new file mode 100644 index 000000000000..642eae03836f --- /dev/null +++ b/modules/color/color.info @@ -0,0 +1,4 @@ +; $Id$ +name = Color +description = Allows the user to change the color scheme of certain themes. +package = Core - optional diff --git a/modules/color/color.js b/modules/color/color.js new file mode 100644 index 000000000000..5bf26a988795 --- /dev/null +++ b/modules/color/color.js @@ -0,0 +1,245 @@ +if (Drupal.jsEnabled) { + $(document).ready(function () { + var form = $('#color_scheme_form .color-form'); + var inputs = []; + var hooks = []; + var locks = []; + var focused = null; + + // Add Farbtastic + $(form).prepend('
'); + var farb = $.farbtastic('#placeholder'); + + // Decode reference colors to HSL + var reference = Drupal.settings.color.reference; + for (i in reference) { + reference[i] = farb.RGBToHSL(farb.unpack(reference[i])); + } + + // Build preview + $('#preview').append('
'); + var gradient = $('#preview #gradient'); + var h = parseInt(gradient.css('height')) / 10; + for (i = 0; i < h; ++i) { + gradient.append('
'); + } + + // Fix preview background in IE6 + if (navigator.appVersion.match(/MSIE [0-6]\./)) { + var e = $('#preview #img')[0]; + var image = e.currentStyle.backgroundImage; + e.style.backgroundImage = 'none'; + e.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image.substring(5, image.length - 2) + "')"; + } + + // Set up colorscheme selector + $('#edit-scheme', form).change(function () { + var colors = this.options[this.selectedIndex].value; + if (colors != '') { + colors = colors.split(','); + for (i in colors) { + callback(inputs[i], colors[i], false, true); + } + preview(); + } + }); + + /** + * Render the preview. + */ + function preview() { + // Solid background + $('#preview', form).css('backgroundColor', inputs[0].value); + + // Text preview + $('#text', form).css('color', inputs[4].value); + $('#text a, #text h2', form).css('color', inputs[1].value); + + // Set up gradient + var top = farb.unpack(inputs[2].value); + var bottom = farb.unpack(inputs[3].value); + if (top && bottom) { + var delta = []; + for (i in top) { + delta[i] = (bottom[i] - top[i]) / h; + } + var accum = top; + + // Render gradient lines + $('#gradient > div', form).each(function () { + for (i in accum) { + accum[i] += delta[i]; + } + this.style.backgroundColor = farb.pack(accum); + }); + } + } + + /** + * Shift a given color, using a reference pair (ref in HSL). + * + * This algorithm ensures relative ordering on the saturation and luminance + * axes is preserved, and performs a simple hue shift. + * + * It is also symmetrical. If: shift_color(c, a, b) == d, + * then shift_color(d, b, a) == c. + */ + function shift_color(given, ref1, ref2) { + // Convert to HSL + given = farb.RGBToHSL(farb.unpack(given)); + + // Hue: apply delta + given[0] += ref2[0] - ref1[0]; + + // Saturation: interpolate + if (ref1[1] == 0 || ref2[1] == 0) { + given[1] = ref2[1]; + } + else { + var d = ref1[1] / ref2[1]; + if (d > 1) { + given[1] /= d; + } + else { + given[1] = 1 - (1 - given[1]) * d; + } + } + + // Luminance: interpolate + if (ref1[2] == 0 || ref2[2] == 0) { + given[2] = ref2[2]; + } + else { + var d = ref1[2] / ref2[2]; + if (d > 1) { + given[2] /= d; + } + else { + given[2] = 1 - (1 - given[2]) * d; + } + } + + return farb.pack(farb.HSLToRGB(given)); + } + + /** + * Callback for Farbtastic when a new color is chosen. + */ + function callback(input, color, propagate, colorscheme) { + // Set background/foreground color + $(input).css({ + backgroundColor: color, + color: farb.RGBToHSL(farb.unpack(color))[2] > 0.5 ? '#000' : '#fff' + }); + + // Change input value + if (input.value && input.value != color) { + input.value = color; + + // Update locked values + if (propagate) { + var i = input.i; + for (j = i + 1; ; ++j) { + if (!locks[j - 1] || $(locks[j - 1]).is('.unlocked')) break; + var matched = shift_color(color, reference[input.key], reference[inputs[j].key]); + callback(inputs[j], matched, false); + } + for (j = i - 1; ; --j) { + if (!locks[j] || $(locks[j]).is('.unlocked')) break; + var matched = shift_color(color, reference[input.key], reference[inputs[j].key]); + callback(inputs[j], matched, false); + } + + // Update preview + preview(); + } + + // Reset colorscheme selector + if (!colorscheme) { + resetScheme(); + } + } + + } + + /** + * Reset the color scheme selector. + */ + function resetScheme() { + $('#edit-scheme', form).each(function () { + this.selectedIndex = this.options.length - 1; + }); + } + + // Focus the Farbtastic on a particular field. + function focus() { + var input = this; + // Remove old bindings + focused && $(focused).unbind('keyup', farb.updateValue) + .unbind('keyup', preview).unbind('keyup', resetScheme) + .parent().removeClass('item-selected'); + + // Add new bindings + focused = this; + farb.linkTo(function (color) { callback(input, color, true, false) }); + farb.setColor(this.value); + $(focused).keyup(farb.updateValue).keyup(preview).keyup(resetScheme) + .parent().addClass('item-selected'); + } + + // Initialize color fields + $('#palette input.form-text', form) + .each(function () { + // Extract palette field name + this.key = this.id.substring(13); + + // Link to color picker temporarily to initialize. + farb.linkTo(function () {}).setColor('#000').linkTo(this); + + // Add lock + var i = inputs.length; + if (inputs.length) { + var lock = $('
').toggle( + function () { + $(this).addClass('unlocked'); + $(hooks[i - 1]).attr('class', + locks[i - 2] && $(locks[i - 2]).is(':not(.unlocked)') ? 'hook up' : 'hook' + ); + $(hooks[i]).attr('class', + locks[i] && $(locks[i]).is(':not(.unlocked)') ? 'hook down' : 'hook' + ); + }, + function () { + $(this).removeClass('unlocked'); + $(hooks[i - 1]).attr('class', + locks[i - 2] && $(locks[i - 2]).is(':not(.unlocked)') ? 'hook both' : 'hook down' + ); + $(hooks[i]).attr('class', + locks[i] && $(locks[i]).is(':not(.unlocked)') ? 'hook both' : 'hook up' + ); + } + ); + $(this).after(lock); + locks.push(lock); + } + + // Add hook + var hook = $('
'); + $(this).after(hook); + hooks.push(hook); + + $(this).parent().find('.lock').click(); + this.i = i; + inputs.push(this); + }) + .focus(focus); + + $('#palette label', form) + + // Focus first color + focus.call(inputs[0]); + + // Render preview + preview(); + }); +} \ No newline at end of file diff --git a/modules/color/color.module b/modules/color/color.module new file mode 100644 index 000000000000..98b6e337d52c --- /dev/null +++ b/modules/color/color.module @@ -0,0 +1,542 @@ + 'fieldset', + '#title' => t('Color scheme'), + '#weight' => -1, + '#attributes' => array('id' => 'color_scheme_form'), + '#theme' => 'color_scheme_form', + ); + $form['color'] += color_scheme_form(arg(4)); + $form['#submit']['color_scheme_form_submit'] = array(); + } + + // Use the generated screenshot in the theme list + if ($form_id == 'system_theme_select_form' || $form_id == 'system_themes') { + $themes = list_themes(); + foreach (element_children($form) as $theme) { + if ($screenshot = variable_get('color_'. $theme .'_screenshot', NULL)) { + if (isset($form[$theme]['screenshot'])) { + $form[$theme]['screenshot']['#value'] = theme('image', $screenshot, '', '', array('class' => 'screenshot'), FALSE); + } + } + } + } +} + +/** + * Callback for the theme to alter the resources used. + */ +function _color_page_alter(&$vars) { + global $theme_key; + + // Override stylesheet + $path = variable_get('color_'. $theme_key .'_stylesheet', NULL); + if ($path) { + $vars['css']['theme'] = array($path => array('path' => $path, 'media' => 'all')); + $vars['styles'] = drupal_get_css($vars['css']); + } + + // Override logo + $logo = variable_get('color_'. $theme_key .'_logo', NULL); + if ($logo && $vars['logo'] && preg_match('!'. $theme_key .'/logo.png$!', $vars['logo'])) { + $vars['logo'] = $logo; + } + + return $vars; +} + +/** + * Retrieve the color.module info for a particular theme. + */ +function color_get_info($theme) { + $path = drupal_get_path('theme', $theme); + $file = $path .'/color/color.inc'; + if ($path && file_exists($file)) { + include $file; + return $info; + } +} + +/** + * Helper function to retrieve the color palette for a particular theme. + */ +function color_get_palette($theme, $default = false) { + // Fetch and expand default palette + $fields = array('base', 'link', 'top', 'bottom', 'text'); + $info = color_get_info($theme); + foreach (explode(',', array_shift(array_keys($info['schemes']))) as $k => $scheme) { + $palette[$fields[$k]] = $scheme; + } + + // Load variable + return $default ? $palette : variable_get('color_'. $theme .'_palette', $palette); +} + +/** + * Form callback. Returns the configuration form. + */ +function color_scheme_form($theme) { + $base = drupal_get_path('module', 'color'); + $info = color_get_info($theme); + + // Add Farbtastic color picker + drupal_add_css('misc/farbtastic/farbtastic.css'); + drupal_add_js('misc/farbtastic/farbtastic.js'); + + // Add custom CSS/JS + drupal_add_css($base .'/color.css', 'module'); + drupal_add_js($base .'/color.js'); + drupal_add_js(array('color' => array( + 'reference' => color_get_palette($theme, true) + )), 'setting'); + + // See if we're using a predefined scheme + $current = implode(',', variable_get('color_'. $theme .'_palette', array())); + // Note: we use the original theme when the default scheme is chosen. + $current = isset($info['schemes'][$current]) ? $current : ($current == '' ? reset($info['schemes']) : ''); + + // Add scheme selector + $info['schemes'][''] = t('Custom'); + $form['scheme'] = array( + '#type' => 'select', + '#title' => t('Color set'), + '#options' => $info['schemes'], + '#default_value' => $current, + ); + + // Add palette fields + $palette = color_get_palette($theme); + $names = array( + 'base' => t('Base color'), + 'link' => t('Link color'), + 'top' => t('Header top'), + 'bottom' => t('Header bottom'), + 'text' => t('Text color') + ); + $form['palette']['#tree'] = true; + foreach ($palette as $name => $value) { + $form['palette'][$name] = array( + '#type' => 'textfield', + '#title' => $names[$name], + '#default_value' => $value, + '#size' => 8, + ); + } + $form['theme'] = array('#type' => 'value', '#value' => arg(4)); + $form['info'] = array('#type' => 'value', '#value' => $info); + + return $form; +} + +/** + * Theme color form. + */ +function theme_color_scheme_form($form) { + // Include stylesheet + $theme = $form['theme']['#value']; + $info = $form['info']['#value']; + $path = drupal_get_path('theme', $theme) .'/'; + drupal_add_css($path . $info['preview_css']); + + // Wrapper + $output .= '
'; + + // Color Schemes + $output .= drupal_render($form['scheme']); + + // Palette + $output .= '
'; + foreach (element_children($form['palette']) as $name) { + $output .= drupal_render($form['palette'][$name]); + } + $output .= '
'; + + // Preview + $output .= drupal_render($form); + $output .= '

'. t('Preview') .'

'; + $output .= '

Lorem ipsum dolor

Sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

'; + + $output .= '
'; + + return $output; +} + +/** + * Submit handler for color change form. + */ +function color_scheme_form_submit($form_id, $values) { + // Get theme coloring info + if (!isset($values['info'])) { + return; + } + $theme = $values['theme']; + $info = $values['info']; + + // Resolve palette + $palette = $values['palette']; + if ($values['scheme'] != '') { + $scheme = explode(',', $values['scheme']); + foreach ($palette as $k => $color) { + $palette[$k] = array_shift($scheme); + } + } + + // Delete old files + foreach (variable_get('color_'. $theme .'_files', array()) as $file) { + @unlink($file); + } + if ($file = dirname($file)) { + @rmdir($file); + } + + // Don't render the default colorscheme, use the standard theme instead. + if (implode(',', color_get_palette($theme, true)) == implode(',', $palette) + || $values['op'] == t('Reset to defaults')) { + variable_del('color_'. $theme .'_palette'); + variable_del('color_'. $theme .'_stylesheet'); + variable_del('color_'. $theme .'_logo'); + variable_del('color_'. $theme .'_files'); + variable_del('color_'. $theme .'_screenshot'); + return; + } + + // Prepare target locations for generated files + $id = $theme .'-'. substr(md5(serialize($palette) . microtime()), 0, 8); + $paths['target'] = variable_get('file_directory_path', 'files') .'/color/'. $id .'/'; + foreach ($paths as $path) { + if (!is_dir($path)) { + mkdir($path); + } + } + $paths['id'] = $id; + $paths['source'] = drupal_get_path('theme', $theme) .'/'; + $paths['stylesheet'] = $paths['target'] .'style.css'; + $paths['files'] = $paths['map'] = array(); + + // Save palette and stylesheet location + variable_set('color_'. $theme .'_palette', $palette); + variable_set('color_'. $theme .'_stylesheet', $paths['stylesheet']); + variable_set('color_'. $theme .'_logo', $paths['target'] .'logo.png'); + + // Copy over neutral images + foreach ($info['copy'] as $file) { + $base = basename($file); + copy($paths['source'] . $file, $paths['target'] . $base); + $paths['map'][$file] = $base; + $paths['files'][] = $paths['target'] . $base; + } + + // Render new images + _color_render_images($theme, $info, $paths, $palette); + + // Rewrite stylesheet + _color_rewrite_stylesheet($theme, $info, $paths, $palette); + + // Maintain list of files + variable_set('color_'. $theme .'_files', $paths['files']); +} + +/** + * Rewrite the stylesheet to match the colors in the palette. + */ +function _color_rewrite_stylesheet($theme, &$info, &$paths, $palette) { + // Load stylesheet + $style = file_get_contents($paths['source'] .'style.css'); + + // Prepare color conversion table + $conversion = $palette; + unset($conversion['base']); + foreach ($conversion as $k => $v) { + $conversion[$k] = drupal_strtolower($v); + } + $default = color_get_palette($theme, true); + + // Split off the "Don't touch" section of the stylesheet. + list($style, $fixed) = explode("Color Module: Don't touch", $style); + + // Look for @import commands and insert the referenced stylesheets. + $cwd = getcwd(); + chdir(drupal_get_path('theme', $theme)); + $style = preg_replace_callback('/@import\s*["\']([^"\']+)["\'];/', '_color_import_stylesheet', $style); + chdir($cwd); + + // Find all colors in the stylesheet and the chunks in between. + $style = preg_split('/(#[0-9a-f]{6}|#[0-9a-f]{3})/i', $style, -1, PREG_SPLIT_DELIM_CAPTURE); + $is_color = false; + $output = ''; + $base = 'base'; + + // Iterate over all parts + foreach ($style as $chunk) { + if ($is_color) { + $chunk = drupal_strtolower($chunk); + // Check if this is one of the colors in the default palette + if ($key = array_search($chunk, $default)) { + $chunk = $conversion[$key]; + } + // Not a pre-set color. Extrapolate from the base. + else { + $chunk = _color_shift($palette[$base], $default[$base], $chunk, $info['blend_target']); + } + } + else { + // Determine the most suitable base color for the next color. + + // 'a' declarations. Use link. + if (preg_match('@[^a-z0-9_-](a)[^a-z0-9_-][^/{]*{[^{]+$@i', $chunk)) { + $base = 'link'; + } + // 'color:' styles. Use text. + else if (preg_match('/(? $after) { + $output = str_replace($before, $after, $output); + } + + // Write new stylesheet + $file = fopen($paths['stylesheet'], 'w+'); + fwrite($file, $output); + fclose($file); + $paths['files'][] = $paths['stylesheet']; +} + +/** + * Helper function for _color_rewrite_stylesheet. + */ +function _color_import_stylesheet($matches) { + return preg_replace('/url\(([\'"]?)(?![a-z]+:)/i', 'url(\1'. dirname($matches[1]) .'/', file_get_contents($matches[1])); +} + +/** + * Render images that match a given palette. + */ +function _color_render_images($theme, &$info, &$paths, $palette) { + + // Prepare template image + $source = $paths['source'] .'/'. $info['base_image']; + $source = imagecreatefrompng($source); + + // Prepare target buffer + $width = imagesx($source); + $height = imagesy($source); + $target = imagecreatetruecolor($width, $height); + imagealphablending($target, true); + + // Fill regions of solid color. + foreach ($info['fill'] as $color => $fill) { + imagefilledrectangle($target, $fill[0], $fill[1], $fill[0] + $fill[2], $fill[1] + $fill[3], _color_gd($target, $palette[$color])); + } + + // Render gradient + for ($y = 0; $y < $info['gradient'][3]; ++$y) { + $color = _color_blend($target, $palette['top'], $palette['bottom'], $y / ($info['gradient'][3] - 1)); + imagefilledrectangle($target, $info['gradient'][0], $info['gradient'][1] + $y, $info['gradient'][2], $info['gradient'][1] + $y + 1, $color); + } + + // Blend over template + imagecopy($target, $source, 0, 0, 0, 0, $width, $height); + + // Cut out slices + foreach ($info['slices'] as $file => $coord) { + list($x, $y, $width, $height) = $coord; + $base = basename($file); + $image = $paths['target'] . $base; + + // Cut out slice + if ($file == 'screenshot.png') { + $slice = imagecreatetruecolor(150, 90); + imagecopyresampled($slice, $target, 0, 0, $x, $y, 150, 90, $width, $height); + variable_set('color_'. $theme .'_screenshot', $image); + } + else { + $slice = imagecreatetruecolor($width, $height); + imagecopy($slice, $target, 0, 0, $x, $y, $width, $height); + } + + // Save image + imagepng($slice, $image); + imagedestroy($slice); + $paths['files'][] = $image; + + // Build before/after map of image paths. + $paths['map'][$file] = $base; + } + + // Clean up + imagedestroy($source); + imagedestroy($target); +} + +/** + * Shift a given color, using a reference pair and a target blend color. + * + * Note: this function is significantly different from the JS version, as it + * is written to match the blended images perfectly. + * + * Constraint: if (ref2 == target + (ref1 - target) * delta) for some fraction delta + * then (return == target + (given - target) * delta) + * + * Loose constraint: Preserve relative positions in saturation and luminance + * space. + */ +function _color_shift($given, $ref1, $ref2, $target) { + + // We assume that ref2 is a blend of ref1 and target and find + // delta based on the length of the difference vectors: + + // delta = 1 - |ref2 - ref1| / |white - ref1| + $target = _color_unpack($target, true); + $ref1 = _color_unpack($ref1, true); + $ref2 = _color_unpack($ref2, true); + for ($i = 0; $i < 3; ++$i) { + $numerator += ($ref2[$i] - $ref1[$i]) * ($ref2[$i] - $ref1[$i]); + $denominator += ($target[$i] - $ref1[$i]) * ($target[$i] - $ref1[$i]); + } + $delta = ($denominator > 0) ? (1 - sqrt($numerator / $denominator)) : 0; + + // Calculate the color that ref2 would be if the assumption was true. + for ($i = 0; $i < 3; ++$i) { + $ref3[$i] = $target[$i] + ($ref1[$i] - $target[$i]) * $delta; + } + + // If the assumption is not true, there is a difference between ref2 and ref3. + // We measure this in HSL space. Notation: x' = hsl(x). + $ref2 = _color_rgb2hsl($ref2); + $ref3 = _color_rgb2hsl($ref3); + for ($i = 0; $i < 3; ++$i) { + $shift[$i] = $ref2[$i] - $ref3[$i]; + } + + // Take the given color, and blend it towards the target. + $given = _color_unpack($given, true); + for ($i = 0; $i < 3; ++$i) { + $result[$i] = $target[$i] + ($given[$i] - $target[$i]) * $delta; + } + + // Finally, we apply the extra shift in HSL space. + // Note: if ref2 is a pure blend of ref1 and target, then |shift| = 0. + $result = _color_rgb2hsl($result); + for ($i = 0; $i < 3; ++$i) { + $result[$i] = min(1, max(0, $result[$i] + $shift[$i])); + } + $result = _color_hsl2rgb($result); + + // Return hex color. + return _color_pack($result, true); +} + +/** + * Convert a hex triplet into a GD color. + */ +function _color_gd($img, $hex) { + $c = array_merge(array($img), _color_unpack($hex)); + return call_user_func_array('imagecolorallocate', $c); +} + +/** + * Blend two hex colors and return the GD color. + */ +function _color_blend($img, $hex1, $hex2, $alpha) { + $in1 = _color_unpack($hex1); + $in2 = _color_unpack($hex2); + $out = array($img); + for ($i = 0; $i < 3; ++$i) { + $out[] = $in1[$i] + ($in2[$i] - $in1[$i]) * $alpha; + } + return call_user_func_array('imagecolorallocate', $out); +} + +/** + * Convert a hex color into an RGB triplet. + */ +function _color_unpack($hex, $normalize = false) { + if (strlen($hex) == 4) { + $hex = $hex[1] . $hex[1] . $hex[2] . $hex[2] . $hex[3] . $hex[3]; + } + $c = hexdec($hex); + for ($i = 16; $i >= 0; $i -= 8) { + $out[] = (($c >> $i) & 0xFF) / ($normalize ? 255 : 1); + } + return $out; +} + +/** + * Convert an RGB triplet to a hex color. + */ +function _color_pack($rgb, $normalize = false) { + foreach ($rgb as $k => $v) { + $out |= (($v * ($normalize ? 255 : 1)) << (16 - $k * 8)); + } + return '#'. str_pad(dechex($out), 6, 0, STR_PAD_LEFT); +} + +/** + * Convert a HSL triplet into RGB + */ +function _color_hsl2rgb($hsl) { + $h = $hsl[0]; + $s = $hsl[1]; + $l = $hsl[2]; + $m2 = ($l <= 0.5) ? $l * ($s + 1) : $l + $s - $l*$s; + $m1 = $l * 2 - $m2; + return array(_color_hue2rgb($m1, $m2, $h + 0.33333), + _color_hue2rgb($m1, $m2, $h), + _color_hue2rgb($m1, $m2, $h - 0.33333)); +} + +/** + * Helper function for _color_hsl2rgb(). + */ +function _color_hue2rgb($m1, $m2, $h) { + $h = ($h < 0) ? $h + 1 : (($h > 1) ? $h - 1 : $h); + if ($h * 6 < 1) return $m1 + ($m2 - $m1) * $h * 6; + if ($h * 2 < 1) return $m2; + if ($h * 3 < 2) return $m1 + ($m2 - $m1) * (0.66666 - $h) * 6; + return $m1; +} + +/** + * Convert an RGB triplet to HSL. + */ +function _color_rgb2hsl($rgb) { + $r = $rgb[0]; + $g = $rgb[1]; + $b = $rgb[2]; + $min = min($r, min($g, $b)); + $max = max($r, max($g, $b)); + $delta = $max - $min; + $l = ($min + $max) / 2; + $s = 0; + if ($l > 0 && $l < 1) { + $s = $delta / ($l < 0.5 ? (2 * $l) : (2 - 2 * $l)); + } + $h = 0; + if ($delta > 0) { + if ($max == $r && $max != $g) $h += ($g - $b) / $delta; + if ($max == $g && $max != $b) $h += (2 + ($b - $r) / $delta); + if ($max == $b && $max != $r) $h += (4 + ($r - $g) / $delta); + $h /= 6; + } + return array($h, $s, $l); +} \ No newline at end of file diff --git a/modules/color/images/hook.png b/modules/color/images/hook.png new file mode 100644 index 0000000000000000000000000000000000000000..664f0915b847f453cd6bddfdbafa6f01d4f4f3c6 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^96%h%!3-pC1cHvk< z0(?ST|NsB*;^K1r>(5s}5yp}rzhDN3XE)M-97RtT#}JK)$q5U144fF}_)9j=YlvCC ksJfDaF{`qY?NMQuI$&iBv`d&j|eA90EN^8 zd_r7bGHysrOx(G1=f{s94;?!6_wV1kckcovE6URU|K0chKI5-nzqW4O+NP^%3lwE6 z3GxeOaCmkj4amv&ba4#Pn0WN;MXm!191a)H%!>T||NY$7XB{`>cJm+fJS9-K=$=dJ zGpDv_w@^=?$9c-1SbDdr>36P9eO14!Yu + +subject): ?> +

subject ?>

+ + +
content ?>
+ diff --git a/themes/garland/color/base.png b/themes/garland/color/base.png new file mode 100644 index 0000000000000000000000000000000000000000..4a31efed02aea25a89c3cd8bff0e1f8813584eda GIT binary patch literal 29774 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 array( + '#0072b9,#027ac6,#2385c2,#5ab5ee,#494949' => t('Blue Lagoon (Default)'), + '#d5b048,#6c420e,#331900,#971702,#494949' => t('Belgian Chocolate'), + '#d0cb9a,#917803,#efde01,#e6fb2d,#494949' => t('Citrus Blast'), + '#c9c497,#0c7a00,#03961e,#7be000,#494949' => t('Greenbeam'), + '#ffe23d,#a9290a,#fc6d1d,#a30f42,#494949' => t('Mediterrano'), + '#788597,#3f728d,#a9adbc,#d4d4d4,#707070' => t('Mercury'), + '#666993,#85000f,#960335,#fb2d28,#696969' => t('Red Velour'), + ), + + // Images to copy over + 'copy' => array( + 'images/menu-collapsed.gif', + 'images/menu-expanded.gif', + 'images/menu-leaf.gif', + ), + + // Coordinates of gradient (x, y, width, height) + 'gradient' => array(0, 37, 760, 121), + + // Color areas to fill (x, y, width, height) + 'fill' => array( + 'base' => array(0, 0, 760, 568), + 'link' => array(107, 533, 41, 23), + ), + + // Coordinates of all the theme slices (x, y, width, height) + // with their filename as used in the stylesheet. + 'slices' => array( + 'images/body.png' => array(0, 37, 1, 280), + 'images/bg-bar.png' => array(202, 530, 76, 14), + 'images/bg-bar-white.png' => array(202, 506, 76, 14), + 'images/bg-tab.png' => array(107, 533, 41, 23), + 'images/bg-navigation.png' => array(0, 0, 7, 37), + 'images/bg-content-left.png' => array(40, 117, 50, 352), + 'images/bg-content-right.png' => array(510, 117, 50, 352), + 'images/bg-content.png' => array(299, 117, 7, 200), + 'images/bg-navigation-item.png' => array(32, 37, 17, 12), + 'images/bg-navigation-item-hover.png' => array(54, 37, 17, 12), + 'images/gradient-inner.png' => array(646, 307, 112, 42), + + 'logo.png' => array(622, 51, 64, 73), + 'screenshot.png' => array(0, 37, 400, 240), + ), + + // Reference color used for blending. Matches the base.png's colors. + 'blend_target' => '#ffffff', + + // Preview files + 'preview_image' => 'color/preview.png', + 'preview_css' => 'color/preview.css', + + // Base file for image generation + 'base_image' => 'color/base.png', +); diff --git a/themes/garland/color/preview.css b/themes/garland/color/preview.css new file mode 100644 index 000000000000..8ba587609194 --- /dev/null +++ b/themes/garland/color/preview.css @@ -0,0 +1,58 @@ +/* $Id$ */ + +/* Positioning */ +#preview { + overflow: hidden; + max-width: 100%; +} +#preview, #preview #img { + width: 596px; + height: 371px; +} +#preview #gradient { + position: absolute; + left: 0; + right: 0; + top: 19px; + height: 120px; + z-index: 2; +} +#preview #text { + position: absolute; + left: 80px; + width: 436px; + top: 160px; + height: 120px; + z-index: 4; +} +#preview #img { + position: relative; + z-index: 3; +} +#preview #gradient .gradient-line { + height: 10px; + overflow: hidden; +} + +/* Basic styles to match */ +#preview { + font: 12px/170% Verdana; +} +#preview h2 { + margin: 0; + padding: 0; + font-weight: normal; + font-family: Helvetica, Arial, sans-serif; + font-size: 160%; + line-height: 130%; +} +#preview p { + margin: .5em 0; +} +#preview a:link, #preview a:visited { + text-decoration: none; + font-weight: normal; +} +#preview a:hover { + text-decoration: underline; +} \ No newline at end of file diff --git a/themes/garland/color/preview.png b/themes/garland/color/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..3403ee8dd034f1ef91c83b70118b7aa71d344caf GIT binary patch literal 22111 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]gX zQX$l+z3$i$*zHEt(>&~MAT$#Aa|pYjh5030!%H5ecXe&m3=W*Kf-l4h94 zoyA^$=I?J3XTd0=O}WVOUED2b$tBS`@g@IFzRBDT^c?dLuF2+-nu{<-$sPhtt_PaO zxlD_~0bu0JH*i6G8U2GpXKn!9<@$`h=KGVflM&1z$$&JSq;2dQ|5w8peN@N!y%3=6 z3W_6OumwEC&=3_*D%9=4aGQUp{=D9*>S%BfAmM-vE-o!m8rC>!x5>45XzQ({3a>fA9@qE;x zm*z@y-4j2AUi-_A-1~oIJN;L_R4DG^9}2UuWeNYD5@*i_$Q+)1LRjF32RF5|heyig UNyk0SdGNm}%)+o--znmM09*a}ssI20 literal 0 HcmV?d00001 diff --git a/themes/garland/comment.tpl.php b/themes/garland/comment.tpl.php new file mode 100644 index 000000000000..65237e89c221 --- /dev/null +++ b/themes/garland/comment.tpl.php @@ -0,0 +1,22 @@ +

diff --git a/themes/garland/fix-ie.css b/themes/garland/fix-ie.css new file mode 100644 index 000000000000..c45020c9533a --- /dev/null +++ b/themes/garland/fix-ie.css @@ -0,0 +1,54 @@ +/** + * Themetastic, for Drupal 5.0 + * Stefan Nagtegaal, iStyledThis [dot] nl + * Steven Wittens, acko [dot] net + * + */ + +body { + /* Center layout */ + text-align: center; + /* Allow text resizing */ + font-size: 80%; +} + +#wrapper #container { + /* Reset text alignment */ + text-align: left; +} + +#wrapper #container #center { + /* Reduce amount of damage done by extremely wide content */ + overflow: hidden; +} + +#wrapper #container #center .right-corner .left-corner { + /* Because of the lack of min-height, we use height as an alternative */ + height: 400px; +} + +fieldset { + /* Don't draw backgrounds on fieldsets in IE, as they look really bad. */ + background: none; +} + +ul.primary { + /* Fix missing top margin */ + position: relative; +/* top: 0.5em; */ +} + +/* Prevent fieldsets from shifting when changing collapsed state. */ +html.js fieldset.collapsible { + position: relative; + top: -1em; +} +html.js fieldset.collapsed { + top: 0; + margin-bottom: 1em; +} + +td.menu-disabled { + /* Use filter to emulate CSS3 opacity */ + filter: alpha(opacity=50); +} diff --git a/themes/garland/images/bg-bar-white.png b/themes/garland/images/bg-bar-white.png new file mode 100644 index 0000000000000000000000000000000000000000..256ea31b12a2bc151f4f3b3ce2523344aea32ff2 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^K0wUJ!2~3^Qgfw&l&PnSV~EG`x7Pwi85DS!9NNE~ z&*Z+I{M_`xLH3;uHV$G6EzBp_Bz*tv^qZ-@kipI4(MJwN>5YcRJ??Kh6b3Ya!PC{x JWt~$(69DUOAv6F0 literal 0 HcmV?d00001 diff --git a/themes/garland/images/bg-bar.png b/themes/garland/images/bg-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..1fbcae04367d65a13a1fc984e2f6f73364f36e8b GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^K0wUJ!2~3^Qgfw&l#8c}V~B_M(?g8B4FNpP2cNz? zBG(r1*?60n{L`YC@51wcF}~^QU;Rkg+OFtm`n8Xens$5p{QDnWUj1WEV9mMJKYC>T YGn;e27y0IS1!NwBr>mdKI;Vst04dBZG5`Po literal 0 HcmV?d00001 diff --git a/themes/garland/images/bg-content-left.png b/themes/garland/images/bg-content-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a64b346e650cecd1fec5ccb082fbf14c757670ce GIT binary patch literal 3275 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 JPDHLkV1lz2WQG6$ literal 0 HcmV?d00001 diff --git a/themes/garland/images/bg-content-right.png b/themes/garland/images/bg-content-right.png new file mode 100644 index 0000000000000000000000000000000000000000..f07ebb5cdef30d8c8d942d07981d23c7edf6aef9 GIT binary patch literal 3169 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 literal 0 HcmV?d00001 diff --git a/themes/garland/images/bg-navigation-item.png b/themes/garland/images/bg-navigation-item.png new file mode 100644 index 0000000000000000000000000000000000000000..d2452ac4f22e3e954c9a15b899a4cc75b0d73ce7 GIT binary patch literal 502 zcmVZ_rBlTFHL{Yw$LdkI_M^XIw=G@sFQ;ZF1m<=gA{aeD=6qBg6@Jt6;Y82 ziXe1Qhti=!8=cHhp>1@q4bmjv&vi%#ar4aQJi~d+-SMBXiStiA%dN;>-#xX~&O5z= zz(1H^vVS6-nx5;4F$A;0=$RJVxO``R{^8l#PpjWHe*ZnFjaM$7sMW8&%rt14ND@p( zqIVUEe&5`lzW3qUrNhn54heUFAaLx!*!BA#n_IaJr;-K+vrru{ZH zz(lohIKKYs%*-yItM9q-XsOxGv>GKf289ZR0IdHjNr)gZ1!#P{xYi+FHGb$&(5MVb zRSHPD!vK;Fl5jV12{e_Ye6iB9!N5M-RK!8T0lEQz69hy^M*)hu3%zs-NeD&Y+|fnA s`Vt%<;3SoVmrg>6z9NDGRoo@3by&c7OM0@!MX41~WHs!)&xJMP9ExeKSr1z12TF5E2iGvjPh;KVjOSNYYv(TrN%Esbn*ef0A$ zzuxQ2_wSyre|qOfKwyH*AHN5{AmfZ5z605oWII3@A+V$X5E4j&sH>>cD5d=c`P#38 zfpo)7xdQ~oDdEWggs>{#{v$;oG=)Wp}pJbQJYya|LzYaK4xAQ7E@2+RPterWj6Cdl40 zlDzmvQysnP#$5EpS7-_f8n3Jsky!E+KqM!DB@cfzN4wuqxpx@}qVs$FfwrLaqfp64 zr1nBfD!e`g1=Np|uWW^cu|}U_FUo%&NQ-xqxbS)mp%|w%2`LMCT^|JM|IKgzsrT1T z5-23sR}m5$sn75j3x%cy)&A?$ZQ5w#wNpt6d^9S4?*6;f0iqgZ3(SFIP(Th(O%+W%{LicJg~A-F{oghfZxqO1jbI!{;HS{Ke_{P}#SSwX4f^1mtvTapF*0 z&Bs40nO*)Fw@4S>)-$G78HwW0JJrT--6D>Ad|dN)ehCy;`!#S+N|G~cglC>y^ZA}9 zJ)FW_U&r|J0ypBjW-X;hkVE-cH4 nUf2U<3u>*a@mT22zI12SZI-S)-uZul?qTqB^>bP0l+XkKjiyPL literal 0 HcmV?d00001 diff --git a/themes/garland/images/menu-collapsed.gif b/themes/garland/images/menu-collapsed.gif new file mode 100644 index 0000000000000000000000000000000000000000..3dc9ca77087a9c6bea9fdf2457237fbfa5258c5a GIT binary patch literal 176 zcmZ?wbhEHbawQJWNK6!rf)FM+{um+g*~w8;_(dZ+LQ0 JD%6?58USC1P>=us literal 0 HcmV?d00001 diff --git a/themes/garland/images/menu-expanded.gif b/themes/garland/images/menu-expanded.gif new file mode 100644 index 0000000000000000000000000000000000000000..126ccc11afd2eb76781bd3f47f2a3709437339b4 GIT binary patch literal 183 zcmZ?wbhEHbiMg8*Kgk5xpU{XZQBkVI`sSZ@2y+6ZrQTs|NsA=zyD?+1QdU=FfuTRFzA33g6w2q zHBnIQOUY!KxWr4)LD%2#Z16{&D-$jR8+A0XrLbjkxUn4Jaa53$X>2$gkfb5PBmA^L Jp_PHb8UUR({UEKYH@w#fz=mwmp3E z{LPy;4<0`~a`f1qJ$vpwc>MS8-=oKlzk2oR|NsA=zyD?+1QdU=FfuTRFzA33g6w2q z)lpFGQ&}p&xv;0b*`ece$3(-s-pXu;Z5=sh@h)F1!!W6n#X#7QtBGl`3oj#sH2}{> BNSXiu literal 0 HcmV?d00001 diff --git a/themes/garland/logo.png b/themes/garland/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3529fef3189a1291b19b0c727889504f9d1b3324 GIT binary patch literal 5399 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
  • AH(|}YaY->~Qg{jn@ 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 literal 0 HcmV?d00001 diff --git a/themes/garland/minnelli/color/color.inc b/themes/garland/minnelli/color/color.inc new file mode 100644 index 000000000000..d7b0a99f3ac2 --- /dev/null +++ b/themes/garland/minnelli/color/color.inc @@ -0,0 +1,61 @@ + array( + '#0072b9,#027ac6,#2385c2,#5ab5ee,#494949' => t('Blue Lagoon (Default)'), + '#d5b048,#6c420e,#331900,#971702,#494949' => t('Belgian Chocolate'), + '#d0cb9a,#917803,#efde01,#e6fb2d,#494949' => t('Citrus Blast'), + '#c9c497,#0c7a00,#03961e,#7be000,#494949' => t('Greenbeam'), + '#ffe23d,#a9290a,#fc6d1d,#a30f42,#494949' => t('Mediterrano'), + '#788597,#3f728d,#a9adbc,#d4d4d4,#707070' => t('Mercury'), + '#666993,#85000f,#960335,#fb2d28,#696969' => t('Red Velour'), + ), + + // Images to copy over + 'copy' => array( + '../images/menu-collapsed.gif', + '../images/menu-expanded.gif', + '../images/menu-leaf.gif', + ), + + // Coordinates of gradient (x, y, width, height) + 'gradient' => array(0, 37, 760, 121), + + // Color areas to fill (x, y, width, height) + 'fill' => array( + 'base' => array(0, 0, 760, 568), + 'link' => array(107, 533, 41, 23), + ), + + // Coordinates of all the theme slices (x, y, width, height) + // with their filename as used in the stylesheet. + 'slices' => array( + '../images/body.png' => array(0, 37, 1, 280), + '../images/bg-bar.png' => array(202, 530, 76, 14), + '../images/bg-bar-white.png' => array(202, 506, 76, 14), + '../images/bg-tab.png' => array(107, 533, 41, 23), + '../images/bg-navigation.png' => array(0, 0, 7, 37), + '../images/bg-content-left.png' => array(40, 117, 50, 352), + '../images/bg-content-right.png' => array(510, 117, 50, 352), + '../images/bg-content.png' => array(299, 117, 7, 200), + '../images/bg-navigation-item.png' => array(32, 37, 17, 12), + '../images/bg-navigation-item-hover.png' => array(54, 37, 17, 12), + '../images/gradient-inner.png' => array(646, 307, 112, 42), + + 'logo.png' => array(622, 51, 64, 73), + 'screenshot.png' => array(0, 37, 400, 240), + ), + + // Reference color used for blending. Matches the base.png's colors. + 'blend_target' => '#ffffff', + + // Preview files + 'preview_image' => 'color/preview.png', + 'preview_css' => '../color/preview.css', + + // Base file for image generation + 'base_image' => 'color/base.png', +); diff --git a/themes/garland/minnelli/color/preview.png b/themes/garland/minnelli/color/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..51012b3de7c7095637d8beff8f6ee449742ff8d4 GIT binary patch literal 199434 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 literal 0 HcmV?d00001 diff --git a/themes/garland/minnelli/logo.png b/themes/garland/minnelli/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3529fef3189a1291b19b0c727889504f9d1b3324 GIT binary patch literal 5399 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 zW!mtype); ?> + + \ No newline at end of file diff --git a/themes/garland/page.tpl.php b/themes/garland/page.tpl.php new file mode 100644 index 000000000000..e4682228ff98 --- /dev/null +++ b/themes/garland/page.tpl.php @@ -0,0 +1,92 @@ + + + + <?php print $head_title ?> + + + + + + > + + + + +
    +
    + + + + + + + +
    + + '. $mission .'
    '; endif; ?> + + '; endif; ?> + '. $title .''; endif; ?> + '; endif; ?> + + + + + + + + +
    + + + + + +
    + + + + + + \ No newline at end of file diff --git a/themes/garland/screenshot.png b/themes/garland/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9dcc19f392636a733044b8fdb45e846994854f GIT binary patch literal 6634 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 literal 0 HcmV?d00001 diff --git a/themes/garland/style.css b/themes/garland/style.css new file mode 100644 index 000000000000..68fc5841081b --- /dev/null +++ b/themes/garland/style.css @@ -0,0 +1,924 @@ +/** + * Themetastic, for Drupal 5.0 + * Stefan Nagtegaal, iStyledThis [dot] nl + * Steven Wittens, acko [dot] net` + * + * If you use a customized color scheme, you must regenerate it after + * modifying this file. + */ + +/** + * Generic elements + */ +body { + margin: 0; + padding: 0; + background: #edf5fa; + font: 12px/170% Verdana; + color: #494949; +} + +input { + font: 12px/100% "Verdana"; + color: #494949; +} + +textarea, select { + font: 12px/160% "Verdana"; + color: #494949; +} + +h1, h2, h3, h4, h5, h6 { + margin: 0; + padding: 0; + font-weight: normal; + font-family: Helvetica, Arial, sans-serif; +} + +h1 { + font-size: 170%; +} + +h2 { + font-size: 160%; + line-height: 130%; +} + +h3 { + font-size: 140%; +} + +h4 { + font-size: 130%; +} + +h5 { + font-size: 120%; +} + +h6 { + font-size: 110%; +} + +ul, quote, code, fieldset { + margin: .5em 0; +} + +p { + margin: 0.6em 0 1.2em; + padding: 0; +} + +a:link, a:visited { + color: #027AC6; + text-decoration: none; +} + +a:hover { + color: #0062A0; + text-decoration: underline; +} + +a:active, a.active { + color: #5895be; +} + +hr { + margin: 0; + padding: 0; + border: none; + height: 1px; + background: #5294c1; +} + +ul { + margin: 0.5em 0 1em; + padding: 0; +} + +ul li { + margin: 0.4em 0 0.4em .5em; +} + +ul.menu, .item-list ul { + margin: 0.35em 0 0 -0.5em; + padding: 0; +} + +ul.menu ul, .item-list ul ul { + margin-left: 0em; +} + +ul li, ul.menu li, .item-list ul li, li.leaf { + margin: 0.15em 0 0.15em .5em; +} + +ul li, ul.menu li, .item-list ul li, li.leaf { + padding: 0 0 .2em 1.5em; + list-style-type: none; + list-style-image: none; + background: transparent url("images/menu-leaf.gif") no-repeat 1px .35em; +} + +ul li.expanded { + background: transparent url("images/menu-expanded.gif") no-repeat 1px .35em; +} + +ul li.collapsed { + background: transparent url("images/menu-collapsed.gif") no-repeat 0px .35em; +} + +ul li.leaf a, ul li.expanded a, ul li.collapsed a { + display: block; +} + +ul.inline li { + background: none; + margin: 0; + padding: 0 1em 0 0; +} + +fieldset ul.clear-block li { + margin: 0; + padding: 0; + background-image: none; +} + +dl { + margin: 0.5em 0 1em 1.5em; +} + +dl dt { +} + +dl dd { + margin: 0 0 .5em 1.5em; +} + +img, a img { + border: none; +} + +table { + margin: 1em 0; + width: 100%; +} + +thead th { + border-bottom: 2px solid #d3e7f4; + color: #494949; + font-weight: bold; +} + +th a:link, th a:visited { + color: #6f9dbd; +} + +td, th { + padding: .3em .5em; +} + +tr.even, tr.odd, tbody th { + border: solid #d3e7f4; + border-width: 1px 0; +} + +tr.odd, tr.info { + background-color: #edf5fa; +} + +tr.even { + background-color: #fff; +} + +tr.odd td.active { + background-color: #ddecf5; +} + +tr.even td.active { + background-color: #e6f1f7; +} + +td.region, td.module, td.container { + border-top: 1.5em solid #fff; + border-bottom: 1px solid #b4d7f0; + background-color: #d4e7f3; + color: #455067; + font-weight: bold; +} + +tr:first-child td.region, tr:first-child td.module, tr:first-child td.container { + border-top-width: 0; +} + +span.form-required { + color: #ffae00; +} + +span.submitted, .description { + font-size: 0.92em; + color: #898989; +} + +.description { + line-height: 150%; + margin-bottom: 0.75em; + color: #898989; +} + +.messages, .preview { + margin: .75em 0 .75em; + padding: .5em 1em; +} + +.messages ul { + margin: 0; +} + +.form-checkboxes, .form-radios, .form-checkboxes .form-item, .form-radios .form-item { + margin: 0.25em 0; +} + +#center form { + margin-bottom: 2em; +} + +.form-button, .form-submit { + margin: 2em 0.5em 1em 0; +} + +.poll .form-submit, +fieldset .form-button, fieldset .form-submit, +.sidebar .form-button, .sidebar .form-submit, +table .form-button, table .form-submit { + margin: 0; +} + +.box { + margin-bottom: 2.5em; +} + +/** + * Layout + */ + +#navigation { + height: 1em; + background: url("images/bg-navigation.png") repeat-x 50% 100%; +} + +#wrapper { + background: #edf5fa url("images/body.png") repeat-x 50% 0; +} + +#wrapper #container { + margin: 0 auto; + padding: 0 20px; + max-width: 1270px; +} + +#wrapper #container #header { + height: 80px; +} + +#wrapper #container #header #logo-floater { + position: absolute; +} + +#wrapper #container #header h1, #wrapper #container #header h1 a:link, #wrapper #container #header h1 a:visited { + line-height: 120px; + position: relative; + z-index: 2; + white-space: nowrap; +} + +#wrapper #container #header h1 span { + font-weight: bold; +} + +#wrapper #container #header h1 img { + padding-top: 16px; + padding-right: 20px; + float: left; +} + +/* With 3 columns, require a minimum width of 1000px to ensure there is enough horizontal space. */ +body.sidebars { + min-width: 980px; +} +/* With 2 columsn, require a minimum width of 800px. */ +body.sidebar-left, body.sidebar-right { + min-width: 780px; +} + +/* We must define 100% width to avoid the body being too narrow for near-empty pages */ +#wrapper #container #center { + float: left; + width: 100%; +} + +/* So we move the #center container over the sidebars to compensate */ +body.sidebar-left #center { + margin-left: -210px; +} +body.sidebar-right #center { + margin-right: -210px; +} +body.sidebars #center { + margin: 0 -210px; +} + +/* And add blanks left and right for the sidebars to fill */ +body.sidebar-left #squeeze { + margin-left: 210px; +} +body.sidebar-right #squeeze { + margin-right: 210px; +} +body.sidebars #squeeze { + margin: 0 210px; +} + +/* We ensure the sidebars are still clickable using z-index */ +#wrapper #container .sidebar { + margin: 60px 0 5em; + width: 210px; + float: left; + z-index: 2; + position: relative; +} + +#wrapper #container .sidebar .block { + margin: 0 0 1.5em 0; +} + +#sidebar-left .block { + padding: 0 15px 0 0px; +} + +#sidebar-right .block { + padding: 0 0px 0 15px; +} + +.block .content { + margin: 0.5em 0; +} + +/* Now we add the backgrounds for the main content shading */ +#wrapper #container #center #squeeze { + background: #fff url("images/bg-content.png") repeat-x 50% 0; + position: relative; +} + +#wrapper #container #center .right-corner { + background: transparent url("images/bg-content-right.png") no-repeat 100% 0; + position: relative; + left: 10px; +} + +#wrapper #container #center .right-corner .left-corner { + padding: 60px 25px 5em 35px; + background: transparent url("images/bg-content-left.png") no-repeat 0 0; + margin-left: -10px; + position: relative; + left: -10px; + min-height: 400px; +} + +#wrapper #container #footer { + float: none; + clear: both; + text-align: center; + margin: 4em 0 -3em; + color: #898989; +} + +#wrapper #container .breadcrumb { + position: absolute; + top: 15px; + left: 35px; + z-index: 3; +} + +body.sidebar-left #footer { + margin-left: -210px; +} + +body.sidebar-right #footer { + margin-right: -210px; +} + +body.sidebars #footer { + margin: 0 -210px; +} + +/** + * Header + */ +#wrapper #container #header h1, #wrapper #container #header h1 a:link, #wrapper #container #header h1 a:visited { + color: #fff; + font-weight: normal; + text-shadow: #1659ac 0px 1px 3px; + font-size: 1.5em; +} + +#wrapper #container #header h1 a:hover { + text-decoration: none; +} + +#wrapper #container .breadcrumb { + font-size: 0.92em; +} + +#wrapper #container .breadcrumb, #wrapper #container .breadcrumb a { + color: #529ad6; +} + +#mission { + padding: 1em; + background-color: #fff; + border: 1px solid #e0e5fb; + margin-bottom: 2em; +} + +/** + * Primary navigation + */ +ul.primary-links { + margin: 0; + padding: 0; + float: right; + position: relative; + z-index: 4; +} + +ul.primary-links li { + margin: 0; + padding: 0; + float: left; + background-image: none; +} + +ul.primary-links li a, ul.primary-links li a:link, ul.primary-links li a:visited { + display: block; + margin: 0 1em; + padding: .75em 0 0; + color: #fff; + background: transparent url("images/bg-navigation-item.png") no-repeat 50% 0; +} + +ul.primary-links li a:hover, ul.primary-links li a.active { + color: #fff; + background: transparent url("images/bg-navigation-item-hover.png") no-repeat 50% 0; +} + +/** + * Secondary navigation + */ +ul.secondary-links { + margin: 0; + padding: 20px 0 0; + float: right; + clear: right; + position: relative; + z-index: 4; +} + +ul.secondary-links li { + margin: 0; + padding: 0; + float: left; + background-image: none; +} + +ul.secondary-links li a, ul.secondary-links li a:link, ul.secondary-links li a:visited { + display: block; + margin: 0 1em; + padding: .75em 0 0; + color: #cde3f1; + background: transparent; +} + +ul.secondary-links li a:hover, ul.secondary-links li a.active { + color: #cde3f1; + background: transparent; +} + +/** + * Local tasks + */ +ul.primary, ul.primary li, ul.secondary, ul.secondary li { + border: 0; + background: none; + margin: 0; + padding: 0; +} + +#tabs-wrapper { + margin: 0 -26px 1em; + padding: 0 26px; + border-bottom: 1px solid #e9eff3; + position: relative; +} +ul.primary { + padding: 0.5em 0 10px; + float: left; +} +ul.secondary { + clear: both; + text-align: left; + border-bottom: 1px solid #e9eff3; + margin: -0.2em -26px 1em; + padding: 0 26px 0.6em; +} +h2.with-tabs { + float: left; + margin: 0 2em 0 0; + padding: 0; +} + +ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:visited, +ul.secondary li a, ul.secondary li.active a, ul.secondary li a:hover, ul.secondary li a:visited { + border: 0; + background: transparent; + padding: 4px 1em; + margin: 0 0 0 1px; + height: auto; + text-decoration: none; + position: relative; + top: -1px; +} +ul.primary li.active a, ul.primary li.active a:link, ul.primary li.active a:visited, ul.primary li a:hover, +ul.secondary li.active a, ul.secondary li.active a:link, ul.secondary li.active a:visited, ul.secondary li a:hover { + background: url('images/bg-tab.png') repeat-x 0 50%; + color: #fff; +} +ul.primary li.active a, +ul.secondary li.active a { + font-weight: bold; +} + +/** + * Nodes & comments + */ +.node { + border-bottom: 1px solid #e9eff3; + margin: -1.5em -26px 1.5em; + padding: 1.5em 26px; +} + +ul.links li, ul.inline li { + margin-left: 0; + margin-right: 0; + padding-left: 0; + padding-right: 1em; + background-image: none; +} + +.node .links, .comment .links { + text-align: left; +} + +.node .links ul.links li, .comment .links ul.links li {} +.terms ul.links li { + margin-left: 0; + margin-right: 0; + padding-right: 0; + padding-left: 1em; +} + +.picture, .comment .submitted { + float: right; + clear: right; + padding-left: 1em; +} + +.new { + color: #ffae00; + font-size: 0.92em; + font-weight: bold; + float: right; +} + +.terms { + float: right; +} + +.preview .node, .preview .comment, .sticky { + margin: 0; + padding: 0.5em 0; + border: 0; + background: 0; +} + +.sticky { + padding: 1em; + background-color: #fff; + border: 1px solid #e0e5fb; + margin-bottom: 2em; +} + +#comments { + position: relative; + top: -1px; + border-bottom: 1px solid #e9eff3; + margin: -1.5em -25px 0; + padding: 0 25px; +} + +#comments h2.comments { + margin: 0 -25px; + padding: .5em 25px; + background: #fff url("images/gradient-inner.png") repeat-x 0 0; +} + +.comment { + margin: 0 -25px; + padding: 1.5em 25px 1.5em; + border-top: 1px solid #e9eff3; +} + +.indented { + margin-left: 25px; +} + +.comment h3 a.active { + color: #494949; +} + +.node .content, .comment .content { + margin: 0.6em 0; +} + +/** + * Aggregator.module + */ +#aggregator { + margin-top: 1em; +} +#aggregator .feed-item-title { + font-size: 160%; + line-height: 130%; +} +#aggregator .feed-item { + border-bottom: 1px solid #e9eff3; + margin: -1.5em -31px 1.75em; + padding: 1.5em 31px; +} +#aggregator .feed-item-categories { + font-size: 0.92em; +} +#aggregator .feed-item-meta { + font-size: 0.92em; + color: #898989; +} + +/** + * Color.module + */ +#palette .form-item { + border: 1px solid #fff; +} +#palette .item-selected { + background: #fff url("images/gradient-inner.png") repeat-x 0 0; + border: 1px solid #d9eaf5; +} + +/** + * Menu.module + */ +tr.odd td.menu-disabled { + background-color: #edf5fa; +} +tr.even td.menu-disabled { + background-color: #fff; +} +td.menu-disabled { + opacity: 0.5; +} + +/** + * Poll.module + */ +.poll .bar { + background: #fff url("images/bg-bar-white.png") repeat-x 0 0; + border: solid #f0f0f0; + border-width: 0 1px 1px; +} + +.poll .bar .foreground { + background: #71a7cc url("images/bg-bar.png") repeat-x 0 100%; +} + +.poll .percent { + font-size: .9em; +} + +/** + * Autocomplete. + */ +#autocomplete li { + cursor: default; + padding: 2px; + margin: 0; +} + +/** + * Collapsible fieldsets + */ +fieldset { + margin: 1em 0; + padding: 1em; + border: 1px solid #d9eaf5; + background: #fff url("images/gradient-inner.png") repeat-x 0 0; +} + +html.js fieldset.collapsed { + background: transparent; + padding-top: 0; + padding-bottom: 3px; +} + +html.js fieldset.collapsible legend a { + padding-left: 2em; + background: url("images/menu-expanded.gif") no-repeat 0% 50%; +} + +html.js fieldset.collapsed legend a { + background: url("images/menu-collapsed.gif") no-repeat 0% 50%; +} + +/** + * Syndication Block + */ +#block-node-0 h2 { + float: left; + padding-right: 20px; +} + +#block-node-0 img { + float: right; + padding-top: 4px; +} + +#block-node-0 .content { + clear: right; +} + +/** + * Login Block + */ +#user-login-form { + text-align: center; +} +#user-login-form ul { + text-align: left; +} + +/** + * Admin Styles + */ +div.admin-panel, +div.admin-panel .description, +div.admin-panel .body, +div.admin, +div.admin .left, +div.admin .right, +div.admin .expert-link, +div.item-list, +.menu { + margin: 0; + padding: 0; +} + +div.admin .left { + float: left; + width: 48%; +} +div.admin .right { + float: right; + width: 48%; +} + +div.admin-panel { + background: #fff url("images/gradient-inner.png") repeat-x 0 0; + padding: 1em 1em 1.5em; +} +div.admin-panel .description { + margin-bottom: 1.5em; +} +div.admin-panel dl { + margin: 0; +} +div.admin-panel dd { + color: #898989; + font-size: 0.92em; + line-height: 1.3em; + margin-top: -.2em; + margin-bottom: .65em; +} + +table.system-status-report th { + border-color: #d3e7f4; +} + +/** + * CSS support + */ +span.clear { + display: block; + clear: both; + height: 1px; + line-height: 0px; + font-size: 0px; + margin-bottom: -1px; +} + +/******************************************************************* + * Color Module: Don't touch * + *******************************************************************/ + +/** + * Generic elements. + */ +.messages { + background-color: #fff; + border: 1px solid #b8d3e5; +} + +.preview { + background-color: #fcfce8; + border: 1px solid #e5e58f; +} + +div.status { + color: #3a3; + border-color: #c7f2c8; +} + +div.error { + color: #c52020; +} + +.form-item input.error, .form-item textarea.error { + border: 1px solid #c52020; + color: #494949; +} + +/** + * Watchdog.module + */ +tr.watchdog-user { + background-color: #fcf9e5; +} + +tr.watchdog-user td.active { + background-color: #fbf5cf; +} + +tr.watchdog-content { + background-color: #fefefe; +} + +tr.watchdog-content td.active { + background-color: #f5f5f5; +} + +tr.watchdog-warning { + background-color: #fdf5e6; +} + +tr.watchdog-warning td.active { + background-color: #fdf2de; +} + +tr.watchdog-error { + background-color: #fbe4e4; +} + +tr.watchdog-error td.active { + background-color: #fbdbdb; +} +tr.watchdog-page-not-found, tr.watchdog-access-denied { + background: #d7ffd7; +} +tr.watchdog-page-not-found td.active, tr.watchdog-access-denied td.active { + background: #c7eec7; +} + +/** + * Status report colors. + */ +table.system-status-report tr.error, table.system-status-report tr.error th { + background-color: #fcc; + border-color: #ebb; + color: #200; +} +table.system-status-report tr.warning, table.system-status-report tr.warning th { + background-color: #ffd; + border-color: #eeb; +} +table.system-status-report tr.ok, table.system-status-report tr.ok th { + background-color: #dfd; + border-color: #beb; +} diff --git a/themes/garland/template.php b/themes/garland/template.php new file mode 100644 index 000000000000..b7b18be5c04b --- /dev/null +++ b/themes/garland/template.php @@ -0,0 +1,87 @@ +'. implode(' › ', $breadcrumb) .''; + } +} + +/** + * Allow themable wrapping of all comments. + */ +function phptemplate_comment_wrapper($content, $type = null) { + static $node_type; + if (isset($type)) $node_type = $type; + + if (!$content || $node_type == 'forum') { + return '
    '. $content . '
    '; + } + else { + return '

    Comments

    '. $content .'
    '; + } +} + +/** + * Override or insert PHPTemplate variables into the templates. + */ +function _phptemplate_variables($hook, $vars) { + if ($hook == 'page') { + + if ($secondary = menu_secondary_local_tasks()) { + $output = ''; + $output .= "
      \n". $secondary ."
    \n"; + $vars['tabs2'] = $output; + } + + // Hook into color.module + if (module_exists('color')) { + return _color_page_alter($vars); + } + } + return array(); +} + +/** + * Returns the rendered local tasks. The default implementation renders + * them as tabs. + * + * @ingroup themeable + */ +function phptemplate_menu_local_tasks() { + $output = ''; + + if ($primary = menu_primary_local_tasks()) { + $output .= "
      \n". $primary ."
    \n"; + } + + return $output; +}
    + + + + +

    + + + + + + +
    + +
    + +
    +
    + +
    + +
    + + + + +
    + +