/**
 * Verify the provided Flickr API key by calling Flickr's API
 *
 * @author Niall Kennedy
 * @since 0.1
 * @param string $api_key Flickr API key input into the settings field
 * @return string $api_key Flickr API key, or blank if validation failed
 */
function flickr_settings_api_key_field_sanitize($api_key)
{
    $api_key = trim($api_key);
    if (empty($api_key) || !ctype_alnum($api_key)) {
        return '';
    }
    if (!class_exists('FlickrRequest')) {
        require_once dirname(__FILE__) . '/class.flickr.php';
    }
    if (FlickrRequest::validate_api_key($api_key) === true) {
        return $api_key;
    } else {
        add_settings_error('flickr_api_key', 'flickr-api-key-invalid', __('Invalid Flickr API key: Flickr rejected the key.'));
        return '';
    }
}