[ Index ] |
|
Code source de WordPress 2.1.2 |
1 <?php 2 3 function kubrick_head() { 4 $head = "<style type='text/css'>\n<!--"; 5 $output = ''; 6 if ( kubrick_header_image() ) { 7 $url = kubrick_header_image_url() ; 8 $output .= "#header { background: url('$url') no-repeat bottom center; }\n"; 9 } 10 if ( false !== ( $color = kubrick_header_color() ) ) { 11 $output .= "#headerimg h1 a, #headerimg h1 a:visited, #headerimg .description { color: $color; }\n"; 12 } 13 if ( false !== ( $display = kubrick_header_display() ) ) { 14 $output .= "#headerimg { display: $display }\n"; 15 } 16 $foot = "--></style>\n"; 17 if ( '' != $output ) 18 echo $head . $output . $foot; 19 } 20 21 add_action('wp_head', 'kubrick_head'); 22 23 function kubrick_header_image() { 24 return apply_filters('kubrick_header_image', get_option('kubrick_header_image')); 25 } 26 27 function kubrick_upper_color() { 28 if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) { 29 parse_str(substr($url, strpos($url, '?') + 1), $q); 30 return $q['upper']; 31 } else 32 return '69aee7'; 33 } 34 35 function kubrick_lower_color() { 36 if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) { 37 parse_str(substr($url, strpos($url, '?') + 1), $q); 38 return $q['lower']; 39 } else 40 return '4180b6'; 41 } 42 43 function kubrick_header_image_url() { 44 if ( $image = kubrick_header_image() ) 45 $url = get_template_directory_uri() . '/images/' . $image; 46 else 47 $url = get_template_directory_uri() . '/images/kubrickheader.jpg'; 48 49 return $url; 50 } 51 52 function kubrick_header_color() { 53 return apply_filters('kubrick_header_color', get_option('kubrick_header_color')); 54 } 55 56 function kubrick_header_color_string() { 57 $color = kubrick_header_color(); 58 if ( false === $color ) 59 return 'white'; 60 61 return $color; 62 } 63 64 function kubrick_header_display() { 65 return apply_filters('kubrick_header_display', get_option('kubrick_header_display')); 66 } 67 68 function kubrick_header_display_string() { 69 $display = kubrick_header_display(); 70 return $display ? $display : 'inline'; 71 } 72 73 add_action('admin_menu', 'kubrick_add_theme_page'); 74 75 function kubrick_add_theme_page() { 76 if ( $_GET['page'] == basename(__FILE__) ) { 77 if ( 'save' == $_REQUEST['action'] ) { 78 if ( isset($_REQUEST['njform']) ) { 79 if ( isset($_REQUEST['defaults']) ) { 80 delete_option('kubrick_header_image'); 81 delete_option('kubrick_header_color'); 82 delete_option('kubrick_header_display'); 83 } else { 84 if ( '' == $_REQUEST['njfontcolor'] ) 85 delete_option('kubrick_header_color'); 86 else 87 update_option('kubrick_header_color', $_REQUEST['njfontcolor']); 88 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) ) { 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]; 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]; 92 update_option('kubrick_header_image', "header-img.php?upper=$uc&lower=$lc"); 93 } 94 95 if ( isset($_REQUEST['toggledisplay']) ) { 96 if ( false === get_option('kubrick_header_display') ) 97 update_option('kubrick_header_display', 'none'); 98 else 99 delete_option('kubrick_header_display'); 100 } 101 } 102 } else { 103 104 if ( isset($_REQUEST['headerimage']) ) { 105 if ( '' == $_REQUEST['headerimage'] ) 106 delete_option('kubrick_header_image'); 107 else 108 update_option('kubrick_header_image', $_REQUEST['headerimage']); 109 } 110 111 if ( isset($_REQUEST['fontcolor']) ) { 112 if ( '' == $_REQUEST['fontcolor'] ) 113 delete_option('kubrick_header_color'); 114 else 115 update_option('kubrick_header_color', $_REQUEST['fontcolor']); 116 } 117 118 if ( isset($_REQUEST['fontdisplay']) ) { 119 if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] ) 120 delete_option('kubrick_header_display'); 121 else 122 update_option('kubrick_header_display', 'none'); 123 } 124 } 125 //print_r($_REQUEST); 126 wp_redirect("themes.php?page=functions.php&saved=true"); 127 die; 128 } 129 add_action('admin_head', 'kubrick_theme_page_head'); 130 } 131 add_theme_page('Customize Header', 'Header Image and Color', 'edit_themes', basename(__FILE__), 'kubrick_theme_page'); 132 } 133 134 function kubrick_theme_page_head() { 135 ?> 136 <script type="text/javascript" src="../wp-includes/js/colorpicker.js"></script> 137 <script type='text/javascript'> 138 // <![CDATA[ 139 function pickColor(color) { 140 ColorPicker_targetInput.value = color; 141 kUpdate(ColorPicker_targetInput.id); 142 } 143 function PopupWindow_populate(contents) { 144 contents += '<br /><p style="text-align:center;margin-top:0px;"><input type="button" value="Close Color Picker" onclick="cp.hidePopup(\'prettyplease\')"></input></p>'; 145 this.contents = contents; 146 this.populated = false; 147 } 148 function PopupWindow_hidePopup(magicword) { 149 if ( magicword != 'prettyplease' ) 150 return false; 151 if (this.divName != null) { 152 if (this.use_gebi) { 153 document.getElementById(this.divName).style.visibility = "hidden"; 154 } 155 else if (this.use_css) { 156 document.all[this.divName].style.visibility = "hidden"; 157 } 158 else if (this.use_layers) { 159 document.layers[this.divName].visibility = "hidden"; 160 } 161 } 162 else { 163 if (this.popupWindow && !this.popupWindow.closed) { 164 this.popupWindow.close(); 165 this.popupWindow = null; 166 } 167 } 168 return false; 169 } 170 function colorSelect(t,p) { 171 if ( cp.p == p && document.getElementById(cp.divName).style.visibility != "hidden" ) 172 cp.hidePopup('prettyplease'); 173 else { 174 cp.p = p; 175 cp.select(t,p); 176 } 177 } 178 function PopupWindow_setSize(width,height) { 179 this.width = 162; 180 this.height = 210; 181 } 182 183 var cp = new ColorPicker(); 184 function advUpdate(val, obj) { 185 document.getElementById(obj).value = val; 186 kUpdate(obj); 187 } 188 function kUpdate(oid) { 189 if ( 'uppercolor' == oid || 'lowercolor' == oid ) { 190 uc = document.getElementById('uppercolor').value.replace('#', ''); 191 lc = document.getElementById('lowercolor').value.replace('#', ''); 192 hi = document.getElementById('headerimage'); 193 hi.value = 'header-img.php?upper='+uc+'&lower='+lc; 194 document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/'+hi.value+'") center no-repeat'; 195 document.getElementById('advuppercolor').value = '#'+uc; 196 document.getElementById('advlowercolor').value = '#'+lc; 197 } 198 if ( 'fontcolor' == oid ) { 199 document.getElementById('header').style.color = document.getElementById('fontcolor').value; 200 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value; 201 } 202 if ( 'fontdisplay' == oid ) { 203 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 204 } 205 } 206 function toggleDisplay() { 207 td = document.getElementById('fontdisplay'); 208 td.value = ( td.value == 'none' ) ? 'inline' : 'none'; 209 kUpdate('fontdisplay'); 210 } 211 function toggleAdvanced() { 212 a = document.getElementById('jsAdvanced'); 213 if ( a.style.display == 'none' ) 214 a.style.display = 'block'; 215 else 216 a.style.display = 'none'; 217 } 218 function kDefaults() { 219 document.getElementById('headerimage').value = ''; 220 document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#69aee7'; 221 document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#4180b6'; 222 document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/kubrickheader.jpg") center no-repeat'; 223 document.getElementById('header').style.color = '#FFFFFF'; 224 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = ''; 225 document.getElementById('fontdisplay').value = 'inline'; 226 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 227 } 228 function kRevert() { 229 document.getElementById('headerimage').value = '<?php echo kubrick_header_image(); ?>'; 230 document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#<?php echo kubrick_upper_color(); ?>'; 231 document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#<?php echo kubrick_lower_color(); ?>'; 232 document.getElementById('header').style.background = 'url("<?php echo kubrick_header_image_url(); ?>") center no-repeat'; 233 document.getElementById('header').style.color = ''; 234 document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '<?php echo kubrick_header_color_string(); ?>'; 235 document.getElementById('fontdisplay').value = '<?php echo kubrick_header_display_string(); ?>'; 236 document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 237 } 238 function kInit() { 239 document.getElementById('jsForm').style.display = 'block'; 240 document.getElementById('nonJsForm').style.display = 'none'; 241 } 242 addLoadEvent(kInit); 243 // ]]> 244 </script> 245 <style type='text/css'> 246 #headwrap { 247 text-align: center; 248 } 249 #kubrick-header { 250 font-size: 80%; 251 } 252 #kubrick-header .hibrowser { 253 width: 780px; 254 height: 260px; 255 overflow: scroll; 256 } 257 #kubrick-header #hitarget { 258 display: none; 259 } 260 #kubrick-header #header h1 { 261 font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif; 262 font-weight: bold; 263 font-size: 4em; 264 text-align: center; 265 padding-top: 70px; 266 margin: 0; 267 } 268 269 #kubrick-header #header .description { 270 font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif; 271 font-size: 1.2em; 272 text-align: center; 273 } 274 #kubrick-header #header { 275 text-decoration: none; 276 color: <?php echo kubrick_header_color_string(); ?>; 277 padding: 0; 278 margin: 0; 279 height: 200px; 280 text-align: center; 281 background: url('<?php echo kubrick_header_image_url(); ?>') center no-repeat; 282 } 283 #kubrick-header #headerimg { 284 margin: 0; 285 height: 200px; 286 width: 100%; 287 display: <?php echo kubrick_header_display_string(); ?>; 288 } 289 #jsForm { 290 display: none; 291 text-align: center; 292 } 293 #jsForm input.submit, #jsForm input.button, #jsAdvanced input.button { 294 padding: 0px; 295 margin: 0px; 296 } 297 #advanced { 298 text-align: center; 299 width: 620px; 300 } 301 html>body #advanced { 302 text-align: center; 303 position: relative; 304 left: 50%; 305 margin-left: -380px; 306 } 307 #jsAdvanced { 308 text-align: right; 309 } 310 #nonJsForm { 311 position: relative; 312 text-align: left; 313 margin-left: -370px; 314 left: 50%; 315 } 316 #nonJsForm label { 317 padding-top: 6px; 318 padding-right: 5px; 319 float: left; 320 width: 100px; 321 text-align: right; 322 } 323 .defbutton { 324 font-weight: bold; 325 } 326 .zerosize { 327 width: 0px; 328 height: 0px; 329 overflow: hidden; 330 } 331 #colorPickerDiv a, #colorPickerDiv a:hover { 332 padding: 1px; 333 text-decoration: none; 334 border-bottom: 0px; 335 } 336 </style> 337 <?php 338 } 339 340 function kubrick_theme_page() { 341 if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>Options saved.</strong></p></div>'; 342 ?> 343 <div class='wrap'> 344 <div id="kubrick-header"> 345 <h2>Header Image and Color</h2> 346 <div id="headwrap"> 347 <div id="header"> 348 <div id="headerimg"> 349 <h1><?php bloginfo('name'); ?></h1> 350 <div class="description"><?php bloginfo('description'); ?></div> 351 </div> 352 </div> 353 </div> 354 <br /> 355 <div id="nonJsForm"> 356 <form method="post" action=""> 357 <div class="zerosize"><input type="submit" name="defaultsubmit" value="Save" /></div> 358 <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 /> 359 <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 /> 360 <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 /> 361 <input type="hidden" name="hi" id="hi" value="<?php echo kubrick_header_image(); ?>" /> 362 <input type="submit" name="toggledisplay" id="toggledisplay" value="Toggle Text" /> 363 <input type="submit" name="defaults" value="Use Defaults" /> 364 <input type="submit" class="defbutton" name="submitform" value=" Save " /> 365 <input type="hidden" name="action" value="save" /> 366 <input type="hidden" name="njform" value="true" /> 367 </form> 368 </div> 369 <div id="jsForm"> 370 <form style="display:inline;" method="post" name="hicolor" id="hicolor" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 371 <input type="button" onclick="tgt=document.getElementById('fontcolor');colorSelect(tgt,'pick1');return false;" name="pick1" id="pick1" value="Font Color"></input> 372 <input type="button" onclick="tgt=document.getElementById('uppercolor');colorSelect(tgt,'pick2');return false;" name="pick2" id="pick2" value="Upper Color"></input> 373 <input type="button" onclick="tgt=document.getElementById('lowercolor');colorSelect(tgt,'pick3');return false;" name="pick3" id="pick3" value="Lower Color"></input> 374 <input type="button" name="revert" value="Revert" onclick="kRevert()" /> 375 <input type="button" value="Advanced" onclick="toggleAdvanced()" /> 376 <input type="hidden" name="action" value="save" /> 377 <input type="hidden" name="fontdisplay" id="fontdisplay" value="<?php echo kubrick_header_display(); ?>" /> 378 <input type="hidden" name="fontcolor" id="fontcolor" value="<?php echo kubrick_header_color(); ?>" /> 379 <input type="hidden" name="uppercolor" id="uppercolor" value="<?php echo kubrick_upper_color(); ?>" /> 380 <input type="hidden" name="lowercolor" id="lowercolor" value="<?php echo kubrick_lower_color(); ?>" /> 381 <input type="hidden" name="headerimage" id="headerimage" value="<?php echo kubrick_header_image(); ?>" /> 382 <p class="submit"><input type="submit" name="submitform" class="defbutton" value="<?php _e('Update Header »'); ?>" onclick="cp.hidePopup('prettyplease')" /></p> 383 </form> 384 <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div> 385 <div id="advanced"> 386 <form id="jsAdvanced" style="display:none;" action=""> 387 <label for="advfontcolor">Font Color (CSS): </label><input type="text" id="advfontcolor" onchange="advUpdate(this.value, 'fontcolor')" value="<?php echo kubrick_header_color(); ?>" /><br /> 388 <label for="advuppercolor">Upper Color (HEX): </label><input type="text" id="advuppercolor" onchange="advUpdate(this.value, 'uppercolor')" value="#<?php echo kubrick_upper_color(); ?>" /><br /> 389 <label for="advlowercolor">Lower Color (HEX): </label><input type="text" id="advlowercolor" onchange="advUpdate(this.value, 'lowercolor')" value="#<?php echo kubrick_lower_color(); ?>" /><br /> 390 <input type="button" name="default" value="Select Default Colors" onclick="kDefaults()" /><br /> 391 <input type="button" onclick="toggleDisplay();return false;" name="pick" id="pick" value="Toggle Text Display"></input><br /> 392 </form> 393 </div> 394 </div> 395 </div> 396 </div> 397 <?php } ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 30 19:41:27 2007 | par Balluche grâce à PHPXref 0.7 |