WordPress Version: 5.1
/**
* Sanitizes all bookmark fields
*
* @since 2.3.0
*
* @param stdClass|array $bookmark Bookmark row
* @param string $context Optional, default is 'display'. How to filter the
* fields
* @return stdClass|array Same type as $bookmark but with fields sanitized.
*/
function sanitize_bookmark($bookmark, $context = 'display')
{
$fields = array('link_id', 'link_url', 'link_name', 'link_image', 'link_target', 'link_category', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_updated', 'link_rel', 'link_notes', 'link_rss');
if (is_object($bookmark)) {
$do_object = true;
$link_id = $bookmark->link_id;
} else {
$do_object = false;
$link_id = $bookmark['link_id'];
}
foreach ($fields as $field) {
if ($do_object) {
if (isset($bookmark->{$field})) {
$bookmark->{$field} = sanitize_bookmark_field($field, $bookmark->{$field}, $link_id, $context);
}
} else if (isset($bookmark[$field])) {
$bookmark[$field] = sanitize_bookmark_field($field, $bookmark[$field], $link_id, $context);
}
}
return $bookmark;
}