Make WordPress Core

Ticket #19569: 19569.2.diff

File 19569.2.diff, 6.6 KB (added by lessbloat, 12 years ago)
  • wp-admin/press-this.php

     
    109109
    110110if ( !empty($_REQUEST['ajax']) ) {
    111111        switch ($_REQUEST['ajax']) {
    112                 case 'video': ?>
    113                         <script type="text/javascript">
    114                         /* <![CDATA[ */
    115                                 jQuery('.select').click(function() {
    116                                         append_editor(jQuery('#embed-code').val());
    117                                         jQuery('#extra-fields').hide();
    118                                         jQuery('#extra-fields').html('');
    119                                 });
    120                                 jQuery('.close').click(function() {
    121                                         jQuery('#extra-fields').hide();
    122                                         jQuery('#extra-fields').html('');
    123                                 });
    124                         /* ]]> */
    125                         </script>
    126                         <div class="postbox">
    127                                 <h2><label for="embed-code"><?php _e('Embed Code') ?></label></h2>
    128                                 <div class="inside">
    129                                         <textarea name="embed-code" id="embed-code" rows="8" cols="40"><?php echo esc_textarea( $selection ); ?></textarea>
    130                                         <p id="options"><a href="#" class="select button"><?php _e('Insert Video'); ?></a> <a href="#" class="close button"><?php _e('Cancel'); ?></a></p>
    131                                 </div>
    132                         </div>
    133                         <?php break;
    134112
    135113                case 'photo_thickbox': ?>
    136114                        <script type="text/javascript">
     
    343321                }
    344322        }
    345323
    346         function show(tab_name) {
     324        function show() {
    347325                jQuery('#extra-fields').html('');
    348                 switch(tab_name) {
    349                         case 'video' :
    350                                 jQuery('#extra-fields').load('<?php echo esc_url($_SERVER['PHP_SELF']); ?>', { ajax: 'video', s: '<?php echo esc_attr($selection); ?>'}, function() {
    351                                         <?php
    352                                         $content = '';
    353                                         if ( preg_match("/youtube\.com\/watch/i", $url) ) {
    354                                                 list($domain, $video_id) = explode("v=", $url);
    355                                                 $video_id = esc_attr($video_id);
    356                                                 $content = '<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/' . $video_id . '"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/' . $video_id . '" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>';
     326                function setup_photo_actions() {
     327                        jQuery('.close').click(function() {
     328                                jQuery('#extra-fields').hide();
     329                                jQuery('#extra-fields').html('');
     330                        });
     331                        jQuery('.refresh').click(function() {
     332                                photostorage = false;
     333                                show();
     334                        });
     335                        jQuery('#photo-add-url').click(function(){
     336                                var form = jQuery('#photo-add-url-div').clone();
     337                                jQuery('#img_container').empty().append( form.show() );
     338                        });
     339                        jQuery('#waiting').hide();
     340                        jQuery('#extra-fields').show();
     341                }
    357342
    358                                         } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) {
    359                                                 list($domain, $video_id) = explode(".com/", $url);
    360                                                 $video_id = esc_attr($video_id);
    361                                                 $content = '<object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=' . $video_id . '&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />      <embed src="http://www.vimeo.com/moogaloop.swf?clip_id=' . $video_id . '&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object>';
    362 
    363                                                 if ( trim($selection) == '' )
    364                                                         $selection = '<p><a href="http://www.vimeo.com/' . $video_id . '?pg=embed&sec=' . $video_id . '">' . $title . '</a> on <a href="http://vimeo.com?pg=embed&sec=' . $video_id . '">Vimeo</a></p>';
    365 
    366                                         } elseif ( strpos( $selection, '<object' ) !== false ) {
    367                                                 $content = $selection;
    368                                         }
    369                                         ?>
    370                                         jQuery('#embed-code').prepend('<?php echo htmlentities($content); ?>');
    371                                 });
    372                                 jQuery('#extra-fields').show();
    373                                 return false;
    374                                 break;
    375                         case 'photo' :
    376                                 function setup_photo_actions() {
    377                                         jQuery('.close').click(function() {
    378                                                 jQuery('#extra-fields').hide();
    379                                                 jQuery('#extra-fields').html('');
    380                                         });
    381                                         jQuery('.refresh').click(function() {
    382                                                 photostorage = false;
    383                                                 show('photo');
    384                                         });
    385                                         jQuery('#photo-add-url').click(function(){
    386                                                 var form = jQuery('#photo-add-url-div').clone();
    387                                                 jQuery('#img_container').empty().append( form.show() );
    388                                         });
    389                                         jQuery('#waiting').hide();
    390                                         jQuery('#extra-fields').show();
    391                                 }
    392 
    393                                 jQuery('#waiting').show();
    394                                 if(photostorage == false) {
    395                                         jQuery.ajax({
    396                                                 type: "GET",
    397                                                 cache : false,
    398                                                 url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>",
    399                                                 data: "ajax=photo_js&u=<?php echo urlencode($url)?>",
    400                                                 dataType : "script",
    401                                                 success : function(data) {
    402                                                         eval(data);
    403                                                         photostorage = jQuery('#extra-fields').html();
    404                                                         setup_photo_actions();
    405                                                 }
    406                                         });
    407                                 } else {
    408                                         jQuery('#extra-fields').html(photostorage);
     343                jQuery('#waiting').show();
     344                if(photostorage == false) {
     345                        jQuery.ajax({
     346                                type: "GET",
     347                                cache : false,
     348                                url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>",
     349                                data: "ajax=photo_js&u=<?php echo urlencode($url)?>",
     350                                dataType : "script",
     351                                success : function(data) {
     352                                        eval(data);
     353                                        photostorage = jQuery('#extra-fields').html();
    409354                                        setup_photo_actions();
    410355                                }
    411                                 return false;
    412                                 break;
     356                        });
     357                } else {
     358                        jQuery('#extra-fields').html(photostorage);
     359                        setup_photo_actions();
    413360                }
     361                return false;
    414362        }
    415363        jQuery(document).ready(function($) {
    416364                //resize screen
    417365                window.resizeTo(720,580);
    418366                // set button actions
    419                 jQuery('#photo_button').click(function() { show('photo'); return false; });
    420                 jQuery('#video_button').click(function() { show('video'); return false; });
     367                jQuery('#photo_button').click(function() { show(); return false; });
    421368                // auto select
    422                 <?php if ( preg_match("/youtube\.com\/watch/i", $url) ) { ?>
    423                         show('video');
    424                 <?php } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) { ?>
    425                         show('video');
    426                 <?php } elseif ( preg_match("/flickr\.com/i", $url) ) { ?>
    427                         show('photo');
     369                <?php if ( preg_match("/flickr\.com/i", $url) ) { ?>
     370                        show();
    428371                <?php } ?>
    429372                jQuery('#title').unbind();
    430373                jQuery('#publish, #save').click(function() { jQuery('#saving').css('display', 'inline'); });
     
    622565                                <img alt="<?php esc_attr_e('Insert an Image'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-image.gif?ver=20100531' ) ); ?>"/></a>
    623566                                <?php
    624567                        }
    625                         ?>
    626                         <a id="video_button" title="<?php esc_attr_e('Embed a Video'); ?>" href="#"><img alt="<?php esc_attr_e('Embed a Video'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-video.gif?ver=20100531' ) ); ?>"/></a>
    627                         <?php
    628568                }
    629569
    630570                wp_editor( $content, 'content', $editor_settings );