summaryrefslogtreecommitdiffstats
path: root/wp-admin/custom-header.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-24 11:45:39 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-24 11:45:39 +0000
commitcf9f85dc8121a359d550ffa3b735fb48859eee88 (patch)
tree9f90be15fc46163f5656f019f2a2866414b7c9f2 /wp-admin/custom-header.php
parentf10f9f5b05e23ce4c07479b094bd3ff4bbfd86d0 (diff)
downloadwordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.tar.gz
wordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.tar.xz
wordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.zip
Merged with WP 2.5, revision 7806
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1260 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/custom-header.php')
-rw-r--r--wp-admin/custom-header.php128
1 files changed, 73 insertions, 55 deletions
diff --git a/wp-admin/custom-header.php b/wp-admin/custom-header.php
index c5e5d20..c54d9a9 100644
--- a/wp-admin/custom-header.php
+++ b/wp-admin/custom-header.php
@@ -11,17 +11,27 @@ class Custom_Image_Header {
$page = add_theme_page(__('Custom Image Header'), __('Custom Image Header'), 'edit_themes', 'custom-header', array(&$this, 'admin_page'));
add_action("admin_print_scripts-$page", array(&$this, 'js_includes'));
+ add_action("admin_head-$page", array(&$this, 'take_action'), 50);
add_action("admin_head-$page", array(&$this, 'js'), 50);
add_action("admin_head-$page", $this->admin_header_callback, 51);
}
- function js_includes() {
- wp_enqueue_script('cropper');
- wp_enqueue_script('colorpicker');
+ function step() {
+ $step = (int) @$_GET['step'];
+ if ( $step < 1 || 3 < $step )
+ $step = 1;
+ return $step;
}
- function js() {
+ function js_includes() {
+ $step = $this->step();
+ if ( 1 == $step )
+ wp_enqueue_script('colorpicker');
+ elseif ( 2 == $step )
+ wp_enqueue_script('cropper');
+ }
+ function take_action() {
if ( isset( $_POST['textcolor'] ) ) {
check_admin_referer('custom-header');
if ( 'blank' == $_POST['textcolor'] ) {
@@ -36,48 +46,18 @@ class Custom_Image_Header {
check_admin_referer('custom-header');
remove_theme_mods();
}
- ?>
-<script type="text/javascript">
-
- function onEndCrop( coords, dimensions ) {
- $( 'x1' ).value = coords.x1;
- $( 'y1' ).value = coords.y1;
- $( 'x2' ).value = coords.x2;
- $( 'y2' ).value = coords.y2;
- $( 'width' ).value = dimensions.width;
- $( 'height' ).value = dimensions.height;
}
- // with a supplied ratio
- Event.observe(
- window,
- 'load',
- function() {
- var xinit = <?php echo HEADER_IMAGE_WIDTH; ?>;
- var yinit = <?php echo HEADER_IMAGE_HEIGHT; ?>;
- var ratio = xinit / yinit;
- var ximg = $('upload').width;
- var yimg = $('upload').height;
- if ( yimg < yinit || ximg < xinit ) {
- if ( ximg / yimg > ratio ) {
- yinit = yimg;
- xinit = yinit * ratio;
- } else {
- xinit = ximg;
- yinit = xinit / ratio;
- }
- }
- new Cropper.Img(
- 'upload',
- {
- ratioDim: { x: xinit, y: yinit },
- displayOnInit: true,
- onEndCrop: onEndCrop
- }
- )
- }
- );
+ function js() {
+ $step = $this->step();
+ if ( 1 == $step )
+ $this->js_1();
+ elseif ( 2 == $step )
+ $this->js_2();
+ }
+ function js_1() { ?>
+<script type="text/javascript">
var cp = new ColorPicker();
function pickColor(color) {
@@ -116,7 +96,7 @@ class Custom_Image_Header {
}
}
function colorDefault() {
- pickColor('<?php echo HEADER_TEXTCOLOR; ?>');
+ pickColor('#<?php echo HEADER_TEXTCOLOR; ?>');
}
function hide_text() {
@@ -149,6 +129,50 @@ Event.observe( window, 'load', hide_text );
<?php
}
+ function js_2() { ?>
+<script type="text/javascript">
+ function onEndCrop( coords, dimensions ) {
+ $( 'x1' ).value = coords.x1;
+ $( 'y1' ).value = coords.y1;
+ $( 'x2' ).value = coords.x2;
+ $( 'y2' ).value = coords.y2;
+ $( 'width' ).value = dimensions.width;
+ $( 'height' ).value = dimensions.height;
+ }
+
+ // with a supplied ratio
+ Event.observe(
+ window,
+ 'load',
+ function() {
+ var xinit = <?php echo HEADER_IMAGE_WIDTH; ?>;
+ var yinit = <?php echo HEADER_IMAGE_HEIGHT; ?>;
+ var ratio = xinit / yinit;
+ var ximg = $('upload').width;
+ var yimg = $('upload').height;
+ if ( yimg < yinit || ximg < xinit ) {
+ if ( ximg / yimg > ratio ) {
+ yinit = yimg;
+ xinit = yinit * ratio;
+ } else {
+ xinit = ximg;
+ yinit = xinit / ratio;
+ }
+ }
+ new Cropper.Img(
+ 'upload',
+ {
+ ratioDim: { x: xinit, y: yinit },
+ displayOnInit: true,
+ onEndCrop: onEndCrop
+ }
+ )
+ }
+ );
+</script>
+<?php
+ }
+
function step_1() {
if ( $_GET['updated'] ) { ?>
<div id="message" class="updated fade">
@@ -252,7 +276,7 @@ Event.observe( window, 'load', hide_text );
<form method="POST" action="<?php echo attribute_escape(add_query_arg('step', 3)) ?>">
<p><?php _e('Choose the part of the image you want to use as your header.'); ?></p>
-<div id="testWrap">
+<div id="testWrap" style="position: relative">
<img src="<?php echo $url; ?>" id="upload" width="<?php echo $width; ?>" height="<?php echo $height; ?>" />
</div>
@@ -327,19 +351,13 @@ Event.observe( window, 'load', hide_text );
}
function admin_page() {
- if ( !isset( $_GET['step'] ) )
- $step = 1;
- else
- $step = (int) $_GET['step'];
-
- if ( 1 == $step ) {
+ $step = $this->step();
+ if ( 1 == $step )
$this->step_1();
- } elseif ( 2 == $step ) {
+ elseif ( 2 == $step )
$this->step_2();
- } elseif ( 3 == $step ) {
+ elseif ( 3 == $step )
$this->step_3();
- }
-
}
}