WordPress.org

Make WordPress Core

Ticket #5843: 5843.diff

File 5843.diff, 2.1 KB (added by andy, 10 years ago)
  • wp-admin/includes/media.php

     
    88        return apply_filters('image_upload_tabs', $_default_tabs);
    99}
    1010
     11function the_image_upload_tabs() {
     12        $tabs = image_upload_tabs();
     13
     14        if ( !empty($tabs) ) {
     15                echo "<ul id='media-upload-tabs'>\n";
     16                if ( isset($_GET['tab']) && array_key_exists($_GET['tab'], $tabs) )
     17                        $current = $_GET['tab'];
     18                else
     19                        $current = array_shift(array_keys($tabs));
     20                foreach ( $tabs as $callback => $text ) {
     21                        if ( ++$i == count($tabs) )
     22                                $class = ' class="last"';
     23                        if ( $callback == $current )
     24                                $disabled = ' disabled="disabled"';
     25                        else
     26                                $disabled = '';
     27                        $href = add_query_arg('tab', $callback);
     28                        if ( $callback == $current )
     29                                $link = $text;
     30                        else
     31                                $link = "<a href='$href'>$text</a>";
     32                        echo "\t<li$class>$link</li>\n";
     33                }
     34                echo "</ul>\n";
     35        }
     36}
     37
     38function image_upload_callback() {
     39        $tabs = image_upload_tabs();
     40        if ( isset($_GET['tab']) && array_key_exists($_GET['tab'], $tabs) && is_callable($_GET['tab']) )
     41                return $_GET['tab']();
     42        elseif ( is_callable($first = array_shift(array_keys($tabs))) )
     43                return $first();
     44        else
     45                return image_upload_handler();
     46}
     47
     48add_action('media_upload_image', 'image_upload_callback');
     49
    1150function image_upload_form( $action_url, $values = array(), $error = null ) {
    1251        $action_url = attribute_escape( $action_url );
    1352        $image_alt = attribute_escape( @$values['image-alt'] );
     
    1958?>
    2059<div id="media-upload-header">
    2160<h3>Add Image</h3>
    22 <ul id="media-upload-tabs">
    23         <li><?php _e('From Computer'); ?></li>
    24         <li><?php _e('Media Library'); ?></li>
    25         <li class="last"><?php _e('Flickr'); ?></li>
    26 </ul>
     61<?php the_image_upload_tabs(); ?>
    2762</div>
    2863<div id="media-upload-error">
    2964<?php if ($error) {
     
    388423}
    389424
    390425add_action('media_upload_multimedia', 'multimedia_upload_handler');
    391 add_action('media_upload_image', 'image_upload_handler');
    392426add_action('admin_head_image_upload_form', 'media_admin_css');
    393427
    394428function multimedia_upload_handler() {