Definition:
function sanitize_bookmark_field($field, $value, $bookmark_id, $context) {}
Sanitizes a bookmark field
Sanitizes the bookmark fields based on what the field name is. If the field has a strict value set, then it will be tested for that, else a more generic filtering is applied. After the more strict filter is applied, if the $context is ‘raw’ then the value is immediately return.
Parameters
- string $field: The bookmark field
- mixed $value: The bookmark field value
- int $bookmark_id: Bookmark ID
- string $context: How to filter the field value. Either ‘raw’, ‘edit’, ‘attribute’, ‘js’, ‘db’, or ‘display’
Return values
returns:The filtered value
Defined filters
- edit_$field
apply_filters("edit_$field", $value, $bookmark_id)
- pre_$field
apply_filters("pre_$field", $value)
- $field
apply_filters($field, $value, $bookmark_id, $context)
Source code
function sanitize_bookmark_field($field, $value, $bookmark_id, $context) { switch ( $field ) { case 'link_id' : // ints case 'link_rating' : $value = (int) $value; break; case 'link_category' : // array( ints ) $value = array_map('absint', (array) $value); // We return here so that the categories aren't filtered. // The 'link_category' filter is for the name of a link category, not an array of a link's link categories return $value; break; case 'link_visible' : // bool stored as Y|N $value = preg_replace('/[^YNyn]/', '', $value); break; case 'link_target' : // "enum" $targets = array('_top', '_blank'); if ( ! in_array($value, $targets) ) $value = ''; break; } if ( 'raw' == $context ) return $value; if ( 'edit' == $context ) { $value = apply_filters("edit_$field", $value, $bookmark_id); if ( 'link_notes' == $field ) { $value = esc_html( $value ); // textarea_escaped } else { $value = esc_attr($value); } } else if ( 'db' == $context ) { $value = apply_filters("pre_$field", $value); } else { // Use display filters by default. $value = apply_filters($field, $value, $bookmark_id, $context); if ( 'attribute' == $context ) $value = esc_attr($value); else if ( 'js' == $context ) $value = esc_js($value); } return $value; }
2761
No comments yet... Be the first to leave a reply!