diff --git a/wp-admin/includes/media.php b/wp-admin/includes/media.php
index 0a91d3a81..7e72a2770 100644
--- a/wp-admin/includes/media.php
+++ b/wp-admin/includes/media.php
@@ -8,6 +8,45 @@ function image_upload_tabs() {
return apply_filters('image_upload_tabs', $_default_tabs);
}
+function the_image_upload_tabs() {
+ $tabs = image_upload_tabs();
+
+ if ( !empty($tabs) ) {
+ echo "
\n";
+ }
+}
+
+function image_upload_callback() {
+ $tabs = image_upload_tabs();
+ if ( isset($_GET['tab']) && array_key_exists($_GET['tab'], $tabs) && is_callable($_GET['tab']) )
+ return $_GET['tab']();
+ elseif ( is_callable($first = array_shift(array_keys($tabs))) )
+ return $first();
+ else
+ return image_upload_handler();
+}
+
+add_action('media_upload_image', 'image_upload_callback');
+
function image_upload_form( $action_url, $values = array(), $error = null ) {
$action_url = attribute_escape( $action_url );
$image_alt = attribute_escape( @$values['image-alt'] );
@@ -18,12 +57,8 @@ function image_upload_form( $action_url, $values = array(), $error = null ) {
?>