Changeset 977

Show
Ignore:
Timestamp:
05/22/07 14:52:43 (2 years ago)
Author:
donncha
Message:

Update home's functions.php from Kubrick. Fixes #332

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/wp-content/themes/home/functions.php

    r730 r977  
    11<?php 
     2if ( 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>', 
     8    )); 
    29 
    310function kubrick_head() { 
     
    2633 
    2734function kubrick_upper_color() { 
    28         if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) { 
     35        if (strpos($url = kubrick_header_image_url(), 'header-img.php?') !== false) { 
    2936                parse_str(substr($url, strpos($url, '?') + 1), $q); 
    3037                return $q['upper']; 
     
    3441 
    3542function kubrick_lower_color() { 
    36         if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) { 
     43        if (strpos($url = kubrick_header_image_url(), 'header-img.php?') !== false) { 
    3744                parse_str(substr($url, strpos($url, '?') + 1), $q); 
    3845                return $q['lower']; 
     
    7683        if ( $_GET['page'] == basename(__FILE__) ) { 
    7784                if ( 'save' == $_REQUEST['action'] ) { 
     85                        check_admin_referer('kubrick-header'); 
    7886                        if ( isset($_REQUEST['njform']) ) { 
    7987                                if ( isset($_REQUEST['defaults']) ) { 
     
    8492                                        if ( '' == $_REQUEST['njfontcolor'] ) 
    8593                                                delete_option('kubrick_header_color'); 
    86                                         else 
    87                                                 update_option('kubrick_header_color', $_REQUEST['njfontcolor']); 
    88  
     94                                        else { 
     95                                                $fontcolor = preg_replace('/^.*(#[0-9a-fA-F]{6})?.*$/', '$1', $_REQUEST['njfontcolor']); 
     96                                                update_option('kubrick_header_color', $fontcolor); 
     97                                        } 
    8998                                        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) ) { 
    9099                                                $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]; 
    91100                                                $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&amp;lower=$lc"); 
     101                                                update_option('kubrick_header_image', "header-img.php?upper=$uc&lower=$lc"); 
    93102                                        } 
    94103 
     
    103112 
    104113                                if ( isset($_REQUEST['headerimage']) ) { 
     114                                        check_admin_referer('kubrick-header'); 
    105115                                        if ( '' == $_REQUEST['headerimage'] ) 
    106116                                                delete_option('kubrick_header_image'); 
    107                                         else 
    108                                                 update_option('kubrick_header_image', $_REQUEST['headerimage']); 
     117                                        else { 
     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); 
     120                                        } 
    109121                                } 
    110122 
    111123                                if ( isset($_REQUEST['fontcolor']) ) { 
     124                                        check_admin_referer('kubrick-header'); 
    112125                                        if ( '' == $_REQUEST['fontcolor'] ) 
    113126                                                delete_option('kubrick_header_color'); 
    114                                         else 
    115                                                 update_option('kubrick_header_color', $_REQUEST['fontcolor']); 
     127                                        else { 
     128                                                $fontcolor = preg_replace('/^.*?(#[0-9a-fA-F]{6})?.*$/', '$1', $_REQUEST['fontcolor']); 
     129                                                update_option('kubrick_header_color', $fontcolor); 
     130                                        } 
    116131                                } 
    117132 
    118133                                if ( isset($_REQUEST['fontdisplay']) ) { 
     134                                        check_admin_referer('kubrick-header'); 
    119135                                        if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] ) 
    120136                                                delete_option('kubrick_header_display'); 
     
    129145                add_action('admin_head', 'kubrick_theme_page_head'); 
    130146        } 
    131         add_theme_page('Customize Header', 'Header Image and Color', 'edit_themes', basename(__FILE__), 'kubrick_theme_page'); 
     147        add_theme_page(__('Customize Header'), __('Header Image and Color'), 'edit_themes', basename(__FILE__), 'kubrick_theme_page'); 
    132148} 
    133149 
     
    142158        } 
    143159        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>'; 
     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>'; 
    145161                this.contents = contents; 
    146162                this.populated = false; 
     
    227243        } 
    228244        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'; 
     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'; 
    233249                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(); ?>'; 
     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()); ?>'; 
    236252                document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; 
    237253        } 
     
    339355 
    340356function kubrick_theme_page() { 
    341         if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>Options saved.</strong></p></div>'; 
     357        if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.__('Options saved.').'</strong></p></div>'; 
    342358?> 
    343359<div class='wrap'> 
    344360        <div id="kubrick-header"> 
    345                <h2>Header Image and Color</h2> 
     361        <h2><?php _e('Header Image and Color'); ?></h2> 
    346362                <div id="headwrap"> 
    347363                        <div id="header"> 
     
    355371                <div id="nonJsForm"> 
    356372                        <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="&nbsp;&nbsp;Save&nbsp;&nbsp;" /> 
     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="&nbsp;&nbsp;<?php _e('Save'); ?>&nbsp;&nbsp;" /> 
    365382                                <input type="hidden" name="action" value="save" /> 
    366383                                <input type="hidden" name="njform" value="true" /> 
     
    369386                <div id="jsForm"> 
    370387                        <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="submit" name="submitform" class="defbutton" value="Save" onclick="cp.hidePopup('prettyplease')" /> 
     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()" /> 
    377394                                <input type="hidden" name="action" value="save" /> 
    378                                 <input type="hidden" name="fontdisplay" id="fontdisplay" value="<?php echo kubrick_header_display(); ?>" /> 
    379                                 <input type="hidden" name="fontcolor" id="fontcolor" value="<?php echo kubrick_header_color(); ?>" /> 
    380                                 <input type="hidden" name="uppercolor" id="uppercolor" value="<?php echo kubrick_upper_color(); ?>" /> 
    381                                 <input type="hidden" name="lowercolor" id="lowercolor" value="<?php echo kubrick_lower_color(); ?>" /> 
    382                                 <input type="hidden" name="headerimage" id="headerimage" value="<?php echo kubrick_header_image(); ?>" /> 
     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 &raquo;')); ?>" onclick="cp.hidePopup('prettyplease')" /></p> 
    383401                        </form> 
    384402                        <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div> 
    385403                        <div id="advanced"> 
    386404                                <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 /> 
     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 /> 
    392411                                </form> 
    393412                        </div>