WordPress.org

Make WordPress Core

Ticket #6813: press-this_7-9-5pm.diff

File press-this_7-9-5pm.diff, 16.0 KB (added by noel, 7 years ago)

CSS cleanup, photo input newline breaks, fixes short_tags problem

  • press-this.php

     
    11<?php 
    22require_once('admin.php'); 
    33 
    4 if ( ! current_user_can('publish_posts') ) wp_die( __( 'Cheatin&#8217; uh?' )); ?> 
     4if ( ! current_user_can('publish_posts') ) wp_die( __( 'Cheatin&#8217; uh?' ) ); 
    55 
    6 <?php  
    7  
    86function preg_quote2($string) { 
    97        return str_replace('/', '\/', preg_quote($string)); 
    108} 
     9function aposfix($text) { 
     10        $translation_table[chr(34)] = '&quot;'; 
     11        $translation_table[chr(38)] = '&'; 
     12        $translation_table[chr(39)] = '&apos;'; 
     13        return preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/","&amp;" , strtr($text, $translation_table));     
     14} 
    1115function press_it() { 
    1216        // define some basic variables 
    1317        $quick['post_status'] = $_REQUEST['post_status']; 
     
    3034                        $content = $_REQUEST['content']; 
    3135                         
    3236                        foreach($_REQUEST['photo_src'] as $key => $image) { 
    33                                 #quote for matching 
     37                                // escape quote for matching 
    3438                                $quoted = preg_quote2($image); 
    3539                                 
    3640                                // see if files exist in content - we don't want to upload non-used selected files. 
     
    5054                        $content .= $_REQUEST['content']; 
    5155                        break;   
    5256                } 
    53         # set the post_content 
     57        // set the post_content 
    5458        $quick['post_content'] = str_replace('<br />', "\n", preg_replace('/<\/?p>/','',$content)); 
    5559 
    56         #error handling for $post 
     60        // error handling for $post 
    5761        if ( is_wp_error($post_ID)) { 
    5862                wp_die($id); 
    5963                wp_delete_post($post_ID); 
    60         #error handling for media_sideload 
     64        // error handling for media_sideload 
    6165        } elseif ( is_wp_error($upload)) { 
    6266                wp_die($upload); 
    6367                wp_delete_post($post_ID); 
     
    6872        return $post_ID; 
    6973} 
    7074 
    71 # For submitted posts. 
     75// For submitted posts. 
    7276if ( 'post' == $_REQUEST['action'] ) {  
    7377        check_admin_referer('press-this'); $post_ID = press_it(); ?> 
    74          
    7578        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    7679        <html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>> 
    7780        <head> 
     
    8891                do_action('admin_head'); 
    8992        ?> 
    9093        </head> 
    91         <body class="press-this"> 
    92                  
    93                 <div id="message" class="updated fade"><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="post.php?action=edit&amp;post=<?php echo $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> 
    94                  
     94        <body class="press-this">        
     95                <div id="message" class="updated fade"><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="post.php?action=edit&amp;post=<?php echo $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>        
    9596                <div id="footer"> 
    9697                <p><?php 
    9798                do_action('in_admin_footer', ''); 
     
    99100                echo __('Thank you for creating with <a href="http://wordpress.org/">WordPress</a>'); 
    100101                ?></p> 
    101102                </div> 
    102                 <?php do_action('admin_footer', ''); ?> 
    103                  
     103                <?php do_action('admin_footer', ''); ?>          
    104104        </body> 
    105105        </html> 
    106106        <?php die; 
    107107} 
    108108 
    109  
    110 function aposfix($text) { 
    111         $translation_table[chr(34)] = '&quot;'; 
    112         $translation_table[chr(38)] = '&'; 
    113         $translation_table[chr(39)] = '&apos;'; 
    114         return preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/","&amp;" , strtr($text, $translation_table));     
    115 } 
    116  
    117109// Ajax Requests 
    118110$title = wp_specialchars(aposfix(stripslashes($_GET['t']))); 
    119111 
     
    178170 
    179171if($_REQUEST['ajax'] == 'photo_images') { 
    180172        function get_images_from_uri($uri) { 
    181                 if(preg_match('/\.(jpg|jpe|jpeg|png|gif)/', $uri) && !strpos($uri,'blogger.com'))  
     173                if( preg_match('/\.(jpg|jpe|jpeg|png|gif)/', $uri) && !strpos($uri,'blogger.com') )  
    182174                        return "'".$uri."'"; 
    183175 
    184176                $content = wp_remote_fopen($uri); 
     
    211203} 
    212204 
    213205if($_REQUEST['ajax'] == 'photo_js') { ?> 
    214          
    215          
    216206        // gather images and load some default JS 
    217          
    218207        var last = null 
    219208        var img, img_tag, aspect, w, h, skip, i, strtoappend = ""; 
    220209        var my_src = eval( 
     
    257246                        if(length == 0) length = 1; 
    258247                        jQuery('.photolist').append('<input name="photo_src[' + length + ']" value="' + img +'" type="hidden"/>'); 
    259248                        jQuery('.photolist').append('<input name="photo_description[' + length + ']" value="' + desc +'" type="hidden"/>'); 
    260                         append_editor('<img src="' + img +'" alt="' + desc + '" />'); 
     249                        append_editor("\n\n" + '<p><img src="' + img +'" alt="' + desc + '" /></p>'); 
    261250                } 
    262251                tinyMCE.activeEditor.resizeToContent(); 
    263252                return false; 
     
    277266                tb_init('a.thickbox, area.thickbox, input.thickbox'); 
    278267        }); 
    279268         
    280 <?php die; } 
     269<?php die; 
     270} 
    281271 
    282272if($_REQUEST['ajax'] == 'photo') { ?> 
    283273                <div class="photolist"></div> 
     
    287277                <div class="titlewrap"> 
    288278                        <div id="img_container"></div> 
    289279                </div> 
    290 <?php die; } 
     280<?php die; 
     281} 
    291282?> 
    292283<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    293284<html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>> 
     
    377368        } 
    378369         
    379370        function set_editor(text) { 
    380  
    381371                if(tinyMCE.activeEditor) tinyMCE.activeEditor.setContent(''); 
    382372                if(tinyMCE.activeEditor) tinyMCE.execCommand('mceInsertContent' ,false, text); 
    383373        } 
     
    399389                                        set_editor("<?php echo $selection; ?>"); 
    400390                                <?php } else { ?> 
    401391                                        set_editor("<a href='<?php echo $url ?>'><?php echo $title; ?></a>"); 
    402                                 <? } ?> 
     392                                <?php } ?> 
    403393                                return false; 
    404394                                break; 
    405395                        case 'quote' : 
     
    411401                        case 'video' : 
    412402                                set_menu('video'); 
    413403                                set_title('<?php _e('Caption') ?>'); 
    414                                  
    415404                                jQuery('#extra_fields').show(); 
    416405                                jQuery('body').addClass('video_split'); 
    417406                                jQuery('#extra_fields').load('<?php echo clean_url($_SERVER['PHP_SELF']); ?>', { ajax: 'video', s: '<?php echo attribute_escape($selection); ?>'}, function() { 
    418407                                        <?php  
    419408                                        if ( preg_match("/youtube\.com\/watch/i", $url) ) { 
    420                                         list($domain, $video_id) = split("v=", $url); 
    421                                         $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>'; ?> 
     409                                                list($domain, $video_id) = split("v=", $url); 
     410                                                $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>'; 
     411                                                 
     412                                        } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) { 
     413                                                list($domain, $video_id) = split(".com/", $url); 
     414                                                $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>'; 
    422415                                         
    423                                         <?php } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) { 
    424                                          
    425                                         list($domain, $video_id) = split(".com/", $url); 
    426                                         $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>'; 
    427                                          
    428                                         if ( trim($selection) == '' ) 
    429                                                 $selection = '<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>'; 
     416                                                if ( trim($selection) == '' ) 
     417                                                        $selection = '<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>'; 
     418                                                                                 
    430419                                        } else { 
    431420                                                $content = $selection; 
    432                                         } ?> 
     421                                        } 
     422                                         
     423                                        ?> 
    433424                                        jQuery('#embed_code').prepend('<?php echo htmlentities($content); ?>'); 
    434425                                         
    435426                                        set_editor("<?php echo $title; ?>"); 
     
    443434                                        set_editor("<?php echo $selection; ?>"); 
    444435                                <?php } else { ?> 
    445436                                        set_editor("<a href='<?php echo $url ?>'><?php echo $title; ?></a>"); 
    446                                 <? } ?> 
     437                                <?php } ?> 
    447438                                jQuery('#extra_fields').show(); 
    448439                                jQuery('#extra_fields').before('<h2 id="waiting"><img src="images/loading.gif" alt="" /><?php echo js_escape( __( 'Loading...' ) ); ?></h2>'); 
    449440                                jQuery('#extra_fields').load('<?php echo clean_url($_SERVER['PHP_SELF']).'/?ajax=photo&u='.attribute_escape($url); ?>'); 
     
    468459                        tab_name = tab_name[0]; 
    469460                        show(tab_name); 
    470461                }); 
    471                  
    472462                // Set default tabs 
    473463                <?php if ( preg_match("/youtube\.com\/watch/i", $url) ) { ?> 
    474464                        show('video'); 
     
    478468                        show('photo'); 
    479469                <?php } ?> 
    480470        }); 
    481          
     471 
    482472</script> 
    483473</head> 
    484474<body class="press-this"> 
     
    537527        </div> 
    538528</form> 
    539529</body> 
    540 </html> 
     530</html> 
     531 No newline at end of file 
  • css/press-this.css

     
    8888        cursor: pointer; 
    8989} 
    9090 
     91/* Header */ 
    9192#wphead { 
    9293        border-top: none; 
     94        height: 2em; 
     95        padding-top: 8px; 
    9396} 
    9497 
    9598.button { 
    96 font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif; 
    97 padding: 3px 5px; 
    98 font-size: 12px; 
    99 line-height: 1.5em; 
    100 border-width: 1px; 
    101 border-style: solid; 
    102 -moz-border-radius: 3px; 
    103 -khtml-border-radius: 3px; 
    104 -webkit-border-radius: 3px; 
    105 border-radius: 3px; 
    106 cursor: pointer; 
    107 margin-left: 5px; 
    108 text-decoration: none; 
     99        font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif; 
     100        padding: 3px 5px; 
     101        font-size: 12px; 
     102        line-height: 1.5em; 
     103        border-width: 1px; 
     104        border-style: solid; 
     105        -moz-border-radius: 3px; 
     106        -khtml-border-radius: 3px; 
     107        -webkit-border-radius: 3px; 
     108        border-radius: 3px; 
     109        cursor: pointer; 
     110        margin-left: 5px; 
     111        text-decoration: none; 
    109112} 
    110113 
    111114.howto { 
    112 font-size: 11px; 
     115        font-size: 11px; 
     116        font-style: italic; 
     117        display: block; 
    113118} 
    114 #newtag { width: 60%; padding: 3px; } 
    115119 
    116 #wphead { 
    117         height: 2em; 
    118         padding-top: 8px; 
    119 } 
    120  
    121120#wphead #viewsite { 
    122121        position: absolute; 
    123122        margin-top: 12px; 
     
    132131} 
    133132 
    134133#wphead #viewsite a { 
    135         font: 12px "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, 
    136                 sans-serif; 
     134        font: 12px "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif; 
    137135        padding: 3px 4px; 
    138136        display: block; 
    139137        letter-spacing: normal; 
     
    173171        color: #333333; 
    174172} 
    175173 
    176 .titlewrap { 
    177         border-style: solid; 
    178         border-width: 1px; 
    179         padding: 2px 3px; 
    180         border-color: #CCCCCC; 
    181 } 
     174/* Editor/Main Column */ 
    182175 
    183176div#container { 
    184177        margin: 0; 
    185178        min-width: 500px; 
    186179} 
    187180 
     181div#container form { 
     182        margin: 0px; 
     183        padding: 0px; 
     184} 
     185 
    188186div#posting { 
    189187        padding-left: 16px; 
    190188        position: absolute; 
     
    192190        width: 66%; 
    193191} 
    194192 
     193#post_title { 
     194        width: 99%; 
     195} 
     196 
     197.titlewrap { 
     198        border-style: solid; 
     199        border-width: 1px; 
     200        padding: 2px 3px; 
     201        border-color: #CCCCCC; 
     202} 
     203 
    195204div#posting h2 { 
    196205        margin: .5em 0 .25em 0; 
    197206        font-size: 12px; 
     
    199208        background: ; 
    200209} 
    201210 
    202 div#container form { 
    203         margin: 0px; 
    204         padding: 0px; 
     211.editor-container { 
     212        border-width: 1px; 
     213        border-color: #ccc; 
     214        border-style: solid; 
     215        margin-bottom: 1em; 
    205216} 
    206217 
     218/* Photo Styles */ 
     219 
     220#photo_directions { 
     221        margin-top: .25em; 
     222        display: block; 
     223        position: relative; 
     224} 
     225 
     226#photo_directions span { 
     227        display: block; 
     228        position: absolute; 
     229        top: 0; 
     230        right: 3px; 
     231} 
     232 
     233#photo_saving { 
     234        margin-bottom: 8px; 
     235} 
     236 
     237#img_container { 
     238        background-color: #fff; 
     239        overflow: auto; 
     240        height: 100px; 
     241} 
     242 
     243#img_container a { 
     244        display: block; 
     245        width: 79px; 
     246        height: 79px; 
     247        float: left; 
     248} 
     249 
     250#img_container img { 
     251        width: 75px; 
     252        height: 75px; 
     253        border: 0px; 
     254        padding: 2px; 
     255        background-color: #f4f4f4; 
     256        cursor: pointer; 
     257} 
     258#img_container a, #img_container a:link, #img_container a:visited { 
     259        border: 2px solid #ccc; 
     260        margin: 0 4px 4px 0; 
     261}  
     262#img_container a:hover, #img_container a:active { 
     263        border: 2px solid #000; 
     264} 
     265 
     266/* Submit Column */ 
     267 
    207268div#categories { 
    208269        font-size: 85%; 
    209270        position: absolute; 
     
    216277div#categories h2 { 
    217278        color: #333; 
    218279        font-size: 12px; 
    219         margin: .5em 0 0 1em; 
     280        margin: .5em 0 .5em 1em; 
    220281        padding: 0; 
    221282} 
    222283 
    223284#categories-all { 
    224285        overflow: auto; 
    225         padding: 1em; 
     286        padding: 0 1em 1em 1em; 
    226287        height: 15em; 
    227288} 
    228289 
     
    232293        margin: 0; 
    233294} 
    234295 
    235 .editor-container { 
    236         border-width: 1px; 
    237         border-color: #ccc; 
    238         border-style: solid; 
    239         margin-bottom: 1em; 
    240 } 
    241  
    242296#tagsdiv #newtag { 
     297        padding: 3px; 
    243298        margin-right: 5px; 
    244         width: 16em; 
     299        width: 16em;     
    245300} 
    246301 
     302#jaxtag { 
     303        clear: both; 
     304        padding-left: 1em; 
     305} 
     306 
    247307#tagchecklist { 
    248308        padding-left: 1em; 
    249309        margin-bottom: 1em; 
     
    278338        overflow: hidden; 
    279339        position: absolute; 
    280340} 
    281  
    282 .howto { 
    283         font-style: italic; 
    284         display: block; 
    285 } 
    286  
    287 #post_title { 
    288         width: 99%; 
    289 } 
    290  
    291 #img_container { 
    292         background-color: #fff; 
    293         overflow: auto; 
    294         height: 100px; 
    295 } 
    296  
    297 #img_container a { 
    298         display: block; 
    299         width: 79px; 
    300         height: 79px; 
    301         float: left; 
    302 } 
    303 #img_container img { 
    304         width: 75px; 
    305         height: 75px; 
    306         border: 0px; 
    307         padding: 2px; 
    308         background-color: #f4f4f4; 
    309         cursor: pointer; 
    310 } 
    311 #img_container a, #img_container a:link, #img_container a:visited { 
    312         border: 2px solid #ccc; 
    313         margin: 0 4px 4px 0; 
    314 }  
    315 #img_container a:hover, #img_container a:active { 
    316         border: 2px solid #000; 
    317 } 
    318341.submit { 
    319342        -moz-border-radius-bottomleft: 3px; 
    320343        -khtml-border-bottom-left-radius: 3px; 
     
    363386        border-top-right-radius: 3px; 
    364387} 
    365388 
    366 .hidden { 
    367         display: none; 
    368 } 
    369  
     389/* Video Styles */ 
    370390.video_split #extra_fields { 
    371391        width: 27%; 
    372392        height: 300px; 
     
    383403        float: right; 
    384404} 
    385405 
    386 #jaxtag { 
    387         clear: both; 
    388         padding-left: 1em; 
    389 } 
    390  
    391406.ac_results { 
    392407        padding: 0; 
    393408        margin: 0; 
     
    413428        text-decoration: underline; 
    414429} 
    415430 
    416  
    417431.photolist { 
    418 display: none; 
     432        display: none; 
    419433} 
    420434 
    421435#extra_fields small { 
    422 display: block; 
    423 margin-top: .5em; 
    424 padding-bottom: .25em; 
     436        display: block; 
     437        margin-top: .5em; 
     438        padding-bottom: .25em; 
    425439} 
    426440 
    427441#TB_ajaxContent #options { 
    428 position: absolute; 
    429 top: 20px; 
    430 right: 25px; 
    431 padding: 5px; 
     442        position: absolute; 
     443        top: 20px; 
     444        right: 25px; 
     445        padding: 5px; 
    432446} 
    433447#TB_ajaxContent h3 { 
    434 margin-bottom: .25em; 
     448        margin-bottom: .25em; 
    435449} 
    436450 
    437451.updated { 
     
    461475        padding-bottom: 2px; 
    462476} 
    463477 
    464 #photo_directions { 
    465 margin-top: .25em; 
    466 display: block; 
    467 position: relative; 
    468 } 
    469 #photo_directions span { 
    470 display: block; 
    471 position: absolute; 
    472 top: 0; 
    473 right: 3px; 
    474 } 
    475 #photo_saving { 
    476 margin-bottom: 8px; 
    477 } 
    478  
    479478#post_status { 
    480479        margin-left: 10px; 
    481480        margin-bottom: 1em; 
    482481        display: block; 
    483482} 
    484483 
     484/* Footer */ 
     485 
    485486#footer { 
    486487        height: 65px; 
    487488        display: block; 
     
    506507        text-decoration: underline; 
    507508} 
    508509 
     510 
     511/* Utility Classes */ 
    509512.centered { 
    510513        text-align: center; 
    511514} 
     515 
     516.hidden { 
     517        display: none; 
     518} 
     519 No newline at end of file