private function getMediaInfoForPrefix($prefix) { $media_id = $this->getP($prefix . "_id"); if (!$media_id) { return false; } $mediaType = $this->getPM($prefix . "_type", entry::ENTRY_MEDIA_TYPE_VIDEO); $mediaSource = $this->getPM($prefix . "_source"); // echo "[$prefix]: $media_id, $mediaType, $mediaSource<br>"; // TODO - get this if we need t for flickr $kuserId = null; $media_source_provider = myMediaSourceFactory::getMediaSource($mediaSource); // echo ( "$media_source\n" ); if ($media_source_provider) { $res = $media_source_provider->getMediaInfo($mediaType, $media_id); if ($res !== null) { $this->addMsg($prefix, $res); // lets check if there were errors so we could add an error message if (@$res["status"] == "error") { if (strpos(@$res["message"], "Adult content") !== false) { $this->addError(APIErrors::ADULT_CONTENT); } else { $this->addError(APIErrors::CANNOT_IMPORT_ONE_OR_MORE_MEDIA_FILES); } } } else { $this->addError(APIErrors::SEARCH_UNSUPPORTED_MEDIA_TYPE, $mediaType); } } else { $this->addError(APIErrors::SEARCH_UNSUPPORTED_MEDIA_SOURCE, $media_source); } return true; }
/** the puser might not be a kuser in the system */ public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser) { self::$escape_text = true; $mediaType = $this->getPM('media_type', entry::ENTRY_MEDIA_TYPE_VIDEO); $mediaSource = $this->getPM('media_source'); $searchText = $this->getP('search'); $page = $this->getP('page', 1); $pageSize = $this->getP('page_size', 10); $authData = $this->getP('auth_data'); $extraData = $this->getP('extra_data'); // for media_commons - dont' escape the XML. // The Urls will be damaged // TODO - think of a good way to avoid this issue if ($mediaSource == entry::ENTRY_MEDIA_SOURCE_MEDIA_COMMONS) { self::$escape_text = false; } // TODO - get this if we need t for flickr $kuserId = null; $media_source_provider = myMediaSourceFactory::getMediaSource($mediaSource); // echo ( "$media_source\n" ); if ($media_source_provider) { $media_source_provider->setUserDetails($partner_id, $subp_id, $puser_id); //$res = call_user_func ( array ( $media_source , "searchMedia" ) , array ( $media_type , $searchText, $page, $pageSize, $kuserId ) ) ; // magic word - '$partner_id' to replace the parameter dynamically $extraData = str_replace('$partner_id', $partner_id, $extraData); $res = $media_source_provider->searchMedia($mediaType, $searchText, $page, $pageSize, $authData, $extraData); if ($res) { $this->addMsg("search", $res); } else { $this->addError(APIErrors::SEARCH_UNSUPPORTED_MEDIA_TYPE, $mediaType); } } else { $this->addError(APIErrors::SEARCH_UNSUPPORTED_MEDIA_SOURCE, $media_source); } }
/** the puser might not be a kuser in the system */ public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser) { self::$escape_text = true; $mediaSource = $this->getP('media_source'); $username = $this->getP('username'); $password = $this->getP('password'); // TODO - get this if we need t for flickr $kuserId = null; $media_source_provider = myMediaSourceFactory::getMediaSource($mediaSource); // echo ( "$media_source\n" ); if ($media_source_provider) { //$res = call_user_func ( array ( $media_source , "searchMedia" ) , array ( $media_type , $searchText, $page, $pageSize, $kuserId ) ) ; $res = $media_source_provider->getAuthData($kuserId, $username, $password, ""); //$this->ks->toSecureString()); $this->addMsg("authdata", $res); } else { $this->addError(APIErrors::SEARCH_UNSUPPORTED_MEDIA_SOURCE, $media_source); } }
private static function parseVideos($url, $page, $pageSize) { $videos = array(); $status = 'ok'; $message = ''; $cache = array(); $media_source = myMediaSourceFactory::getMediaSource(entry::ENTRY_MEDIA_SOURCE_YOUTUBE); $offset = ($page - 1) * $pageSize; $objects = array(); $content = kFile::downloadUrlToString($url, 1); if (preg_match_all("/http:\\/\\/www.youtube.com\\/v\\/([a-zA-Z0-9_\\-]*)/msi", $content, $vidUrls)) { foreach ($vidUrls[1] as $vidUrl) { if (in_array($vidUrl, $cache)) { continue; } $cache[] = $vidUrl; $result = $media_source->getMediaInfo(entry::ENTRY_MEDIA_TYPE_VIDEO, $vidUrl); if (!$result) { continue; } if ($offset) { $offset--; continue; } $objects[] = $result['objectInfo']; if (count($objects) == $pageSize) { break; } } } /* else if (preg_match_all("/http:\/\/v.wordpress.com\/([a-zA-Z0-9_\-]*)/msi", $content, $vidUrls)) { foreach($vidUrls[1] as $vidUrl) { if (in_array($vidUrl, $cache)) continue; $cache[] = $vidUrl; $url = "http://v.wordpress.com/videofile/".$vidUrl."/flv"; $objectInfo = array('id' => $vidUrl, 'url' => $url, 'title' => '', 'thumb' => '', 'tags' => '', 'license' => '', 'credit' => ''); $result = $media_source->getMediaInfo( entry::ENTRY_MEDIA_TYPE_VIDEO, $vidUrl); if (!$result) continue; if ($offset) { $offset--; continue; } $objects[] = $objectInfo; if (count($objects) == $pageSize) break; } } */ return array('status' => $status, 'message' => $message, 'objects' => $objects); }
public static function getMediaServiceProviders($partner_id, $subp_id) { $provider_id_list = myMediaSourceFactory::getAllMediaSourceProvidersIds(); $result = array(); foreach ($provider_id_list as $provider_id) { $provider = myMediaSourceFactory::getMediaSource($provider_id); $res = $provider->getSearchConfig(); $result["__{$provider_id}" . "_service"] = $res; } return $result; }
/** * * @action externalLogin * @param KalturaSearchProviderType $searchSource * @param string $userName * @param string $password * @return KalturaSearchAuthData */ public function externalLoginAction($searchSource, $userName, $password) { $mediaSourceProvider = myMediaSourceFactory::getMediaSource($searchSource); if (!$mediaSourceProvider) { throw new KalturaAPIException(KalturaErrors::SEARCH_UNSUPPORTED_MEDIA_SOURCE, $searchSource); } $resultArray = $mediaSourceProvider->getAuthData($this->getKuser()->getId(), $userName, $password, ""); $result = new KalturaSearchAuthData(); $result->fromArray($resultArray); return $result; }