WordPress.org

Make WordPress Core

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

File qcop-r00-admin-widget.patch, 4.1 KB (added by hakre, 9 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']);