WordPress.org

Make WordPress Core

Ticket #4807: word-count2.patch

File word-count2.patch, 6.6 KB (added by azaozz, 6 years ago)
  • wp-admin/edit-form-advanced.php

     
    157157<br class="clear" /> 
    158158<?php endif; ?> 
    159159<span id="autosave"></span> 
     160<span id="wp-word-count"></span> 
    160161</p> 
    161162 
    162163<div class="side-info"> 
  • wp-admin/edit-page-form.php

     
    140140<br class="clear" /> 
    141141<?php endif; ?> 
    142142<span id="autosave"></span> 
     143<span id="wp-word-count"></span> 
    143144</p> 
    144145 
    145146<div class="side-info"> 
  • wp-admin/js/word-count.js

     
     1// Word count 
     2(function(JQ) { 
     3        wpWordCount = { 
     4         
     5                init : function() { 
     6                var t = this, last = 0, co = JQ('#content'); 
     7                         
     8                        JQ('#wp-word-count').html( wordCountL10n.count.replace( /%d/, '<span id="word-count">0</span>' ) ); 
     9                t.block = 0; 
     10                        t.wc(co.val()); 
     11                        co.keyup( function(e) {  
     12                        if ( e.keyCode == last ) return true; 
     13                if ( 13 == e.keyCode || 8 == last ) t.wc(co.val()); 
     14                else if ( 32 == last ) t.fwc(); 
     15                last = e.keyCode; 
     16                        return true; 
     17                }); 
     18        }, 
     19 
     20        wc : function(text) { 
     21                var t = this, w = JQ('#word-count'), co = JQ('#content'); 
     22 
     23                        if ( t.block ) return; 
     24                t.block = 1; 
     25 
     26                setTimeout( function() { 
     27                var tx = JQ.trim(text), tc = 0; 
     28 
     29                if ( tx ) { 
     30                    tx = tx.replace( /<.[^<>]*?>/g, ' ' ) + ' '; 
     31                    tx = tx.replace( /[^A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\xff ]*/g, '' ); 
     32                    tx.replace( /\S\s+/g, function(){tc++;} ); 
     33                } 
     34                w.html(tc.toString()); 
     35 
     36                setTimeout( function() { t.block = 0; }, 2000 ); 
     37                }, 1 ); 
     38        }, 
     39         
     40        fwc : function() { 
     41                var w = JQ('#word-count'), tc = parseInt(w.text()) + 1; 
     42                w.html( tc.toString() ); 
     43        } 
     44        }  
     45}(jQuery)); 
     46 
     47jQuery(document).ready( function(){ wpWordCount.init(); } ); 
  • wp-admin/page-new.php

     
    99        wp_enqueue_script('editor'); 
    1010wp_enqueue_script('thickbox'); 
    1111wp_enqueue_script('media-upload'); 
     12wp_enqueue_script('word-count'); 
    1213 
    1314require_once('admin-header.php'); 
    1415?> 
  • wp-admin/page.php

     
    8383                wp_enqueue_script('editor'); 
    8484        wp_enqueue_script('thickbox'); 
    8585        wp_enqueue_script('media-upload'); 
     86        wp_enqueue_script('word-count'); 
    8687        if ( $last = wp_check_post_lock( $post->ID ) ) { 
    8788                $last_user = get_userdata( $last ); 
    8889                $last_user_name = $last_user ? $last_user->display_name : __('Somebody'); 
  • wp-admin/post-new.php

     
    99        wp_enqueue_script('editor'); 
    1010wp_enqueue_script('thickbox'); 
    1111wp_enqueue_script('media-upload'); 
     12wp_enqueue_script('word-count'); 
    1213 
    1314require_once ('./admin-header.php'); 
    1415 
  • wp-admin/post.php

     
    9090                wp_enqueue_script('editor'); 
    9191        wp_enqueue_script('thickbox'); 
    9292        wp_enqueue_script('media-upload'); 
     93        wp_enqueue_script('word-count'); 
    9394        if ( $last = wp_check_post_lock( $post->ID ) ) { 
    9495                $last_user = get_userdata( $last ); 
    9596                $last_user_name = $last_user ? $last_user->display_name : __('Somebody'); 
  • wp-admin/wp-admin.css

     
    15031503table.diff .diff-deletedline del, table.diff .diff-addedline ins { 
    15041504        text-decoration: none; 
    15051505} 
     1506 
     1507#wp-word-count { 
     1508        display: block; 
     1509} 
  • wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js

     
    132132                                } 
    133133                        }); 
    134134 
     135                        // Word count if script is loaded 
     136                        if ( 'undefined' != typeof wpWordCount ) { 
     137                                var last = 0; 
     138                                ed.onKeyUp.add(function(ed, e) { 
     139                                        if ( e.keyCode == last ) return; 
     140                                        if ( 13 == e.keyCode || 8 == last ) wpWordCount.wc( ed.getContent({format : 'raw'}) ); 
     141                                        else if ( 32 == last ) wpWordCount.fwc(); 
     142                                        last = e.keyCode; 
     143                                }); 
     144                        }; 
     145 
    135146                        // Add listeners to handle more break 
    136147                        t._handleMoreBreak(ed, url); 
    137148 
  • wp-includes/js/tinymce/tiny_mce_config.php

     
    223223// Setup cache info 
    224224if ( $disk_cache ) { 
    225225 
    226         $cacheKey = apply_filters('tiny_mce_version', '20080414'); 
     226        $cacheKey = apply_filters('tiny_mce_version', '20080421'); 
    227227 
    228228        foreach ( $initArray as $v ) 
    229229                $cacheKey .= $v; 
  • wp-includes/script-loader.php

     
    3636                $this->add( 'editor_functions', '/wp-admin/js/editor.js', false, '20080325' ); 
    3737 
    3838                // Modify this version when tinyMCE plugins are changed. 
    39                 $mce_version = apply_filters('tiny_mce_version', '20080414'); 
     39                $mce_version = apply_filters('tiny_mce_version', '20080421'); 
    4040                $this->add( 'tiny_mce', '/wp-includes/js/tinymce/tiny_mce_config.php', array('editor_functions'), $mce_version ); 
    4141 
    4242                $this->add( 'prototype', '/wp-includes/js/prototype.js', false, '1.6'); 
     
    193193                                'edit' => __('Edit'), 
    194194                                'cancel' => __('Cancel'), 
    195195                        )); 
    196                         $this->add( 'editor', '/wp-admin/js/editor.js', array('tiny_mce'), '20080221' ); 
     196 
     197                        $this->add( 'word-count', '/wp-admin/js/word-count.js', array( 'jquery' ), '20080416' ); 
     198                        $this->localize( 'word-count', 'wordCountL10n', array( 
     199                                'count' => __('Word count: %d') 
     200                        )); 
    197201                } 
    198202        } 
    199203