You are here

public function MediaInternetFacebookVideoHandler::parse in Media Facebook Video 7

Provides facebook patterns for matching the video ID.

2 calls to MediaInternetFacebookVideoHandler::parse()
MediaInternetFacebookVideoHandler::claim in includes/MediaInternetFacebookVideoHandler.inc
Parses embed code.
MediaInternetFacebookVideoHandler::getFileObject in includes/MediaInternetFacebookVideoHandler.inc
Gets file object from parsed embed code.

File

includes/MediaInternetFacebookVideoHandler.inc, line 18
Extends the MediaInternetBaseHandler class to handle Facebook videos.

Class

MediaInternetFacebookVideoHandler
Implementation of MediaInternetBaseHandler.

Code

public function parse($embed_code) {
  $patterns = array(
    '@facebook\\.com/.*\\/videos\\/[a-z][a-z]\\..*/(\\d+)/.*@i',
    '@facebook\\.com/video\\.php\\?v=(\\d+)@i',
    '@facebook\\.com/.*\\/videos\\/(\\d+)\\/.*@i',
    '@facebook\\.com/.*\\/posts\\/(\\d+)\\/.*@i',
  );
  foreach ($patterns as $pattern) {
    preg_match($pattern, $embed_code, $matches);

    // @TODO: Parse is called often. Refactor so that valid ID is checked
    // when a video is added, but not every time the embed_code is parsed.
    if (isset($matches[1])) {
      return file_stream_wrapper_uri_normalize('facebook://v/' . $matches[1]);
    }
  }
}