X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/a5227bf01edbe6660486c9f5c0f0ed7b7fea3130..9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f:/wp-admin/press-this.php?ds=sidebyside diff --git a/wp-admin/press-this.php b/wp-admin/press-this.php index 04f8d0f5..5daa2f9b 100644 --- a/wp-admin/press-this.php +++ b/wp-admin/press-this.php @@ -6,41 +6,41 @@ * @subpackage Press_This */ +define('IFRAME_REQUEST' , true); + /** WordPress Administration Bootstrap */ -require_once('./admin.php'); +require_once( dirname( __FILE__ ) . '/admin.php' ); + header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset')); -if ( ! current_user_can('edit_posts') ) +if ( ! current_user_can( 'edit_posts' ) || ! current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) wp_die( __( 'Cheatin’ uh?' ) ); /** * Press It form handler. * - * @package WordPress - * @subpackage Press_This * @since 2.6.0 * * @return int Post ID */ function press_it() { - // define some basic variables - $quick['post_status'] = 'draft'; // set as draft first - $quick['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : null; - $quick['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : null; - $quick['post_title'] = ( trim($_POST['title']) != '' ) ? $_POST['title'] : ' '; - $quick['post_content'] = isset($_POST['post_content']) ? $_POST['post_content'] : ''; - - // insert the post with nothing in it, to get an ID - $post_ID = wp_insert_post($quick, true); - if ( is_wp_error($post_ID) ) - wp_die($post_ID); + $post = get_default_post_to_edit(); + $post = get_object_vars($post); + $post_ID = $post['ID'] = (int) $_POST['post_id']; + + if ( !current_user_can('edit_post', $post_ID) ) + wp_die(__('You are not allowed to edit this post.')); + + $post['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : ''; + $post['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : ''; + $post['post_title'] = isset($_POST['title']) ? $_POST['title'] : ''; $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. + // 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); @@ -51,40 +51,49 @@ function press_it() { } } } - // set the post_content and status + // Set the post_content and status. + $post['post_content'] = $content; if ( isset( $_POST['publish'] ) && current_user_can( 'publish_posts' ) ) - $quick['post_status'] = 'publish'; + $post['post_status'] = 'publish'; elseif ( isset( $_POST['review'] ) ) - $quick['post_status'] = 'pending'; + $post['post_status'] = 'pending'; else - $quick['post_status'] = 'draft'; - $quick['post_content'] = $content; - // error handling for media_sideload + $post['post_status'] = 'draft'; + + // Error handling for media_sideload. if ( is_wp_error($upload) ) { wp_delete_post($post_ID); wp_die($upload); } else { - $quick['ID'] = $post_ID; - wp_update_post($quick); + // Post formats. + if ( isset( $_POST['post_format'] ) ) { + if ( current_theme_supports( 'post-formats', $_POST['post_format'] ) ) + set_post_format( $post_ID, $_POST['post_format'] ); + elseif ( '0' == $_POST['post_format'] ) + set_post_format( $post_ID, false ); + } + + $post_ID = wp_update_post($post); } + return $post_ID; } // For submitted posts. if ( isset($_REQUEST['action']) && 'post' == $_REQUEST['action'] ) { check_admin_referer('press-this'); - $post_ID = press_it(); - $posted = $post_ID; + $posted = $post_ID = press_it(); } else { - $post_ID = 0; + $post = get_default_post_to_edit('post', true); + $post_ID = $post->ID; } // Set Variables -$title = isset( $_GET['t'] ) ? trim( strip_tags( html_entity_decode( stripslashes( $_GET['t'] ) , ENT_QUOTES) ) ) : ''; +$title = isset( $_GET['t'] ) ? trim( strip_tags( html_entity_decode( wp_unslash( $_GET['t'] ) , ENT_QUOTES) ) ) : ''; $selection = ''; if ( !empty($_GET['s']) ) { - $selection = str_replace(''', "'", stripslashes($_GET['s'])); + $selection = str_replace(''', "'", wp_unslash($_GET['s'])); $selection = trim( htmlspecialchars( html_entity_decode($selection, ENT_QUOTES) ) ); } @@ -99,7 +108,7 @@ $image = isset($_GET['i']) ? $_GET['i'] : ''; if ( !empty($_REQUEST['ajax']) ) { switch ($_REQUEST['ajax']) { case 'video': ?> - -

+

- +

- + <?php echo esc_attr(__('Click to insert.')); ?> @@ -148,40 +157,10 @@ if ( !empty($_REQUEST['ajax']) ) {

- -

-
-
- -
-
-

-
-
- -
-
- -

|

- - // gather images and load some default 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: "", + type: "GET", + url: "", cache : false, async : false, - data: "ajax=photo_images&u=", + data: "ajax=photo_images&u=", dataType : "script" }).responseText ); if(my_src.length == 0) { var my_src = eval( jQuery.ajax({ - type: "GET", - url: "", + type: "GET", + url: "", cache : false, async : false, - data: "ajax=photo_images&u=", + data: "ajax=photo_images&u=", dataType : "script" }).responseText ); @@ -287,62 +267,92 @@ if ( !empty($_REQUEST['ajax']) ) { return false; } - function image_selector() { + function image_selector(el) { + var desc, src, parent = jQuery(el).closest('#photo-add-url-div'); + + if ( parent.length ) { + desc = parent.find('input.tb_this_photo_description').val() || ''; + src = parent.find('input.tb_this_photo').val() || '' + } else { + desc = jQuery('#tb_this_photo_description').val() || ''; + src = jQuery('#tb_this_photo').val() || '' + } + 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; } - jQuery('#extra-fields').html('

Add Photos ()

'); - jQuery('#img_container').html(strtoappend); + + jQuery('#extra-fields').html('

()

'); + jQuery('#img_container').html(strtoappend); - - > - - - <?php _e('Press This') ?> - - +<?php _e('Press This') ?> '370' ) ); + /** This action is documented in wp-admin/admin-header.php */ + do_action( 'admin_enqueue_scripts', 'press-this.php' ); + + /** + * Fires when styles are printed for the Press This admin page. + * + * @since 3.7.0 + */ + do_action( 'admin_print_styles-press-this.php' ); + + /** This action is documented in wp-admin/admin-header.php */ + do_action( 'admin_print_styles' ); + + /** + * Fires when scripts are printed for the Press This admin page. + * + * @since 3.7.0 + */ + do_action( 'admin_print_scripts-press-this.php' ); + + /** This action is documented in wp-admin/admin-header.php */ + do_action( 'admin_print_scripts' ); + + /** + * Fires in the head tag on the Press This admin page. + * + * @since 3.7.0 + */ + do_action( 'admin_head-press-this.php' ); + + /** This action is documented in wp-admin/admin-header.php */ + do_action( 'admin_head' ); ?> - - + +
-
+
-

- +
-
-
-
-
-

+
+

+

+

+ 'save' ) ); + if ( current_user_can('publish_posts') ) { + submit_button( __( 'Publish' ), 'primary', 'publish', false ); + } else { + echo '

'; + submit_button( __( 'Submit for Review' ), 'primary', 'review', false ); + } ?> + +

+

- - - - -

- - +

+
-

+

-
    +
      'category', 'popular_cats' => $popular_ids ) ) ?>
@@ -515,18 +553,18 @@ var photostorage = false; cap->edit_terms) ) : ?>

- + labels->add_new_item ); ?>

- + - 'category', 'hide_empty' => 0, 'name' => 'newcategory_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '— ' . $tax->labels->parent_item . ' —', 'tab_index' => 3 ) ); ?> - + 'category', 'hide_empty' => 0, 'name' => 'newcategory_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '— ' . $tax->labels->parent_item . ' —' ) ); ?> +

@@ -536,80 +574,118 @@ var photostorage = false;
-
-
-
-
-

+
+

+

-

- +

+
- +
-

+
- +
- -

| |

+ + + + +
+

+ + | + |

+
- +
+ +
-
    - -
  • - Add: -<?php _e('Insert an Image'); ?> - -
  • -
  • - <?php _e('Embed a Video'); ?> -
  • - -
  • - - - - -
    -
  • - -
-
-
- -
+ true, + 'textarea_rows' => '15' + ); + + $content = ''; + if ( $selection ) + $content .= $selection; + + if ( $url ) { + $content .= '

'; + + if ( $selection ) + $content .= __('via '); + + $content .= sprintf( "%s.

", esc_url( $url ), esc_html( $title ) ); + } + + remove_action( 'media_buttons', 'media_buttons' ); + add_action( 'media_buttons', 'press_this_media_buttons' ); + function press_this_media_buttons() { + _e( 'Add:' ); + + if ( current_user_can('upload_files') ) { + ?> + + <?php esc_attr_e('Insert an Image'); ?> + + <?php esc_attr_e('Embed a Video'); ?> +
- + +