WordPress.org

Make WordPress Core

Ticket #5749: autosave_stuff.diff

File autosave_stuff.diff, 7.0 KB (added by filosofo, 7 years ago)
  • wp-includes/js/autosave.js

     
    1212        jQuery("#post #submit").click(function() { jQuery.cancel(autosavePeriodical); }); 
    1313        jQuery("#post #publish").click(function() { jQuery.cancel(autosavePeriodical); }); 
    1414        jQuery("#post #deletepost").click(function() { jQuery.cancel(autosavePeriodical); }); 
     15 
     16        // Autosave early on for a new post 
     17        jQuery("#content").keypress(function() { 
     18                if ( 1 === ( jQuery(this).val().length % 15 ) && 1 > parseInt(jQuery("#post_ID").val(),10) ) 
     19                        setTimeout(autosave, 5000); 
     20        }); 
    1521} 
    1622addLoadEvent(autosave_start_timer) 
    1723 
     
    132138        }  
    133139         
    134140        post_data["content"] = jQuery("#content").val(); 
     141        if ( jQuery('#post_name').val() ) 
     142                post_data["post_name"] = jQuery('#post_name').val(); 
    135143 
    136144        if(post_data["post_title"].length==0 || post_data["content"].length==0 || post_data["post_title"] + post_data["content"] == autosaveLast) { 
    137145                return; 
  • wp-includes/link-template.php

     
    6363        if ( empty($post->ID) ) return FALSE; 
    6464 
    6565        if ( $post->post_type == 'page' ) 
    66                 return get_page_link($post->ID); 
     66                return get_page_link($post->ID, $leavename); 
    6767        elseif ($post->post_type == 'attachment') 
    6868                return get_attachment_link($post->ID); 
    6969 
     
    118118} 
    119119 
    120120// Respects page_on_front.  Use this one. 
    121 function get_page_link($id = false) { 
     121function get_page_link($id = false, $leavename = false) { 
    122122        global $post; 
    123123 
    124124        $id = (int) $id; 
     
    128128        if ( 'page' == get_option('show_on_front') && $id == get_option('page_on_front') ) 
    129129                $link = get_option('home'); 
    130130        else 
    131                 $link = _get_page_link( $id ); 
     131                $link = _get_page_link( $id , $leavename ); 
    132132 
    133133        return apply_filters('page_link', $link, $id); 
    134134} 
    135135 
    136136// Ignores page_on_front.  Internal use only. 
    137 function _get_page_link( $id = false ) { 
     137function _get_page_link( $id = false, $leavename = false ) { 
    138138        global $post, $wp_rewrite; 
    139139 
    140140        if ( !$id ) 
     
    146146 
    147147        if ( '' != $pagestruct && isset($post->post_status) && 'draft' != $post->post_status ) { 
    148148                $link = get_page_uri($id); 
    149                 $link = str_replace('%pagename%', $link, $pagestruct); 
     149                $link = ( $leavename ) ? $pagestruct : str_replace('%pagename%', $link, $pagestruct); 
    150150                $link = get_option('home') . "/$link"; 
    151151                $link = user_trailingslashit($link, 'page'); 
    152152        } else { 
  • wp-includes/script-loader.php

     
    4444 
    4545                $this->add( 'autosave', '/wp-includes/js/autosave.js', array('jquery', 'schedule'), '20080221'); 
    4646                $this->localize( 'autosave', 'autosaveL10n', array( 
    47                         'autosaveInterval' => apply_filters('autosave_interval', '120'), 
     47                        'autosaveInterval' => apply_filters('autosave_interval', '60'), 
    4848                        'errorText' => __('Error: %response%'), 
    4949                        'failText' => __('Error: Autosave Failed.'), 
    5050                        'previewPageText' => __('Preview this Page'), 
     
    148148                                'save' => __('Save'), 
    149149                                'cancel' => __('Cancel'), 
    150150                        ) ); 
    151                         $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080128' ); 
     151                        $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080221' ); 
    152152                        $this->localize( 'post', 'postL10n', array( 
    153153                                'tagsUsed' =>  __('Tags used on this post:'), 
    154154                                'add' => attribute_escape(__('Add')), 
  • wp-admin/includes/post.php

     
    593593function get_sample_permalink_html($id, $new_slug=null) { 
    594594        $post = &get_post($id); 
    595595        list($permalink, $post_name) = get_sample_permalink($post->ID, $new_slug); 
    596         if (false === strpos($permalink, '%postname%')) { 
     596        if (false === strpos($permalink, '%postname%') && false === strpos($permalink, '%pagename%')) { 
    597597                return ''; 
    598598        } 
    599599        $title = __('Click to edit this part of the permalink'); 
     
    603603                $post_name_abridged = $post_name; 
    604604        } 
    605605        $post_name_html = '<span id="editable-post-name" title="'.$title.'">'.$post_name_abridged.'</span><span id="editable-post-name-full">'.$post_name.'</span>'; 
    606         $display_link = str_replace('%postname%', $post_name_html, $permalink); 
     606        $display_link = str_replace(array('%pagename%','%postname%'), $post_name_html, $permalink); 
    607607        $return = '<strong>' . __('Permalink:') . "</strong>\n" . '<span id="sample-permalink">' . $display_link . "</span>\n"; 
    608608        $return .= '<span id="edit-slug-buttons"><a href="#post_name" class="edit-slug" onclick="edit_permalink(' . $id . '); return false;">' . __('Edit') . "</a></span>\n"; 
    609609        return $return; 
  • wp-admin/js/post.js

     
    6868 
    6969        // Editable slugs 
    7070        make_slugedit_clickable(); 
     71         
     72        // hide advanced slug field 
     73        jQuery('#pageslugdiv').hide(); 
     74        jQuery('#slugdiv').hide(); 
    7175 
    7276        jQuery('#tags-input').hide(); 
    7377        tag_update_quickclicks(); 
  • wp-admin/edit-page-form.php

     
    5151<h3><?php _e('Title') ?></h3> 
    5252<div class="inside"> 
    5353  <input type="text" name="post_title" size="30" tabindex="1" value="<?php echo attribute_escape( $post->post_title ); ?>" id="title" /> 
     54<?php $sample_permalink_html = get_sample_permalink_html($post->ID); ?> 
     55        <div id="edit-slug-box"> 
     56<?php if ( ! empty($post->ID) && ! empty($sample_permalink_html) ) :  
     57        echo $sample_permalink_html; 
     58endif; ?> 
     59        </div> 
    5460</div> 
    5561</div> 
    5662 
     
    6066<?php wp_nonce_field( 'autosave', 'autosavenonce', false ); ?> 
    6167<?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?> 
    6268<?php wp_nonce_field( 'getpermalink', 'getpermalinknonce', false ); ?> 
     69<?php wp_nonce_field( 'samplepermalink', 'samplepermalinknonce', false ); ?> 
    6370</div> 
    6471 
    6572<div class="submitbox" id="submitpage"> 
  • wp-admin/edit-form-advanced.php

     
    8585<?php the_editor($post->post_content); ?> 
    8686<?php wp_nonce_field( 'autosave', 'autosavenonce', false ); ?> 
    8787<?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?> 
     88<?php wp_nonce_field( 'getpermalink', 'getpermalinknonce', false ); ?> 
    8889<?php wp_nonce_field( 'samplepermalink', 'samplepermalinknonce', false ); ?> 
    89 <?php wp_nonce_field( 'getpermalink', 'getpermalinknonce', false ); ?> 
    9090</div> 
    9191 
    9292<?php echo $form_pingback ?>