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;
 }
Example #2
0
 /**
 		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);
 }
Example #5
0
 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;
 }
Example #6
0
 /**
  * 
  * @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;
 }