WordPress.org

Make WordPress Core

Ticket #9429: qcop-r00-admin-widget.patch

File qcop-r00-admin-widget.patch, 4.1 KB (added by hakre, 5 years ago)

patching %i% in widgets handling.

  • wp-admin/widgets.php

     
    8080                        if ( is_callable( $control['callback'] ) ) { 
    8181                                call_user_func_array( $control['callback'], $control['params'] ); 
    8282                                $control_output = ob_get_contents(); 
    83                                 if ( false !== strpos( $control_output, '%i%' ) ) // if it's a multi-widget, only call control function once. 
     83                                if ( false !== strpos( $control_output, '.i.' ) ) // if it's a multi-widget, only call control function once. 
    8484                                        $already_done[] = $control['callback']; 
    8585                        } 
    8686 
  • wp-admin/includes/widgets.php

     
    7171 
    7272                        $widget_id = $widget['id']; // save this for later in case we mess with $widget['id'] 
    7373 
    74                         $is_multi = false !== strpos( $widget_control_template, '%i%' ); 
     74                        $is_multi = false !== strpos( $widget_control_template, '.i.' ); 
    7575                        if ( !$sidebar || $is_multi ) { 
    7676                                $add_query = array( 
    7777                                        'sidebar' => $sidebar, 
     
    243243 
    244244        // We aren't showing a widget control, we're outputing a template for a mult-widget control 
    245245        if ( 'all' == $sidebar_args['_show'] && 'template' == $sidebar_args['_display'] && isset($control['params'][0]['number']) ) { 
    246                 // number == -1 implies a template where id numbers are replaced by a generic '%i%' 
     246                // number == -1 implies a template where id numbers are replaced by a generic '.i.' 
    247247                $control['params'][0]['number'] = -1; 
    248248                // if given, id_base means widget id's should be constructed like {$id_base}-{$id_number} 
    249249                if ( isset($control['id_base']) ) 
    250                         $id_format = $control['id_base'] . '-%i%'; 
     250                        $id_format = $control['id_base'] . '-.i.'; 
    251251        } 
    252252 
    253253        $widget_title = ''; 
  • wp-admin/js/widgets.dev.js

     
    7575                var oldLi = $(this).parents('li:first').find('ul.widget-control-info li'); 
    7676                var newLi = oldLi.clone(); 
    7777 
    78                 if ( newLi.html().match( /%i%/ ) ) { 
    79                         // supplid form is a template, replace %i% by unique id 
     78                if ( newLi.html().match( /\.i\./ ) ) { 
     79                        // supplid form is a template, replace .i. by unique id 
     80                        // was %i%, but %i% is invalid while being used in id values 
    8081                        var i = $('#generated-time').val() + increment.toString(); 
    8182                        increment++; 
    82                         newLi.html( newLi.html().replace( /%i%/g, i ) ); 
     83                        newLi.html( newLi.html().replace( /\.i\./g, i ) ); 
    8384                } else { 
    8485                        $(this).text( widgetsL10n.edit ).unbind().click( editClick ); 
    8586                        // save form content in textarea so we don't have any conflicting HTML ids 
  • wp-includes/default-widgets.php

     
    438438                        <p> 
    439439                                <label for="<?php echo $this->get_field_id('title'); ?>"> 
    440440                                        <?php _e( 'Title:' ); ?> 
    441                                         <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /> 
     441                                        <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /> 
    442442                                </label> 
    443443                        </p> 
    444444 
     
    862862                $url = ''; 
    863863                $items = 10; 
    864864                $error = false; 
    865                 $number = '%i%'; 
     865                $number = '.i.'; 
    866866                $show_summary = 0; 
    867867                $show_author = 0; 
    868868                $show_date = 0; 
  • wp-includes/widgets.php

     
    237237 
    238238                if ( -1 == $widget_args['number'] ) { 
    239239                        // We echo out a form where 'number' can be set later via JS 
    240                         $this->_set('%i%'); 
     240                        $this->_set('.i.'); 
    241241                        $instance = array(); 
    242242                } else { 
    243243                        $this->_set($widget_args['number']);