WordPress.org

Make WordPress Core

Ticket #7126: press-this-6-11-9pm.diff

File press-this-6-11-9pm.diff, 5.1 KB (added by noel, 13 years ago)
  • wp-admin/press-this.php

    Cannot display: file marked as a binary type.
    svn:mime-type = application/octet-stream
    
    Property changes on: wp-admin/images/loading-publish.gif
    ___________________________________________________________________
    Name: svn:mime-type
       + application/octet-stream
    
     
    7676                        </div>
    7777                        <p class="submit">         
    7878                        <input type="submit" value="<?php _e('Publish') ?>" onclick="document.getElementById('photo_saving').style.display = '';"/>
    79                         <img src="images/loading.gif" alt="" id="photo_saving" style="width:16px; height:16px; vertical-align:-4px; display:none;"/>
     79                        <img src="images/loading-publish.gif" alt="" id="photo_saving" style="display:none;"/>
    8080                        </p>
    8181                </div> 
    8282<?php }
     
    154154}
    155155
    156156if($_REQUEST['ajax'] == 'photo_images') {
    157 $url = urldecode($url);
    158 $url = str_replace(' ', '%20', $url);
    159 
     157        error_log('photo images');
    160158        function get_images_from_uri($uri) {
    161                 if(preg_match('/\.(jpg|png|gif)/', $uri)) return "'".$uri."'";
     159                if(preg_match('/\.(jpg|png|gif)/', $uri))
     160                        return "'".$uri."'";
     161               
    162162                $content = wp_remote_fopen($uri);
    163163                $host = parse_url($uri);
     164               
    164165                if ( false === $content ) return '';
    165 
    166                 $pattern = '/<img[^>]+src=[\'"]([^\'" >]+?)[\'" >]/is';
     166               
     167                $pattern = '/<img ([^>]*)src=(\"|\')(.+?)(\2)([^>\/]*)\/*>/is';
    167168                preg_match_all($pattern, $content, $matches);
    168                 if ( empty($matches[1]) ) return '';
    169    
     169                if ( empty($matches[1]) ) { error_log('empty'); return ''; };
    170170                $sources = array();
    171171
    172                 foreach ($matches[1] as $src) {
    173                         if ( false !== strpos($src, '&') ) continue;
     172                foreach ($matches[3] as $src) {
     173                        error_log($src);
     174                        #if ( false !== strpos($src, '&') ) continue;
    174175                                if(strpos($src, 'http') === false) {
    175176                                        if(strpos($src, '../') === false && strpos($src, './') === false) {
    176177                                                $src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
     
    178179                                                $src = 'http://'.str_replace('//','/', $host['host'].'/'.$host['path'].'/'.$src);
    179180                                        }
    180181                                }
     182                               
    181183                                $sources[] = $src;
    182184                }
    183185                return "'" . implode("','", $sources) . "'";
    184186        }
    185187       
    186                
     188        $url = urldecode($url);
     189        $url = str_replace(' ', '%20', $url);
    187190        echo 'new Array('.get_images_from_uri($url).')';
    188191die;           
    189192}
     
    366369                                jQuery('#content_type').show();
    367370                                set_menu('text');
    368371                                set_title('<?php _e('Text') ?>');
    369                                 set_editor("<?php echo $selection; ?>");
     372                                <?php if($selection) { ?>
     373                                set_editor('<?php echo '<p><a href="'.$url.'">'.$selection.'</a> </p> '; ?>');
     374                                <?php } else { ?>
     375                                set_editor('<?php echo '<p><a href="'.$url.'">'.$title.'</a> </p> '; ?>');
     376                                <?php } ?>
    370377                                return false;
    371378                        break;
    372379                        case 'quote' :
     
    375382                                jQuery('#content_type').show();
    376383                                set_menu('quote');
    377384                                set_title('<?php _e('Quote') ?>');
    378                                 set_editor("<blockquote><p><?php echo $selection; ?> </p><p><cite><a href='<?php echo ''; ?>'><?php echo ''; ?></a></cite> </p></blockquote>");
     385                                set_editor("<blockquote><p><?php echo $selection; ?> </p><p><cite><a href='<?php echo $url; ?>'><?php echo $title; ?></a></cite> </p></blockquote>");
    379386
    380387                                return false;
    381388                        break;
     
    421428                                set_title('Post');
    422429                                <?php if($selection) { ?>
    423430                                        set_editor("<?php echo $selection; ?>");
    424                                 <?php } else { ?>
    425                                         set_editor('')
    426431                                <?php } ?>
    427432                                jQuery('#extra_fields').show();
    428                                 jQuery('#extra_fields').prepend('<h2 id="waiting"><img src="images/loading.gif" alt="" /> Loading...</h2>');
     433                                jQuery('#extra_fields').before('<h2 id="waiting"><img src="images/loading.gif" alt="" /> Loading...</h2>');
    429434                                jQuery('#extra_fields').load('<?php echo clean_url($_SERVER['PHP_SELF']).'/?ajax=photo&u='.attribute_escape($url); ?>');
    430435                                jQuery.ajax({
    431436                                        type: "GET",
     
    434439                                        data: "ajax=photo_js&u=<?php echo urlencode($url)?>",
    435440                                        dataType : "script",
    436441                                        success : function() {
    437                                                 jQuery('#waiting').innerHTML('');
     442                                                jQuery('#waiting').remove();
    438443                                        }
    439444                                });
    440445                               
     
    489494                                        <div class="editor_area">
    490495                                        <h2 id="content_type"><label for="content"><?php _e('Post') ?></label></h2>
    491496                                        <div class="editor-container">
    492                                                 <textarea name="content" id="content" style="width:100%;" class="mceEditor">
    493                                                 <?php echo $selection; ?>
    494                                                 </textarea>
     497                                                <textarea name="content" id="content" style="width:100%;" class="mceEditor"><?php if($selection) { ?><a href='<?php echo $url ?>'><?php echo $selection ?></a><?php } else { ?><a href='<?php echo $url ?>'><?php echo $title; ?></a><?php } ?></textarea>
    495498                                        </div>
    496499                                        </div>
    497500                                       
  • wp-admin/css/press-this.css

     
    448448.updated a {
    449449        text-decoration: none;
    450450        padding-bottom: 2px;
     451}
     452#photo_saving {
     453margin-bottom: 8px;
    451454}
     455 No newline at end of file