WordPress.org

Make WordPress Core

Ticket #7310: press-this_8-5-1pm.diff

File press-this_8-5-1pm.diff, 4.8 KB (added by noel, 7 years ago)

ticket:7387 and ticket:7310

  • press-this.php

     
    184184 
    185185                $host = parse_url($uri); 
    186186 
    187                 $pattern = '/<img ([^>]*)src=(\"|\')([^<>]+?\.(png|jpeg|jpg|jpe|gif)[^<>\'\"]*)(\2)([^>\/]*)\/*>/is'; 
     187                $pattern = '/<img ([^>]*)src=(\"|\')([^<>]+?\.(png|jpeg|jpg|jpe|gif))[^<>\'\"]*(\2)([^>\/]*)\/*>/is'; 
    188188                preg_match_all($pattern, $content, $matches); 
    189  
     189                 
    190190                if ( empty($matches[1]) ) return ''; 
    191191 
    192192                $sources = array(); 
    193193                foreach ($matches[3] as $src) { 
     194                        // if no http in url 
    194195                        if(strpos($src, 'http') === false) 
    195                                 if(strpos($src, '../') === false && strpos($src, './') === false) 
     196                                // if it doesn't have a relative uri 
     197                                if( strpos($src, '../') === false && strpos($src, './') === false && strpos($src, '/') === true) 
    196198                                        $src = 'http://'.str_replace('//','/', $host['host'].'/'.$src); 
    197199                                else 
    198                                         $src = 'http://'.str_replace('//','/', $host['host'].'/'.$host['path'].'/'.$src); 
    199  
     200                                        $src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src); 
     201                         
    200202                        $sources[] = clean_url($src); 
    201203                } 
    202204                return "'" . implode("','", $sources) . "'"; 
     
    247249        } 
    248250 
    249251        function pick(img, desc) { 
    250                 if (img) {  
    251                         length = jQuery('.photolist input').length; 
     252                if (img) { 
     253                        if('object' == typeof jQuery('.photolist input') && jQuery('.photolist input').length != 0) length = jQuery('.photolist input').length; 
    252254                        if(length == 0) length = 1; 
    253255                        jQuery('.photolist').append('<input name="photo_src[' + length + ']" value="' + img +'" type="hidden"/>'); 
    254256                        jQuery('.photolist').append('<input name="photo_description[' + length + ']" value="' + desc +'" type="hidden"/>'); 
    255                         append_editor("\n\n" + '<p><img src="' + img +'" alt="' + desc + '" /></p>'); 
     257                        append_editor("\n\n" + '<p><img src="' + img +'" alt="' + desc + '" class="aligncenter"/></p>'); 
    256258                } 
    257259                tinyMCE.activeEditor.resizeToContent(); 
    258260                return false; 
     
    267269        } 
    268270 
    269271        jQuery(document).ready(function() { 
     272                jQuery('#extra_fields').html('<div class="photolist"></div><small id="photo_directions"><?php _e("Click images to select:") ?> <span><a href="#" id="photo_add_url" class="thickbox"><?php _e("Add from URL") ?> +</a></span></small><div class="titlewrap"><div id="img_container"></div></div>'); 
    270273                jQuery('#img_container').html(strtoappend); 
    271274                jQuery('#photo_add_url').attr('href', '?ajax=thickbox_url&height=200&width=500'); 
    272275                tb_init('a.thickbox, area.thickbox, input.thickbox'); 
     
    276279} 
    277280 
    278281if($_REQUEST['ajax'] == 'photo') { ?> 
    279                 <div class="photolist"></div> 
    280282 
    281                 <small id="photo_directions"><?php _e('Click images to select:') ?> <span><a href="#" id="photo_add_url" class="thickbox"><?php _e('Add from URL') ?> +</a></span></small> 
    282  
    283                 <div class="titlewrap"> 
    284                         <div id="img_container"></div> 
    285                 </div> 
    286283<?php die; 
    287284} 
    288285?> 
     
    323320                                editor_selector: "mceEditor", 
    324321                                language : "<?php echo $language; ?>", 
    325322                                width: "100%", 
     323                                height: "300", 
    326324                                theme : "advanced", 
    327325                                theme_advanced_buttons1 : "bold,italic,underline,blockquote,separator,strikethrough,bullist,numlist,undo,redo,link,unlink", 
    328326                                theme_advanced_buttons2 : "", 
     
    446444                                <?php } ?> 
    447445                                jQuery('#extra_fields').show(); 
    448446                                jQuery('#extra_fields').before('<h2 id="waiting"><img src="images/loading.gif" alt="" /><?php echo js_escape( __( 'Loading...' ) ); ?></h2>'); 
    449                                 jQuery('#extra_fields').load('<?php echo clean_url($_SERVER['PHP_SELF']).'?ajax=photo&u='.attribute_escape($url); ?>'); 
    450447                                jQuery.ajax({ 
    451448                                        type: "GET", 
    452449                                        cache : false, 
     
    473470                        show('video'); 
    474471                <?php } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) { ?> 
    475472                        show('video'); 
    476                         <?php  } elseif ( preg_match("/flickr\.com/i", $url) ) { ?> 
     473                <?php  } elseif ( preg_match("/flickr\.com/i", $url) ) { ?> 
    477474                        show('photo'); 
    478475                <?php } ?> 
    479476        }); 
     
    506503                <div class="editor_area"> 
    507504                        <h2 id="content_type"><label for="content"><?php _e('Post') ?></label></h2> 
    508505                        <div class="editor-container"> 
    509                                 <textarea name="content" id="content" style="width:100%;" class="mceEditor"><?php if ($selection) { echo wp_richedit_pre($selection); } ?><a href="<?php echo $url ?>"><?php echo $title; ?></a>.</textarea> 
     506                                <textarea name="content" id="content" style="width:100%;" class="mceEditor" rows="15"><?php if ($selection) { echo wp_richedit_pre($selection); } ?><a href="<?php echo $url ?>"><?php echo $title; ?></a>.</textarea> 
    510507                        </div> 
    511508                </div> 
    512509        </div> 
  • css/press-this.css

     
    44        margin: 0px; 
    55        padding: 0px; 
    66} 
     7 
     8img { border: 0; } 
    79/* Tabs */ 
    810@media projection , screen { 
    911        .ui-tabs-hide {