コード例 #1
0
 /**
  * Returns the right resource instance for the source content of the item
  * @param SimpleXMLElement $elementToSearchIn
  * @param int $conversionProfileId
  * @return KalturaResource - the resource located in the given element
  */
 protected function getResourceInstance(SimpleXMLElement $elementToSearchIn, $conversionProfileId)
 {
     $resource = null;
     if (isset($elementToSearchIn->serverFileContentResource)) {
         if ($this->allowServerResource) {
             KalturaLog::debug("Resource is : serverFileContentResource");
             $resource = new KalturaServerFileResource();
             $localContentResource = $elementToSearchIn->serverFileContentResource;
             $resource->localFilePath = kXml::getXmlAttributeAsString($localContentResource, "filePath");
         } else {
             KalturaLog::err("serverFileContentResource is not allowed");
         }
     } elseif (isset($elementToSearchIn->urlContentResource)) {
         KalturaLog::debug("Resource is : urlContentResource");
         $resource = new KalturaUrlResource();
         $urlContentResource = $elementToSearchIn->urlContentResource;
         $resource->url = kXml::getXmlAttributeAsString($urlContentResource, "url");
     } elseif (isset($elementToSearchIn->sshUrlContentResource)) {
         KalturaLog::debug("Resource is : sshUrlContentResource");
         $resource = new KalturaSshUrlResource();
         $sshUrlContentResource = $elementToSearchIn->sshUrlContentResource;
         $resource->url = kXml::getXmlAttributeAsString($sshUrlContentResource, "url");
         $resource->keyPassphrase = kXml::getXmlAttributeAsString($sshUrlContentResource, "keyPassphrase");
         $resource->privateKey = strval($sshUrlContentResource->privateKey);
         $resource->publicKey = strval($sshUrlContentResource->publicKey);
     } elseif (isset($elementToSearchIn->remoteStorageContentResource)) {
         KalturaLog::debug("Resource is : remoteStorageContentResource");
         $resource = new KalturaRemoteStorageResource();
         $remoteContentResource = $elementToSearchIn->remoteStorageContentResource;
         $resource->url = kXml::getXmlAttributeAsString($remoteContentResource, "url");
         $resource->storageProfileId = $this->getStorageProfileId($remoteContentResource);
     } elseif (isset($elementToSearchIn->remoteStorageContentResources)) {
         KalturaLog::debug("Resource is : remoteStorageContentResources");
         $resource = new KalturaRemoteStorageResources();
         $resource->resources = array();
         $remoteContentResources = $elementToSearchIn->remoteStorageContentResources;
         foreach ($remoteContentResources->remoteStorageContentResource as $remoteContentResource) {
             /* @var $remoteContentResource SimpleXMLElement */
             KalturaLog::debug("Resources name [" . $remoteContentResource->getName() . "] url [" . $remoteContentResource['url'] . "] storage [{$remoteContentResource->storageProfile}]");
             $childResource = new KalturaRemoteStorageResource();
             $childResource->url = kXml::getXmlAttributeAsString($remoteContentResource, "url");
             $childResource->storageProfileId = $this->getStorageProfileId($remoteContentResource);
             $resource->resources[] = $childResource;
         }
     } elseif (isset($elementToSearchIn->entryContentResource)) {
         KalturaLog::debug("Resource is : entryContentResource");
         $resource = new KalturaEntryResource();
         $entryContentResource = $elementToSearchIn->entryContentResource;
         $resource->entryId = kXml::getXmlAttributeAsString($entryContentResource, "entryId");
         $resource->flavorParamsId = $this->getFlavorParamsId($entryContentResource, $conversionProfileId, false);
     } elseif (isset($elementToSearchIn->assetContentResource)) {
         KalturaLog::debug("Resource is : assetContentResource");
         $resource = new KalturaAssetResource();
         $assetContentResource = $elementToSearchIn->assetContentResource;
         $resource->assetId = kXml::getXmlAttributeAsString($assetContentResource, "assetId");
     }
     return $resource;
 }