Changeset 24066
- Timestamp:
- 04/22/2013 10:11:42 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/js/post-formats.js
r24039 r24066 94 94 lastMimeType = mime; 95 95 96 // Create the media frame. 97 mediaFrame = wp.media.frames.formatMedia = wp.media({ 98 // Set the title of the modal. 99 title: $el.data('choose'), 100 101 // Tell the modal to show only items matching the current mime type. 102 library: { 103 type: mime 96 mediaFrame = wp.media.frames.formatMedia = wp.media( { 97 button: { 98 text: $el.data('update') 104 99 }, 105 106 // Customize the submit button. 107 button: { 108 // Set the text of the button. 109 text: $el.data('update') 110 } 111 }); 100 states: [ 101 new wp.media.controller.Library({ 102 library: wp.media.query( { type: mime } ), 103 title: $el.data('choose'), 104 displaySettings: 'image' === mime 105 }) 106 ] 107 } ); 112 108 113 109 mediaPreview = function(attachment) { … … 156 152 mediaPreview(attachment); 157 153 } else { 158 html = wp.media.string.image({}, attachment); 154 html = wp.media.string.image({ 155 align : getUserSetting('align'), 156 size : getUserSetting('imgsize'), 157 link : getUserSetting('urlbutton') 158 }, attachment); 159 159 // set the hidden input's value 160 160 $field.val(html); -
trunk/wp-includes/functions.php
r23922 r24066 3986 3986 if ( empty( $tag ) ) 3987 3987 return; 3988 3989 return sprintf( '(<%1$s[^>]*(?:/?>$|>[\s\S]*?</%1$s>))', tag_escape( $tag ) ); 3990 } 3988 return sprintf( '<%1$s[^<]*(?:>[\s\S]*<\/%1$s>|\s*\/>)', tag_escape( $tag ) ); 3989 } -
trunk/wp-includes/media.php
r24021 r24066 1967 1967 foreach ( array( $type, 'object', 'embed', 'iframe' ) as $tag ) { 1968 1968 if ( preg_match( '#' . get_tag_regex( $tag ) . '#', $content, $matches ) ) { 1969 $html[] = $matches[ 1];1969 $html[] = $matches[0]; 1970 1970 if ( $remove ) 1971 1971 $content = str_replace( $matches[0], '', $content ); … … 2210 2210 $captions = array(); 2211 2211 2212 if ( $remove &&preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER ) && ! empty( $matches ) ) {2212 if ( preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER ) && ! empty( $matches ) ) { 2213 2213 foreach ( $matches as $shortcode ) { 2214 if ( 'caption' === $shortcode[2] ) 2214 if ( 'caption' === $shortcode[2] ) { 2215 2215 $captions[] = $shortcode[0]; 2216 } 2217 } 2218 2219 if ( preg_match_all( '#<img[^>]+/?>#i', $content, $matches, PREG_SET_ORDER ) && ! empty( $matches ) ) { 2220 foreach ( $matches as $tag ) { 2221 $count = 1; 2222 if ( $remove ) { 2216 if ( $html ) 2217 $tags[] = do_shortcode( $shortcode[0] ); 2218 } 2219 2220 if ( $limit > 0 && count( $tags ) >= $limit ) 2221 break; 2222 } 2223 } 2224 2225 foreach ( array( 'a', 'img' ) as $tag ) { 2226 if ( preg_match_all( '#' . get_tag_regex( $tag ) . '#i', $content, $matches, PREG_SET_ORDER ) && ! empty( $matches ) ) { 2227 foreach ( $matches as $node ) { 2228 if ( ! strstr( $node[0], '<img ' ) ) 2229 continue; 2230 2231 $count = 1; 2232 $found = false; 2233 2223 2234 foreach ( $captions as $caption ) { 2224 if ( strstr( $caption, $tag[0] ) ) { 2225 $content = str_replace( $caption, '', $content, $count ); 2235 if ( strstr( $caption, $node[0] ) ) { 2236 $found = true; 2237 if ( $remove ) 2238 $content = str_replace( $caption, '', $content, $count ); 2226 2239 } 2227 2240 } 2228 2241 2229 $content = str_replace( $tag[0], '', $content, $count ); 2242 if ( $remove ) 2243 $content = str_replace( $node[0], '', $content, $count ); 2244 2245 if ( ! $found ) 2246 $tags[] = $node[0]; 2247 2248 if ( $limit > 0 && count( $tags ) >= $limit ) 2249 break 2; 2230 2250 } 2231 2232 $tags[] = $tag[0];2233 2234 if ( $limit > 0 && count( $tags ) >= $limit )2235 break;2236 2251 } 2237 2252 } … … 2401 2416 return $post->format_content; 2402 2417 2418 $matched = false; 2403 2419 $meta = get_post_format_meta( $post->ID ); 2404 2420 … … 2408 2424 2409 2425 if ( ! empty( $meta['image'] ) ) { 2410 if ( is_numeric( $meta['image'] ) ) 2426 if ( is_numeric( $meta['image'] ) ) { 2411 2427 $image = wp_get_attachment_image( absint( $meta['image'] ), $attached_size ); 2412 elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $meta['image'] ) ) 2428 // wrap image in <a> 2429 if ( ! empty( $meta['url'] ) ) 2430 $image = sprint( $link_fmt, $image ); 2431 } elseif ( has_shortcode( $meta['image'], 'gallery' ) ) { 2432 // wrap <img> in <a> 2433 if ( ! empty( $meta['url'] ) && false === strpos( $meta['image'], '<a ' ) ) { 2434 $meta['image'] = preg_replace( 2435 '#(<img[^>]+>)#', 2436 sprintf( '<a href="%s">$1</a>', esc_url( $meta['url'] ) ), 2437 $meta['image'] 2438 ); 2439 } 2413 2440 $image = do_shortcode( $meta['image'] ); 2414 elseif ( ! preg_match( '#<[^>]+>#', $meta['image'] ) ) 2441 } elseif ( ! preg_match( '#<[^>]+>#', $meta['image'] ) ) { 2442 // not HTML, assume URL 2415 2443 $image = sprintf( '<img src="%s" alt="" />', esc_url( $meta['image'] ) ); 2444 } else { 2445 // assume HTML 2446 $image = $meta['image']; 2447 } 2448 2449 if ( false === strpos( $image, '<a ' ) ) 2450 $post->format_content = sprintf( $link_fmt, $image ); 2416 2451 else 2417 $image = $meta['image']; 2418 2419 $post->format_content = sprintf( $link_fmt, $image ); 2452 $post->format_content = $image; 2420 2453 return $post->format_content; 2421 2454 } … … 2445 2478 if ( 'caption' === $shortcode[2] ) { 2446 2479 foreach ( $urls as $url ) { 2447 if ( strstr( $shortcode[0], $url ) ) 2480 if ( strstr( $shortcode[0], $url ) ) { 2481 if ( ! $matched ) 2482 $matched = do_shortcode( $shortcode[0] ); 2448 2483 $content = str_replace( $shortcode[0], '', $content, $count ); 2484 } 2449 2485 } 2450 2486 } … … 2456 2492 foreach ( $matches as $match ) { 2457 2493 foreach ( $urls as $url ) { 2458 if ( strstr( $match[0], $url ) ) 2494 if ( strstr( $match[0], $url ) ) { 2495 if ( ! $matched ) 2496 $matched = $match[0]; 2459 2497 $content = str_replace( $match[0], '', $content, $count ); 2498 } 2460 2499 } 2461 2500 } … … 2464 2503 2465 2504 $post->split_content = $content; 2466 $image = wp_get_attachment_image( $media->ID, $attached_size ); 2467 $post->format_content = sprintf( $link_fmt, $image ); 2505 if ( ! $matched ) { 2506 $image = wp_get_attachment_image( $media->ID, $attached_size ); 2507 $post->format_content = sprintf( $link_fmt, $image ); 2508 } else { 2509 $post->format_content = $matched; 2510 if ( ! empty( $meta['url'] ) && false === stripos( $matched, '<a ' ) ) 2511 $post->format_content = sprintf( $link_fmt, $matched ); 2512 } 2468 2513 return $post->format_content; 2469 2514 }
Note: See TracChangeset
for help on using the changeset viewer.