Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

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