Make WordPress Core

Changeset 4329


Ignore:
Timestamp:
10/04/2006 11:02:31 AM (18 years ago)
Author:
markjaquith
Message:

options stripslashes-fu by mdawaffe. #3095

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/options.php

    r4175 r4329  
    1111    wp_die(__('Cheatin’ uh?'));
    1212
    13 function sanitize_option($option, $value) {
     13function sanitize_option($option, $value) { // Remember to call stripslashes!
    1414
    1515    switch ($option) {
    1616        case 'admin_email':
     17            $value = stripslashes($value);
    1718            $value = sanitize_email($value);
    1819            break;
     
    2122        case 'mailserver_port':
    2223        case 'comment_max_links':
     24            $value = stripslashes($value);
    2325            $value = abs((int) $value);
    2426            break;
     
    2628        case 'posts_per_page':
    2729        case 'posts_per_rss':
     30            $value = stripslashes($value);
    2831            $value = (int) $value;
    2932            if ( empty($value) ) $value = 1;
     
    3336        case 'default_ping_status':
    3437        case 'default_comment_status':
     38            $value = stripslashes($value);
    3539            // Options that if not there have 0 value but need to be something like "closed"
    3640            if ( $value == '0' || $value == '')
     
    4145        case 'blogname':
    4246            if (current_user_can('unfiltered_html') == false)
    43                 $value = wp_filter_post_kses( $value );
     47                $value = wp_filter_post_kses( $value ); // calls stripslashes then addslashes
     48            $value = stripslashes($value);
    4449            break;
    4550
    4651        case 'blog_charset':
    47             $value = preg_replace('/[^a-zA-Z0-9_-]/', '', $value);
     52            $value = preg_replace('/[^a-zA-Z0-9_-]/', '', $value); // strips slashes
    4853            break;
    4954
     
    5661        case 'upload_path':
    5762            $value = strip_tags($value);
    58             $value = wp_filter_kses($value);
     63            $value = wp_filter_kses($value); // calls stripslashes then addslashes
     64            $value = stripslashes($value);
    5965            break;
    6066
    6167        case 'gmt_offset':
    62             $value = preg_replace('/[^0-9:.-]/', '', $value);
     68            $value = preg_replace('/[^0-9:.-]/', '', $value); // strips slashes
    6369            break;
    6470
    6571        case 'siteurl':
    6672        case 'home':
     73            $value = stripslashes($value);
    6774            $value = clean_url($value);
     75            break;
     76        default :
     77            $value = stripslashes($value);
    6878            break;
    6979    }
     
    90100        foreach ($options as $option) {
    91101            $option = trim($option);
    92             $value = trim(stripslashes($_POST[$option]));
    93             $value = sanitize_option($option, $value);
     102            $value = trim($_POST[$option]);
     103            $value = sanitize_option($option, $value); // This does stripslashes on those that need it
    94104            update_option($option, $value);
    95105        }
Note: See TracChangeset for help on using the changeset viewer.