public function MediaInternetBrightcoveHandler::parse in Brightcove Video Connect 7.2
Same name and namespace in other branches
- 7.7 brightcove_media/includes/MediaInternetBrightcoveHandler.inc \MediaInternetBrightcoveHandler::parse()
- 7.3 brightcove_media/MediaInternetBrightcoveHandler.inc \MediaInternetBrightcoveHandler::parse()
- 7.4 brightcove_media/includes/MediaInternetBrightcoveHandler.inc \MediaInternetBrightcoveHandler::parse()
- 7.6 brightcove_media/includes/MediaInternetBrightcoveHandler.inc \MediaInternetBrightcoveHandler::parse()
3 calls to MediaInternetBrightcoveHandler::parse()
- MediaInternetBrightcoveHandler::claim in brightcove_media/
MediaInternetBrightcoveHandler.inc - MediaInternetBrightcoveHandler::getFileObject in brightcove_media/
MediaInternetBrightcoveHandler.inc - Returns a file object which can be used for validation
- MediaInternetBrightcoveHandler::validate in brightcove_media/
MediaInternetBrightcoveHandler.inc
File
- brightcove_media/
MediaInternetBrightcoveHandler.inc, line 4
Class
Code
public function parse($embedCode) {
// special handling for the shortened urls
if (preg_match('#^http://bcove.me/[a-z0-9]+$#i', $embedCode)) {
$resp = drupal_http_request($embedCode);
if ($resp) {
$full_url = $resp->redirect_url;
$matches = NULL;
preg_match('#&bctid=([0-9]+)#i', $full_url, $matches);
if (isset($matches[1])) {
return file_stream_wrapper_uri_normalize("brightcove://{$matches[1]}");
}
}
}
// using regexes are right here, because brightcove provides badly
// formatted html files
$regexes = array(
'#^([0-9]+)$#i',
'#name="@videoPlayer" value="([0-9]+)"#i',
'#@videoPlayer=([0-9]+)&#i',
);
foreach ($regexes as $regex) {
$matches = NULL;
preg_match($regex, $embedCode, $matches);
if (isset($matches[1])) {
return file_stream_wrapper_uri_normalize("brightcove://{$matches[1]}");
}
}
return NULL;
}