Make WordPress Core


Ignore:
Timestamp:
03/22/2008 08:15:48 AM (18 years ago)
Author:
ryan
Message:

Fix custom field add/update/delete. Props mdawaffe. fixes #6343

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/template.php

    r7427 r7468  
    746746
    747747function _list_meta_row( $entry, &$count ) {
     748    static $update_nonce = false;
     749    if ( !$update_nonce )
     750        $update_nonce = wp_create_nonce( 'add-meta' );
     751
    748752    $r = '';
    749753    ++ $count;
     
    769773    $entry['meta_value'] = attribute_escape($entry['meta_value']);
    770774    $entry['meta_id'] = (int) $entry['meta_id'];
     775
     776    $delete_nonce = wp_create_nonce( 'delete-meta_' . $entry['meta_id'] );
     777
    771778    $r .= "\n\t<tr id='meta-{$entry['meta_id']}' class='$style'>";
    772779    $r .= "\n\t\t<td valign='top'><input name='meta[{$entry['meta_id']}][key]' tabindex='6' type='text' size='20' value='{$entry['meta_key']}' /></td>";
    773780    $r .= "\n\t\t<td><textarea name='meta[{$entry['meta_id']}][value]' tabindex='6' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>";
    774     $r .= "\n\t\t<td style='text-align: center;'><input name='updatemeta' type='submit' tabindex='6' value='".attribute_escape(__( 'Update' ))."' class='add:the-list:meta-{$entry['meta_id']} updatemeta' /><br />";
     781    $r .= "\n\t\t<td style='text-align: center;'><input name='updatemeta' type='submit' tabindex='6' value='".attribute_escape(__( 'Update' ))."' class='add:the-list:meta-{$entry['meta_id']}::_ajax_nonce=$update_nonce updatemeta' /><br />";
    775782    $r .= "\n\t\t<input name='deletemeta[{$entry['meta_id']}]' type='submit' ";
    776     $r .= "class='delete:the-list:meta-{$entry['meta_id']} deletemeta' tabindex='6' value='".attribute_escape(__( 'Delete' ))."' />";
     783    $r .= "class='delete:the-list:meta-{$entry['meta_id']}::_ajax_nonce=$delete_nonce deletemeta' tabindex='6' value='".attribute_escape(__( 'Delete' ))."' />";
     784    $r .= wp_nonce_field( 'change-meta', '_ajax_nonce', false, false );
    777785    $r .= "</td>\n\t</tr>";
    778786    return $r;
     
    816824        <td><textarea id="metavalue" name="metavalue" rows="3" cols="25" tabindex="8"></textarea></td>
    817825    </tr>
    818 
    819826<tr class="submit"><td colspan="3">
    820     <?php wp_nonce_field( 'change_meta', '_ajax_nonce', false ); ?>
    821     <input type="submit" id="addmetasub" name="addmeta" class="add:the-list:newmeta" tabindex="9" value="<?php _e( 'Add Custom Field' ) ?>" />
     827    <?php wp_nonce_field( 'add-meta', '_ajax_nonce', false ); ?>
     828    <input type="submit" id="addmetasub" name="addmeta" class="add:the-list:newmeta::post_id=<?php echo $GLOBALS['post_ID'] ? $GLOBALS['post_ID'] : $GLOBALS['temp_ID']; ?>" tabindex="9" value="<?php _e( 'Add Custom Field' ) ?>" />
    822829</td></tr>
    823830</table>
Note: See TracChangeset for help on using the changeset viewer.