2 if ( function_exists('register_sidebar') )
3 register_sidebar(array(
4 'before_widget' => '<li id="%1$s" class="widget %2$s">',
5 'after_widget' => '</li>',
6 'before_title' => '<h2 class="widgettitle">',
7 'after_title' => '</h2>',
10 function kubrick_head() {
11 $head = "<style type='text/css'>\n<!--";
13 if ( kubrick_header_image() ) {
14 $url = kubrick_header_image_url() ;
15 $output .= "#header { background: url('$url') no-repeat bottom center; }\n";
17 if ( false !== ( $color = kubrick_header_color() ) ) {
18 $output .= "#headerimg h1 a, #headerimg h1 a:visited, #headerimg .description { color: $color; }\n";
20 if ( false !== ( $display = kubrick_header_display() ) ) {
21 $output .= "#headerimg { display: $display }\n";
23 $foot = "--></style>\n";
25 echo $head . $output . $foot;
28 add_action('wp_head', 'kubrick_head');
30 function kubrick_header_image() {
31 return apply_filters('kubrick_header_image', get_option('kubrick_header_image'));
34 function kubrick_upper_color() {
35 if (strpos($url = kubrick_header_image_url(), 'header-img.php?') !== false) {
36 parse_str(substr($url, strpos($url, '?') + 1), $q);
42 function kubrick_lower_color() {
43 if (strpos($url = kubrick_header_image_url(), 'header-img.php?') !== false) {
44 parse_str(substr($url, strpos($url, '?') + 1), $q);
50 function kubrick_header_image_url() {
51 if ( $image = kubrick_header_image() )
52 $url = get_template_directory_uri() . '/images/' . $image;
54 $url = get_template_directory_uri() . '/images/kubrickheader.jpg';
59 function kubrick_header_color() {
60 return apply_filters('kubrick_header_color', get_option('kubrick_header_color'));
63 function kubrick_header_color_string() {
64 $color = kubrick_header_color();
65 if ( false === $color )
71 function kubrick_header_display() {
72 return apply_filters('kubrick_header_display', get_option('kubrick_header_display'));
75 function kubrick_header_display_string() {
76 $display = kubrick_header_display();
77 return $display ? $display : 'inline';
80 add_action('admin_menu', 'kubrick_add_theme_page');
82 function kubrick_add_theme_page() {
83 if ( $_GET['page'] == basename(__FILE__) ) {
84 if ( 'save' == $_REQUEST['action'] ) {
85 check_admin_referer('kubrick-header');
86 if ( isset($_REQUEST['njform']) ) {
87 if ( isset($_REQUEST['defaults']) ) {
88 delete_option('kubrick_header_image');
89 delete_option('kubrick_header_color');
90 delete_option('kubrick_header_display');
92 if ( '' == $_REQUEST['njfontcolor'] )
93 delete_option('kubrick_header_color');
95 $fontcolor = preg_replace('/^.*(#[0-9a-fA-F]{6})?.*$/', '$1', $_REQUEST['njfontcolor']);
96 update_option('kubrick_header_color', $fontcolor);
98 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) ) {
99 $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];
100 $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];
101 update_option('kubrick_header_image', "header-img.php?upper=$uc&lower=$lc");
104 if ( isset($_REQUEST['toggledisplay']) ) {
105 if ( false === get_option('kubrick_header_display') )
106 update_option('kubrick_header_display', 'none');
108 delete_option('kubrick_header_display');
113 if ( isset($_REQUEST['headerimage']) ) {
114 check_admin_referer('kubrick-header');
115 if ( '' == $_REQUEST['headerimage'] )
116 delete_option('kubrick_header_image');
118 $headerimage = preg_replace('/^.*?(header-img.php\?upper=[0-9a-fA-F]{6}&lower=[0-9a-fA-F]{6})?.*$/', '$1', $_REQUEST['headerimage']);
119 update_option('kubrick_header_image', $headerimage);
123 if ( isset($_REQUEST['fontcolor']) ) {
124 check_admin_referer('kubrick-header');
125 if ( '' == $_REQUEST['fontcolor'] )
126 delete_option('kubrick_header_color');
128 $fontcolor = preg_replace('/^.*?(#[0-9a-fA-F]{6})?.*$/', '$1', $_REQUEST['fontcolor']);
129 update_option('kubrick_header_color', $fontcolor);
133 if ( isset($_REQUEST['fontdisplay']) ) {
134 check_admin_referer('kubrick-header');
135 if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] )
136 delete_option('kubrick_header_display');
138 update_option('kubrick_header_display', 'none');
141 //print_r($_REQUEST);
142 wp_redirect("themes.php?page=functions.php&saved=true");
145 add_action('admin_head', 'kubrick_theme_page_head');
147 add_theme_page(__('Customize Header'), __('Header Image and Color'), 'edit_themes', basename(__FILE__), 'kubrick_theme_page');
150 function kubrick_theme_page_head() {
152 <script type="text/javascript" src="../wp-includes/js/colorpicker.js"></script>
153 <script type='text/javascript'>
155 function pickColor(color) {
156 ColorPicker_targetInput.value = color;
157 kUpdate(ColorPicker_targetInput.id);
159 function PopupWindow_populate(contents) {
160 contents += '<br /><p style="text-align:center;margin-top:0px;"><input type="button" value="<?php echo attribute_escape(__('Close Color Picker')); ?>" onclick="cp.hidePopup(\'prettyplease\')"></input></p>';
161 this.contents = contents;
162 this.populated = false;
164 function PopupWindow_hidePopup(magicword) {
165 if ( magicword != 'prettyplease' )
167 if (this.divName != null) {
169 document.getElementById(this.divName).style.visibility = "hidden";
171 else if (this.use_css) {
172 document.all[this.divName].style.visibility = "hidden";
174 else if (this.use_layers) {
175 document.layers[this.divName].visibility = "hidden";
179 if (this.popupWindow && !this.popupWindow.closed) {
180 this.popupWindow.close();
181 this.popupWindow = null;
186 function colorSelect(t,p) {
187 if ( cp.p == p && document.getElementById(cp.divName).style.visibility != "hidden" )
188 cp.hidePopup('prettyplease');
194 function PopupWindow_setSize(width,height) {
199 var cp = new ColorPicker();
200 function advUpdate(val, obj) {
201 document.getElementById(obj).value = val;
204 function kUpdate(oid) {
205 if ( 'uppercolor' == oid || 'lowercolor' == oid ) {
206 uc = document.getElementById('uppercolor').value.replace('#', '');
207 lc = document.getElementById('lowercolor').value.replace('#', '');
208 hi = document.getElementById('headerimage');
209 hi.value = 'header-img.php?upper='+uc+'&lower='+lc;
210 document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/'+hi.value+'") center no-repeat';
211 document.getElementById('advuppercolor').value = '#'+uc;
212 document.getElementById('advlowercolor').value = '#'+lc;
214 if ( 'fontcolor' == oid ) {
215 document.getElementById('header').style.color = document.getElementById('fontcolor').value;
216 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value;
218 if ( 'fontdisplay' == oid ) {
219 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
222 function toggleDisplay() {
223 td = document.getElementById('fontdisplay');
224 td.value = ( td.value == 'none' ) ? 'inline' : 'none';
225 kUpdate('fontdisplay');
227 function toggleAdvanced() {
228 a = document.getElementById('jsAdvanced');
229 if ( a.style.display == 'none' )
230 a.style.display = 'block';
232 a.style.display = 'none';
234 function kDefaults() {
235 document.getElementById('headerimage').value = '';
236 document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#69aee7';
237 document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#4180b6';
238 document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/kubrickheader.jpg") center no-repeat';
239 document.getElementById('header').style.color = '#FFFFFF';
240 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '';
241 document.getElementById('fontdisplay').value = 'inline';
242 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
245 document.getElementById('headerimage').value = '<?php echo js_escape(kubrick_header_image()); ?>';
246 document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#<?php echo js_escape(kubrick_upper_color()); ?>';
247 document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#<?php echo js_escape(kubrick_lower_color()); ?>';
248 document.getElementById('header').style.background = 'url("<?php echo js_escape(kubrick_header_image_url()); ?>") center no-repeat';
249 document.getElementById('header').style.color = '';
250 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '<?php echo js_escape(kubrick_header_color_string()); ?>';
251 document.getElementById('fontdisplay').value = '<?php echo js_escape(kubrick_header_display_string()); ?>';
252 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
255 document.getElementById('jsForm').style.display = 'block';
256 document.getElementById('nonJsForm').style.display = 'none';
261 <style type='text/css'>
268 #kubrick-header .hibrowser {
273 #kubrick-header #hitarget {
276 #kubrick-header #header h1 {
277 font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
285 #kubrick-header #header .description {
286 font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
290 #kubrick-header #header {
291 text-decoration: none;
292 color: <?php echo kubrick_header_color_string(); ?>;
297 background: url('<?php echo kubrick_header_image_url(); ?>') center no-repeat;
299 #kubrick-header #headerimg {
303 display: <?php echo kubrick_header_display_string(); ?>;
309 #jsForm input.submit, #jsForm input.button, #jsAdvanced input.button {
317 html>body #advanced {
347 #colorPickerDiv a, #colorPickerDiv a:hover {
349 text-decoration: none;
356 function kubrick_theme_page() {
357 if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.__('Options saved.').'</strong></p></div>';
360 <div id="kubrick-header">
361 <h2><?php _e('Header Image and Color'); ?></h2>
365 <h1><?php bloginfo('name'); ?></h1>
366 <div class="description"><?php bloginfo('description'); ?></div>
372 <form method="post" action="">
373 <?php wp_nonce_field('kubrick-header'); ?>
374 <div class="zerosize"><input type="submit" name="defaultsubmit" value="<?php echo attribute_escape(__('Save')); ?>" /></div>
375 <label for="njfontcolor"><?php _e('Font Color:'); ?></label><input type="text" name="njfontcolor" id="njfontcolor" value="<?php echo attribute_escape(kubrick_header_color()); ?>" /> <?php printf(__('Any CSS color (%s or %s or %s)'), '<code>red</code>', '<code>#FF0000</code>', '<code>rgb(255, 0, 0)</code>'); ?><br />
376 <label for="njuppercolor"><?php _e('Upper Color:'); ?></label><input type="text" name="njuppercolor" id="njuppercolor" value="#<?php echo attribute_escape(kubrick_upper_color()); ?>" /> <?php printf(__('HEX only (%s or %s)'), '<code>#FF0000</code>', '<code>#F00</code>'); ?><br />
377 <label for="njlowercolor"><?php _e('Lower Color:'); ?></label><input type="text" name="njlowercolor" id="njlowercolor" value="#<?php echo attribute_escape(kubrick_lower_color()); ?>" /> <?php printf(__('HEX only (%s or %s)'), '<code>#FF0000</code>', '<code>#F00</code>'); ?><br />
378 <input type="hidden" name="hi" id="hi" value="<?php echo attribute_escape(kubrick_header_image()); ?>" />
379 <input type="submit" name="toggledisplay" id="toggledisplay" value="<?php echo attribute_escape(__('Toggle Text')); ?>" />
380 <input type="submit" name="defaults" value="<?php echo attribute_escape(__('Use Defaults')); ?>" />
381 <input type="submit" class="defbutton" name="submitform" value=" <?php _e('Save'); ?> " />
382 <input type="hidden" name="action" value="save" />
383 <input type="hidden" name="njform" value="true" />
387 <form style="display:inline;" method="post" name="hicolor" id="hicolor" action="<?php echo attribute_escape($_SERVER['REQUEST_URI']); ?>">
388 <?php wp_nonce_field('kubrick-header'); ?>
389 <input type="button" onclick="tgt=document.getElementById('fontcolor');colorSelect(tgt,'pick1');return false;" name="pick1" id="pick1" value="<?php echo attribute_escape(__('Font Color')); ?>"></input>
390 <input type="button" onclick="tgt=document.getElementById('uppercolor');colorSelect(tgt,'pick2');return false;" name="pick2" id="pick2" value="<?php echo attribute_escape(__('Upper Color')); ?>"></input>
391 <input type="button" onclick="tgt=document.getElementById('lowercolor');colorSelect(tgt,'pick3');return false;" name="pick3" id="pick3" value="<?php echo attribute_escape(__('Lower Color')); ?>"></input>
392 <input type="button" name="revert" value="<?php echo attribute_escape(__('Revert')); ?>" onclick="kRevert()" />
393 <input type="button" value="<?php echo attribute_escape(__('Advanced')); ?>" onclick="toggleAdvanced()" />
394 <input type="hidden" name="action" value="save" />
395 <input type="hidden" name="fontdisplay" id="fontdisplay" value="<?php echo attribute_escape(kubrick_header_display()); ?>" />
396 <input type="hidden" name="fontcolor" id="fontcolor" value="<?php echo attribute_escape(kubrick_header_color()); ?>" />
397 <input type="hidden" name="uppercolor" id="uppercolor" value="<?php echo attribute_escape(kubrick_upper_color()); ?>" />
398 <input type="hidden" name="lowercolor" id="lowercolor" value="<?php echo attribute_escape(kubrick_lower_color()); ?>" />
399 <input type="hidden" name="headerimage" id="headerimage" value="<?php echo attribute_escape(kubrick_header_image()); ?>" />
400 <p class="submit"><input type="submit" name="submitform" class="defbutton" value="<?php echo attribute_escape(__('Update Header »')); ?>" onclick="cp.hidePopup('prettyplease')" /></p>
402 <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div>
404 <form id="jsAdvanced" style="display:none;" action="">
405 <?php wp_nonce_field('kubrick-header'); ?>
406 <label for="advfontcolor"><?php _e('Font Color (CSS):'); ?> </label><input type="text" id="advfontcolor" onchange="advUpdate(this.value, 'fontcolor')" value="<?php echo attribute_escape(kubrick_header_color()); ?>" /><br />
407 <label for="advuppercolor"><?php _e('Upper Color (HEX):');?> </label><input type="text" id="advuppercolor" onchange="advUpdate(this.value, 'uppercolor')" value="#<?php echo attribute_escape(kubrick_upper_color()); ?>" /><br />
408 <label for="advlowercolor"><?php _e('Lower Color (HEX):'); ?> </label><input type="text" id="advlowercolor" onchange="advUpdate(this.value, 'lowercolor')" value="#<?php echo attribute_escape(kubrick_lower_color()); ?>" /><br />
409 <input type="button" name="default" value="<?php echo attribute_escape(__('Select Default Colors')); ?>" onclick="kDefaults()" /><br />
410 <input type="button" onclick="toggleDisplay();return false;" name="pick" id="pick" value="<?php echo attribute_escape(__('Toggle Text Display')); ?>"></input><br />