protected function getMetadataFields() { if (is_array($this->metadataProfileFields)) { return $this->metadataProfileFields; } $this->metadataProfileFields = array(); Infra_ClientHelper::impersonate($this->partnerId); $client = Infra_ClientHelper::getClient(); $metadataPlugin = Kaltura_Client_Metadata_Plugin::get($client); try { $metadataProfileFilter = new Kaltura_Client_Metadata_Type_MetadataProfileFilter(); $metadataProfileFilter->partnerIdEqual = $this->partnerId; $metadataProfileList = $metadataPlugin->metadataProfile->listAction($metadataProfileFilter); if ($metadataProfileList->totalCount) { $client->startMultiRequest(); foreach ($metadataProfileList->objects as $metadataProfile) { $metadataFieldList = $metadataPlugin->metadataProfile->listFields($metadataProfile->id); } $results = $client->doMultiRequest(); foreach ($results as $metadataFieldList) { foreach ($metadataFieldList->objects as $metadataField) { $this->metadataProfileFields[$metadataField->xPath] = $metadataField->label; } } } } catch (Exception $e) { Infra_ClientHelper::unimpersonate(); throw $e; } Infra_ClientHelper::unimpersonate(); return $this->metadataProfileFields; }
protected function addMetadataProfile($enableNone = false) { $metadataProfiles = null; try { $metadataProfileFilter = new Kaltura_Client_Metadata_Type_MetadataProfileFilter(); $metadataProfileFilter->metadataObjectTypeEqual = Kaltura_Client_Metadata_Enum_MetadataObjectType::ENTRY; $client = Infra_ClientHelper::getClient(); $metadataPlugin = Kaltura_Client_Metadata_Plugin::get($client); Infra_ClientHelper::impersonate($this->partnerId); $metadataProfileList = $metadataPlugin->metadataProfile->listAction($metadataProfileFilter); Infra_ClientHelper::unimpersonate(); $metadataProfiles = $metadataProfileList->objects; } catch (Kaltura_Client_Exception $e) { $metadataProfiles = null; } if (count($metadataProfiles)) { $this->addElement('select', 'metadata_profile_id', array('label' => 'Metadata Profile ID:', 'filters' => array('StringTrim'))); $element = $this->getElement('metadata_profile_id'); if ($enableNone) { $element->addMultiOption('', 'None'); } foreach ($metadataProfiles as $metadataProfile) { $element->addMultiOption($metadataProfile->id, $metadataProfile->name); } } else { $this->addElement('hidden', 'metadata_profile_id', array('value' => 0)); } }
public function addMetadataFieldsAsValues($elementName) { $this->getElement($elementName)->clearMultiOptions(); Infra_ClientHelper::impersonate($this->partnerId); $client = Infra_ClientHelper::getClient(); $metadataPlugin = Kaltura_Client_Metadata_Plugin::get($client); $profileListResponse = $metadataPlugin->metadataProfile->listAction(); $metadataFields = array(); foreach ($profileListResponse->objects as $profile) { $doc = new DOMDocument(); $doc->loadXML($profile->xsd); $xpath = new DOMXPath($doc); $xpath->registerNamespace('xsd', 'http://www.w3.org/2001/XMLSchema'); $nameNodes = $xpath->query('//xsd:element//xsd:element/@name'); foreach ($nameNodes as $nameNode) { $metadataFields[$profile->id . ':' . $nameNode->nodeValue] = $profile->name . ' > ' . $nameNode->nodeValue; } } Infra_ClientHelper::unimpersonate(); $this->getElement($elementName)->addMultiOptions(array('' => '')); $this->getElement($elementName)->addMultiOptions($metadataFields); }
public function getMetadataProfileFields($metadataProfileId) { $metadataPlugin = Kaltura_Client_Metadata_Plugin::get($this->_client); return $metadataPlugin->metadataProfile->listFields($metadataProfileId); }