X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/7f1521bf193b382565eb753043c161f4cb3fcda7..3d39054f012aefe514b3f5509e32f09fc4feda44:/wp-admin/includes/media.php diff --git a/wp-admin/includes/media.php b/wp-admin/includes/media.php index 75811962..c6b2dcd1 100644 --- a/wp-admin/includes/media.php +++ b/wp-admin/includes/media.php @@ -22,7 +22,7 @@ function media_upload_tabs() { ); /** - * Filter the available tabs in the legacy (pre-3.5.0) media popup. + * Filters the available tabs in the legacy (pre-3.5.0) media popup. * * @since 2.5.0 * @@ -36,6 +36,8 @@ function media_upload_tabs() { * * @since 2.5.0 * + * @global wpdb $wpdb WordPress database abstraction object. + * * @param array $tabs * @return array $tabs with gallery if post has image attachment */ @@ -61,12 +63,13 @@ function update_gallery_tab($tabs) { return $tabs; } -add_filter('media_upload_tabs', 'update_gallery_tab'); /** - * {@internal Missing Short Description}} + * Outputs the legacy media upload tabs UI. * * @since 2.5.0 + * + * @global string $redir_tab */ function the_media_upload_tabs() { global $redir_tab; @@ -99,42 +102,52 @@ function the_media_upload_tabs() { } /** - * {@internal Missing Short Description}} + * Retrieves the image HTML to send to the editor. * * @since 2.5.0 * - * @param integer $id image attachment id - * @param string $caption image caption - * @param string $alt image alt attribute - * @param string $title image title attribute - * @param string $align image css alignment property - * @param string $url image src url - * @param string|bool $rel image rel attribute - * @param string $size image size (thumbnail, medium, large, full or added with add_image_size() ) - * @return string the html to insert into editor + * @param int $id Image attachment id. + * @param string $caption Image caption. + * @param string $title Image title attribute. + * @param string $align Image CSS alignment property. + * @param string $url Optional. Image src URL. Default empty. + * @param bool|string $rel Optional. Value for rel attribute or whether to add a default value. Default false. + * @param string|array $size Optional. Image size. Accepts any valid image size, or an array of width + * and height values in pixels (in that order). Default 'medium'. + * @param string $alt Optional. Image alt attribute. Default empty. + * @return string The HTML output to insert into the editor. */ -function get_image_send_to_editor($id, $caption, $title, $align, $url='', $rel = false, $size='medium', $alt = '') { +function get_image_send_to_editor( $id, $caption, $title, $align, $url = '', $rel = false, $size = 'medium', $alt = '' ) { - $html = get_image_tag($id, $alt, '', $align, $size); + $html = get_image_tag( $id, $alt, '', $align, $size ); - $rel = $rel ? ' rel="attachment wp-att-' . esc_attr($id).'"' : ''; + if ( $rel ) { + if ( is_string( $rel ) ) { + $rel = ' rel="' . esc_attr( $rel ) . '"'; + } else { + $rel = ' rel="attachment wp-att-' . intval( $id ) . '"'; + } + } else { + $rel = ''; + } if ( $url ) - $html = '$html"; + $html = '' . $html . ''; /** - * Filter the image HTML markup to send to the editor. + * Filters the image HTML markup to send to the editor. * * @since 2.5.0 * - * @param string $html The image HTML markup to send. - * @param int $id The attachment id. - * @param string $caption The image caption. - * @param string $title The image title. - * @param string $align The image alignment. - * @param string $url The image source URL. - * @param string $size The image size. - * @param string $alt The image alternative, or alt, text. + * @param string $html The image HTML markup to send. + * @param int $id The attachment id. + * @param string $caption The image caption. + * @param string $title The image title. + * @param string $align The image alignment. + * @param string $url The image source URL. + * @param string|array $size Size of image. Image size or array of width and height values + * (in that order). Default 'medium'. + * @param string $alt The image alternative, or alt, text. */ $html = apply_filters( 'image_send_to_editor', $html, $id, $caption, $title, $align, $url, $size, $alt ); @@ -149,23 +162,23 @@ function get_image_send_to_editor($id, $caption, $title, $align, $url='', $rel = * @param string $html * @param integer $id * @param string $caption image caption - * @param string $alt image alt attribute * @param string $title image title attribute * @param string $align image css alignment property * @param string $url image src url * @param string $size image size (thumbnail, medium, large, full or added with add_image_size() ) + * @param string $alt image alt attribute * @return string */ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $alt = '' ) { /** - * Filter the caption text. + * Filters the caption text. * * Note: If the caption text is empty, the caption shortcode will not be appended * to the image HTML when inserted into the editor. * * Passing an empty value also prevents the {@see 'image_add_caption_shortcode'} - * filter from being evaluated at the end of {@see image_add_caption()}. + * Filters from being evaluated at the end of image_add_caption(). * * @since 4.1.0 * @@ -175,7 +188,7 @@ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $ $caption = apply_filters( 'image_add_caption_text', $caption, $id ); /** - * Filter whether to disable captions. + * Filters whether to disable captions. * * Prevents image captions from being appended to image HTML when inserted into the editor. * @@ -207,7 +220,7 @@ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $ $shcode = '[caption id="' . $id . '" align="align' . $align . '" width="' . $width . '"]' . $html . ' ' . $caption . '[/caption]'; /** - * Filter the image HTML markup including the caption shortcode. + * Filters the image HTML markup including the caption shortcode. * * @since 2.6.0 * @@ -216,7 +229,6 @@ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $ */ return apply_filters( 'image_add_caption_shortcode', $shcode, $html ); } -add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 ); /** * Private preg_replace callback used in image_add_caption() @@ -240,7 +252,7 @@ function media_send_to_editor($html) { ?> '); * * @since 2.5.0 * - * @param string $file_id Index of the {@link $_FILES} array that the file was sent. Required. + * @param string $file_id Index of the `$_FILES` array that the file was sent. Required. * @param int $post_id The post ID of a post to attach the media item to. Required, but can * be set to 0, creating a media item that has no relationship to a post. * @param array $post_data Overwrite some of the attachment. Optional. - * @param array $overrides Override the {@link wp_handle_upload()} behavior. Optional. + * @param array $overrides Override the wp_handle_upload() behavior. Optional. * @return int|WP_Error ID of the attachment or a WP_Error object on failure. */ function media_handle_upload($file_id, $post_id, $post_data = array(), $overrides = array( 'test_form' => false )) { @@ -278,7 +290,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override $url = $file['url']; $type = $file['type']; $file = $file['file']; - $title = $name; + $title = sanitize_title( $name ); $content = ''; $excerpt = ''; @@ -355,8 +367,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override ), $post_data ); // This should never be set as it would then overwrite an existing attachment. - if ( isset( $attachment['ID'] ) ) - unset( $attachment['ID'] ); + unset( $attachment['ID'] ); // Save the data $id = wp_insert_attachment($attachment, $file, $post_id); @@ -369,17 +380,17 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override } /** - * This handles a sideloaded file in the same way as an uploaded file is handled by {@link media_handle_upload()} + * Handles a side-loaded file in the same way as an uploaded file is handled by media_handle_upload(). * * @since 2.6.0 * - * @param array $file_array Array similar to a {@link $_FILES} upload array - * @param int $post_id The post ID the media is associated with - * @param string $desc Description of the sideloaded file - * @param array $post_data allows you to overwrite some of the attachment - * @return int|object The ID of the attachment or a WP_Error on failure + * @param array $file_array Array similar to a `$_FILES` upload array. + * @param int $post_id The post ID the media is associated with. + * @param string $desc Optional. Description of the side-loaded file. Default null. + * @param array $post_data Optional. Post data to override. Default empty array. + * @return int|object The ID of the attachment or a WP_Error on failure. */ -function media_handle_sideload($file_array, $post_id, $desc = null, $post_data = array()) { +function media_handle_sideload( $file_array, $post_id, $desc = null, $post_data = array() ) { $overrides = array('test_form'=>false); $time = current_time( 'mysql' ); @@ -419,8 +430,7 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data = ), $post_data ); // This should never be set as it would then overwrite an existing attachment. - if ( isset( $attachment['ID'] ) ) - unset( $attachment['ID'] ); + unset( $attachment['ID'] ); // Save the attachment metadata $id = wp_insert_attachment($attachment, $file, $post_id); @@ -435,6 +445,8 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data = * * @since 2.5.0 * + * @global int $body_id + * * @param string|callable $content_func */ function wp_iframe($content_func /* ... */) { @@ -447,7 +459,7 @@ wp_enqueue_style( 'colors' ); // Check callback name for 'media' if ( ( is_array( $content_func ) && ! empty( $content_func[1] ) && 0 === strpos( (string) $content_func[1], 'media' ) ) || ( ! is_array( $content_func ) && 0 === strpos( $content_func, 'media' ) ) ) - wp_enqueue_style( 'media' ); + wp_enqueue_style( 'deprecated-media' ); wp_enqueue_style( 'ie' ); ?> \n"; + + echo ''; if ( empty( $_GET['chromeless'] ) ) { echo '
'; the_media_upload_tabs(); @@ -1724,10 +1778,15 @@ function media_upload_header() { } /** - * {@internal Missing Short Description}} + * Outputs the legacy media upload form. * * @since 2.5.0 * + * @global string $type + * @global string $tab + * @global bool $is_IE + * @global bool $is_opera + * * @param array $errors */ function media_upload_form( $errors = null ) { @@ -1788,7 +1847,7 @@ $post_params = array( ); /** - * Filter the media upload post parameters. + * Filters the media upload post parameters. * * @since 3.1.0 As 'swfupload_post_params' * @since 3.3.0 @@ -1821,7 +1880,7 @@ if ( wp_is_mobile() && strpos( $_SERVER['HTTP_USER_AGENT'], 'OS 7_' ) !== false } /** - * Filter the default Plupload settings. + * Filters the default Plupload settings. * * @since 3.3.0 * @@ -1883,7 +1942,7 @@ do_action( 'post-plupload-upload-ui' ); ?>

- +

@@ -1911,7 +1970,7 @@ do_action( 'post-html-upload-ui' ); } /** - * {@internal Missing Short Description}} + * Outputs the legacy media upload form for a given media type. * * @since 2.5.0 * @@ -1928,7 +1987,7 @@ function media_upload_type_form($type = 'file', $errors = null, $id = null) { $form_action_url = admin_url("media-upload.php?type=$type&tab=type&post_id=$post_id"); /** - * Filter the media upload form action URL. + * Filters the media upload form action URL. * * @since 2.6.0 * @@ -1981,7 +2040,7 @@ if ( $id ) { } /** - * {@internal Missing Short Description}} + * Outputs the legacy media upload form for external media. * * @since 2.7.0 * @@ -2065,7 +2124,7 @@ var addExtImage = { t.width = t.height = ''; document.getElementById('go_button').style.color = '#bbb'; if ( ! document.forms[0].src.value ) - document.getElementById('status_img').innerHTML = '*'; + document.getElementById('status_img').innerHTML = ''; else document.getElementById('status_img').innerHTML = ''; }, @@ -2108,7 +2167,7 @@ jQuery(document).ready( function($) {
$label ) { $type_links[] = '
  • ' . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), '' . number_format_i18n( $num_posts[$mime_type] ) . '') . ''; } /** - * Filter the media upload mime type list items. + * Filters the media upload mime type list items. * * Returned values should begin with an `
  • ` tag. * @@ -2484,21 +2554,21 @@ function wp_media_insert_url_form( $default_view = 'image' ) { return '

       

    +

    ' . sprintf( __( 'Required fields are marked %s' ), '*' ) . '

    - + - + @@ -2556,6 +2626,8 @@ function wp_media_insert_url_form( $default_view = 'image' ) { * Displays the multi-file uploader message. * * @since 2.6.0 + * + * @global int $post_ID */ function media_upload_flash_bypass() { $browser_uploader = admin_url( 'media-new.php?browser-uploader' ); @@ -2571,7 +2643,6 @@ function media_upload_flash_bypass() {

    ID, '_wp_attachment_image_alt', true ); $att_url = wp_get_attachment_url( $post->ID ); ?> -
    +
    ID ) ) : $image_edit_button = ''; @@ -2656,7 +2728,7 @@ function edit_form_image_editor( $post ) {
    - class="wp_attachment_image" id="media-head-"> + class="wp_attachment_image wp-clearfix" id="media-head-">

    @@ -2694,6 +2766,17 @@ function edit_form_image_editor( $post ) { echo wp_video_shortcode( $attr ); + else : + + /** + * Fires when an attachment type can't be rendered in the edit form. + * + * @since 4.6.0 + * + * @param WP_Post $post A post object. + */ + do_action( 'wp_edit_form_attachment_display', $post ); + endif; ?>
    @@ -2721,7 +2804,7 @@ function edit_form_image_editor( $post ) { ); ?> - @@ -2735,14 +2818,15 @@ function edit_form_image_editor( $post ) { } /** - * Displays non-editable attachment metadata in the publish metabox + * Displays non-editable attachment metadata in the publish meta box. * * @since 3.5.0 */ function attachment_submitbox_metadata() { $post = get_post(); - $filename = esc_html( wp_basename( $post->guid ) ); + $file = get_attached_file( $post->ID ); + $filename = esc_html( wp_basename( $file ) ); $media_dims = ''; $meta = wp_get_attachment_metadata( $post->ID ); @@ -2754,8 +2838,8 @@ function attachment_submitbox_metadata() { $att_url = wp_get_attachment_url( $post->ID ); ?>
    - - + +
    @@ -2777,7 +2861,6 @@ function attachment_submitbox_metadata() {
    ID ); $file_size = false; if ( isset( $meta['filesize'] ) ) @@ -2795,7 +2878,7 @@ function attachment_submitbox_metadata() { if ( preg_match( '#^(audio|video)/#', $post->post_mime_type ) ) { /** - * Filter the audio and video metadata fields to be shown in the publish meta box. + * Filters the audio and video metadata fields to be shown in the publish meta box. * * The key for each item in the array should correspond to an attachment * metadata key, and the value should be the desired label. @@ -2833,7 +2916,7 @@ function attachment_submitbox_metadata() { } /** - * Filter the audio attachment metadata fields to be shown in the publish meta box. + * Filters the audio attachment metadata fields to be shown in the publish meta box. * * The key for each item in the array should correspond to an attachment * metadata key, and the value should be the desired label. @@ -2868,21 +2951,6 @@ function attachment_submitbox_metadata() { endif; } -add_filter( 'async_upload_image', 'get_media_item', 10, 2 ); -add_filter( 'async_upload_audio', 'get_media_item', 10, 2 ); -add_filter( 'async_upload_video', 'get_media_item', 10, 2 ); -add_filter( 'async_upload_file', 'get_media_item', 10, 2 ); - -add_action( 'media_upload_image', 'wp_media_upload_handler' ); -add_action( 'media_upload_audio', 'wp_media_upload_handler' ); -add_action( 'media_upload_video', 'wp_media_upload_handler' ); -add_action( 'media_upload_file', 'wp_media_upload_handler' ); - -add_filter( 'media_upload_gallery', 'media_upload_gallery' ); -add_filter( 'media_upload_library', 'media_upload_library' ); - -add_action( 'attachment_submitbox_misc_actions', 'attachment_submitbox_metadata' ); - /** * Parse ID3v2, ID3v1, and getID3 comments to extract usable data * @@ -2936,13 +3004,19 @@ function wp_add_id3_tag_data( &$metadata, $data ) { * @return array|bool Returns array of metadata, if found. */ function wp_read_video_metadata( $file ) { - if ( ! file_exists( $file ) ) + if ( ! file_exists( $file ) ) { return false; + } $metadata = array(); - if ( ! class_exists( 'getID3' ) ) + if ( ! defined( 'GETID3_TEMP_DIR' ) ) { + define( 'GETID3_TEMP_DIR', get_temp_dir() ); + } + + if ( ! class_exists( 'getID3', false ) ) { require( ABSPATH . WPINC . '/ID3/getid3.php' ); + } $id3 = new getID3(); $data = $id3->analyze( $file ); @@ -2989,15 +3063,21 @@ function wp_read_video_metadata( $file ) { * @since 3.6.0 * * @param string $file Path to file. - * @return array|boolean Returns array of metadata, if found. + * @return array|bool Returns array of metadata, if found. */ function wp_read_audio_metadata( $file ) { - if ( ! file_exists( $file ) ) + if ( ! file_exists( $file ) ) { return false; + } $metadata = array(); - if ( ! class_exists( 'getID3' ) ) + if ( ! defined( 'GETID3_TEMP_DIR' ) ) { + define( 'GETID3_TEMP_DIR', get_temp_dir() ); + } + + if ( ! class_exists( 'getID3', false ) ) { require( ABSPATH . WPINC . '/ID3/getid3.php' ); + } $id3 = new getID3(); $data = $id3->analyze( $file ); @@ -3041,7 +3121,7 @@ function wp_media_attach_action( $parent_id, $action = 'attach' ) { } if ( ! current_user_can( 'edit_post', $parent_id ) ) { - wp_die( __( 'You are not allowed to edit this post.' ) ); + wp_die( __( 'Sorry, you are not allowed to edit this post.' ) ); } $ids = array(); foreach ( (array) $_REQUEST['media'] as $att_id ) {
    - - * + +
    - - * +

    ' . __('Link text, e.g. “Ransom Demands (PDF)”') . '