Make WordPress Core


Ignore:
Timestamp:
08/19/2011 01:14:56 AM (15 years ago)
Author:
azaozz
Message:

Fix Press This editors, see #17144

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/press-this.php

    r18530 r18570  
    2727 */
    2828function press_it() {
    29         // define some basic variables
    30         $quick = array();
    31         $quick['post_status'] = 'draft'; // set as draft first
    32         $quick['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : null;
    33         $quick['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : null;
    34         $quick['post_title'] = ( trim($_POST['title']) != '' ) ? $_POST['title'] : '  ';
    35         $quick['post_content'] = isset($_POST['post_content']) ? $_POST['post_content'] : '';
    36 
    37         // insert the post with nothing in it, to get an ID
    38         $post_ID = wp_insert_post($quick, true);
    39         if ( is_wp_error($post_ID) )
    40                 wp_die($post_ID);
    41 
    42         $content = isset($_POST['content']) ? $_POST['content'] : '';
     29
     30        $post = get_default_post_to_edit('post', true);
     31        $post_ID = $post['ID'];
     32        $post['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : null;
     33        $post['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : null;
     34        $post['post_title'] = isset($_POST['title']) ? $_POST['title'] : '';
     35        $post['post_content'] = isset($_POST['post_content']) ? $_POST['post_content'] : '';
    4336
    4437        $upload = false;
     
    5851        // set the post_content and status
    5952        if ( isset( $_POST['publish'] ) && current_user_can( 'publish_posts' ) )
    60                 $quick['post_status'] = 'publish';
     53                $post['post_status'] = 'publish';
    6154        elseif ( isset( $_POST['review'] ) )
    62                 $quick['post_status'] = 'pending';
     55                $post['post_status'] = 'pending';
    6356        else
    64                 $quick['post_status'] = 'draft';
    65         $quick['post_content'] = $content;
     57                $post['post_status'] = 'draft';
     58
    6659        // error handling for media_sideload
    6760        if ( is_wp_error($upload) ) {
     
    8174                }
    8275
    83                 $quick['ID'] = $post_ID;
    84                 wp_update_post($quick);
     76                wp_update_post($post);
    8577        }
     78
    8679        return $post_ID;
    8780}
     
    9083if ( isset($_REQUEST['action']) && 'post' == $_REQUEST['action'] ) {
    9184        check_admin_referer('press-this');
    92         $post_ID = press_it();
    93         $posted =  $post_ID;
     85        $posted = $post_ID = press_it();
    9486} else {
    9587        $post_ID = 0;
     
    164156
    165157                        <p id="options"><a href="#" class="select button"><?php _e('Insert Image'); ?></a> <a href="#" class="cancel button"><?php _e('Cancel'); ?></a></p>
    166                         <?php break;
    167 
    168                 case 'photo_thickbox_url': ?>
    169                         <script type="text/javascript" charset="utf-8">
    170                                 /* <![CDATA[ */
    171                                 jQuery('.cancel').click(function() {
    172                                         tb_remove();
    173                                 });
    174 
    175                                 jQuery('.select').click(function() {
    176                                         image_selector();
    177                                 });
    178                                 /* ]]> */
    179                         </script>
    180                         <h3 class="tb"><label for="this_photo"><?php _e('URL') ?></label></h3>
    181                         <div class="titlediv">
    182                                 <div class="titlewrap">
    183                                         <input id="this_photo" name="this_photo" class="tbtitle text" onkeypress="if(event.keyCode==13) image_selector();" />
    184                                 </div>
    185                         </div>
    186                         <h3 class="tb"><label for="photo_description"><?php _e('Description') ?></label></h3>
    187                         <div id="titlediv">
    188                                 <div class="titlewrap">
    189                                         <input id="this_photo_description" name="photo_description" class="tbtitle text" onkeypress="if(event.keyCode==13) image_selector();" value="<?php echo esc_attr($title);?>"/>
    190                                 </div>
    191                         </div>
    192 
    193                         <p id="options"><a href="#" class="select"><?php _e('Insert Image'); ?></a> | <a href="#" class="cancel"><?php _e('Cancel'); ?></a></p>
    194158                        <?php break;
    195159        case 'photo_images':
     
    313277                        return false;
    314278                }
    315                         jQuery('#extra-fields').html('<div class="postbox"><h2><?php _e( 'Add Photos' ); ?> <small id="photo_directions">(<?php _e("click images to select") ?>)</small></h2><ul class="actions"><li><a href="#" id="photo-add-url" class="thickbox button"><?php _e("Add from URL") ?> +</a></li></ul><div class="inside"><div class="titlewrap"><div id="img_container"></div></div><p id="options"><a href="#" class="close button"><?php _e('Cancel'); ?></a><a href="#" class="refresh button"><?php _e('Refresh'); ?></a></p></div>');
     279                        jQuery('#extra-fields').html('<div class="postbox"><h2><?php _e( 'Add Photos' ); ?> <small id="photo_directions">(<?php _e("click images to select") ?>)</small></h2><ul class="actions"><li><a href="#" id="photo-add-url" class="button"><?php _e("Add from URL") ?> +</a></li></ul><div class="inside"><div class="titlewrap"><div id="img_container"></div></div><p id="options"><a href="#" class="close button"><?php _e('Cancel'); ?></a><a href="#" class="refresh button"><?php _e('Refresh'); ?></a></p></div>');
    316280                        jQuery('#img_container').html(strtoappend);
    317281                <?php break;
     
    328292
    329293<?php
    330         add_thickbox();
    331294        wp_enqueue_style( 'press-this' );
    332295        wp_enqueue_style( 'press-this-ie');
     
    350313        <script type="text/javascript">
    351314        function insert_plain_editor(text) {
    352                 edCanvas = document.getElementById('content');
    353                 edInsertContent(edCanvas, text);
     315                edInsertContent(text);
    354316        }
    355317        function set_editor(text) {
     
    411373                                                show('photo');
    412374                                        });
    413                                         jQuery('#photo-add-url').attr('href', '?ajax=photo_thickbox_url&height=200&width=500');
     375                                        jQuery('#photo-add-url').click(function(){
     376                                                var form = jQuery('#photo-add-url-div').clone();
     377                                                jQuery('#img_container').empty().append( form.show() );
     378                                        });
    414379                                        jQuery('#waiting').hide();
    415380                                        jQuery('#extra-fields').show();
     
    440405        jQuery(document).ready(function($) {
    441406                //resize screen
    442                 window.resizeTo(720,540);
     407                window.resizeTo(720,580);
    443408                // set button actions
    444409                jQuery('#photo_button').click(function() { show('photo'); return false; });
     
    462427</head>
    463428<body class="press-this wp-admin">
    464 <?php
    465 if ( user_can_richedit() ) {
    466         wp_tiny_mce( true, array( 'height' => '370' ) );
    467 }
    468 ?>
    469429<form action="press-this.php?action=post" method="post">
    470430<div id="poststuff" class="metabox-holder">
     
    565525
    566526                        <div id="tagsdiv-post_tag" class="postbox">
    567                                 <div class="handlediv" title="<?php _e( 'Click to toggle' ); ?>">
    568                                         <br/>
    569                                 </div>
     527                                <div class="handlediv" title="<?php _e( 'Click to toggle' ); ?>"><br /></div>
    570528                                <h3><span><?php _e('Post Tags'); ?></span></h3>
    571529                                <div class="inside">
     
    597555                </div>
    598556
    599                 <?php if ( isset($posted) && intval($posted) ) { $post_ID = intval($posted); ?>
    600                 <div id="message" class="updated"><p><strong><?php _e('Your post has been saved.'); ?></strong> <a onclick="window.opener.location.replace(this.href); window.close();" href="<?php echo get_permalink( $post_ID); ?>"><?php _e('View post'); ?></a> | <a href="<?php echo get_edit_post_link( $post_ID ); ?>" onclick="window.opener.location.replace(this.href); window.close();"><?php _e('Edit Post'); ?></a> | <a href="#" onclick="window.close();"><?php _e('Close Window'); ?></a></p></div>
     557                <?php
     558                if ( isset($posted) && intval($posted) ) {
     559                        $post_ID = intval($posted); ?>
     560                        <div id="message" class="updated">
     561                        <p><strong><?php _e('Your post has been saved.'); ?></strong>
     562                        <a onclick="window.opener.location.replace(this.href); window.close();" href="<?php echo get_permalink($post_ID); ?>"><?php _e('View post'); ?></a>
     563                        | <a href="<?php echo get_edit_post_link( $post_ID ); ?>" onclick="window.opener.location.replace(this.href); window.close();"><?php _e('Edit Post'); ?></a>
     564                        | <a href="#" onclick="window.close();"><?php _e('Close Window'); ?></a></p>
     565                        </div>
    601566                <?php } ?>
    602567
     
    610575
    611576                <div class="postdivrich">
    612                         <div id="editor-toolbar">
    613                                 <?php if ( user_can_richedit() ) :
    614                                         wp_print_scripts( 'quicktags' );
    615                                         add_filter('the_editor_content', 'wp_richedit_pre'); ?>
    616                                         <a id="edButtonHTML" onclick="switchEditors.go('content', 'html');"><?php _e('HTML'); ?></a>
    617                                         <a id="edButtonPreview" class="active" onclick="switchEditors.go('content', 'tinymce');"><?php _e('Visual'); ?></a>
    618                                         <div class="zerosize"><input accesskey="e" type="button" onclick="switchEditors.go('content')" /></div>
    619                                 <?php endif; ?>
    620 
    621                                 <div id="media-buttons">
    622                                         <?php
    623                                         _e( 'Add:' );
    624 
    625                                         if ( current_user_can('upload_files') ) : ?>
    626                                                 <a id="photo_button" title="<?php _e('Insert an Image'); ?>" href="#">
    627 <img alt="<?php _e('Insert an Image'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-image.gif?ver=20100531' ) ); ?>"/></a><?php
    628                                         endif;
    629                                         ?><a id="video_button" title="<?php _e('Embed a Video'); ?>" href="#"><img alt="<?php _e('Embed a Video'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-video.gif?ver=20100531' ) ); ?>"/></a>
    630                                 </div>
    631                         </div>
    632                         <div id="quicktags"></div>
    633                         <div class="editor-container">
    634                                 <textarea name="content" id="content" style="width:100%;" class="theEditor" rows="15"><?php
    635                                         if ( $selection )
    636                                                 echo wp_richedit_pre($selection);
    637                                         if ( $url ) {
    638                                                 echo '<p>';
    639                                                 if ( $selection )
    640                                                         _e('via ');
    641                                                 printf( "<a href='%s'>%s</a>.</p>", esc_url( $url ), esc_html( $title ) );
    642                                         }
    643                                 ?></textarea>
    644                         </div>
     577                <?php
     578
     579                $editor_settings = array(
     580                        'teeny' => true,
     581                        'textarea_rows' => '15'
     582                );
     583
     584                $content = '';
     585                if ( $selection )
     586                        $content .=  $selection;
     587
     588                if ( $url ) {
     589                        $content .= '<p>';
     590                       
     591                        if ( $selection )
     592                                $content .= __('via ');
     593                       
     594                        $content .= sprintf( "<a href='%s'>%s</a>.</p>", esc_url( $url ), esc_html( $title ) );
     595                }
     596
     597                remove_action( 'media_buttons', 'media_buttons' );
     598                add_action( 'media_buttons', 'press_this_media_buttons' );
     599                function press_this_media_buttons() {
     600                        _e( 'Add:' );
     601
     602                        if ( current_user_can('upload_files') ) {
     603                                ?>
     604                                <a id="photo_button" title="<?php _e('Insert an Image'); ?>" href="#">
     605                                <img alt="<?php _e('Insert an Image'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-image.gif?ver=20100531' ) ); ?>"/></a>
     606                                <?php
     607                        }
     608                        ?>
     609                        <a id="video_button" title="<?php _e('Embed a Video'); ?>" href="#"><img alt="<?php _e('Embed a Video'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-video.gif?ver=20100531' ) ); ?>"/></a>
     610                        <?php
     611                }
     612
     613                wp_editor( $content, 'content', $editor_settings );
     614               
     615                ?>
    645616                </div>
    646617        </div>
    647618</div>
    648619</form>
    649 <?php do_action('admin_print_footer_scripts'); ?>
     620<div id="photo-add-url-div" style="display:none;">
     621        <table><tr>
     622        <td><label for="this_photo"><?php _e('URL') ?></label></td>
     623        <td><input type="text" id="this_photo" name="this_photo" class="tbtitle text" onkeypress="if(event.keyCode==13) image_selector();" /></td>
     624        </tr><tr>
     625        <td><label for="this_photo_description"><?php _e('Description') ?></label></td>
     626        <td><input type="text" id="this_photo_description" name="photo_description" class="tbtitle text" onkeypress="if(event.keyCode==13) image_selector();" value="<?php echo esc_attr($title);?>"/></td>
     627        </tr><tr>
     628        <td><input type="button" class="button" onclick="image_selector()" value="<?php _e('Insert Image'); ?>" /></td>
     629        </tr></table>
     630</div>
     631<?php
     632do_action('admin_footer');
     633do_action('admin_print_footer_scripts');
     634?>
    650635<script type="text/javascript">if(typeof wpOnload=='function')wpOnload();</script>
    651636</body>
Note: See TracChangeset for help on using the changeset viewer.