public function doAction(Zend_Controller_Action $action) { $action->getHelper('viewRenderer')->setNoRender(); $providerId = $this->_getParam('provider_id'); $client = Infra_ClientHelper::getClient(); $contentDistributionPlugin = Kaltura_Client_ContentDistribution_Plugin::get($client); try { $contentDistributionPlugin->genericDistributionProvider->delete($providerId); echo $action->getHelper('json')->sendJson('ok', false); } catch (Exception $e) { KalturaLog::err($e->getMessage() . "\n" . $e->getTraceAsString()); echo $action->getHelper('json')->sendJson($e->getMessage(), false); } }
public function getDataArray($entryId, $partnerId) { $client = Infra_ClientHelper::getClient(); $contentDistributionPlugin = Kaltura_Client_ContentDistribution_Plugin::get($client); $fileSyncPlugin = Kaltura_Client_FileSync_Plugin::get($client); if (!$client) { $errors[] = 'init client failed'; return; } $filter = new Kaltura_Client_ContentDistribution_Type_EntryDistributionFilter(); $filter->entryIdEqual = $entryId; $distributions = array(); $distributionFileSyncs = array(); $errDescription = null; try { Infra_ClientHelper::impersonate($partnerId); $entryDistributionList = $contentDistributionPlugin->entryDistribution->listAction($filter); Infra_ClientHelper::unimpersonate(); $distributions = $entryDistributionList->objects; } catch (Exception $e) { $errDescription = $e->getMessage(); } $distributionIds = array(); if (is_array($distributions)) { foreach ($distributions as $distribution) { $distributionFileSyncs[$distribution->id] = array(); $distributionIds[] = $distribution->id; } } if (count($distributionIds)) { try { $filter = new Kaltura_Client_FileSync_Type_FileSyncFilter(); $filter->fileObjectTypeEqual = Kaltura_Client_Enum_FileSyncObjectType::ENTRY_DISTRIBUTION; $filter->objectIdIn = implode(',', $distributionIds); $pager = new Kaltura_Client_Type_FilterPager(); $pager->pageSize = 100; $fileSyncList = $fileSyncPlugin->fileSync->listAction($filter, $pager); $fileSyncs = $fileSyncList->objects; foreach ($fileSyncs as $fileSync) { $distributionFileSyncs[$fileSync->objectId][] = $fileSync; } } catch (Exception $e) { $errDescription = $e->getMessage(); } } return array('distributions' => $distributions, 'distributionFileSyncs' => $distributionFileSyncs, 'errDescription' => $errDescription); }
public function doAction(Zend_Controller_Action $action) { $request = $action->getRequest(); $page = $this->_getParam('page', 1); $pageSize = $this->_getParam('pageSize', 10); $form = new Form_PartnerIdFilter(); $form->populate($request->getParams()); $newForm = new Form_NewDistributionProfile(); $actionUrl = $action->view->url(array('controller' => 'plugin', 'action' => 'DistributionProfileListAction'), null, true); $form->setAction($actionUrl); // init filter $partnerFilter = $this->getPartnerFilterFromRequest($request); $client = Infra_ClientHelper::getClient(); $contentDistributionPlugin = Kaltura_Client_ContentDistribution_Plugin::get($client); // get results and paginate $paginatorAdapter = new Infra_FilterPaginator($contentDistributionPlugin->distributionProfile, "listByPartner", null, $partnerFilter); $paginator = new Infra_Paginator($paginatorAdapter, $request); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($pageSize); $providers = array(Kaltura_Client_ContentDistribution_Enum_DistributionProviderType::GENERIC => 'Generic', Kaltura_Client_ContentDistribution_Enum_DistributionProviderType::SYNDICATION => 'Syndication'); $genericProviders = array(); $client = Infra_ClientHelper::getClient(); $contentDistributionClientPlugin = Kaltura_Client_ContentDistribution_Plugin::get($client); $providersList = $contentDistributionClientPlugin->distributionProvider->listAction(); if ($providersList) { foreach ($providersList->objects as $provider) { if ($provider->type == Kaltura_Client_ContentDistribution_Enum_DistributionProviderType::GENERIC) { $genericProviders[$provider->id] = $provider->name; } else { $providers[$provider->type] = $provider->name; } } } $newForm->setProviders($providers); $newPartnerElement = $newForm->getElement('newPartnerId'); if ($newPartnerElement) { $newPartnerElement->setValue($partnerFilter->idIn); } // set view $action->view->form = $form; $action->view->newForm = $newForm; $action->view->paginator = $paginator; $action->view->providers = $providers; $action->view->genericProviders = $genericProviders; }
public function populateActions(Kaltura_Client_ContentDistribution_Type_GenericDistributionProvider $object) { $this->addProviderActions(); $client = Infra_ClientHelper::getClient(); $contentDistributionPlugin = Kaltura_Client_ContentDistribution_Plugin::get($client); $filter = new Kaltura_Client_ContentDistribution_Type_GenericDistributionProviderActionFilter(); $filter->genericDistributionProviderIdEqual = $object->id; $actionsList = null; try { $actionsList = $contentDistributionPlugin->genericDistributionProviderAction->listAction($filter); } catch (Exception $e) { return; } $fields = array("protocol", "serverAddress", "remotePath", "remoteUsername", "remotePassword"); $files = array("mrssTransformer", "mrssValidator", "resultsTransformer"); foreach ($actionsList->objects as $actionObject) { $action = null; switch ($actionObject->action) { case Kaltura_Client_ContentDistribution_Enum_DistributionAction::SUBMIT: $action = 'submit'; break; case Kaltura_Client_ContentDistribution_Enum_DistributionAction::UPDATE: $action = 'update'; break; case Kaltura_Client_ContentDistribution_Enum_DistributionAction::DELETE: $action = 'delete'; break; case Kaltura_Client_ContentDistribution_Enum_DistributionAction::FETCH_REPORT: $action = 'fetchReport'; break; } $element = $this->getElement("{$action}-enabled"); $element->setValue(true); foreach ($fields as $field) { $element = $this->getElement("{$field}-{$action}"); $element->setValue($actionObject->{$field}); } foreach ($files as $file) { if ($actionObject->{$file}) { $this->addElement('hidden', "{$file}-{$action}-data", array('class' => "{$file}-{$action}-data action-data", 'value' => $actionObject->{$file})); } } } }
public function doAction(Zend_Controller_Action $action) { $request = $action->getRequest(); $page = $this->_getParam('page', 1); $pageSize = $this->_getParam('pageSize', 10); $newForm = new Form_NewGenericProvider(); // init filter $genericProviderFilter = new Kaltura_Client_ContentDistribution_Type_GenericDistributionProviderFilter(); $client = Infra_ClientHelper::getClient(); $contentDistributionPlugin = Kaltura_Client_ContentDistribution_Plugin::get($client); // get results and paginate $paginatorAdapter = new Infra_FilterPaginator($contentDistributionPlugin->genericDistributionProvider, "listAction", null, $genericProviderFilter); $paginator = new Infra_Paginator($paginatorAdapter, $request); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($pageSize); // set view $action->view->newForm = $newForm; $action->view->paginator = $paginator; }
public function doAction(Zend_Controller_Action $action) { $action->getHelper('layout')->disableLayout(); $this->client = Infra_ClientHelper::getClient(); $contentDistributionPlugin = Kaltura_Client_ContentDistribution_Plugin::get($this->client); $request = $action->getRequest(); $profileId = $this->_getParam('profile_id'); $providerType = null; $partnerId = null; $distributionProfile = null; $action->view->errMessage = null; $action->view->form = ''; try { if ($profileId) { $distributionProfile = $contentDistributionPlugin->distributionProfile->get($profileId); $providerType = $distributionProfile->providerType; $partnerId = $distributionProfile->partnerId; } else { $providerType = $this->_getParam('provider_type'); $partnerId = $this->_getParam('partner_id'); } $form = null; $profileClass = 'Kaltura_Client_ContentDistribution_Type_DistributionProfile'; if ($providerType == Kaltura_Client_ContentDistribution_Enum_DistributionProviderType::GENERIC) { $form = new Form_GenericProviderProfileConfiguration($partnerId, $providerType, $distributionProfile); $profileClass = 'Kaltura_Client_ContentDistribution_Type_GenericDistributionProfile'; } elseif ($providerType == Kaltura_Client_ContentDistribution_Enum_DistributionProviderType::SYNDICATION) { $form = new Form_SyndicationProviderProfileConfiguration($partnerId, $providerType, $distributionProfile); $profileClass = 'Kaltura_Client_ContentDistribution_Type_SyndicationDistributionProfile'; } else { $form = KalturaPluginManager::loadObject('Form_ProviderProfileConfiguration', $providerType, array($partnerId, $providerType, $distributionProfile)); $profileClass = KalturaPluginManager::getObjectClass($profileClass, $providerType); } KalturaLog::debug("profile class [{$profileClass}]"); if (!$form) { $action->view->errMessage = "Profile form not found for provider [{$providerType}]"; return; } $form->setAction($action->view->url(array('controller' => 'plugin', 'action' => 'DistributionProfileConfigureAction'))); $pager = new Kaltura_Client_Type_FilterPager(); $pager->pageSize = 100; Infra_ClientHelper::impersonate($partnerId); $flavorParamsResponse = $this->client->flavorParams->listAction(null, $pager); Infra_ClientHelper::unimpersonate(); if ($profileId) { if ($request->isPost()) { if ($form->isValid($request->getPost())) { $form->populate($request->getPost()); $distributionProfile = $form->getObject($profileClass, $request->getPost()); $form->resetUnUpdatebleAttributes($distributionProfile); Infra_ClientHelper::impersonate($partnerId); $distributionProfile = $contentDistributionPlugin->distributionProfile->update($profileId, $distributionProfile); $form->saveProviderAdditionalObjects($distributionProfile); Infra_ClientHelper::unimpersonate(); $form->setAttrib('class', 'valid'); $action->view->formValid = true; } else { $form->populate($request->getPost()); $distributionProfile = $form->getObject($profileClass, $request->getPost()); $this->populateForm($form, $distributionProfile, $flavorParamsResponse); } } else { $form->populateFromObject($distributionProfile); $this->populateForm($form, $distributionProfile, $flavorParamsResponse); } } else { if ($request->isPost() && $form->isValid($request->getPost())) { $form->populate($request->getPost()); $distributionProfile = $form->getObject($profileClass, $request->getPost()); if (!$distributionProfile->partnerId) { $distributionProfile->partnerId = 0; } Infra_ClientHelper::impersonate($distributionProfile->partnerId); $distributionProfile->partnerId = null; $distributionProfile = $contentDistributionPlugin->distributionProfile->add($distributionProfile); $form->saveProviderAdditionalObjects($distributionProfile); Infra_ClientHelper::unimpersonate(); $form->setAttrib('class', 'valid'); $action->view->formValid = true; } else { $form->populate($request->getPost()); $distributionProfile = $form->getObject($profileClass, $request->getPost()); $this->populateForm($form, $distributionProfile, $flavorParamsResponse); } } } catch (Exception $e) { KalturaLog::err($e->getMessage() . "\n" . $e->getTraceAsString()); $action->view->errMessage = $e->getMessage(); $form->populate($request->getPost()); if (isset($flavorParamsResponse)) { $distributionProfile = $form->getObject($profileClass, $request->getPost()); $this->populateForm($form, $distributionProfile, $flavorParamsResponse); } Infra_ClientHelper::unimpersonate(); } $action->view->form = $form; }
public function doAction(Zend_Controller_Action $action) { $action->getHelper('layout')->disableLayout(); $providerId = $this->_getParam('provider_id'); $this->client = Infra_ClientHelper::getClient(); $contentDistributionPlugin = Kaltura_Client_ContentDistribution_Plugin::get($this->client); $form = new Form_GenericProviderConfiguration(); $form->setAction($action->view->url(array('controller' => 'plugin', 'action' => 'GenericDistributionProviderConfigureAction'))); $request = $action->getRequest(); $pager = new Kaltura_Client_Type_FilterPager(); $pager->pageSize = 100; $flavorParamsResponse = $this->client->flavorParams->listAction(null, $pager); $action->view->errMessage = null; $action->view->form = ''; try { if ($providerId) { if ($request->isPost()) { $form->isValid($request->getPost()); $form->populate($request->getPost()); $genericDistributionProvider = $form->getObject("Kaltura_Client_ContentDistribution_Type_GenericDistributionProvider", $request->getPost()); $genericDistributionProvider->partnerId = null; $contentDistributionPlugin->genericDistributionProvider->update($providerId, $genericDistributionProvider); $this->saveProviderActions($providerId, $form); } else { $genericDistributionProvider = $contentDistributionPlugin->genericDistributionProvider->get($providerId); $form->populateFromObject($genericDistributionProvider); $optionalFlavorParamsIds = array(); $requiredFlavorParamsIds = array(); if (!is_null($genericDistributionProvider->optionalFlavorParamsIds) && strlen($genericDistributionProvider->optionalFlavorParamsIds)) { $optionalFlavorParamsIds = explode(',', $genericDistributionProvider->optionalFlavorParamsIds); } if (!is_null($genericDistributionProvider->requiredFlavorParamsIds) && strlen($genericDistributionProvider->requiredFlavorParamsIds)) { $requiredFlavorParamsIds = explode(',', $genericDistributionProvider->requiredFlavorParamsIds); } $form->addFlavorParamsFields($flavorParamsResponse, $optionalFlavorParamsIds, $requiredFlavorParamsIds); if (is_array($genericDistributionProvider->requiredThumbDimensions)) { foreach ($genericDistributionProvider->requiredThumbDimensions as $dimensions) { $form->addThumbDimensions($dimensions, true); } } if (is_array($genericDistributionProvider->optionalThumbDimensions)) { foreach ($genericDistributionProvider->optionalThumbDimensions as $dimensions) { $form->addThumbDimensions($dimensions, false); } } $form->addThumbDimensionsForm(); $form->addProviderActions(); $form->populateActions($genericDistributionProvider); $action->view->form = $form; } } else { if ($request->isPost()) { $form->isValid($request->getPost()); $form->populate($request->getPost()); $genericDistributionProvider = $form->getObject("Kaltura_Client_ContentDistribution_Type_GenericDistributionProvider", $request->getPost()); if (!$genericDistributionProvider->partnerId) { $genericDistributionProvider->partnerId = 0; } Infra_ClientHelper::impersonate($genericDistributionProvider->partnerId); $genericDistributionProvider->partnerId = null; $genericDistributionProvider = $contentDistributionPlugin->genericDistributionProvider->add($genericDistributionProvider); $this->saveProviderActions($genericDistributionProvider->id, $form); Infra_ClientHelper::unimpersonate(); } else { $form->addFlavorParamsFields($flavorParamsResponse); $form->addThumbDimensionsForm(); $form->addProviderActions(); $action->view->form = $form; } } } catch (Exception $e) { KalturaLog::err($e->getMessage() . "\n" . $e->getTraceAsString()); $action->view->errMessage = $e->getMessage(); } }