WordPress.org

Make WordPress Core

Ticket #7066: press-this-may-30-2am.diff

File press-this-may-30-2am.diff, 22.5 KB (added by noel, 10 years ago)

press this fixes as of may 30th at 2:20am from Noel

  • wp-admin/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 if ( 'post' == $_REQUEST['action'] ) {
    7         check_admin_referer('press-this');
    8         $post_ID = press_it(); ?>
    9                 <script>if(confirm("<?php _e('Your post is saved. Do you want to view the post?') ?>")) {window.opener.location.replace("<?php echo get_permalink($post_ID);?>");}window.close();</script>
    106<?php
    11 die;
    12 }
    13 
    147function press_it() {
    15         $quick['post_status'] = 'publish';
    16         $quick['post_category'] = $_REQUEST['post_category'];
    17         $quick['tags_input'] = $_REQUEST['tags_input'];
    18         $quick['post_title'] = $_REQUEST['post_title'];
     8                $quick['post_status'] = 'publish';
     9                $quick['post_category'] = $_REQUEST['post_category'];
     10                $quick['tags_input'] = $_REQUEST['tags_input'];
     11                $quick['post_title'] = $_REQUEST['post_title'];
    1912
    20         $content = '';
    21         switch ( $_REQUEST['post_type'] ) {
    22                 case 'text':
    23                         $content = $_REQUEST['content'];
     13                $content = '';
     14                switch ( $_REQUEST['post_type'] ) {
     15                        case 'text':
     16                                $content = $_REQUEST['content'];
    2417
    25                 case 'quote':
    26                         $content = $_REQUEST['content'];
    27                         break;
     18                        case 'quote':
     19                                $content = $_REQUEST['content'];
     20                                break;
    2821
    29                 case 'photo':
    30                
    31 //              http_post_data();
    32                        
    33                         if ($_REQUEST['photo_link'])
    34                                 $content = '<a href="' . $_REQUEST['photo_link'] . '">';
     22                        case 'photo':
    3523
    36                         $content .= '<img src="' . $_REQUEST['photo_src'] . '" alt=""/>';
    3724
    38                         if ($_REQUEST['photo_link'])
    39                                 $content .= '</a>
    40                                 ';
     25                                if ($_REQUEST['photo_link'])
     26                                        $content = '<a href="' . $_REQUEST['photo_link'] . '">';
    4127
    42                         if ($_REQUEST['content'])
    43                                 $content = $content . "\n".$_REQUEST['content'];
     28                                $content .= '<img src="' . $_REQUEST['photo_src'] . '" alt=""/>';
    4429
    45                         break;
    46                 case "video":
    47                         $content = $_REQUEST['content'];
    48                        
    49                         break; 
    50         }
     30                                if ($_REQUEST['photo_link'])
     31                                        $content .= '</a>
     32                                        ';
    5133
     34                                if ($_REQUEST['content'])
     35                                        $content = $content . "\n\n".$_REQUEST['content'];
     36
     37                                break;
     38                        case "video":
     39                                $content = '';
     40                                if($_REQUEST['embed_code'])
     41                                        $content = $_REQUEST['embed_code']."\n\n";
     42                                $content = $_REQUEST['content'];
     43                                break; 
     44                }
     45
    5246        $quick['post_content'] = $content;
    5347
     48        #       $_FILES['sideload']['name'] = '';
     49        #       $_FILES['sideload']['type'] = 'image/jpeg';
     50        #       $_FILES['sideload']['size'] = 'image/jpeg';
     51
     52        //      upload_tmp_dir();
     53       
     54        #error_log(media_handle_upload($_REQUEST['photo_src'], $post_ID));
    5455        $post_ID = wp_insert_post($quick, true);
    55 
    56         if ( is_wp_error($post_ID) )
     56       
     57        if ( is_wp_error($post_ID) ) 
    5758                wp_die($wp_error);
    58 
    5959        return $post_ID;
    6060}
    6161
    62 function tag_div() { ?>
    63         <p id="jaxtag"><label class="hidden" for="newtag"><?php _e('Tags'); ?></label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post->ID ); ?>" /></p>
    64         <div id="tagchecklist"></div>
    65 <?php
    66 }
     62        function tag_div() { ?>
     63                <p id="jaxtag"><label class="hidden" for="newtag"><?php _e('Tags'); ?></label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post->ID ); ?>" /></p>
     64                <div id="tagchecklist"></div>
     65        <?php
     66        }
    6767
    68 function category_div() {
    69 ?>
    70 <div id="categories">
    71         <div class="submitbox" id="submitpost">
    72                 <div id="previewview">  <h2><?php _e('Categories') ?></h2></div>
    73                 <div class="inside">
    74                         <div id="categories-all">
    75                                 <ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
    76                                         <?php wp_category_checklist() ?>
    77                                 </ul>
     68        function category_div() {
     69        ?>
     70        <div id="categories">
     71                <div class="submitbox" id="submitpost">
     72                        <div id="previewview">  <h2><?php _e('Categories') ?></h2></div>
     73                        <div class="inside">
     74                                <div id="categories-all">
     75                                        <ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
     76                                                <?php wp_category_checklist() ?>
     77                                        </ul>
     78                                </div>
    7879                        </div>
    79                 </div>
    80                 <p class="submit">         
    81                 <input type="submit" value="<?php _e('Publish') ?>" onclick="document.getElementById('photo_saving').style.display = '';"/>
    82                 <img src="images/loading.gif" alt="" id="photo_saving" style="width:16px; height:16px; vertical-align:-4px; display:none;"/>
    83                 </p>
    84         </div> 
    85 <?php
     80                        <p class="submit">         
     81                        <input type="submit" value="<?php _e('Publish') ?>" onclick="document.getElementById('photo_saving').style.display = '';"/>
     82                        <img src="images/loading.gif" alt="" id="photo_saving" style="width:16px; height:16px; vertical-align:-4px; display:none;"/>
     83                        </p>
     84                </div> 
     85        <?php
     86        }
     87
     88// For posts submitted
     89if ( 'post' == $_REQUEST['action'] ) {
     90        check_admin_referer('press-this'); $post_ID = press_it(); ?>
     91                <script>if(confirm("<?php _e('Your post is saved. Do you want to view the post?') ?>")){window.opener.location.replace("<?php echo get_permalink($post_ID);?>");}window.close();</script>
     92        <?php die;
    8693}
    8794
    88 function get_images_from_uri($uri) {
     95// Ajax Requests
     96$url = $_REQUEST['url'];
     97$selection = $_REQUEST['selection'];
    8998
    90         $content = wp_remote_fopen($uri);
    91         $uri = str_replace(basename($uri), '', $uri);                   
    92         $host = parse_url($uri);
    93        
    94         if ( false === $content ) return '';
     99if($_REQUEST['ajax'] == 'video') { ?>
     100        <h2 id="embededcode"><?php _e('Embed Code') ?></h2>
     101        <div class="titlewrap" id="embed">
     102                <textarea name="embed" id="embed_code" rows="8" cols="40"></textarea>
     103        </div>
     104<?php die;
     105}
    95106
    96         $pattern = '/<img[^>]+src=[\'"]([^\'" >]+?)[\'" >]/is';
    97         preg_match_all($pattern, $content, $matches);
    98         if ( empty($matches[1]) ) return '';
    99        
    100         $sources = array();
     107if($_REQUEST['ajax'] == 'photo_images') {
     108        function get_images_from_uri($uri) {
     109                $content = wp_remote_fopen($uri);
     110                $uri = str_replace(basename($uri), '', $uri);                   
     111                $host = parse_url($uri);
     112 
     113                if ( false === $content ) return '';
    101114
    102         foreach ($matches[1] as $src) {
    103                 if ( false !== strpos($src, '&') )
    104                         continue;
    105                 $src = 'http://'.str_replace('//','/', $host['host'].'/'.$host['path'].'/'.$src);
     115                $pattern = '/<img[^>]+src=[\'"]([^\'" >]+?)[\'" >]/is';
     116                preg_match_all($pattern, $content, $matches);
     117                if ( empty($matches[1]) ) return '';
     118   
     119                $sources = array();
     120
     121                foreach ($matches[1] as $src) {
     122                        if ( false !== strpos($src, '&') ) continue;
     123                                if(strpos($src, 'http') === false) {
     124                                        if(strpos($src, '../') === false && strpos($src, './') === false) {
     125                                                $src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
     126                                        } else {
     127                                                $src = 'http://'.str_replace('//','/', $host['host'].'/'.$host['path'].'/'.$src);
     128                                        }
     129                                }
     130                                $sources[] = $src;
     131                }
     132                return "'" . implode("','", $sources) . "'";
     133        } 
    106134               
    107                 $sources[] = $src;
    108         }
    109         return "'" . implode("','", $sources) . "'";
     135        echo 'new Array('.get_images_from_uri($url).')';
     136die;           
    110137}
    111138
     139if($_REQUEST['ajax'] == 'photo_js') { ?>
     140       
     141                        var last = null
     142                        function pick(img) {
     143
     144                                if (last) last.style.backgroundColor = '#f4f4f4';
     145                                if (img) {
     146                                        jQuery('#photo_src').val(img.src);
     147                                        img.style.backgroundColor = '#44f';
     148                                }
     149                                last = img;
     150                               
     151                                /*noel's code to select more than one image....
     152                                jQuery('.photolist').append('<h2><?php _e("Photo URL") ?></h2>' +
     153                                '<div class="titlewrap">' +
     154                                '<a href="#" class="remove">remove <input name="photo_src" id="photo_src[]" value ="'+ img.src +'" class="text" onkeydown="pick(0);"/></a>' +
     155                                '</div>');*/
     156
     157                                return false;
     158                        }
     159
     160                        jQuery('.remove').click(function() {
     161                                jQuery(this).remove;
     162                        });
     163
     164
     165                        var my_src, img, img_tag, aspect, w, h, skip, i, strtoappend = "";
     166                       
     167                        var my_src =eval(
     168                        jQuery.ajax({
     169                                type: "GET",
     170                                url: "<?php echo $_SERVER['PHP_SELF']; ?>",
     171                                cache : false,
     172                                async : false,
     173                                data: "ajax=photo_images&url=<?php echo $url?>",
     174                        dataType : "script"
     175                        }).responseText);
     176
     177                        for (i = 0; i < my_src.length; i++) {
     178                                img = new Image();
     179                                img.src = my_src[i];
     180                                img_attr = 'id="img' + i + '" onclick="pick(this);"';
     181                                skip = false;
     182
     183                                if (img.width && img.height) {
     184                                        if (img.width * img.height < 2500) skip = true;
     185                                        aspect = img.width / img.height;
     186                                        if (aspect > 1) { // Image is wide
     187                                                scale = 75 / img.width;
     188                                        } else { // Image is tall or square
     189                                                scale = 75 / img.height;
     190                                        }
     191                                        if (scale < 1) {
     192                                                w = parseInt(img.width * scale);
     193                                                h = parseInt(img.height * scale);
     194                                        } else {
     195                                                w = img.width;
     196                                                h = img.height;
     197                                        }
     198                                        img_attr += ' style="width: ' + w + 'px; height: ' + h + 'px;"';
     199                                }
     200
     201                                if (!skip) strtoappend += '<a href="' + img.src + '" title="" class="thickbox"><img src="' + img.src + '" ' + img_attr + '/></a>';
     202
     203                        }
     204
     205                        jQuery('#img_container').html(strtoappend);
     206
     207                        tb_init('a.thickbox, area.thickbox, input.thickbox'); //pass where to apply thickbox
     208
     209
     210<?php die; }
     211
     212if($_REQUEST['ajax'] == 'photo') { ?>
     213                <h2><?php _e('Photo URL') ?></h2>
     214                <div class="titlewrap">
     215                        <input name="photo_src" id="photo_src" class="text" onkeydown="pick(0);"/>
     216                </div>
     217       
     218                <div class="photolist"></div>
     219       
     220                <h2><?php _e('Link Photo to following URL') ?></h2><?php _e('(leave blank to leave the photo unlinked)') ?>
     221                <div class="titlewrap">
     222                        <input name="photo_link" id="photo_link" class="text" value="<?php echo attribute_escape($url);?>"/>
     223                </div>
     224       
     225                <small><?php _e('Click images to select:') ?></small>
     226                <div class="titlewrap">
     227                        <div id="img_container">Loading Images...</div>
     228                </div>
     229<?php die; }
     230
    112231// Clean up the data being passed in
    113232$title = wp_specialchars(stripslashes($_GET['t']));
    114233$selection = trim(wp_specialchars(str_replace("\n", ' ',stripslashes($_GET['s']))));
     
    122241
    123242        <script type="text/javascript" src="../wp-includes/js/tinymce/tiny_mce.js"></script>
    124243<?php
    125         wp_enqueue_script('jquery-ui-tabs');
    126244        add_thickbox();
    127245        wp_enqueue_style('press-this');
    128246        wp_enqueue_style( 'colors' );
     
    153271                                width: "100%",
    154272                                theme : "advanced",
    155273                                theme_advanced_buttons1 : "bold,italic,underline,blockquote,separator,strikethrough,bullist,numlist,undo,redo,link,unlink",
     274                                extended_valid_elements : "object[width|height],param[name|value],embed[src|type|wmode|width|height], a[name|href|target|title|onclick], img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name], hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
    156275                                theme_advanced_buttons2 : "",
    157276                                theme_advanced_buttons3 : "",
    158277                                theme_advanced_toolbar_location : "top",
     
    174293                        });
    175294    <?php } ?>
    176295
    177         jQuery('#tags-input').hide();
     296    jQuery('#tags-input').hide();
    178297
    179                 tag_update_quickclicks();
     298        tag_update_quickclicks();
    180299
    181                 // add the quickadd form
    182                 jQuery('#jaxtag').prepend('<span id="ajaxtag"><input type="text" name="newtag" id="newtag" class="form-input-tip" size="16" autocomplete="off" value="'+postL10n.addTag+'" /><input type="submit" class="button" id="tagadd" value="' + postL10n.add + '" tabindex="3" onclick="return false;" /><input type="hidden"/><input type="hidden"/><span class="howto">'+postL10n.separate+'</span></span>');
     300        // add the quickadd form
     301        jQuery('#jaxtag').prepend('<span id="ajaxtag"><input type="text" name="newtag" id="newtag" class="form-input-tip" size="16" autocomplete="off" value="'+postL10n.addTag+'" /><input type="submit" class="button" id="tagadd" value="' + postL10n.add + '" tabindex="3" onclick="return false;" /><input type="hidden"/><input type="hidden"/><span class="howto">'+postL10n.separate+'</span></span>');
    183302               
    184                 jQuery('#tagadd').click( tag_flush_to_text );
    185                 jQuery('#newtag').focus(function() {
    186                         if ( this.value == postL10n.addTag )
    187                                 jQuery(this).val( '' ).removeClass( 'form-input-tip' );
    188                 });
    189                 jQuery('#newtag').blur(function() {
    190                         if ( this.value == '' )
    191                                 jQuery(this).val( postL10n.addTag ).addClass( 'form-input-tip' );
    192                 });
     303        jQuery('#tagadd').click( tag_flush_to_text );
     304        jQuery('#newtag').focus(function() {
     305                if ( this.value == postL10n.addTag )
     306                        jQuery(this).val( '' ).removeClass( 'form-input-tip' );
     307        });
     308        jQuery('#newtag').blur(function() {
     309                if ( this.value == '' )
     310                        jQuery(this).val( postL10n.addTag ).addClass( 'form-input-tip' );
     311        });
    193312
    194                 // auto-save tags on post save/publish
    195                 jQuery('#publish').click( tag_save_on_publish );
    196                 jQuery('#save-post').click( tag_save_on_publish );
     313        // auto-save tags on post save/publish
     314        jQuery('#publish').click( tag_save_on_publish );
     315        jQuery('#save-post').click( tag_save_on_publish );
    197316               
    198317        function set_menu(type) {
    199318                jQuery('#text_button').removeClass('ui-tabs-selected');
     
    202321                jQuery("#post_type").val(type);
    203322        }
    204323        function set_editor(text) {
    205                 tinyMCE.activeEditor.setContent('');
    206                 tinyMCE.execCommand('mceInsertContent' ,false, text);
     324                if(tinyMCE.activeEditor) tinyMCE.activeEditor.setContent('');
     325                if(tinyMCE.activeEditor) tinyMCE.execCommand('mceInsertContent' ,false, text);
    207326        }
    208327        function set_title(title) { jQuery("#content_type").text(title); }
    209        
    210                 var last = null;
    211         function pick(img) {
    212                 if (last) last.style.backgroundColor = '#f4f4f4';
    213                 if (img) {
    214                         document.getElementById('photo_src').value = img.src;
    215                         img.style.backgroundColor = '#44f';
    216                 }
    217                 last = img;
    218                
    219                 /*noel's code to select more than one image....
    220                 jQuery('.photolist').append('<h2><?php _e("Photo URL") ?></h2>' +
    221                 '<div class="titlewrap">' +
    222                 '<a href="#" class="remove">remove <input name="photo_src" id="photo_src[]" value ="'+ img.src +'" class="text" onkeydown="pick(0);"/></a>' +
    223                 '</div>');*/
    224                
    225                 return false;
     328        function reset_height() {
     329                tinyMCE.height = '170px';
    226330        }
     331        function show(tab_name) {
     332                jQuery('body').removeClass('video_split');
     333                jQuery('#extra_fields').hide();
     334                switch(tab_name) {
     335                        case 'text' :
     336                                reset_height();
     337                                jQuery('.editor-container').show();
     338                                jQuery('#content_type').show();
     339                                set_menu('text');
     340                                set_title('<?php _e('Text') ?>');
     341                                set_editor('<?php echo $selection; ?>');
     342                                return false;
     343                        break;
     344                        case 'quote' :
     345                                reset_height();
     346                                jQuery('.editor-container').show();
     347                                jQuery('#content_type').show();
     348                                set_menu('quote');
     349                                set_title('<?php _e('Quote') ?>');
     350                                set_editor('<blockquote><p><?php echo $selection; ?> </p><p><cite><a href="<?php echo $url; ?>"><?php echo $title; ?></a></cite> </p></blockquote>');
    227351
    228         jQuery(document).ready(function() {
    229                
    230        
    231                 <?php if ( preg_match("/youtube\.com\/watch/i", $url) ) { ?>
    232        
    233                 <?php } elseif ( preg_match("/flickr\.com/i", $url) ) { ?>
     352                                return false;
     353                        break;
     354                        case 'video' :
     355                                jQuery('.editor-container').show();
     356                                tinyMCE.height = '700px';
     357                                jQuery('#content_type').show();
     358                                set_menu('video');
     359                                set_title('<?php _e('Caption') ?>');
     360                                <?php
     361                                if ( preg_match("/youtube\.com\/watch/i", $url) ) {
     362                                list($domain, $video_id) = split("v=", $url);
     363                                $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>'; } else { ?>
     364                                        jQuery('#extra_fields').html();
     365                                        jQuery('#extra_fields').show();
     366                                        jQuery('body').addClass('video_split');
     367                                        jQuery('body').addClass('video_split');
     368                                        jQuery('#extra_fields').load('<?php echo $_SERVER['PHP_SELF'].'/?ajax=video&selection='.attribute_escape($selection); ?>');
     369                                <?php } ?>
     370                                set_editor('<?php echo $content; ?>');
     371                                return false;
     372                        break;
    234373                       
    235                 <?php } else { ?>
     374                        case 'photo' :
     375                                reset_height();
     376                                set_menu('photo');
     377                                set_title('Caption');
     378                                set_editor('<a href="<?php echo $url; ?>"><?php echo $title; ?></a>');
     379                               
     380                                jQuery('#extra_fields').show();
     381                                jQuery('#extra_fields').load('<?php echo $_SERVER['PHP_SELF'].'/?ajax=photo&url='.attribute_escape($url); ?>');
     382                                jQuery('#extra_fields').prepend('<h2>Loading...</h2>');
     383                                jQuery.ajax({
     384                                        type: "GET",
     385                                        cache : false,
     386                                        url: "<?php echo $_SERVER['PHP_SELF']; ?>",
     387                                        data: "ajax=photo_js&url=<?php echo $url?>",
     388                                        dataType : "script",
     389                                        success : function() {
    236390
    237                 <?php } ?>
     391                                        }
     392                                });
     393                                return false;
     394                        break;
     395
     396                }
    238397       
     398        }
    239399       
    240                 jQuery("#text_button").click(function () {
    241                         jQuery('.editor-container').show();
    242                         jQuery('#content_type').show();
    243                         jQuery('#photo_fields').hide();
    244                         set_menu('text');
    245                         set_title('<?php _e('Text') ?>');
    246                         set_editor('<?php echo $selection; ?>');
    247                         return false;
     400        jQuery(document).ready(function() {
     401        jQuery('#menu li').click(function (){
     402                        tab_name = this.id.split('_');
     403                        tab_name = tab_name[0];
     404                        show(tab_name);
    248405                });
    249        
    250                 jQuery("#quote_button").click(function () {
    251                         jQuery('.editor-container').show();
    252                         jQuery('#content_type').show();
    253                         jQuery('#photo_fields').hide();
    254                         set_menu('quote');
    255                         set_title('<?php _e('Quote') ?>');
    256                         set_editor('<blockquote><p><?php echo $selection; ?> </p><p><cite><a href="<?php echo $url; ?>"><?php echo $title; ?></a></cite> </p></blockquote>');
    257                        
    258                         return false;
    259                 });
    260406               
    261 
    262                 jQuery("#video_button").click(function () {
    263                         jQuery('.editor-container').show();
    264                         jQuery('#content_type').show();
    265                         jQuery('#photo_fields').hide();
    266                         set_menu('video');
    267                         set_title('<?php _e('Video') ?>');
    268                         set_editor('<a href="<?php echo $url; ?>"><?php echo $title; ?></a>');
    269                         <?php /*
    270                         <!--list($garbage,$video_id) = split("v=", $_REQUEST['content']);
    271                         $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>';-->
    272                         */?>
    273                         return false;
    274                 });     
    275        
    276 
    277         jQuery("#photo_button").click(function () {
    278                 set_menu('photo');
    279                 set_title('Caption');
    280                 set_editor('<a href="<?php echo $url; ?>"><?php echo $title; ?></a>');
    281                 jQuery('#photo_fields').show();
    282                 jQuery('.remove').click(function() {
    283                         jQuery(this).remove;
    284 
    285                 });
    286                
    287                
    288                 var img, img_tag, aspect, w, h, skip, i, strtoappend = "";
    289                 var my_src = [<?php echo get_images_from_uri($url); ?>];
    290 
    291                 for (i = 0; i < my_src.length; i++) {
    292                         img = new Image();
    293                         img.src = my_src[i];
    294                         img_attr = 'id="img' + i + '" onclick="pick(this);"';
    295                         skip = false;
    296                        
    297                         if (img.width && img.height) {
    298                                 if (img.width * img.height < 2500) skip = true;
    299                                 aspect = img.width / img.height;
    300                                 if (aspect > 1) { // Image is wide
    301                                         scale = 75 / img.width;
    302                                 } else { // Image is tall or square
    303                                         scale = 75 / img.height;
    304                                 }
    305                                 if (scale < 1) {
    306                                         w = parseInt(img.width * scale);
    307                                         h = parseInt(img.height * scale);
    308                                 } else {
    309                                         w = img.width;
    310                                         h = img.height;
    311                                 }
    312                                 img_attr += ' style="width: ' + w + 'px; height: ' + h + 'px;"';
    313                         }
    314                        
    315                         if (!skip) strtoappend += '<a href="' + img.src + '" title="" class="thickbox"><img src="' + img.src + '" ' + img_attr + '/></a>';
    316                
    317                 }
    318                        
    319                         jQuery('#img_container').html(strtoappend);
    320 
    321                         tb_init('a.thickbox, area.thickbox, input.thickbox'); //pass where to apply thickbox
    322                
    323                 });
     407                <?php if ( preg_match("/youtube\.com\/watch/i", $url) ) { ?>
     408                        show('video');
     409                <?php } elseif ( preg_match("/flickr\.com/i", $url) ) { ?>
     410                        show('photo');
     411                <?php } ?>
    324412        });
    325         </script>
    326        
    327 
     413</script>
    328414</head>
    329415<body class="press-this">
    330416<div id="wphead">
     
    339425                </ul>
    340426
    341427                        <form action="press-this.php?action=post" method="post">
     428
    342429                                <?php wp_nonce_field('press-this') ?>
    343                                 <input type="hidden" name="source" value="bookmarklet"/>
    344430                                <input type="hidden" name="post_type" id="post_type" value="text"/>
    345431                                <div id="posting">
    346432                                       
     
    348434                                        <div class="titlewrap">
    349435                                                <input name="post_title" id="post_title" class="text" value="<?php echo attribute_escape($title);?>"/>
    350436                                        </div>
    351                                         <div id="photo_fields" style="display: none;">
    352                                                 <h2><?php _e('Photo URL') ?></h2>
    353                                                 <div class="titlewrap">
    354                                                         <input name="photo_src" id="photo_src" class="text" onkeydown="pick(0);"/>
    355                                                 </div>
    356                                        
    357                                                 <div class="photolist"></div>
    358                                        
    359                                                 <h2><?php _e('Link Photo to following URL') ?></h2><?php _e('(leave blank to leave the photo unlinked)') ?>
    360                                                 <div class="titlewrap">
    361                                                         <input name="photo_link" id="photo_link" class="text" value="<?php echo attribute_escape($url);?>"/>
    362                                                 </div>
    363                                        
    364                                                 <small><?php _e('Click images to select:') ?></small>
    365                                                 <div class="titlewrap">
    366                                                         <div id="img_container"></div>
    367                                                 </div>
    368                                        
    369                                         </div>
    370                                        
     437
     438                                        <div id="extra_fields" style="display: none"></div>
     439                                        <div class="editor_area">
    371440                                        <h2 id="content_type"><?php _e('Post') ?></h2>
    372441                                        <div class="editor-container">
    373                                                 <textarea name="content" id="content" style="height:170px;width:100%;" class="mceEditor">
     442                                                <textarea name="content" id="content" style="width:100%;" class="mceEditor">
    374443                                                <?php echo $selection; ?>
    375444                                                </textarea>
    376445                                        </div>
    377                                        
     446                                        </div>
    378447                                        <?php tag_div(); ?>
    379                                        
    380448                                </div>
    381449                                <?php category_div(); ?>
    382450                        </form>         
    383                                         <?php /*
    384                                         if ( preg_match("/youtube\.com\/watch/i", $url) ) {
    385                                                 list($domain, $video_id) = split("v=", $url);
    386                                         ?>
    387                                         <input type="hidden" name="content" value="<?php echo attribute_escape($url); ?>" />
    388                                         <img src="http://img.youtube.com/vi/<?php echo $video_id; ?>/default.jpg" align="right" style="border:solid 1px #aaa;" width="130" height="97"/>
    389                                         <?php } else { ?>
    390451                                       
    391                                         <h2><?php _e('Embed Code') ?></h2>
    392                                         <textarea name="content" id="video_post_one" style="height:80px;width:100%;"></textarea>
    393                                         <?php } */?>
    394                                        
    395452</body>
    396453</html>
    397  No newline at end of file
  • wp-admin/css/press-this.css

     
    269269
    270270#img_container {
    271271        background-color: #fff;
    272         margin-top: 10px;
    273272        overflow: auto;
    274273        height: 100px;
    275274}
     
    337336.hidden {
    338337        display: none;
    339338}
     339
     340.video_split #extra_fields {
     341width: 25%;
     342height: 300px;
     343float: left;
     344}
     345#embed textarea {
     346border: 0;
     347width: 100%;
     348}
     349.video_split .editor_area {
     350width: 70%;
     351float: right;
     352}
     353.video_split .editor_area textarea {
     354
     355}
     356#jaxtag {
     357clear: both;
     358}
     359 No newline at end of file