WordPress.org

Make WordPress Core

Ticket #4807: 4807b.diff

File 4807b.diff, 3.5 KB (added by mdawaffe, 13 years ago)

patch update: this is what's currently running on WP.com

  • wp-includes/script-loader.php

     
    142142                                'saveText' => attribute_escape(__('Save »')),
    143143                                'confirmText' => __("Are you sure you want to delete the file '%title%'?\nClick ok to delete or cancel to go back.")
    144144                        ) );
     145                        $this->add( 'word-count', '/wp-admin/js/word-count.js', array( 'jquery' ), '20070906' );
     146                        $this->localize( 'word-count', 'wordCountL10n', array(
     147                                'count' => __('Word count: %d')
     148                        ) );
    145149                }
    146150        }
    147151
  • wp-admin/wp-admin.css

     
    626626        margin-bottom: 3px;
    627627}
    628628
     629.wp-word-count {
     630        float: left;
     631        margin: 5px 0 4px;
     632        padding: 0.25em 2ex .25em 0;
     633}
     634
    629635#title {
    630636        font-size: 1.7em;
    631637        padding: 4px 3px;
  • wp-admin/js/word-count.js

     
     1jQuery( function($) {
     2       
     3        var w = $("<span class='wp-word-count'>" + wordCountL10n.count.replace( /%d/, "<span id='word-count'></span>" ) + "</span>").prependTo('#poststuff p.submit:first');
     4
     5        var block = 0;
     6        var wc = function(text) {
     7                if ( block ) return;
     8                block = 1;
     9
     10                setTimeout( function() {
     11                        var t = $.trim(text);
     12                        var tc = '0';
     13                        if ( t ) {
     14                                t = t.replace( /<.[^<>]*?>/g, '' );
     15                                tc = t.split( /\b[^\w']+\b/ ).length.toString();
     16                        }
     17
     18                        w.children('span')[0].innerHTML = tc;
     19
     20                        setTimeout( function() { block = 0; }, 2000 );
     21                }, 1 );
     22        };
     23
     24        var fwc = function() {
     25                var t =  parseInt(w.children('span').text()) + 1;
     26                w.children('span').text( t.toString() );
     27        };
     28
     29        var last = 0;
     30
     31        var co = $('#content').keyup( function(e) {
     32                if ( e.keyCode == last )
     33                        return true;
     34                if ( 13 == e.keyCode )
     35                        wc( co.val() );
     36                else if ( 32 == last )
     37                        fwc();
     38                last = e.keyCode;
     39                return true;
     40        } );
     41
     42        wc(co.val());
     43
     44        if ( 'undefined' == typeof TinyMCE_wordpressPlugin ) { return; }
     45        var o = $.isFunction(TinyMCE_wordpressPlugin.handleEvent) ? TinyMCE_wordpressPlugin.handleEvent : function() { return true; };
     46
     47        TinyMCE_wordpressPlugin.handleEvent = function(e) {
     48                if ( !o(e) )
     49                        return false;
     50                if ( 'keyup' == e.type ) {
     51                        if ( e.keyCode == last )
     52                                return true;
     53                        if ( 13 == e.keyCode )
     54                                wc( tinyMCE.getInstanceById('content').getHTML() );
     55                        else if ( 32 == last )
     56                                fwc();
     57                        last = e.keyCode;
     58                }
     59                return true;
     60        };
     61
     62} );
  • wp-admin/admin-header.php

    Property changes on: wp-admin/js/word-count.js
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
     
    22@header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
    33if (!isset($_GET["page"])) require_once('admin.php');
    44if ( $editing ) {
    5         wp_enqueue_script( array('dbx-admin-key?pagenow=' . attribute_escape($pagenow),'admin-custom-fields') );
     5        wp_enqueue_script( array('dbx-admin-key?pagenow=' . attribute_escape($pagenow), 'admin-custom-fields', 'word-count') );
    66        if ( current_user_can('manage_categories') )
    77                wp_enqueue_script( 'ajaxcat' );
    88        if ( user_can_richedit() )