diff -r a4642baaf829 -r 4d4862461b8d web/wp-admin/custom-header.php
--- a/web/wp-admin/custom-header.php Tue Feb 02 14:45:47 2010 +0000
+++ b/web/wp-admin/custom-header.php Tue Feb 02 15:44:16 2010 +0000
@@ -1,478 +1,478 @@
-admin_header_callback = $admin_header_callback;
- }
-
- /**
- * Setup the hooks for the Custom Header admin page.
- *
- * @since unknown
- */
- function init() {
- $page = add_theme_page(__('Custom Header'), __('Custom Header'), 'edit_themes', 'custom-header', array(&$this, 'admin_page'));
-
- add_action("admin_print_scripts-$page", array(&$this, 'js_includes'));
- add_action("admin_print_styles-$page", array(&$this, 'css_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);
- }
-
- /**
- * Get the current step.
- *
- * @since unknown
- *
- * @return int Current step
- */
- function step() {
- if ( ! isset( $_GET['step'] ) )
- return 1;
-
- $step = (int) $_GET['step'];
- if ( $step < 1 || 3 < $step )
- $step = 1;
-
- return $step;
- }
-
- /**
- * Setup the enqueue for the JavaScript files.
- *
- * @since unknown
- */
- function js_includes() {
- $step = $this->step();
-
- if ( 1 == $step )
- wp_enqueue_script('farbtastic');
- elseif ( 2 == $step )
- wp_enqueue_script('jcrop');
- }
-
- /**
- * Setup the enqueue for the CSS files
- *
- * @since 2.7
- */
- function css_includes() {
- $step = $this->step();
-
- if ( 1 == $step )
- wp_enqueue_style('farbtastic');
- elseif ( 2 == $step )
- wp_enqueue_style('jcrop');
- }
-
- /**
- * Execute custom header modification.
- *
- * @since unknown
- */
- function take_action() {
- if ( isset( $_POST['textcolor'] ) ) {
- check_admin_referer('custom-header');
- if ( 'blank' == $_POST['textcolor'] ) {
- set_theme_mod('header_textcolor', 'blank');
- } else {
- $color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['textcolor']);
- if ( strlen($color) == 6 || strlen($color) == 3 )
- set_theme_mod('header_textcolor', $color);
- }
- }
- if ( isset($_POST['resetheader']) ) {
- check_admin_referer('custom-header');
- remove_theme_mods();
- }
- }
-
- /**
- * Execute Javascript depending on step.
- *
- * @since unknown
- */
- function js() {
- $step = $this->step();
- if ( 1 == $step )
- $this->js_1();
- elseif ( 2 == $step )
- $this->js_2();
- }
-
- /**
- * Display Javascript based on Step 1.
- *
- * @since unknown
- */
- function js_1() { ?>
-
-
-
-
-
-
-
-
-
-
-
%1$d x %2$d pixels will be used as-is.'), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT); ?>
-
-
-
-
-
-
-
- false);
- $file = wp_handle_upload($_FILES['import'], $overrides);
-
- if ( isset($file['error']) )
- die( $file['error'] );
-
- $url = $file['url'];
- $type = $file['type'];
- $file = $file['file'];
- $filename = basename($file);
-
- // Construct the object array
- $object = array(
- 'post_title' => $filename,
- 'post_content' => $url,
- 'post_mime_type' => $type,
- 'guid' => $url);
-
- // Save the data
- $id = wp_insert_attachment($object, $file);
-
- list($width, $height, $type, $attr) = getimagesize( $file );
-
- if ( $width == HEADER_IMAGE_WIDTH && $height == HEADER_IMAGE_HEIGHT ) {
- // Add the meta-data
- wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
-
- set_theme_mod('header_image', esc_url($url));
- do_action('wp_create_file_in_uploads', $file, $id); // For replication
- return $this->finished();
- } elseif ( $width > HEADER_IMAGE_WIDTH ) {
- $oitar = $width / HEADER_IMAGE_WIDTH;
- $image = wp_crop_image($file, 0, 0, $width, $height, HEADER_IMAGE_WIDTH, $height / $oitar, false, str_replace(basename($file), 'midsize-'.basename($file), $file));
- $image = apply_filters('wp_create_file_in_uploads', $image, $id); // For replication
-
- $url = str_replace(basename($url), basename($image), $url);
- $width = $width / $oitar;
- $height = $height / $oitar;
- } else {
- $oitar = 1;
- }
- ?>
-
-
- 1 ) {
- $_POST['x1'] = $_POST['x1'] * $_POST['oitar'];
- $_POST['y1'] = $_POST['y1'] * $_POST['oitar'];
- $_POST['width'] = $_POST['width'] * $_POST['oitar'];
- $_POST['height'] = $_POST['height'] * $_POST['oitar'];
- }
-
- $original = get_attached_file( $_POST['attachment_id'] );
-
- $cropped = wp_crop_image($_POST['attachment_id'], $_POST['x1'], $_POST['y1'], $_POST['width'], $_POST['height'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT);
- $cropped = apply_filters('wp_create_file_in_uploads', $cropped, $_POST['attachment_id']); // For replication
-
- $parent = get_post($_POST['attachment_id']);
- $parent_url = $parent->guid;
- $url = str_replace(basename($parent_url), basename($cropped), $parent_url);
-
- // Construct the object array
- $object = array(
- 'ID' => $_POST['attachment_id'],
- 'post_title' => basename($cropped),
- 'post_content' => $url,
- 'post_mime_type' => 'image/jpeg',
- 'guid' => $url
- );
-
- // Update the attachment
- wp_insert_attachment($object, $cropped);
- wp_update_attachment_metadata( $_POST['attachment_id'], wp_generate_attachment_metadata( $_POST['attachment_id'], $cropped ) );
-
- set_theme_mod('header_image', $url);
-
- // cleanup
- $medium = str_replace(basename($original), 'midsize-'.basename($original), $original);
- @unlink( apply_filters( 'wp_delete_file', $medium ) );
- @unlink( apply_filters( 'wp_delete_file', $original ) );
-
- return $this->finished();
- }
-
- /**
- * Display last step of custom header image page.
- *
- * @since unknown
- */
- function finished() {
- ?>
-
- step();
- if ( 1 == $step )
- $this->step_1();
- elseif ( 2 == $step )
- $this->step_2();
- elseif ( 3 == $step )
- $this->step_3();
- }
-
-}
-?>
+admin_header_callback = $admin_header_callback;
+ }
+
+ /**
+ * Setup the hooks for the Custom Header admin page.
+ *
+ * @since unknown
+ */
+ function init() {
+ $page = add_theme_page(__('Custom Header'), __('Custom Header'), 'edit_themes', 'custom-header', array(&$this, 'admin_page'));
+
+ add_action("admin_print_scripts-$page", array(&$this, 'js_includes'));
+ add_action("admin_print_styles-$page", array(&$this, 'css_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);
+ }
+
+ /**
+ * Get the current step.
+ *
+ * @since unknown
+ *
+ * @return int Current step
+ */
+ function step() {
+ if ( ! isset( $_GET['step'] ) )
+ return 1;
+
+ $step = (int) $_GET['step'];
+ if ( $step < 1 || 3 < $step )
+ $step = 1;
+
+ return $step;
+ }
+
+ /**
+ * Setup the enqueue for the JavaScript files.
+ *
+ * @since unknown
+ */
+ function js_includes() {
+ $step = $this->step();
+
+ if ( 1 == $step )
+ wp_enqueue_script('farbtastic');
+ elseif ( 2 == $step )
+ wp_enqueue_script('jcrop');
+ }
+
+ /**
+ * Setup the enqueue for the CSS files
+ *
+ * @since 2.7
+ */
+ function css_includes() {
+ $step = $this->step();
+
+ if ( 1 == $step )
+ wp_enqueue_style('farbtastic');
+ elseif ( 2 == $step )
+ wp_enqueue_style('jcrop');
+ }
+
+ /**
+ * Execute custom header modification.
+ *
+ * @since unknown
+ */
+ function take_action() {
+ if ( isset( $_POST['textcolor'] ) ) {
+ check_admin_referer('custom-header');
+ if ( 'blank' == $_POST['textcolor'] ) {
+ set_theme_mod('header_textcolor', 'blank');
+ } else {
+ $color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['textcolor']);
+ if ( strlen($color) == 6 || strlen($color) == 3 )
+ set_theme_mod('header_textcolor', $color);
+ }
+ }
+ if ( isset($_POST['resetheader']) ) {
+ check_admin_referer('custom-header');
+ remove_theme_mods();
+ }
+ }
+
+ /**
+ * Execute Javascript depending on step.
+ *
+ * @since unknown
+ */
+ function js() {
+ $step = $this->step();
+ if ( 1 == $step )
+ $this->js_1();
+ elseif ( 2 == $step )
+ $this->js_2();
+ }
+
+ /**
+ * Display Javascript based on Step 1.
+ *
+ * @since unknown
+ */
+ function js_1() { ?>
+
+
+
+
+
+
+
+
+
+
+
%1$d x %2$d pixels will be used as-is.'), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT); ?>
+
+
+
+
+
+
+
+ false);
+ $file = wp_handle_upload($_FILES['import'], $overrides);
+
+ if ( isset($file['error']) )
+ die( $file['error'] );
+
+ $url = $file['url'];
+ $type = $file['type'];
+ $file = $file['file'];
+ $filename = basename($file);
+
+ // Construct the object array
+ $object = array(
+ 'post_title' => $filename,
+ 'post_content' => $url,
+ 'post_mime_type' => $type,
+ 'guid' => $url);
+
+ // Save the data
+ $id = wp_insert_attachment($object, $file);
+
+ list($width, $height, $type, $attr) = getimagesize( $file );
+
+ if ( $width == HEADER_IMAGE_WIDTH && $height == HEADER_IMAGE_HEIGHT ) {
+ // Add the meta-data
+ wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
+
+ set_theme_mod('header_image', esc_url($url));
+ do_action('wp_create_file_in_uploads', $file, $id); // For replication
+ return $this->finished();
+ } elseif ( $width > HEADER_IMAGE_WIDTH ) {
+ $oitar = $width / HEADER_IMAGE_WIDTH;
+ $image = wp_crop_image($file, 0, 0, $width, $height, HEADER_IMAGE_WIDTH, $height / $oitar, false, str_replace(basename($file), 'midsize-'.basename($file), $file));
+ $image = apply_filters('wp_create_file_in_uploads', $image, $id); // For replication
+
+ $url = str_replace(basename($url), basename($image), $url);
+ $width = $width / $oitar;
+ $height = $height / $oitar;
+ } else {
+ $oitar = 1;
+ }
+ ?>
+
+
+ 1 ) {
+ $_POST['x1'] = $_POST['x1'] * $_POST['oitar'];
+ $_POST['y1'] = $_POST['y1'] * $_POST['oitar'];
+ $_POST['width'] = $_POST['width'] * $_POST['oitar'];
+ $_POST['height'] = $_POST['height'] * $_POST['oitar'];
+ }
+
+ $original = get_attached_file( $_POST['attachment_id'] );
+
+ $cropped = wp_crop_image($_POST['attachment_id'], $_POST['x1'], $_POST['y1'], $_POST['width'], $_POST['height'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT);
+ $cropped = apply_filters('wp_create_file_in_uploads', $cropped, $_POST['attachment_id']); // For replication
+
+ $parent = get_post($_POST['attachment_id']);
+ $parent_url = $parent->guid;
+ $url = str_replace(basename($parent_url), basename($cropped), $parent_url);
+
+ // Construct the object array
+ $object = array(
+ 'ID' => $_POST['attachment_id'],
+ 'post_title' => basename($cropped),
+ 'post_content' => $url,
+ 'post_mime_type' => 'image/jpeg',
+ 'guid' => $url
+ );
+
+ // Update the attachment
+ wp_insert_attachment($object, $cropped);
+ wp_update_attachment_metadata( $_POST['attachment_id'], wp_generate_attachment_metadata( $_POST['attachment_id'], $cropped ) );
+
+ set_theme_mod('header_image', $url);
+
+ // cleanup
+ $medium = str_replace(basename($original), 'midsize-'.basename($original), $original);
+ @unlink( apply_filters( 'wp_delete_file', $medium ) );
+ @unlink( apply_filters( 'wp_delete_file', $original ) );
+
+ return $this->finished();
+ }
+
+ /**
+ * Display last step of custom header image page.
+ *
+ * @since unknown
+ */
+ function finished() {
+ ?>
+
+ step();
+ if ( 1 == $step )
+ $this->step_1();
+ elseif ( 2 == $step )
+ $this->step_2();
+ elseif ( 3 == $step )
+ $this->step_3();
+ }
+
+}
+?>