3 function kubrick_head() {
\r
4 $head = "<style type='text/css'>\n<!--";
\r
6 if ( kubrick_header_image() ) {
\r
7 $url = kubrick_header_image_url() ;
\r
8 $output .= "#header { background: url('$url') no-repeat bottom center; }\n";
\r
10 if ( false !== ( $color = kubrick_header_color() ) ) {
\r
11 $output .= "#headerimg h1 a, #headerimg h1 a:visited, #headerimg .description { color: $color; }\n";
\r
13 if ( false !== ( $display = kubrick_header_display() ) ) {
\r
14 $output .= "#headerimg { display: $display }\n";
\r
16 $foot = "--></style>\n";
\r
17 if ( '' != $output )
\r
18 echo $head . $output . $foot;
\r
21 add_action('wp_head', 'kubrick_head');
\r
23 function kubrick_header_image() {
\r
24 return apply_filters('kubrick_header_image', get_settings('kubrick_header_image'));
\r
27 function kubrick_upper_color() {
\r
28 if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) {
\r
29 parse_str(substr($url, strpos($url, '?') + 1), $q);
\r
35 function kubrick_lower_color() {
\r
36 if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) {
\r
37 parse_str(substr($url, strpos($url, '?') + 1), $q);
\r
43 function kubrick_header_image_url() {
\r
44 if ( $image = kubrick_header_image() )
\r
45 $url = get_template_directory_uri() . '/images/' . $image;
\r
47 $url = get_template_directory_uri() . '/images/kubrickheader.jpg';
\r
52 function kubrick_header_color() {
\r
53 return apply_filters('kubrick_header_color', get_settings('kubrick_header_color'));
\r
56 function kubrick_header_color_string() {
\r
57 $color = kubrick_header_color();
\r
58 if ( false === $color )
\r
64 function kubrick_header_display() {
\r
65 return apply_filters('kubrick_header_display', get_settings('kubrick_header_display'));
\r
68 function kubrick_header_display_string() {
\r
69 $display = kubrick_header_display();
\r
70 return $display ? $display : 'inline';
\r
73 add_action('admin_menu', 'kubrick_add_theme_page');
\r
75 function kubrick_add_theme_page() {
\r
76 if ( $_GET['page'] == basename(__FILE__) ) {
\r
77 if ( 'save' == $_REQUEST['action'] ) {
\r
78 if ( isset($_REQUEST['njform']) ) {
\r
79 if ( isset($_REQUEST['defaults']) ) {
\r
80 delete_option('kubrick_header_image');
\r
81 delete_option('kubrick_header_color');
\r
82 delete_option('kubrick_header_display');
\r
84 if ( '' == $_REQUEST['njfontcolor'] )
\r
85 delete_option('kubrick_header_color');
\r
87 update_option('kubrick_header_color', $_REQUEST['njfontcolor']);
\r
89 if ( preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njuppercolor'], $uc) && preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njlowercolor'], $lc) ) {
\r
90 $uc = ( strlen($uc[0]) == 3 ) ? $uc[0]{0}.$uc[0]{0}.$uc[0]{1}.$uc[0]{1}.$uc[0]{2}.$uc[0]{2} : $uc[0];
\r
91 $lc = ( strlen($lc[0]) == 3 ) ? $lc[0]{0}.$lc[0]{0}.$lc[0]{1}.$lc[0]{1}.$lc[0]{2}.$lc[0]{2} : $lc[0];
\r
92 update_option('kubrick_header_image', "header-img.php?upper=$uc&lower=$lc");
\r
95 if ( isset($_REQUEST['toggledisplay']) ) {
\r
96 if ( false === get_settings('kubrick_header_display') )
\r
97 update_option('kubrick_header_display', 'none');
\r
99 delete_option('kubrick_header_display');
\r
104 if ( isset($_REQUEST['headerimage']) ) {
\r
105 if ( '' == $_REQUEST['headerimage'] )
\r
106 delete_option('kubrick_header_image');
\r
108 update_option('kubrick_header_image', $_REQUEST['headerimage']);
\r
111 if ( isset($_REQUEST['fontcolor']) ) {
\r
112 if ( '' == $_REQUEST['fontcolor'] )
\r
113 delete_option('kubrick_header_color');
\r
115 update_option('kubrick_header_color', $_REQUEST['fontcolor']);
\r
118 if ( isset($_REQUEST['fontdisplay']) ) {
\r
119 if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] )
\r
120 delete_option('kubrick_header_display');
\r
122 update_option('kubrick_header_display', 'none');
\r
125 //print_r($_REQUEST);
\r
126 header("Location: themes.php?page=functions.php&saved=true");
\r
129 add_action('admin_head', 'kubrick_theme_page_head');
\r
131 add_theme_page('Customize Header', 'Header Image and Color', 'edit_themes', basename(__FILE__), 'kubrick_theme_page');
\r
134 function kubrick_theme_page_head() {
\r
136 <script type="text/javascript" src="../wp-includes/js/colorpicker.js"></script>
\r
137 <script type='text/javascript'>
\r
138 function pickColor(color) {
\r
139 ColorPicker_targetInput.value = color;
\r
140 kUpdate(ColorPicker_targetInput.id);
\r
142 function PopupWindow_populate(contents) {
\r
143 contents += '<br /><p style="text-align:center;margin-top:0px;"><input type="button" value="Close Color Picker" onclick="cp.hidePopup(\'prettyplease\')"></input></p>';
\r
144 this.contents = contents;
\r
145 this.populated = false;
\r
147 function PopupWindow_hidePopup(magicword) {
\r
148 if ( magicword != 'prettyplease' )
\r
150 if (this.divName != null) {
\r
151 if (this.use_gebi) {
\r
152 document.getElementById(this.divName).style.visibility = "hidden";
\r
154 else if (this.use_css) {
\r
155 document.all[this.divName].style.visibility = "hidden";
\r
157 else if (this.use_layers) {
\r
158 document.layers[this.divName].visibility = "hidden";
\r
162 if (this.popupWindow && !this.popupWindow.closed) {
\r
163 this.popupWindow.close();
\r
164 this.popupWindow = null;
\r
169 function colorSelect(t,p) {
\r
170 if ( cp.p == p && document.getElementById(cp.divName).style.visibility != "hidden" )
\r
171 cp.hidePopup('prettyplease');
\r
177 function PopupWindow_setSize(width,height) {
\r
182 var cp = new ColorPicker();
\r
183 function advUpdate(val, obj) {
\r
184 document.getElementById(obj).value = val;
\r
187 function kUpdate(oid) {
\r
188 if ( 'uppercolor' == oid || 'lowercolor' == oid ) {
\r
189 uc = document.getElementById('uppercolor').value.replace('#', '');
\r
190 lc = document.getElementById('lowercolor').value.replace('#', '');
\r
191 hi = document.getElementById('headerimage');
\r
192 hi.value = 'header-img.php?upper='+uc+'&lower='+lc;
\r
193 document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/'+hi.value+'") center no-repeat';
\r
194 document.getElementById('advuppercolor').value = '#'+uc;
\r
195 document.getElementById('advlowercolor').value = '#'+lc;
\r
197 if ( 'fontcolor' == oid ) {
\r
198 document.getElementById('header').style.color = document.getElementById('fontcolor').value;
\r
199 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value;
\r
201 if ( 'fontdisplay' == oid ) {
\r
202 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
\r
205 function toggleDisplay() {
\r
206 td = document.getElementById('fontdisplay');
\r
207 td.value = ( td.value == 'none' ) ? 'inline' : 'none';
\r
208 kUpdate('fontdisplay');
\r
210 function toggleAdvanced() {
\r
211 a = document.getElementById('jsAdvanced');
\r
212 if ( a.style.display == 'none' )
\r
213 a.style.display = 'block';
\r
215 a.style.display = 'none';
\r
217 function kDefaults() {
\r
218 document.getElementById('headerimage').value = '';
\r
219 document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#69aee7';
\r
220 document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#4180b6';
\r
221 document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/kubrickheader.jpg") center no-repeat';
\r
222 document.getElementById('header').style.color = '#FFFFFF';
\r
223 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '';
\r
224 document.getElementById('fontdisplay').value = 'inline';
\r
225 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
\r
227 function kRevert() {
\r
228 document.getElementById('headerimage').value = '<?php echo kubrick_header_image(); ?>';
\r
229 document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#<?php echo kubrick_upper_color(); ?>';
\r
230 document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#<?php echo kubrick_lower_color(); ?>';
\r
231 document.getElementById('header').style.background = 'url("<?php echo kubrick_header_image_url(); ?>") center no-repeat';
\r
232 document.getElementById('header').style.color = '';
\r
233 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '<?php echo kubrick_header_color_string(); ?>';
\r
234 document.getElementById('fontdisplay').value = '<?php echo kubrick_header_display_string(); ?>';
\r
235 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
\r
238 document.getElementById('jsForm').style.display = 'block';
\r
239 document.getElementById('nonJsForm').style.display = 'none';
\r
241 addLoadEvent(kInit);
\r
243 <style type='text/css'>
\r
245 text-align: center;
\r
250 #kubrick-header .hibrowser {
\r
255 #kubrick-header #hitarget {
\r
258 #kubrick-header #header h1 {
\r
259 font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
\r
262 text-align: center;
\r
267 #kubrick-header #header .description {
\r
268 font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
\r
270 text-align: center;
\r
272 #kubrick-header #header {
\r
273 text-decoration: none;
\r
274 color: <?php echo kubrick_header_color_string(); ?>;
\r
278 text-align: center;
\r
279 background: url('<?php echo kubrick_header_image_url(); ?>') center no-repeat;
\r
281 #kubrick-header #headerimg {
\r
285 display: <?php echo kubrick_header_display_string(); ?>;
\r
289 text-align: center;
\r
291 #jsForm input.submit, #jsForm input.button, #jsAdvanced input.button {
\r
296 text-align: center;
\r
299 html>body #advanced {
\r
300 text-align: center;
\r
301 position: relative;
\r
303 margin-left: -380px;
\r
309 position: relative;
\r
311 margin-left: -370px;
\r
316 padding-right: 5px;
\r
329 #colorPickerDiv a, #colorPickerDiv a:hover {
\r
331 text-decoration: none;
\r
332 border-bottom: 0px;
\r
338 function kubrick_theme_page() {
\r
339 if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>Options saved.</strong></p></div>';
\r
342 <div id="kubrick-header">
\r
343 <h2>Header Image and Color</h2>
\r
344 <div id="headwrap">
\r
346 <div id="headerimg">
\r
347 <h1><?php bloginfo('name'); ?></h1>
\r
348 <div class="description"><?php bloginfo('description'); ?></div>
\r
353 <div id="nonJsForm">
\r
354 <form method="POST">
\r
355 <div class="zerosize"><input type="submit" name="defaultsubmit" value="Save" /></div>
\r
356 <label for="njfontcolor">Font Color:</label><input type="text" name="njfontcolor" id="njfontcolor" value="<?php echo kubrick_header_color(); ?>" /> Any CSS color (<code>red</code> or <code>#FF0000</code> or <code>rgb(255, 0, 0)</code>)<br />
\r
357 <label for="njuppercolor">Upper Color:</label><input type="text" name="njuppercolor" id="njuppercolor" value="#<?php echo kubrick_upper_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br />
\r
358 <label for="njlowercolor">Lower Color:</label><input type="text" name="njlowercolor" id="njlowercolor" value="#<?php echo kubrick_lower_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br />
\r
359 <input type="hidden" name="hi" id="hi" value="<?php echo kubrick_header_image(); ?>" />
\r
360 <label> </label><input type="submit" name="toggledisplay" id="toggledisplay" value="Toggle Text" />
\r
361 <input type="submit" name="defaults" value="Use Defaults" />
\r
362 <input type="submit" class="defbutton" name="submitform" value=" Save " />
\r
363 <input type="hidden" name="action" value="save" />
\r
364 <input type="hidden" name="njform" value="true" />
\r
368 <form style="display:inline;" method="post" name="hicolor" id="hicolor" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
\r
369 <input type="button" onclick="tgt=document.getElementById('fontcolor');colorSelect(tgt,'pick1');return false;" name="pick1" id="pick1" value="Font Color"></input>
\r
370 <input type="button" onclick="tgt=document.getElementById('uppercolor');colorSelect(tgt,'pick2');return false;" name="pick2" id="pick2" value="Upper Color"></input>
\r
371 <input type="button" onclick="tgt=document.getElementById('lowercolor');colorSelect(tgt,'pick3');return false;" name="pick3" id="pick3" value="Lower Color"></input>
\r
372 <input type="button" name="revert" value="Revert" onclick="kRevert()" />
\r
373 <input type="button" value="Advanced" onclick="toggleAdvanced()" />
\r
374 <input type="submit" name="submitform" class="defbutton" value="Save" onclick="cp.hidePopup('prettyplease')" />
\r
375 <input type="hidden" name="action" value="save" />
\r
376 <input type="hidden" name="fontdisplay" id="fontdisplay" value="<?php echo kubrick_header_display(); ?>" />
\r
377 <input type="hidden" name="fontcolor" id="fontcolor" value="<?php echo kubrick_header_color(); ?>" />
\r
378 <input type="hidden" name="uppercolor" id="uppercolor" value="<?php echo kubrick_upper_color(); ?>" />
\r
379 <input type="hidden" name="lowercolor" id="lowercolor" value="<?php echo kubrick_lower_color(); ?>" />
\r
380 <input type="hidden" name="headerimage" id="headerimage" value="<?php echo kubrick_header_image(); ?>" />
\r
382 <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div>
\r
383 <div id="advanced">
\r
384 <form id="jsAdvanced" style="display:none;">
\r
385 <label for="advfontcolor">Font Color (CSS): </label><input type="text" id="advfontcolor" onchange="advUpdate(this.value, 'fontcolor')" value="<?php echo kubrick_header_color(); ?>" /><br />
\r
386 <label for="advuppercolor">Upper Color (HEX): </label><input type="text" id="advuppercolor" onchange="advUpdate(this.value, 'uppercolor')" value="#<?php echo kubrick_upper_color(); ?>" /><br />
\r
387 <label for="advlowercolor">Lower Color (HEX): </label><input type="text" id="advlowercolor" onchange="advUpdate(this.value, 'lowercolor')" value="#<?php echo kubrick_lower_color(); ?>" /><br />
\r
388 <input type="button" name="default" value="Select Default Colors" onclick="kDefaults()" /><br />
\r
389 <input type="button" onclick="toggleDisplay();return false;" name="pick" id="pick" value="Toggle Text Display"></input><br />
\r