WordPress.org

Make WordPress Core

Ticket #4807: word-count3.2.patch

File word-count3.2.patch, 6.3 KB (added by azaozz, 12 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 || 46 == last ) t.wc(co.val());
     14                                last = e.keyCode;
     15                                return true;
     16                        });
     17                },
     18
     19                wc : function(tx) {
     20                        var t = this, w = JQ('#word-count'), tc = 0;
     21
     22                        if ( t.block ) return;
     23                        t.block = 1;
     24                        tx = tx.replace( /^\s*|\s*$/g, '' );
     25                        setTimeout( function() {
     26                                if ( tx ) {
     27                                        tx = tx.replace( /<.[^<>]*?>/g, ' ' ).replace( /&nbsp;/gi, ' ' );
     28                                        tx = tx.replace( /[0-9.(),;:!?%#$¿'"_+=\\/-]*/g, '' );
     29                                        tx.replace( /\S\s+/g, function(){tc++;} );
     30                                }
     31                                w.html(tc.toString());
     32
     33                                setTimeout( function() { t.block = 0; }, 2000 );
     34                        }, 1 );
     35                }
     36        }
     37}(jQuery));
     38
     39jQuery(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
    8788        if ( current_user_can('edit_page', $page_ID) ) {
    8889                if ( $last = wp_check_post_lock( $post->ID ) ) {
  • 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
    9495        if ( current_user_can('edit_post', $post_ID) ) {
    9596                if ( $last = wp_check_post_lock( $post->ID ) ) {
  • 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                         // Add listeners to handle more break
     135            // Word count if script is loaded
     136            if ( 'undefined' != 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 || 46 == last ) wpWordCount.wc( ed.getContent({format : 'raw'}) );
     141                    last = e.keyCode;
     142                });
     143            };
     144
     145            // Add listeners to handle more break
    136146                        t._handleMoreBreak(ed, url);
    137147
    138148                        // Add custom shortcuts
  • wp-includes/js/tinymce/tiny_mce_config.php

     
    226226// Setup cache info
    227227if ( $disk_cache ) {
    228228
    229         $cacheKey = apply_filters('tiny_mce_version', '20080414');
     229        $cacheKey = apply_filters('tiny_mce_version', '20080423');
    230230
    231231        foreach ( $initArray as $v )
    232232                $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', '20080423');
    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' ), '20080423' );
     198                        $this->localize( 'word-count', 'wordCountL10n', array(
     199                                'count' => __('Word count: %d')
     200                        ));
    197201                }
    198202        }
    199203