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, 10 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