Make WordPress Core


Ignore:
Timestamp:
08/22/2007 06:00:48 PM (18 years ago)
Author:
ryan
Message:

Sanitize a few options

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/wp-includes/formatting.php

    r5735 r5915  
    11191119}
    11201120
     1121function sanitize_option($option, $value) { // Remember to call stripslashes!
     1122
     1123    switch ($option) {
     1124        case 'admin_email':
     1125            $value = sanitize_email($value);
     1126            break;
     1127
     1128        case 'default_post_edit_rows':
     1129        case 'mailserver_port':
     1130        case 'comment_max_links':
     1131        case 'page_on_front':
     1132        case 'rss_excerpt_length':
     1133        case 'default_category':
     1134        case 'default_email_category':
     1135        case 'default_link_category':
     1136            $value = abs((int) $value);
     1137            break;
     1138
     1139        case 'posts_per_page':
     1140        case 'posts_per_rss':
     1141            $value = (int) $value;
     1142            if ( empty($value) ) $value = 1;
     1143            if ( $value < -1 ) $value = abs($value);
     1144            break;
     1145
     1146        case 'default_ping_status':
     1147        case 'default_comment_status':
     1148            // Options that if not there have 0 value but need to be something like "closed"
     1149            if ( $value == '0' || $value == '')
     1150                $value = 'closed';
     1151            break;
     1152
     1153        case 'blogdescription':
     1154        case 'blogname':
     1155            $value = addslashes($value);
     1156            $value = wp_filter_post_kses( $value ); // calls stripslashes then addslashes
     1157            $value = stripslashes($value);
     1158            $value = wp_specialchars( $value );
     1159            break;
     1160
     1161        case 'blog_charset':
     1162            $value = preg_replace('/[^a-zA-Z0-9_-]/', '', $value); // strips slashes
     1163            break;
     1164
     1165        case 'date_format':
     1166        case 'time_format':
     1167        case 'mailserver_url':
     1168        case 'mailserver_login':
     1169        case 'mailserver_pass':
     1170        case 'ping_sites':
     1171        case 'upload_path':
     1172            $value = strip_tags($value);
     1173            $value = addslashes($value);
     1174            $value = wp_filter_kses($value); // calls stripslashes then addslashes
     1175            $value = stripslashes($value);
     1176            break;
     1177
     1178        case 'gmt_offset':
     1179            $value = preg_replace('/[^0-9:.-]/', '', $value); // strips slashes
     1180            break;
     1181
     1182        case 'siteurl':
     1183        case 'home':
     1184            $value = stripslashes($value);
     1185            $value = clean_url($value);
     1186            break;
     1187        default :
     1188            break;
     1189    }
     1190
     1191    return $value;
     1192}
     1193
    11211194function wp_parse_str( $string, &$array ) {
    11221195    parse_str( $string, $array );
Note: See TracChangeset for help on using the changeset viewer.