X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/8a06f4f9392d1ac373442f82ee40428a3cb81395..312084b5d95c21feb519ff03decf948420e1f6fa:/wp-admin/press-this.php diff --git a/wp-admin/press-this.php b/wp-admin/press-this.php index 8bd6ce28..4eda788c 100644 --- a/wp-admin/press-this.php +++ b/wp-admin/press-this.php @@ -1,70 +1,80 @@ $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); - } + if ( is_wp_error($post_ID) ) + wp_die($post_ID); + + $content = isset($_POST['content']) ? $_POST['content'] : ''; + + $upload = false; + if( !empty($_POST['photo_src']) && current_user_can('upload_files') ) { + foreach( (array) $_POST['photo_src'] as $key => $image) { + // see if files exist in content - we don't want to upload non-used selected files. + if ( strpos($_POST['content'], htmlspecialchars($image)) !== false ) { + $desc = isset($_POST['photo_description'][$key]) ? $_POST['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(htmlspecialchars($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($_POST['publish']) ? 'publish' : 'draft'; $quick['post_content'] = $content; - - // error handling for $post - if ( is_wp_error($post_ID)) { - wp_die($id); - wp_delete_post($post_ID); // error handling for media_sideload - } elseif ( is_wp_error($upload)) { - wp_die($upload); + if ( is_wp_error($upload) ) { wp_delete_post($post_ID); + wp_die($upload); } else { $quick['ID'] = $post_ID; wp_update_post($quick); @@ -73,215 +83,232 @@ function press_it() { } // For submitted posts. -if ( 'post' == $_REQUEST['action'] ) { - check_admin_referer('press-this'); $post_ID = press_it(); ?> - - > - - - <?php _e('Press This') ?> - - - -

| |

- - - - -

', $selection); $selection = '

'.str_replace('

', '', $selection).'

'; } -$url = clean_url($_GET['u']); -$image = $_GET['i']; - -if($_REQUEST['ajax'] == 'thickbox') { ?> - +
+

+
+ +

+
+
+ -

-
- -
+ case 'photo_thickbox': ?> + +

+
+
+ +
+
-

- <?php echo attribute_escape(__('Click to insert.')); ?>

+

+ + + <?php echo esc_attr(__('Click to insert.')); ?> + +

-

-

+ - -

-
- -
+ jQuery('.select').click(function() { + image_selector(); + }); + /* ]]> */ + +

+
+
+ +
+
+

+
+
+ +
+
+

|

+ ]*)src=(\"|\')([^<>\'\"]+)(\2)([^>]*)\/*>/i'; + $content = str_replace(array("\n","\t","\r"), '', $content); + 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_attr($src); + } + return "'" . implode("','", $sources) . "'"; + } + $url = wp_kses(urldecode($url), null); + echo 'new Array('.get_images_from_uri($url).')'; + break; + + case 'photo_js': ?> + // gather images and load some default JS + var last = null + var img, img_tag, aspect, w, h, skip, i, strtoappend = ""; + if(photostorage == false) { + 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 = ''; + } + } + } + for (i = 0; i < my_src.length; i++) { + img = new Image(); + img.src = my_src[i]; + img_attr = 'id="img' + i + '"'; + skip = false; -

-
- -
+ maybeappend = ''; -

|

-= 30 && img.height >= 30) { + aspect = img.width / img.height; + scale = (aspect > 1) ? (71 / img.width) : (71 / img.height); -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); + 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; + } } - return "'" . implode("','", $sources) . "'"; - } - - $url = urldecode($url); - $url = str_replace(' ', '%20', $url); - echo 'new Array('.get_images_from_uri($url).')'; -die; -} -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); + 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('

' + desc + '

')); } - img_attr += ' style="width: ' + w + 'px; height: ' + h + 'px;"'; + return false; } - 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" + '

' + desc + '

'); + 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; } - 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'); - }); - -

Add Photos ()

'); + jQuery('#img_container').html(strtoappend); + - - > @@ -289,136 +316,71 @@ if($_REQUEST['ajax'] == 'photo') { ?> <?php _e('Press This') ?> - + + '370' ) ); ?> - - - - - + +
- - -
-

-
- -
+
+
+
+

+ + + + + + + + +
+ +
+
+
+
+

+
+

+ + + + +

+ + +

+
+
- +
+
+
+
+

+
+ +
+ +
    + +
+
+ +
+ +

+ + 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category'), 'tab_index' => 3 ) ); ?> + + + +

+
+
+
-
-

-
- +
+
+
+
+

+
+
+

+ + +

+ + +
+

+
+
+ +
+
+ +

| |

+ -
-
-
-
-

-
-
    - -
-
- -

-

-
+
+
+
+
-

- - - -

+ + +
+
    + +
  • + Add: +<?php _e('Insert an Image'); ?> + +
  • +
  • + <?php _e('Embed a Video'); ?> +
  • + +
  • + + + + +
    +
  • + +
+
+
+ +
+
+ + - \ No newline at end of file +