class MediaInternetShareStreamHandler in Media: ShareStream 7
Implementation of MediaInternetBaseHandler.
Hierarchy
- class \MediaInternetShareStreamHandler extends \MediaInternetBaseHandler
Expanded class hierarchy of MediaInternetShareStreamHandler
See also
hook_media_internet_providers().
File
- includes/
MediaInternetShareStreamHandler.inc, line 13 - Extends the MediaInternetBaseHandler class to handle ShareStream videos.
View source
class MediaInternetShareStreamHandler extends MediaInternetBaseHandler {
public function parse($embedCode) {
$server = variable_get('media_sharestream_server');
$server = str_replace('.', '\\.', $server);
// https://example.org/ssdcms/i.do?u=*
// https://example.org/ssdcms/ip.do?u=*
// https://example.org/ssdcms/ipublic.do?u=*
$patterns = array(
'@' . $server . '/ssdcms/i\\.do\\?u=([^"\\&\\? ]+)@i',
'@' . $server . '/ssdcms/ip\\.do\\?u=([^"\\&\\? ]+)@i',
'@' . $server . '/ssdcms/ipublic\\.do\\?u=([^"\\&\\? ]+)@i',
);
foreach ($patterns as $pattern) {
preg_match($pattern, $embedCode, $matches);
// @TODO: Parse is called often. Refactor so that valid ID is checked
// when a video is added, but not every time the embedCode is parsed.
if (isset($matches[1])) {
return file_stream_wrapper_uri_normalize('sharestream://v/' . $matches[1]);
}
}
}
public function claim($embedCode) {
if ($this
->parse($embedCode)) {
return TRUE;
}
}
public function getFileObject() {
$uri = $this
->parse($this->embedCode);
$file = file_uri_to_object($uri, TRUE);
return $file;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MediaInternetShareStreamHandler:: |
public | function | ||
MediaInternetShareStreamHandler:: |
public | function | ||
MediaInternetShareStreamHandler:: |
public | function |