Press This image linking fixes from noel. see #6813

git-svn-id: http://svn.automattic.com/wordpress/trunk@8172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2008-06-23 21:16:39 +00:00
parent 94183a25cd
commit cdc53fcb86
2 changed files with 28 additions and 22 deletions

View File

@ -151,11 +151,9 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data =
$id = wp_insert_attachment($attachment, $file, $post_parent);
if ( !is_wp_error($id) ) {
wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
return $src;
return $url;
}
return $id;
}
@ -321,21 +319,20 @@ function media_sideload_image($file, $post_id, $desc = null) {
$desc = @$desc;
$id = media_handle_sideload($file_array, $post_id, $desc);
$src = $id;
unset($file_array);
if ( is_wp_error($id) ) {
$errors['upload_error'] = $id;
return $id;
} else {
$src = $id;
}
}
if (!empty($src) && !strpos($src, '://') ) {
if ( !empty($src) ) {
if ( !strpos($src, '://') )
$src = "http://$src";
$alt = @$desc;
}
if ( !empty($src) ) {
$html = "<img src='$src' alt='$alt' />";
return $html;
}

View File

@ -4,15 +4,19 @@ require_once('admin.php');
if ( ! current_user_can('publish_posts') ) wp_die( __( 'Cheatin&#8217; uh?' )); ?>
<?php
function preg_quote2($string) {
return str_replace('/', '\/', preg_quote($string));
}
function press_it() {
#define some basic variables
// define some basic variables
$quick['post_status'] = $_REQUEST['post_status'];
$quick['post_category'] = $_REQUEST['post_category'];
$quick['tags_input'] = $_REQUEST['tags_input'];
$quick['post_title'] = $_REQUEST['post_title'];
$quick['post_content'] = '';
# insert the post with nothing in it, to get an ID
// insert the post with nothing in it, to get an ID
$post_ID = wp_insert_post($quick, true);
$content = '';
@ -23,16 +27,21 @@ function press_it() {
break;
case 'photo':
foreach($_REQUEST['photo_src'] as $key => $data) {
#quote for matching
$quoted = str_replace('/', '\/', preg_quote($data));
# see if files exist in content - we don't want to upload non-used selected files.
preg_match('/'.$quoted.'/', $_REQUEST['content'], $matches[0]);
if($matches[0])
$upload = media_sideload_image($data, $post_ID, $_REQUEST['photo_description'][$key]);
}
$content = $_REQUEST['content'];
foreach($_REQUEST['photo_src'] as $key => $image) {
#quote for matching
$quoted = preg_quote2($image);
// see if files exist in content - we don't want to upload non-used selected files.
preg_match('/'.$quoted.'/', $_REQUEST['content'], $matches[0]);
if($matches[0]) {
$upload = media_sideload_image($image, $post_ID, $_REQUEST['photo_description'][$key]);
// Replace the POSTED content <img> with correct uploaded ones.
if( !is_wp_error($upload) ) $content = preg_replace('/<img ([^>]*)src=(\"|\')'.$quoted.'(\2)([^>\/]*)\/*>/is', $upload, $content);
}
}
break;
case "video":