X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/76aea3697c6043c1613370f172395b4f65ee71f0..refs/tags/wordpress-2.8.4:/wp-admin/press-this.php
diff --git a/wp-admin/press-this.php b/wp-admin/press-this.php
index 8bd6ce28..c6632b51 100644
--- a/wp-admin/press-this.php
+++ b/wp-admin/press-this.php
@@ -1,62 +1,71 @@
$image) {
-
- // see if files exist in content - we don't want to upload non-used selected files.
- if( strpos($_REQUEST['content'], $image) !== false ) {
- $upload = media_sideload_image($image, $post_ID, $_REQUEST['photo_description'][$key]);
-
- // Replace the POSTED content with correct uploaded ones.
- // escape quote for matching
- $quoted = preg_quote2($image);
- if( !is_wp_error($upload) ) $content = preg_replace('/]*)src=(\"|\')'.$quoted.'(\2)([^>\/]*)\/*>/is', $upload, $content);
- }
+ $content = isset($_REQUEST['content']) ? $_REQUEST['content'] : '';
+
+ $upload = false;
+ if( !empty($_REQUEST['photo_src']) && current_user_can('upload_files') )
+ foreach( (array) $_REQUEST['photo_src'] as $key => $image)
+ // see if files exist in content - we don't want to upload non-used selected files.
+ if( strpos($_REQUEST['content'], $image) !== false ) {
+ $desc = isset($_REQUEST['photo_description'][$key]) ? $_REQUEST['photo_description'][$key] : '';
+ $upload = media_sideload_image($image, $post_ID, $desc);
+
+ // Replace the POSTED content with correct uploaded ones. Regex contains fix for Magic Quotes
+ if( !is_wp_error($upload) ) $content = preg_replace('/]*)src=\\\?(\"|\')'.preg_quote($image, '/').'\\\?(\2)([^>\/]*)\/*>/is', $upload, $content);
}
- break;
-
- case "video":
- if($_REQUEST['embed_code'])
- $content .= $_REQUEST['embed_code']."\n\n";
- $content .= $_REQUEST['content'];
- break;
- }
- // set the post_content
+ // set the post_content and status
+ $quick['post_status'] = isset($_REQUEST['publish']) ? 'publish' : 'draft';
$quick['post_content'] = $content;
-
// error handling for $post
if ( is_wp_error($post_ID)) {
wp_die($id);
@@ -73,215 +82,238 @@ function press_it() {
}
// For submitted posts.
-if ( 'post' == $_REQUEST['action'] ) {
- check_admin_referer('press-this'); $post_ID = press_it(); ?>
-
- >
-
-
-
-
-
-
-
-
-
-
-
- ', $selection);
$selection = '
'.str_replace('
', '', $selection).'';
}
+$url = isset($_GET['u']) ? esc_url($_GET['u']) : '';
+$image = isset($_GET['i']) ? $_GET['i'] : '';
+
+if ( !empty($_REQUEST['ajax']) ) {
+switch ($_REQUEST['ajax']) {
+ case 'video': ?>
+
+
+
+
+
+
-if($_REQUEST['ajax'] == 'thickbox') { ?>
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+ jQuery('.select').click(function() {
+ image_selector();
+ });
+
+
+
-
-
-
-
+
+
- |
- |
+ ]*)src=(\"|\')([^<>]+?\.(png|jpeg|jpg|jpe|gif))[^<>\'\"]*(\2)([^>\/]*)\/*>/is';
+ preg_match_all($pattern, $content, $matches);
+ if ( empty($matches[0]) )
+ return '';
+ $sources = array();
+ foreach ($matches[3] as $src) {
+ // if no http in url
+ if(strpos($src, 'http') === false)
+ // if it doesn't have a relative uri
+ if( strpos($src, '../') === false && strpos($src, './') === false && strpos($src, '/') === 0)
+ $src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
+ else
+ $src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src);
+ $sources[] = esc_url($src);
+ }
+ return "'" . implode("','", $sources) . "'";
+ }
+ $url = urldecode($url);
+ $url = str_replace(' ', '%20', $url);
+ echo 'new Array('.get_images_from_uri($url).')';
-if($_REQUEST['ajax'] == 'video') { ?>
-
-
-
-
-]*)src=(\"|\')([^<>]+?\.(png|jpeg|jpg|jpe|gif))[^<>\'\"]*(\2)([^>\/]*)\/*>/is';
- preg_match_all($pattern, $content, $matches);
-
- if ( empty($matches[1]) ) return '';
-
- $sources = array();
- foreach ($matches[3] as $src) {
- // if no http in url
- if(strpos($src, 'http') === false)
- // if it doesn't have a relative uri
- if( strpos($src, '../') === false && strpos($src, './') === false && strpos($src, '/') === true)
- $src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
- else
- $src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src);
-
- $sources[] = clean_url($src);
- }
- return "'" . implode("','", $sources) . "'";
- }
+ case 'photo_js': ?>
+ // gather images and load some default JS
+ var last = null
+ var img, img_tag, aspect, w, h, skip, i, strtoappend = "";
+ var my_src = eval(
+ jQuery.ajax({
+ type: "GET",
+ url: "",
+ cache : false,
+ async : false,
+ data: "ajax=photo_images&u=",
+ dataType : "script"
+ }).responseText
+ );
+ if(my_src.length == 0) {
+ var my_src = eval(
+ jQuery.ajax({
+ type: "GET",
+ url: "",
+ cache : false,
+ async : false,
+ data: "ajax=photo_images&u=",
+ dataType : "script"
+ }).responseText
+ );
+ if(my_src.length == 0) {
+ strtoappend = '';
+ }
+ }
- $url = urldecode($url);
- $url = str_replace(' ', '%20', $url);
- echo 'new Array('.get_images_from_uri($url).')';
-die;
-}
+ for (i = 0; i < my_src.length; i++) {
+ img = new Image();
+ img.src = my_src[i];
+ img_attr = 'id="img' + i + '"';
+ skip = false;
+
+ maybeappend = '';
+
+ if (img.width && img.height) {
+ if (img.width >= 30 && img.height >= 30) {
+ aspect = img.width / img.height;
+ scale = (aspect > 1) ? (71 / img.width) : (71 / img.height);
+
+ w = img.width;
+ h = img.height;
-if($_REQUEST['ajax'] == 'photo_js') { ?>
- // gather images and load some default JS
- var last = null
- var img, img_tag, aspect, w, h, skip, i, strtoappend = "";
- var my_src = eval(
- jQuery.ajax({
- type: "GET",
- url: "",
- cache : false,
- async : false,
- data: "ajax=photo_images&u=",
- dataType : "script"
- }).responseText
- );
-
- for (i = 0; i < my_src.length; i++) {
- img = new Image();
- img.src = my_src[i];
- img_attr = 'id="img' + i + '"';
- skip = false;
- if (img.width && img.height) {
- if (img.width * img.height < 2500)
- skip = true;
- aspect = img.width / img.height;
- scale = (aspect > 1) ? (75 / img.width) : (75 / img.height);
-
- w = img.width;
- h = img.height;
-
- if (scale < 1) {
- w = parseInt(img.width * scale);
- h = parseInt(img.height * scale);
+ if (scale < 1) {
+ w = parseInt(img.width * scale);
+ h = parseInt(img.height * scale);
+ }
+ img_attr += ' style="width: ' + w + 'px; height: ' + h + 'px;"';
+ strtoappend += maybeappend;
+ }
+ } else {
+ strtoappend += maybeappend;
}
- img_attr += ' style="width: ' + w + 'px; height: ' + h + 'px;"';
}
- if (!skip) strtoappend += '';
- }
- function pick(img, desc) {
- if (img) {
- if('object' == typeof jQuery('.photolist input') && jQuery('.photolist input').length != 0) length = jQuery('.photolist input').length;
- if(length == 0) length = 1;
- jQuery('.photolist').append('');
- jQuery('.photolist').append('');
- append_editor("\n\n" + '');
+ function pick(img, desc) {
+ if (img) {
+ if('object' == typeof jQuery('.photolist input') && jQuery('.photolist input').length != 0) length = jQuery('.photolist input').length;
+ if(length == 0) length = 1;
+ jQuery('.photolist').append('');
+ jQuery('.photolist').append('');
+ insert_editor( "\n\n" + encodeURI('
'));
+ }
+ return false;
}
- tinyMCE.activeEditor.resizeToContent();
- return false;
- }
-
- function image_selector() {
- tb_remove();
- desc = jQuery('#this_photo_description').val();
- src = jQuery('#this_photo').val();
- pick(src, desc);
- return false;
- }
- jQuery(document).ready(function() {
- jQuery('#extra_fields').html(' +');
- jQuery('#img_container').html(strtoappend);
- jQuery('#photo_add_url').attr('href', '?ajax=thickbox_url&height=200&width=500');
- tb_init('a.thickbox, area.thickbox, input.thickbox');
- });
+ function image_selector() {
+ tb_remove();
+ desc = jQuery('#this_photo_description').val();
+ src = jQuery('#this_photo').val();
+ pick(src, desc);
+ jQuery('#extra_fields').hide();
+ jQuery('#extra_fields').html('');
+ return false;
+ }
-Photo ()
');
+ jQuery('.close').click(function() {
+ jQuery('#extra_fields').hide();
+ jQuery('#extra_fields').html('');
+ });
+ jQuery('.refresh').click(function() {
+ show('photo');
+ });
+ jQuery('#img_container').html(strtoappend);
+ jQuery('#photo_add_url').attr('href', '?ajax=photo_thickbox_url&height=200&width=500');
+ tb_init('#extra_fields .thickbox');
-if($_REQUEST['ajax'] == 'photo') { ?>
-
>
@@ -289,136 +321,73 @@ if($_REQUEST['ajax'] == 'photo') { ?>
-
+
+
-
-
-
-
+