'myspace', 'name' => t('MySpace'), 'url' => EMVIDEO_MYSPACE_MAIN_URL, 'settings_description' => t('These settings specifically affect videos displayed from MySpace.', array('@provider' => EMVIDEO_MYSPACE_MAIN_URL)), 'supported_features' => $features, ); } function emvideo_myspace_settings() { $form = array(); return $form; } /** * Implement hook emvideo_PROVIDER_data_version(). */ function emvideo_myspace_data_version() { return EMVIDEO_MYSPACE_DATA_VERSION; } /** * hook emvideo_PROVIDER_data * * Provides an array to be serialised and made available with $item elsewhere. * * This data can be used to store any extraneous information available * specifically to the 8tracks provider. */ function emvideo_myspace_data($field, $item) { // Initialize the data array. $data = array(); // We are using oEmbed to retrieve a standard set of data from the provider. // You should change the URL as specified by the 8tracks provider. // If the 8tracks provider does not support oEmbed, you must remove this // section entirely, or rewrite it to use their API. // See http://oembed.com/ for for information. $data = emfield_request_xml('Myspace', 'http://mediaservices.myspace.com/services/rss.ashx?type=video&videoID=' . $item['value'], array(), TRUE, FALSE, $item['value']); // Create some version control. Thus if we make changes to the data array // down the road, we can respect older content. If allowed by Embedded Media // Field, any older content will automatically update this array as needed. // In any case, you should account for the version if you increment it. $data['emvideo_data_version'] = $data['emvideo_myspace_version'] = EMVIDEO_MYSPACE_DATA_VERSION; $data['emvideo_myspace_thumbnail'] = $data['ITEM']['MEDIA:THUMBNAIL'][1]['URL']; // This stores a URL to the video's thumbnail. return $data; } /** * Implements emvideo_PROVIDER_extract(). */ function emvideo_myspace_extract($url) { return array( '@src="myspace\.com/index.cfm\?fuseaction=vids\.individual&videoid=([^&"]+)@i', '@myspace\.com/index\.cfm\?fuseaction=vids\.individual&videoid=([^&"]+)@i', '@myspace\.com/index\.cfm\?fuseaction=vids\.individual&videoid=([^&"]+)@i', '@src="myspacetv\.com/index.cfm\?fuseaction=vids\.individual&videoid=([^&"]+)"@i', '@myspacetv\.com/index\.cfm\?fuseaction=vids\.individual&videoid=([^&"]+)@i', '@myspacetv\.com/index\.cfm\?fuseaction=vids\.individual&videoid=([^&"]+)@i', ); } /** * hook emvideo_PROVIDER_embedded_link($video_code) * returns a link to view the video at the provider's site. * @param $video_code * The string containing the audio code. * @return * A string containing the URL to view the video at the original provider's site. */ function emvideo_myspace_embedded_link($video_code) { return 'http://vids.myspace.com/index.cfm?fuseaction=vids.individual&videoid='. $video_code; } /** * hook emvideo_PROVIDER_duration($item) * Returns the duration of the video in seconds. * @param $item * The video item itself, which needs the $data array. * @return * The duration of the video in seconds. */ function emvideo_myspace_duration($item) { if (!isset($item['data']['emvideo_myspace_version'])) { $item['data'] = emvideo_myspace_data(NULL, $item); } return isset($item['data']['ITEM']['MEDIA:CONTENT'][1]['DURATION']) ? $item['data']['ITEM']['MEDIA:CONTENT'][1]['DURATION'] : 0; } function theme_emvideo_myspace_flash($embed, $width, $height) { static $count = 0; if ($embed) { $embed = check_plain($embed); $width = (integer) $width; $height = (integer) $height; $output .= ' '; } $count++; return $output; } function emvideo_myspace_thumbnail($field, $item, $formatter, $node, $width, $height) { return $item['data']['emvideo_myspace_thumbnail'] ; } function emvideo_myspace_video($embed, $width, $height, $field, $item, $node) { $output = theme('emvideo_myspace_flash', $embed, $width, $height); return $output; } function emvideo_myspace_preview($embed, $width, $height, $field, $item, $node) { $output = theme('emvideo_myspace_flash', $embed, $width, $height); return $output; } /** * Implementation of hook_emfield_subtheme. */ function emvideo_myspace_emfield_subtheme() { return array( 'emvideo_myspace_flash' => array( 'arguments' => array('embed' => NULL, 'width' => NULL, 'height' => NULL, 'autoplay' => NULL), 'file' => 'providers/myspace.inc' ) ); } /** * Implement hook_emvideo_PROVIDER_content_generate(). */ function emvideo_myspace_content_generate() { return array( 'http://vids.myspace.com/index.cfm?fuseaction=vids.individual&videoid=62472581&searchid=ea1f646c-39df-4963-b93d-f916b019f1a1', 'http://vids.myspace.com/index.cfm?fuseaction=vids.individual&videoid=62472739&searchid=ea1f646c-39df-4963-b93d-f916b019f1a1', 'http://vids.myspace.com/index.cfm?fuseaction=vids.individual&videoid=62473325&searchid=ea1f646c-39df-4963-b93d-f916b019f1a1', ); }