X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/76aea3697c6043c1613370f172395b4f65ee71f0..4f4e083f6f77639c41e2b1ddb200de8e34301cee:/wp-admin/includes/media.php diff --git a/wp-admin/includes/media.php b/wp-admin/includes/media.php index d91ffc23..e6e7b6b8 100644 --- a/wp-admin/includes/media.php +++ b/wp-admin/includes/media.php @@ -1,30 +1,64 @@ __('Choose File'), // handler action suffix => tab text + 'type' => __('From Computer'), // handler action suffix => tab text + 'type_url' => __('From URL'), 'gallery' => __('Gallery'), - 'library' => __('Media Library'), + 'library' => __('Media Library') ); return apply_filters('media_upload_tabs', $_default_tabs); } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $tabs + * @return unknown + */ function update_gallery_tab($tabs) { global $wpdb; + if ( !isset($_REQUEST['post_id']) ) { unset($tabs['gallery']); return $tabs; } + if ( intval($_REQUEST['post_id']) ) $attachments = intval($wpdb->get_var($wpdb->prepare("SELECT count(*) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_parent = %d", $_REQUEST['post_id']))); + if ( empty($attachments) ) { + unset($tabs['gallery']); + return $tabs; + } + $tabs['gallery'] = sprintf(__('Gallery (%s)'), "$attachments"); return $tabs; } add_filter('media_upload_tabs', 'update_gallery_tab'); +/** + * {@internal Missing Short Description}} + * + * @since unknown + */ function the_media_upload_tabs() { global $redir_tab; $tabs = media_upload_tabs(); @@ -35,47 +69,83 @@ function the_media_upload_tabs() { $current = $redir_tab; elseif ( isset($_GET['tab']) && array_key_exists($_GET['tab'], $tabs) ) $current = $_GET['tab']; - else { - $keys = array_keys($tabs); - $current = array_shift($keys); - } + else + $current = apply_filters('media_upload_default_tab', 'type'); + foreach ( $tabs as $callback => $text ) { $class = ''; if ( $current == $callback ) $class = " class='current'"; $href = add_query_arg(array('tab'=>$callback, 's'=>false, 'paged'=>false, 'post_mime_type'=>false, 'm'=>false)); - $link = "$text"; - echo "\t
  • $link
  • \n"; + $link = "$text"; + echo "\t
  • $link
  • \n"; } echo "\n"; } } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $id + * @param unknown_type $alt + * @param unknown_type $title + * @param unknown_type $align + * @param unknown_type $url + * @param unknown_type $rel + * @param unknown_type $size + * @return unknown + */ function get_image_send_to_editor($id, $alt, $title, $align, $url='', $rel = false, $size='medium') { - $html = get_image_tag($id, $alt, $title, $align, $size); + $htmlalt = ( empty($alt) ) ? $title : $alt; - $rel = $rel ? ' rel="attachment wp-att-'.attribute_escape($id).'"' : ''; + $html = get_image_tag($id, $htmlalt, $title, $align, $size); + + $rel = $rel ? ' rel="attachment wp-att-' . esc_attr($id).'"' : ''; if ( $url ) - $html = '$html"; + $html = '$html"; $html = apply_filters( 'image_send_to_editor', $html, $id, $alt, $title, $align, $url, $size ); return $html; } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $html + * @param unknown_type $id + * @param unknown_type $alt + * @param unknown_type $title + * @param unknown_type $align + * @param unknown_type $url + * @param unknown_type $size + * @return unknown + */ function image_add_caption( $html, $id, $alt, $title, $align, $url, $size ) { - if ( empty($alt) || apply_filters( 'disable_captions', '' ) ) return $html; + if ( empty($alt) || apply_filters( 'disable_captions', '' ) ) + return $html; + $id = ( 0 < (int) $id ) ? 'attachment_' . $id : ''; preg_match( '/width="([0-9]+)/', $html, $matches ); - if ( ! isset($matches[1]) ) return $html; + if ( ! isset($matches[1]) ) + return $html; + $width = $matches[1]; - $html = preg_replace( '/align[^\s\'"]+\s?/', '', $html ); - if ( empty($align) ) $align = 'none'; + $html = preg_replace( '/(class=["\'][^\'"]*)align(none|left|right|center)\s?/', '$1', $html ); + if ( empty($align) ) + $align = 'none'; + + $alt = ! empty($alt) ? addslashes($alt) : ''; $shcode = '[caption id="' . $id . '" align="align' . $align . '" width="' . $width . '" caption="' . $alt . '"]' . $html . '[/caption]'; @@ -84,8 +154,15 @@ function image_add_caption( $html, $id, $alt, $title, $align, $url, $size ) { } add_filter( 'image_send_to_editor', 'image_add_caption', 20, 7 ); +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $html + */ function media_send_to_editor($html) { - ?> +?> + $image_title - $video_title - $audio_title - $media_title + $image_title + $video_title + $audio_title + $media_title EOF; printf($context, $out); } add_action( 'media_buttons', 'media_buttons' ); -add_action('media_upload_media', 'media_upload_handler'); +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function media_upload_form_handler() { check_admin_referer('media-form'); + $errors = null; + + if ( isset($_POST['send']) ) { + $keys = array_keys($_POST['send']); + $send_id = (int) array_shift($keys); + } + if ( !empty($_POST['attachments']) ) foreach ( $_POST['attachments'] as $attachment_id => $attachment ) { $post = $_post = get_post($attachment_id, ARRAY_A); if ( isset($attachment['post_content']) ) @@ -259,6 +398,11 @@ function media_upload_form_handler() { if ( isset($attachment['menu_order']) ) $post['menu_order'] = $attachment['menu_order']; + if ( isset($send_id) && $attachment_id == $send_id ) { + if ( isset($attachment['post_parent']) ) + $post['post_parent'] = $attachment['post_parent']; + } + $post = apply_filters('attachment_fields_to_save', $post, $attachment); if ( isset($post['errors']) ) { @@ -274,19 +418,27 @@ function media_upload_form_handler() { wp_set_object_terms($attachment_id, array_map('trim', preg_split('/,+/', $attachment[$t])), $t, false); } - if ( isset($_POST['insert-gallery']) ) - return media_send_to_editor('[gallery]'); + if ( isset($_POST['insert-gallery']) || isset($_POST['update-gallery']) ) { ?> + + $html"; } + $html = apply_filters('media_send_to_editor', $html, $send_id, $attachment); return media_send_to_editor($html); } @@ -294,7 +446,17 @@ function media_upload_form_handler() { return $errors; } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function media_upload_image() { + $errors = array(); + $id = 0; + if ( isset($_POST['html-upload']) && !empty($_FILES) ) { // Upload File button was clicked $id = media_handle_upload('async-upload', $_REQUEST['post_id']); @@ -309,13 +471,14 @@ function media_upload_image() { $src = $_POST['insertonly']['src']; if ( !empty($src) && !strpos($src, '://') ) $src = "http://$src"; - $alt = attribute_escape($_POST['insertonly']['alt']); + $alt = esc_attr($_POST['insertonly']['alt']); if ( isset($_POST['insertonly']['align']) ) { - $align = attribute_escape($_POST['insertonly']['align']); + $align = esc_attr($_POST['insertonly']['align']); $class = " class='align$align'"; } if ( !empty($src) ) $html = "$alt"; + $html = apply_filters('image_send_to_editor_url', $html, $src, $alt, $align); return media_send_to_editor($html); } @@ -333,15 +496,34 @@ function media_upload_image() { return media_upload_gallery(); } + if ( isset($_GET['tab']) && $_GET['tab'] == 'type_url' ) + return wp_iframe( 'media_upload_type_url_form', 'image', $errors, $id ); + return wp_iframe( 'media_upload_type_form', 'image', $errors, $id ); } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $file + * @param unknown_type $post_id + * @param unknown_type $desc + * @return unknown + */ function media_sideload_image($file, $post_id, $desc = null) { if (!empty($file) ) { $file_array['name'] = basename($file); - $file_array['tmp_name'] = download_url($file); + $tmp = download_url($file); + $file_array['tmp_name'] = $tmp; $desc = @$desc; + if ( is_wp_error($tmp) ) { + @unlink($file_array['tmp_name']); + $file_array['tmp_name'] = ''; + } + $id = media_handle_sideload($file_array, $post_id, $desc); $src = $id; @@ -358,7 +540,17 @@ function media_sideload_image($file, $post_id, $desc = null) { } } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function media_upload_audio() { + $errors = array(); + $id = 0; + if ( isset($_POST['html-upload']) && !empty($_FILES) ) { // Upload File button was clicked $id = media_handle_upload('async-upload', $_REQUEST['post_id']); @@ -373,11 +565,12 @@ function media_upload_audio() { $href = $_POST['insertonly']['href']; if ( !empty($href) && !strpos($href, '://') ) $href = "http://$href"; - $title = attribute_escape($_POST['insertonly']['title']); + $title = esc_attr($_POST['insertonly']['title']); if ( empty($title) ) $title = basename($href); if ( !empty($title) && !empty($href) ) $html = "$title"; + $html = apply_filters('audio_send_to_editor_url', $html, $href, $title); return media_send_to_editor($html); } @@ -395,10 +588,23 @@ function media_upload_audio() { return media_upload_gallery(); } + if ( isset($_GET['tab']) && $_GET['tab'] == 'type_url' ) + return wp_iframe( 'media_upload_type_url_form', 'audio', $errors, $id ); + return wp_iframe( 'media_upload_type_form', 'audio', $errors, $id ); } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function media_upload_video() { + $errors = array(); + $id = 0; + if ( isset($_POST['html-upload']) && !empty($_FILES) ) { // Upload File button was clicked $id = media_handle_upload('async-upload', $_REQUEST['post_id']); @@ -413,11 +619,12 @@ function media_upload_video() { $href = $_POST['insertonly']['href']; if ( !empty($href) && !strpos($href, '://') ) $href = "http://$href"; - $title = attribute_escape($_POST['insertonly']['title']); + $title = esc_attr($_POST['insertonly']['title']); if ( empty($title) ) $title = basename($href); if ( !empty($title) && !empty($href) ) $html = "$title"; + $html = apply_filters('video_send_to_editor_url', $html, $href, $title); return media_send_to_editor($html); } @@ -435,10 +642,23 @@ function media_upload_video() { return media_upload_gallery(); } + if ( isset($_GET['tab']) && $_GET['tab'] == 'type_url' ) + return wp_iframe( 'media_upload_type_url_form', 'video', $errors, $id ); + return wp_iframe( 'media_upload_type_form', 'video', $errors, $id ); } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function media_upload_file() { + $errors = array(); + $id = 0; + if ( isset($_POST['html-upload']) && !empty($_FILES) ) { // Upload File button was clicked $id = media_handle_upload('async-upload', $_REQUEST['post_id']); @@ -453,11 +673,12 @@ function media_upload_file() { $href = $_POST['insertonly']['href']; if ( !empty($href) && !strpos($href, '://') ) $href = "http://$href"; - $title = attribute_escape($_POST['insertonly']['title']); + $title = esc_attr($_POST['insertonly']['title']); if ( empty($title) ) $title = basename($href); if ( !empty($title) && !empty($href) ) $html = "$title"; + $html = apply_filters('file_send_to_editor_url', $html, $href, $title); return media_send_to_editor($html); } @@ -475,10 +696,22 @@ function media_upload_file() { return media_upload_gallery(); } + if ( isset($_GET['tab']) && $_GET['tab'] == 'type_url' ) + return wp_iframe( 'media_upload_type_url_form', 'file', $errors, $id ); + return wp_iframe( 'media_upload_type_form', 'file', $errors, $id ); } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function media_upload_gallery() { + $errors = array(); + if ( !empty($_POST) ) { $return = media_upload_form_handler(); @@ -492,7 +725,15 @@ function media_upload_gallery() { return wp_iframe( 'media_upload_gallery_form', $errors ); } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function media_upload_library() { + $errors = array(); if ( !empty($_POST) ) { $return = media_upload_form_handler(); @@ -505,52 +746,166 @@ function media_upload_library() { return wp_iframe( 'media_upload_library_form', $errors ); } +/** + * Retrieve HTML for the image alignment radio buttons with the specified one checked. + * + * @since unknown + * + * @param unknown_type $post + * @param unknown_type $checked + * @return unknown + */ +function image_align_input_fields( $post, $checked = '' ) { + + $alignments = array('none' => __('None'), 'left' => __('Left'), 'center' => __('Center'), 'right' => __('Right')); + if ( !array_key_exists( (string) $checked, $alignments ) ) + $checked = 'none'; + + $out = array(); + foreach ($alignments as $name => $label) { + $name = esc_attr($name); + $out[] = ""; + } + return join("\n", $out); +} + +/** + * Retrieve HTML for the size radio buttons with the specified one checked. + * + * @since unknown + * + * @param unknown_type $post + * @param unknown_type $checked + * @return unknown + */ +function image_size_input_fields( $post, $checked = '' ) { + + // get a list of the actual pixel dimensions of each possible intermediate version of this image + $size_names = array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full size')); + + foreach ( $size_names as $size => $name ) { + $downsize = image_downsize($post->ID, $size); + + // is this size selectable? + $enabled = ( $downsize[3] || 'full' == $size ); + $css_id = "image-size-{$size}-{$post->ID}"; + // if this size is the default but that's not available, don't select it + if ( $checked && !$enabled ) + $checked = ''; + // if $checked was not specified, default to the first available size that's bigger than a thumbnail + if ( !$checked && $enabled && 'thumbnail' != $size ) + $checked = $size; + + $html = "
    "; + + $html .= ""; + // only show the dimensions if that choice is available + if ( $enabled ) + $html .= " "; + + $html .= '
    '; + + $out[] = $html; + } + + return array( + 'label' => __('Size'), + 'input' => 'html', + 'html' => join("\n", $out), + ); +} + +/** + * Retrieve HTML for the Link URL buttons with the default link type as specified. + * + * @since unknown + * + * @param unknown_type $post + * @param unknown_type $url_type + * @return unknown + */ +function image_link_input_fields($post, $url_type='') { + + $file = wp_get_attachment_url($post->ID); + $link = get_attachment_link($post->ID); + + $url = ''; + if ( $url_type == 'file' ) + $url = $file; + elseif ( $url_type == 'post' ) + $url = $link; + + return "
    + + + +"; +} + +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $form_fields + * @param unknown_type $post + * @return unknown + */ function image_attachment_fields_to_edit($form_fields, $post) { if ( substr($post->post_mime_type, 0, 5) == 'image' ) { $form_fields['post_title']['required'] = true; + $file = wp_get_attachment_url($post->ID); + + $form_fields['image_url']['value'] = $file; $form_fields['post_excerpt']['label'] = __('Caption'); $form_fields['post_excerpt']['helps'][] = __('Also used as alternate text for the image'); $form_fields['post_content']['label'] = __('Description'); - $thumb = wp_get_attachment_thumb_url($post->ID); - $form_fields['align'] = array( 'label' => __('Alignment'), 'input' => 'html', - 'html' => " - - - - - - - - \n", - ); - $form_fields['image-size'] = array( - 'label' => __('Size'), - 'input' => 'html', - 'html' => " - " . ( $thumb ? " - - " : '' ) . " - - - ", + 'html' => image_align_input_fields($post, get_option('image_default_align')), ); + + $form_fields['image-size'] = image_size_input_fields($post, get_option('image_default_size')); } return $form_fields; } add_filter('attachment_fields_to_edit', 'image_attachment_fields_to_edit', 10, 2); +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $form_fields + * @param unknown_type $post + * @return unknown + */ function media_single_attachment_fields_to_edit( $form_fields, $post ) { unset($form_fields['url'], $form_fields['align'], $form_fields['image-size']); return $form_fields; } +function media_post_single_attachment_fields_to_edit( $form_fields, $post ) { + unset($form_fields['image_url']); + return $form_fields; +} + +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $post + * @param unknown_type $attachment + * @return unknown + */ function image_attachment_fields_to_save($post, $attachment) { if ( substr($post['post_mime_type'], 0, 5) == 'image' ) { if ( strlen(trim($post['post_title'])) == 0 ) { @@ -564,6 +919,16 @@ function image_attachment_fields_to_save($post, $attachment) { add_filter('attachment_fields_to_save', 'image_attachment_fields_to_save', 10, 2); +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $html + * @param unknown_type $attachment_id + * @param unknown_type $attachment + * @return unknown + */ function image_media_send_to_editor($html, $attachment_id, $attachment) { $post =& get_post($attachment_id); if ( substr($post->post_mime_type, 0, 5) == 'image' ) { @@ -589,15 +954,24 @@ function image_media_send_to_editor($html, $attachment_id, $attachment) { add_filter('media_send_to_editor', 'image_media_send_to_editor', 10, 3); +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @param unknown_type $post + * @param unknown_type $errors + * @return unknown + */ function get_attachment_fields_to_edit($post, $errors = null) { if ( is_int($post) ) $post =& get_post($post); if ( is_array($post) ) $post = (object) $post; + $image_url = wp_get_attachment_url($post->ID); + $edit_post = sanitize_post($post, 'edit'); - $file = wp_get_attachment_url($post->ID); - $link = get_attachment_link($post->ID); $form_fields = array( 'post_title' => array( @@ -616,20 +990,20 @@ function get_attachment_fields_to_edit($post, $errors = null) { 'url' => array( 'label' => __('Link URL'), 'input' => 'html', - 'html' => " -
    - - - - \n", + 'html' => image_link_input_fields($post, get_option('image_default_link_type')), 'helps' => __('Enter a link URL or click above for presets.'), ), - 'menu_order' => array( + 'menu_order' => array( 'label' => __('Order'), 'value' => $edit_post->menu_order ), + 'image_url' => array( + 'label' => __('File URL'), + 'input' => 'html', + 'html' => "
    ", + 'value' => isset($edit_post->post_url) ? $edit_post->post_url : '', + 'helps' => __('Location of the uploaded file.'), + ) ); foreach ( get_attachment_taxonomies($post) as $taxonomy ) { @@ -661,6 +1035,19 @@ function get_attachment_fields_to_edit($post, $errors = null) { return $form_fields; } +/** + * Retrieve HTML for media items of post gallery. + * + * The HTML markup retrieved will be created for the progress of SWF Upload + * component. Will also create link for showing and hiding the form to modify + * the image attachment. + * + * @since unknown + * + * @param int $post_id Optional. Post ID. + * @param array $errors Errors for attachment, if any. + * @return string + */ function get_media_items( $post_id, $errors ) { if ( $post_id ) { $post = get_post($post_id); @@ -674,20 +1061,27 @@ function get_media_items( $post_id, $errors ) { $attachments[$attachment->ID] = $attachment; } - if ( empty($attachments) ) - return ''; - - foreach ( $attachments as $id => $attachment ) + $output = ''; + foreach ( (array) $attachments as $id => $attachment ) if ( $item = get_media_item( $id, array( 'errors' => isset($errors[$id]) ? $errors[$id] : null) ) ) $output .= "\n
    $item\n
    "; return $output; } +/** + * Retrieve HTML form for modifying the image attachment. + * + * @since unknown + * + * @param int $attachment_id Attachment ID for modification. + * @param string|array $args Optional. Override defaults. + * @return string HTML form for attachment. + */ function get_media_item( $attachment_id, $args = null ) { global $redir_tab; - $default_args = array( 'errors' => null, 'send' => true, 'delete' => true, 'toggle' => true ); + $default_args = array( 'errors' => null, 'send' => true, 'delete' => true, 'toggle' => true, 'show_title' => true ); $args = wp_parse_args( $args, $default_args ); extract( $args, EXTR_SKIP ); @@ -697,28 +1091,25 @@ function get_media_item( $attachment_id, $args = null ) { else return false; - $title_label = __('Title'); - $description_label = __('Description'); - $tags_label = __('Tags'); - $toggle_on = __('Show'); $toggle_off = __('Hide'); $post = get_post($attachment_id); $filename = basename($post->guid); - $title = attribute_escape($post->post_title); - $description = attribute_escape($post->post_content); + $title = esc_attr($post->post_title); + if ( $_tags = get_the_tags($attachment_id) ) { foreach ( $_tags as $tag ) $tags[] = $tag->name; - $tags = attribute_escape(join(', ', $tags)); + $tags = esc_attr(join(', ', $tags)); } + $type = ''; if ( isset($post_mime_types) ) { $keys = array_keys(wp_match_mime_types(array_keys($post_mime_types), $post->post_mime_type)); $type = array_shift($keys); - $type = ""; + $type = ""; } $form_fields = get_attachment_fields_to_edit($post, $errors); @@ -734,7 +1125,7 @@ function get_media_item( $attachment_id, $args = null ) { } $display_title = ( !empty( $title ) ) ? $title : $filename; // $title shouldn't ever be empty, but just in case - $display_title = wp_html_excerpt($display_title, 60); + $display_title = $show_title ? "
    " . wp_html_excerpt($display_title, 60) . "
    " : ''; $gallery = ( (isset($_REQUEST['tab']) && 'gallery' == $_REQUEST['tab']) || (isset($redir_tab) && 'gallery' == $redir_tab) ) ? true : false; $order = ''; @@ -755,7 +1146,7 @@ function get_media_item( $attachment_id, $args = null ) { $type $toggle_links $order -
    $display_title
    + $display_title @@ -777,7 +1168,7 @@ function get_media_item( $attachment_id, $args = null ) { $delete_href = wp_nonce_url("post.php?action=delete-post&post=$attachment_id", 'delete-post_' . $attachment_id); if ( $send ) - $send = ""; + $send = ""; if ( $delete ) $delete = "" . __('Delete') . ""; if ( ( $send || $delete ) && !isset($form_fields['buttons']) ) @@ -813,9 +1204,9 @@ function get_media_item( $attachment_id, $args = null ) { if ( !empty($field[$field['input']]) ) $item .= $field[$field['input']]; elseif ( $field['input'] == 'textarea' ) { - $item .= ""; + $item .= ""; } else { - $item .= ""; + $item .= ""; } if ( !empty($field['helps']) ) $item .= "

    " . join( "

    \n

    ", array_unique((array) $field['helps']) ) . '

    '; @@ -843,11 +1234,23 @@ function get_media_item( $attachment_id, $args = null ) { $item .= "\t
    \n"; foreach ( $hidden_fields as $name => $value ) - $item .= "\t\n"; + $item .= "\t\n"; + + if ( $post->post_parent < 1 && isset($_REQUEST['post_id']) ) { + $parent = (int) $_REQUEST['post_id']; + $parent_name = "attachments[$attachment_id][post_parent]"; + + $item .= "\t\n"; + } return $item; } +/** + * {@internal Missing Short Description}} + * + * @since unknown + */ function media_upload_header() { ?> @@ -857,6 +1260,13 @@ function media_upload_header() { +
    @@ -886,11 +1306,19 @@ function media_upload_form( $errors = null ) {
    -

    + +
    + +
    + +

    -
    -

    - +

    + +

    -
    +

    - +
    -
    + -

    + +

    + -
    - +'.esc_html($id->get_error_message()).'
    '; + exit; + } +} +?>
    - +

    + +

    + + $post_id = intval($_REQUEST['post_id']); -
    -

    -

    -
    + $form_action_url = admin_url("media-upload.php?type=$type&tab=type&post_id=$post_id"); + $form_action_url = apply_filters('media_upload_form_url', $form_action_url, $type); + + $callback = "type_url_form_$type"; +?> + + + + + + + +

    - - +
    + + + + + + + | + | + +
    + - +
    +
    +

    - - + - - + + +

    + +
    - - + + - + -
    - - - -
    +