diff --git a/wp-admin/custom-header.php b/wp-admin/custom-header.php index 5daad1e04..b0251ee02 100644 --- a/wp-admin/custom-header.php +++ b/wp-admin/custom-header.php @@ -23,6 +23,7 @@ class Custom_Image_Header { function js() { if ( isset( $_POST['textcolor'] ) ) { + check_admin_referer('custom-header'); if ( 'blank' == $_POST['textcolor'] ) { set_theme_mod('header_textcolor', 'blank'); } else { @@ -31,8 +32,10 @@ class Custom_Image_Header { set_theme_mod('header_textcolor', $color); } } - if ( isset($_POST['resetheader']) ) + if ( isset($_POST['resetheader']) ) { + check_admin_referer('custom-header'); remove_theme_mods(); + } ?>

- +

diff --git a/wp-content/themes/default/functions.php b/wp-content/themes/default/functions.php index 9ba153846..34d447ff9 100644 --- a/wp-content/themes/default/functions.php +++ b/wp-content/themes/default/functions.php @@ -82,6 +82,7 @@ add_action('admin_menu', 'kubrick_add_theme_page'); function kubrick_add_theme_page() { if ( $_GET['page'] == basename(__FILE__) ) { if ( 'save' == $_REQUEST['action'] ) { + check_admin_referer('kubrick-header'); if ( isset($_REQUEST['njform']) ) { if ( isset($_REQUEST['defaults']) ) { delete_option('kubrick_header_image'); @@ -90,9 +91,10 @@ function kubrick_add_theme_page() { } else { if ( '' == $_REQUEST['njfontcolor'] ) delete_option('kubrick_header_color'); - else - update_option('kubrick_header_color', $_REQUEST['njfontcolor']); - + else { + $fontcolor = preg_replace('/^.*(#[0-9a-fA-F]{6})?.*$/', '$1', $_REQUEST['njfontcolor']); + update_option('kubrick_header_color', $fontcolor); + } 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) ) { $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]; $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]; @@ -109,20 +111,27 @@ function kubrick_add_theme_page() { } else { if ( isset($_REQUEST['headerimage']) ) { + check_admin_referer('kubrick-header'); if ( '' == $_REQUEST['headerimage'] ) delete_option('kubrick_header_image'); - else - update_option('kubrick_header_image', $_REQUEST['headerimage']); + else { + $headerimage = preg_replace('/^.*?(header-img.php\?upper=[0-9a-fA-F]{6}&lower=[0-9a-fA-F]{6})?.*$/', '$1', $_REQUEST['headerimage']); + update_option('kubrick_header_image', $headerimage); + } } if ( isset($_REQUEST['fontcolor']) ) { + check_admin_referer('kubrick-header'); if ( '' == $_REQUEST['fontcolor'] ) delete_option('kubrick_header_color'); - else - update_option('kubrick_header_color', $_REQUEST['fontcolor']); + else { + $fontcolor = preg_replace('/^.*?(#[0-9a-fA-F]{6})?.*$/', '$1', $_REQUEST['fontcolor']); + update_option('kubrick_header_color', $fontcolor); + } } if ( isset($_REQUEST['fontdisplay']) ) { + check_admin_referer('kubrick-header'); if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] ) delete_option('kubrick_header_display'); else @@ -233,13 +242,13 @@ function kubrick_theme_page_head() { document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; } function kRevert() { - document.getElementById('headerimage').value = ''; - document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#'; - document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#'; - document.getElementById('header').style.background = 'url("") center no-repeat'; + document.getElementById('headerimage').value = ''; + document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#'; + document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#'; + document.getElementById('header').style.background = 'url("") center no-repeat'; document.getElementById('header').style.color = ''; - document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = ''; - document.getElementById('fontdisplay').value = ''; + document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = ''; + document.getElementById('fontdisplay').value = ''; document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value; } function kInit() { @@ -361,11 +370,12 @@ function kubrick_theme_page() {
+
- Any CSS color (red or #FF0000 or rgb(255, 0, 0))
- HEX only (#FF0000 or #F00)
- HEX only (#FF0000 or #F00)
- + Any CSS color (red or #FF0000 or rgb(255, 0, 0))
+ HEX only (#FF0000 or #F00)
+ HEX only (#FF0000 or #F00)
+ @@ -375,25 +385,27 @@ function kubrick_theme_page() {
+ - - - - - + + + + +