WordPress.org

Make WordPress Core

Changeset 4968


Ignore:
Timestamp:
03/06/07 00:39:46 (7 years ago)
Author:
ryan
Message:

JS localization from mdawaffe. fixes #3911

Location:
trunk/wp-includes
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/js/list-manipulation.js

    r4966 r4968  
    1 <?php @require_once('../../wp-config.php'); cache_javascript_headers(); ?> 
    2 addLoadEvent(function(){theList=new listMan();}); 
    3 function deleteSomething(what,id,message,obj){if(!obj)obj=theList;if(!message)message="<?php printf(js_escape(__('Are you sure you want to delete this %s?')),"'+what+'"); ?>";if(confirm(message))return obj.ajaxDelete(what,id);else return false;} 
    4 function dimSomething(what,id,dimClass,obj){if(!obj)obj=theList;return obj.ajaxDimmer(what,id,dimClass);} 
     1addLoadEvent( function() { 
     2    if ( 'undefined' != typeof listManL10n ) 
     3        Object.extend(listMan.prototype, listManL10n); 
     4    theList = new listMan(); 
     5} ); 
     6 
     7function deleteSomething( what, id, message, obj ) { 
     8    if ( !obj ) 
     9        obj=theList; 
     10    if ( !message ) 
     11        message = obj.delText.replace(/%/g, what); 
     12    if( confirm(message) ) 
     13        return obj.ajaxDelete( what, id ); 
     14    else return false; 
     15} 
     16 
     17function dimSomething( what, id, dimClass, obj ) { 
     18    if ( !obj ) 
     19        obj = theList; 
     20    return obj.ajaxDimmer(what,id,dimClass); 
     21} 
    522 
    623var listMan = Class.create(); 
     
    1936    dataStore: null, 
    2037    formStore: null, 
     38 
     39    jumpText: 'Jump to new item', 
     40    delText: 'Are you sure you want to delete this %s?', 
    2141 
    2242    initialize: function(theListId) { 
     
    5474                        showLinkMessage += m; 
    5575                    else 
    56                         showLinkMessage += "<a href='#" + what + '-' + id + "'><?php echo js_escape(__('Jump to new item')); ?>"; 
     76                        showLinkMessage += "<a href='#" + what + '-' + id + "'>" + tempObj.jumpText + "</a>"; 
    5777                }); 
    5878                if ( tempObj.showLink && showLinkMessage ) 
     
    128148        var id = this.topAdder ? this.theList.firstChild.id : this.theList.lastChild.id; 
    129149        if ( this.alt ) 
    130             if ( this.theList.childNodes.length % 2 ) 
     150            if ( ( this.theList.childNodes.length + this.altOffset ) % 2 ) 
    131151                Element.addClassName($(id),this.alt); 
    132152        Fat.fade_element(id); 
  • trunk/wp-includes/script-loader.php

    r4948 r4968  
    2222        $this->add( 'autosave', '/wp-includes/js/autosave-js.php', array('prototype', 'sack'), '20070116'); 
    2323        $this->add( 'wp-ajax', '/wp-includes/js/wp-ajax-js.php', array('prototype'), '20070118'); 
    24         $this->add( 'listman', '/wp-includes/js/list-manipulation-js.php', array('wp-ajax', 'fat'), '20070118'); 
     24        $this->add( 'listman', '/wp-includes/js/list-manipulation.js', array('wp-ajax', 'fat'), '20070305'); 
     25        $this->localize( 'listman', 'listManL10n', array( 
     26            'jumpText' => __('Jump to new item'), 
     27            'delText' => __('Are you sure you want to delete this %s?') 
     28        ) ); 
    2529        $this->add( 'scriptaculous-root', '/wp-includes/js/scriptaculous/wp-scriptaculous.js', array('prototype'), '1.7.0'); 
    2630        $this->add( 'scriptaculous-builder', '/wp-includes/js/scriptaculous/builder.js', array('scriptaculous-root'), '1.7.0'); 
     
    8488                    $src = apply_filters( 'script_loader_src', $src ); 
    8589                    echo "<script type='text/javascript' src='$src'></script>\n"; 
     90                    $this->print_scripts_l10n( $handle ); 
    8691                } 
    8792                $this->printed[] = $handle; 
     
    9095    } 
    9196 
     97    function print_scripts_l10n( $handle ) { 
     98        if ( empty($this->scripts[$handle]->l10n_object) || empty($this->scripts[$handle]->l10n) || !is_array($this->scripts[$handle]->l10n) ) 
     99            return; 
     100 
     101        $object_name = $this->scripts[$handle]->l10n_object; 
     102 
     103        echo "<script type='text/javascript'>\n"; 
     104        echo "/* <![CDATA[ */\n"; 
     105        echo "\t$object_name = {\n"; 
     106        $eol = ''; 
     107        foreach ( $this->scripts[$handle]->l10n as $var => $val ) { 
     108            echo "$eol\t\t$var: \"" . js_escape( $val ) . '"'; 
     109            $eol = ",\n"; 
     110        } 
     111        echo "\n\t}\n"; 
     112        echo "/* ]]> */\n"; 
     113        echo "</script>\n"; 
     114    } 
    92115 
    93116    /** 
     
    141164    } 
    142165 
     166    /** 
     167     * Localizes a script 
     168     * 
     169     * Localizes only if script has already been added 
     170     * 
     171     * @param string handle Script name 
     172     * @param string object_name Name of JS object to hold l10n info 
     173     * @param array l10n Array of JS var name => localized string 
     174     * @return bool Successful localization 
     175     */ 
     176    function localize( $handle, $object_name, $l10n ) { 
     177        if ( !isset($this->scripts[$handle]) ) 
     178            return false; 
     179        return $this->scripts[$handle]->localize( $object_name, $l10n ); 
     180    } 
     181 
    143182    function remove( $handles ) { 
    144183        foreach ( (array) $handles as $handle ) 
     
    183222    var $deps = array(); 
    184223    var $ver = false; 
    185     var $args = false; 
     224    var $l10n_object = ''; 
     225    var $l10n = array(); 
    186226 
    187227    function _WP_Script() { 
     
    192232            $this->ver = false; 
    193233    } 
     234 
     235    function localize( $object_name, $l10n ) { 
     236        if ( !$object_name || !is_array($l10n) ) 
     237            return false; 
     238        $this->l10n_object = $object_name; 
     239        $this->l10n = $l10n; 
     240        return true; 
     241    } 
    194242} 
    195243 
     
    228276} 
    229277 
     278/** 
     279 * Localizes a script 
     280 * 
     281 * Localizes only if script has already been added 
     282 * 
     283 * @see WP_Script::localize() 
     284 */ 
     285function wp_localize_script( $handle, $object_name, $l10n ) { 
     286    global $wp_scripts; 
     287    if ( !is_a($wp_scripts, 'WP_Scripts') ) 
     288        return false; 
     289 
     290    return $wp_scripts->localize( $handle, $object_name, $l10n ); 
     291} 
     292 
    230293function wp_deregister_script( $handle ) { 
    231294    global $wp_scripts; 
Note: See TracChangeset for help on using the changeset viewer.