protected function addMetadataProfile($enableNone = false) { $metadataProfiles = null; try { $metadataProfileFilter = new KalturaMetadataProfileFilter(); $metadataProfileFilter->metadataObjectTypeEqual = KalturaMetadataObjectType::ENTRY; $client = Kaltura_ClientHelper::getClient(); Kaltura_ClientHelper::impersonate($this->partnerId); $metadataProfileList = $client->metadataProfile->listAction($metadataProfileFilter); Kaltura_ClientHelper::unimpersonate(); $metadataProfiles = $metadataProfileList->objects; } catch (KalturaClientException $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 init() { // Set the method for the display form to POST $this->setMethod('post'); $this->setAttrib('class', 'inline-form'); // Add an email address element $this->addElement('text', 'email', array('label' => 'Email address:', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array('EmailAddress'))); // Add an first name element $this->addElement('text', 'first_name', array('label' => 'First Name:', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array())); // Add an last name element $this->addElement('text', 'last_name', array('label' => 'Last Name:', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array())); $this->addElement('select', 'role', array('label' => 'Role:', 'filters' => array('StringTrim'), 'required' => true)); $element = $this->getElement('role'); $client = Kaltura_ClientHelper::getClient(); $filter = new KalturaUserRoleFilter(); $filter->tagsMultiLikeAnd = 'admin_console'; $userRoles = $client->userRole->listAction($filter); if ($userRoles && isset($userRoles->objects)) { $userRoles = $userRoles->objects; foreach ($userRoles as $role) { $element->addMultiOption($role->id, $role->name); } } $this->addDisplayGroup(array('email', 'first_name', 'last_name', 'submit', 'role'), 'user_info', array('decorators' => array('Description', 'FormElements', array('Fieldset')))); // Add the submit button $this->addElement('button', 'submit', array('type' => 'submit', 'ignore' => true, 'label' => 'Create', 'decorators' => array('ViewHelper'))); $this->addDisplayGroup(array('submit'), 'buttons1', array('decorators' => array('FormElements', array('HtmlTag', array('tag' => 'div', 'class' => 'buttons'))))); }
public function init() { // Set the method for the display form to POST $this->setMethod('post'); $this->setAttrib('class', 'form'); $this->setDescription('user change role'); $this->loadDefaultDecorators(); $this->addDecorator('Description', array('placement' => 'prepend')); // Add a name element $this->addElement('text', 'name', array('label' => 'User Name:', 'filters' => array('StringTrim'), 'readonly' => true, 'ignore' => true)); // Add an email address element $this->addElement('text', 'email', array('label' => 'Email address:', 'filters' => array('StringTrim'), 'readonly' => true, 'ignore' => true)); // Add a new role element $this->addElement('select', 'role', array('label' => 'Role:', 'filters' => array('StringTrim'), 'required' => true)); $element = $this->getElement('role'); $client = Kaltura_ClientHelper::getClient(); $filter = new KalturaUserRoleFilter(); $filter->tagsMultiLikeAnd = 'admin_console'; $userRoles = $client->userRole->listAction($filter); if ($userRoles && isset($userRoles->objects)) { $userRoles = $userRoles->objects; foreach ($userRoles as $role) { $element->addMultiOption($role->id, $role->name); } } }
/** * Performs an authentication attempt * * @throws Zend_Auth_Adapter_Exception If authentication cannot be performed * @return Zend_Auth_Result */ public function authenticate() { if (!$this->username || !$this->password) { return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, null); } $settings = Zend_Registry::get('config')->settings; $partnerId = $settings->partnerId; $client = Kaltura_ClientHelper::getClient(); $client->setKs(null); try { $ks = $client->user->loginByLoginId($this->username, $this->password, $partnerId); $client->setKs($ks); $user = $client->user->getByLoginId($this->username, $partnerId); $identity = new Kaltura_UserIdentity($user, $ks); if ($user->partnerId != $partnerId) { throw new Exception('SYSTEM_USER_INVALID_CREDENTIALS'); } return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity); } catch (Exception $ex) { if ($ex->getCode() === 'SYSTEM_USER_INVALID_CREDENTIALS' || $ex->getCode() === 'SYSTEM_USER_DISABLED' || $ex->getCode() === 'USER_WRONG_PASSWORD' || $ex->getCode() === 'USER_NOT_FOUND') { return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, null); } else { throw $ex; } } }
private static function loadPackges() { if (is_null(self::$packages)) { $client = Kaltura_ClientHelper::getClient(); self::$packages = $client->systemPartner->getPackages(); } }
public function doAction(Zend_Controller_Action $action) { $action->getHelper('viewRenderer')->setNoRender(); $providerId = $this->_getParam('provider_id'); $client = Kaltura_ClientHelper::getClient(); try { $client->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 loadVersions($objType) { $client = Kaltura_ClientHelper::getClient(); $typesInfo = $client->uiConf->getAvailableTypes(); $versionElement = $this->getElement('version'); $versionElement->addMultiOption('', ''); foreach ($typesInfo as $typeInfo) { if ($typeInfo->type == $objType) { foreach ($typeInfo->versions as $version) { $versionElement->addMultiOption($version->value, $version->value); } } } }
public function doAction(Zend_Controller_Action $action) { $action->getHelper('viewRenderer')->setNoRender(); $profileId = $this->_getParam('profile_id'); $status = $this->_getParam('status'); $client = Kaltura_ClientHelper::getClient(); try { $client->distributionProfile->updateStatus($profileId, $status); 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); } }
/** * * @param int $offset * @param int $itemCountPerPage */ protected function callService($offset, $itemCountPerPage) { $client = Kaltura_ClientHelper::getClient(); if ($this->impersonatedPartnerId) { Kaltura_ClientHelper::impersonate($this->impersonatedPartnerId); } $pager = new KalturaFilterPager(); $pager->pageIndex = (int) ($offset / $itemCountPerPage) + 1; $pager->pageSize = $itemCountPerPage; $service = $this->service; $action = $this->action; $params = $this->args; $params[] = $pager; $response = call_user_func_array(array($client->{$service}, $action), $params); $this->totalCount = $response->totalCount; return $response->objects; }
public function doAction(Zend_Controller_Action $action) { $request = $action->getRequest(); $page = $request->getParam('page', 1); $pageSize = $request->getParam('pageSize', 10); $action->view->form = new Form_PartnerFilter(); // init filter $partnerFilter = $this->getPartnerFilterFromRequest($request); /* // get results and paginate $paginatorAdapter = new Kaltura_FilterPaginator("metadataProfile", "listAction", null, $partnerFilter); $paginator = new Kaltura_Paginator($paginatorAdapter, $request); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($pageSize); // popule the form $form->populate($request->getParams()); // set view $action->view->form = $form; $action->view->paginator = $paginator; */ return; $request = $action->getRequest(); $action->view->metadataProfilesForm = new Form_metadataProfiles(); $action->view->metadataProfilesForm->populate($request->getParams()); $partnerId = $request->getParam('partnerId', false); $entryId = $request->getParam('entryId', false); $freeText = $request->getParam('freeText', false); $form = new Form_PartnerFilter(); $form->populate($request->getParams()); $action->view->form = $form; if ($partnerId || $entryId || $freeText) { try { $client = Kaltura_ClientHelper::getClient(); $metadataProfileFilter = new KalturaMetadataProfileFilter(); $metadataProfileFilter->partnerIdEqual = $partnerId; $this->view->inQueuePaginator = null; //$client->user->add($systemUser); } catch (Exception $ex) { //to do } } }
public function exportCsvAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); $request = $this->getRequest(); $from = new Zend_Date($this->_getParam('from_date', $this->getDefaultFromDate())); $to = new Zend_Date($this->_getParam('to_date', $this->getDefaultToDate())); $client = Kaltura_ClientHelper::getClient(); if ($client->getKs() == null) { $client->setKs(self::generateKs()); } $form = new Form_PartnerUsageFilter(); $form->populate($request->getParams()); // init filters $partnerFilter = $this->getPartnerFilterFromForm($form); $usageFilter = new KalturaSystemPartnerUsageFilter(); $usageFilter->fromDate = $from->toString(Zend_Date::TIMESTAMP); $usageFilter->toDate = $to->toString(Zend_Date::TIMESTAMP); $pager = new KalturaFilterPager(); $pager->pageIndex = 1; $pager->pageSize = 500; $items = array(); while (true) { $response = $client->systemPartner->getUsage($partnerFilter, $usageFilter, $pager); if (count($response->objects) <= 0) { break; } foreach ($response->objects as &$object) { $items[] = $object; } $pager->pageIndex++; } $format = $this->view->translate('csv date'); $fileName = 'Usage report ' . $from->toString($format) . ' to ' . $to->toString($format) . '.csv'; header('Content-type: text/csv'); header('Content-Disposition: attachment; filename="' . $fileName . '"'); // echo the csv header echo $this->view->translate('partner-usage table partnerStatus'), ',', $this->view->translate('partner-usage table partnerName'), ',', $this->view->translate('partner-usage table partnerId'), ',', $this->view->translate('partner-usage table partnerCreatedAt'), ',', $this->view->translate('partner-usage table partnerPackage'), ',', $this->view->translate('partner-usage table views'), ',', $this->view->translate('partner-usage table plays'), ',', $this->view->translate('partner-usage table entriesCount'), ',', $this->view->translate('partner-usage table totalEntriesCount'), ',', $this->view->translate('partner-usage table videoEntriesCount'), ',', $this->view->translate('partner-usage table imagesEntriesCount'), ',', $this->view->translate('partner-usage table audioEntriesCount'), ',', $this->view->translate('partner-usage table mixEntriesCount'), ',', $this->view->translate('partner-usage table bandwidth'), ',', $this->view->translate('partner-usage table totalStorage'), ',', $this->view->translate('partner-usage table storage'), "\r\n"; // echo the csv data foreach ($items as $item) { $d = new Zend_Date($item->partnerCreatedAt); echo $this->view->enumTranslate('KalturaPartnerStatus', $item->partnerStatus), ',', $item->partnerName, ',', $item->partnerId, ',', '"', $d->toString(Zend_Date::DATE_LONG), '",', $this->view->translate($this->view->packageNameById($item->partnerPackage)), ',', (int) $item->views, ',', (int) $item->plays, ',', (int) $item->entriesCount, ',', (int) $item->totalEntriesCount, ',', (int) $item->videoEntriesCount, ',', (int) $item->imageEntriesCount, ',', (int) $item->audioEntriesCount, ',', (int) $item->mixEntriesCount, ',', (int) $item->bandwidth, ',', (int) $item->totalStorage, ',', (int) $item->storage, "\r\n"; } }
public function populateActions(KalturaGenericDistributionProvider $object) { $this->addProviderActions(); $client = Kaltura_ClientHelper::getClient(); $filter = new KalturaGenericDistributionProviderActionFilter(); $filter->genericDistributionProviderIdEqual = $object->id; $actionsList = null; try { $actionsList = $client->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 KalturaDistributionAction::SUBMIT: $action = 'submit'; break; case KalturaDistributionAction::UPDATE: $action = 'update'; break; case KalturaDistributionAction::DELETE: $action = 'delete'; break; case KalturaDistributionAction::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 getDataArray($entryId, $partnerId) { $client = Kaltura_ClientHelper::getClient(); if (!$client) { $errors[] = 'init client failed'; return; } $filter = new KalturaEntryDistributionFilter(); $filter->entryIdEqual = $entryId; $distributions = array(); $distributionFileSyncs = array(); $errDescription = null; try { Kaltura_ClientHelper::impersonate($partnerId); $entryDistributionList = $client->entryDistribution->listAction($filter); Kaltura_ClientHelper::unimpersonate(); $distributions = $entryDistributionList->objects; } catch (Exception $e) { $errDescription = $e->getMessage(); } $distributionIds = array(); foreach ($distributions as $distribution) { $distributionFileSyncs[$distribution->id] = array(); $distributionIds[] = $distribution->id; } if (count($distributionIds)) { try { $filter = new KalturaFileSyncFilter(); $filter->fileObjectTypeEqual = KalturaFileSyncObjectType::ENTRY_DISTRIBUTION; $filter->objectIdIn = implode(',', $distributionIds); $pager = new KalturaFilterPager(); $pager->pageSize = 100; $fileSyncList = $client->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); }
/** * * @param int $offset * @param int $itemCountPerPage */ protected function callService($offset, $itemCountPerPage) { $objects = parent::callService($offset, $itemCountPerPage); $partners = array(); foreach ($objects as $object) { $partners[$object->partnerId] = null; } $filter = new KalturaPartnerFilter(); $filter->idIn = implode(',', array_keys($partners)); $client = Kaltura_ClientHelper::getClient(); $partnersResponse = $client->systemPartner->listAction($filter); foreach ($partnersResponse->objects as $partner) { $partners[$partner->id] = $partner; } foreach ($objects as $object) { if (!is_null($partners[$object->partnerId])) { $object->partner = $partners[$object->partnerId]; } } return $objects; }
public function doAction(Zend_Controller_Action $action) { $request = $action->getRequest(); $page = $this->_getParam('page', 1); $pageSize = $this->_getParam('pageSize', 10); $form = new Form_PartnerFilter(); $newForm = new Form_NewDistributionProfile(); $actionUrl = $action->view->url(array('controller' => 'plugin', 'action' => 'DistributionProfileListAction'), null, true); $form->setAction($actionUrl); // init filter $partnerFilter = $this->getPartnerFilterFromRequest($request); // get results and paginate $paginatorAdapter = new Kaltura_FilterPaginator("distributionProfile", "listByPartner", null, $partnerFilter); $paginator = new Kaltura_Paginator($paginatorAdapter, $request); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($pageSize); $providers = array(KalturaDistributionProviderType::GENERIC => 'Generic', KalturaDistributionProviderType::SYNDICATION => 'Syndication'); $genericProviders = array(); $client = Kaltura_ClientHelper::getClient(); $contentDistributionClientPlugin = KalturaContentDistributionClientPlugin::get($client); $providersList = $contentDistributionClientPlugin->distributionProvider->listAction(); if ($providersList) { foreach ($providersList->objects as $provider) { if ($provider->type == KalturaDistributionProviderType::GENERIC) { $genericProviders[$provider->id] = $provider->name; } else { $providers[$provider->type] = $provider->name; } } } $newForm->setProviders($providers); // set view $action->view->form = $form; $action->view->newForm = $newForm; $action->view->paginator = $paginator; $action->view->providers = $providers; $action->view->genericProviders = $genericProviders; }
public function entryInvestigationAction() { $request = $this->getRequest(); $this->view->errors = array(); $this->view->investigateData = null; $this->view->enableActions = false; $action = $this->view->url(array('controller' => 'batch', 'action' => 'entry-investigation'), null, true); $this->view->searchEntryForm = new Form_Batch_SearchEntry(); $this->view->searchEntryForm->populate($request->getParams()); $this->view->searchEntryForm->setAction($action); $submitAction = $this->view->searchEntryForm->getElement('submitAction'); $submitAction->setValue(''); if (Kaltura_Support::isAdminEnabled()) { $upload = new Zend_File_Transfer_Adapter_Http(); $files = $upload->getFileInfo(); if (count($files) && isset($files['entryFile']) && $files['entryFile']['size']) { $file = $files['entryFile']; $investigateData = unserialize(base64_decode(file_get_contents($file['tmp_name']))); $entryIdField = $this->view->searchEntryForm->getElement('entryId'); $entryIdField->setValue($investigateData->entry->id); $this->view->investigateData = $investigateData; $this->view->enableActions = false; return; } } $entryId = $request->getParam('entryId', false); if (!$entryId) { return; } $client = Kaltura_ClientHelper::getClient(); if (!$client) { $this->view->errors[] = 'init client failed'; return; } if ($request->getParam('searchType') == 'by-flavor-asset-id') { try { // $entryId is actually flavor id in this case $entry = $client->entryAdmin->getByFlavorId($entryId); } catch (Exception $e) { $this->view->errors[] = 'Flavor asset not found: ' . $e->getMessage(); return; } $entryId = $entry->id; } $submitAction = $request->getParam('submitAction', false); if ($submitAction && strlen($submitAction)) { $partnerId = $request->getParam('partnerId', 0); Kaltura_ClientHelper::impersonate($partnerId); if ($submitAction == 'retry') { $jobId = $request->getParam('actionJobId', 0); $jobType = $request->getParam('actionJobType', 0); $client->jobs->retryJob($jobId, $jobType); } if ($submitAction == 'reconvertEntry') { $client->jobs->addConvertProfileJob($entryId); } if ($submitAction == 'reconvert') { $flavorAssetId = $request->getParam('actionFlavorAssetId', 0); $client->flavorAsset->reconvert($flavorAssetId); } if ($submitAction == 'regenerate') { $thumbAssetId = $request->getParam('actionFlavorAssetId', 0); $client->thumbAsset->regenerate($thumbAssetId); } Kaltura_ClientHelper::unimpersonate(); } $this->view->investigateData = $this->getEntryInvestigationData($entryId, $this->view->errors); $this->view->enableActions = true; $partnerId = $this->view->investigateData->entry->partnerId; $this->view->plugins = array(); $pluginInstances = KalturaPluginManager::getPluginInstances('IKalturaAdminConsoleEntryInvestigate'); foreach ($pluginInstances as $pluginInstance) { $entryInvestigatePlugins = $pluginInstance->getEntryInvestigatePlugins(); if (!$entryInvestigatePlugins) { continue; } foreach ($entryInvestigatePlugins as $plugin) { $this->view->addBasePath($plugin->getTemplatePath()); $this->view->plugins[$plugin->getPHTML()] = $plugin->getDataArray($entryId, $partnerId); } } }
public function doAction(Zend_Controller_Action $action) { $action->getHelper('layout')->disableLayout(); $providerId = $this->_getParam('provider_id'); $this->client = Kaltura_ClientHelper::getClient(); $form = new Form_GenericProviderConfiguration(); $form->setAction($action->view->url(array('controller' => 'plugin', 'action' => 'GenericDistributionProviderConfigureAction'))); $request = $action->getRequest(); $pager = new KalturaFilterPager(); $pager->pageSize = 100; $flavorParamsResponse = $this->client->flavorParams->listAction(null, $pager); $action->view->errMessage = null; $action->view->form = ''; try { if ($providerId) { if ($request->isPost()) { $form->populate($request->getPost()); $genericDistributionProvider = $form->getObject("KalturaGenericDistributionProvider", $request->getPost()); $genericDistributionProvider->partnerId = null; $this->client->genericDistributionProvider->update($providerId, $genericDistributionProvider); $this->saveProviderActions($providerId, $form); } else { $genericDistributionProvider = $this->client->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); foreach ($genericDistributionProvider->requiredThumbDimensions as $dimensions) { $form->addThumbDimensions($dimensions, true); } 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->populate($request->getPost()); $genericDistributionProvider = $form->getObject("KalturaGenericDistributionProvider", $request->getPost()); if (!$genericDistributionProvider->partnerId) { $genericDistributionProvider->partnerId = 0; } Kaltura_ClientHelper::impersonate($genericDistributionProvider->partnerId); $genericDistributionProvider->partnerId = null; $genericDistributionProvider = $this->client->genericDistributionProvider->add($genericDistributionProvider); $this->saveProviderActions($genericDistributionProvider->id, $form); Kaltura_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(); } }
protected function addProviderElements() { $element = new Zend_Form_Element_Hidden('providerElements'); $element->setLabel('Generic Provider Configuration'); $element->setDecorators(array('ViewHelper', array('Label', array('placement' => 'append')), array('HtmlTag', array('tag' => 'b')))); $this->addElements(array($element)); $client = Kaltura_ClientHelper::getClient(); Kaltura_ClientHelper::impersonate($this->partnerId); $genericDistributionProviderList = $client->genericDistributionProvider->listAction(); Kaltura_ClientHelper::unimpersonate(); $this->addElement('select', 'generic_provider_id', array('label' => 'Provider', 'decorators' => array('ViewHelper', array('Label', array('placement' => 'prepend')), array('HtmlTag', array('tag' => 'dt'))))); $element = $this->getElement('generic_provider_id'); if ($genericDistributionProviderList && $genericDistributionProviderList->totalCount) { foreach ($genericDistributionProviderList->objects as $genericDistributionProvider) { $element->addMultiOption($genericDistributionProvider->id, $genericDistributionProvider->name); } } $this->addEntryFields(); $this->addMetadataFields(); }
public function doAction(Zend_Controller_Action $action) { $request = $action->getRequest(); $SystemHelperForm = new Form_SystemHelper(); $SystemHelperFormResult = new Form_SystemHelperResult(); $algo = ""; $secret = ""; $str = $request->getParam('StringToManipulate', false); $algo = $request->getParam('Algorithm', false); $key = $request->getParam('des_key', false); $secret = $request->getParam('secret', false); $res = ""; if ($algo == "wiki_encode") { $res = str_replace(array("|", "/"), array("|01", "|02"), base64_encode(serialize($str))); } elseif ($algo == "wiki_decode") { $res = @unserialize(base64_decode(str_replace(array("|02", "|01"), array("/", "|"), $str))); } elseif ($algo == "wiki_decode_no_serialize") { $res = base64_decode(str_replace(array("|02", "|01"), array("/", "|"), $str)); } elseif ($algo == "base64_encode") { $res = base64_encode($str); } elseif ($algo == "base64_decode") { $res = base64_decode($str); } elseif ($algo == "base64_3des_encode") { $input = $str; $td = mcrypt_module_open('tripledes', '', 'ecb', ''); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); $key = substr($key, 0, mcrypt_enc_get_key_size($td)); mcrypt_generic_init($td, $key, $iv); $encrypted_data = mcrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); $res = base64_encode($encrypted_data); $this->des_key = $key; } elseif ($algo == "base64_3des_decode") { //echo "[$key]"; $input = base64_decode($str); $td = mcrypt_module_open('tripledes', '', 'ecb', ''); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); $key = substr($key, 0, mcrypt_enc_get_key_size($td)); mcrypt_generic_init($td, $key, $iv); $encrypted_data = mdecrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); $res = $encrypted_data; $this->des_key = $key; } elseif ($algo == "ks") { //$ks = ks::fromSecureString ( $str ); // to do ->api Extension $client = Kaltura_ClientHelper::getClient(); $ks = $client->KalturaInternalToolsSystemHelper->fromSecureString($str); $res = print_r($ks, true); if ($ks != null) { $expired = $ks->valid_until; $expired_str = self::formatThisData($expired); $now = time(); $now_str = self::formatThisData($now); $res .= "<br>" . "valid until: " . $expired_str . "<br>now: {$now} ({$now_str})"; } } elseif ($algo == "kwid") { $kwid_str = @base64_decode($str); if (!$kwid_str) { // invalid string return ""; } $cracked = @explode("|", $kwid_str); $names = array("kshow_id", "partner_id", "subp_id", "article_name", "widget_id", "hash"); $combined = array_combine($names, $cracked); $md5 = md5($combined["kshow_id"] . $combined["partner_id"] . $combined["subp_id"] . $combined["article_name"] . $combined["widget_id"] . $secret); $combined["secret"] = $secret; $combined["calculated hash"] = substr($md5, 1, 10); $res = print_r($combined, true); } elseif ($algo == "ip") { //$ip_geo = new myIPGeocoder();// to do ->api Extension $client = Kaltura_ClientHelper::getClient(); if ($str) { $remote_addr = $str; } else { //$remote_addr = requestUtils::getRemoteAddress();// to do ->api Extension $remote_addr = $client->KalturaInternalToolsSystemHelper->getRemoteAddress(); } //$res = $ip_geo->iptocountry( $remote_addr ); $res = $client->KalturaInternalToolsSystemHelper->iptocountry($remote_addr); } $action->view->key = $key; $action->view->secret = $secret; $action->view->str = $str; $SystemHelperFormResult->getElement('results')->setValue($res); $action->view->SystemHelperFormResult = $SystemHelperFormResult; $action->view->algo = $algo; }
public function externalStoragesAction() { $request = $this->getRequest(); $page = $this->_getParam('page', 1); $pageSize = $this->_getParam('pageSize', 10); $client = Kaltura_ClientHelper::getClient(); $form = new Form_PartnerFilter(); $newForm = new Form_NewStorage(); $action = $this->view->url(array('controller' => 'partner', 'action' => 'external-storages'), null, true); $form->setAction($action); // init filter $partnerFilter = $this->getPartnerFilterFromRequest($request); // get results and paginate $paginatorAdapter = new Kaltura_FilterPaginator("storageProfile", "listByPartner", null, $partnerFilter); $paginator = new Kaltura_Paginator($paginatorAdapter, $request); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($pageSize); // popule the form $form->populate($request->getParams()); // set view $this->view->form = $form; $this->view->newForm = $newForm; $this->view->paginator = $paginator; }
private function proccessResetPasswordLinkForm($form, $token) { $request = $this->getRequest(); $formData = $request->getPost(); if (!$token) { $form->setDescription('no hash key given'); return; } if ($form->isValid($formData)) { try { $newPassword = $userId = $request->getParam('newPassword'); $client = Kaltura_ClientHelper::getClient(); $client->setKs(null); $client->user->setInitialPassword($token, $newPassword); $this->_helper->redirector('index'); } catch (Exception $ex) { if ($ex->getCode() === 'LOGIN_DATA_NOT_FOUND' || $ex->getCode() === 'NEW_PASSWORD_HASH_KEY_INVALID') { $form->setDescription('reset link is no longer valid'); } else { if ($ex->getCode() === 'PASSWORD_STRUCTURE_INVALID') { $form->setDescription($ex->getMessage()); } else { if ($ex->getCode() === 'NEW_PASSWORD_HASH_KEY_EXPIRED') { $form->setDescription($ex->getMessage()); } else { if ($ex->getCode() === 'PASSWORD_ALREADY_USED') { $form->setDescription($ex->getMessage()); } else { if ($ex->getCode() === 'INTERNAL_SERVERL_ERROR') { $form->setDescription($ex->getMessage()); } else { throw $ex; } } } } } } } else { $form->populate($formData); } }
private function initPermissions() { $client = Kaltura_ClientHelper::getClient(); $permissions = $client->permission->getCurrentPermissions(); $this->permissions = array_map('trim', explode(',', $permissions)); }
protected function getUiConfFilterFromRequest(Zend_Controller_Request_Abstract $request) { $uiConfFilter = new KalturaUiConfFilter(); $uiConfFilter->objTypeIn = implode(',', array_keys($this->getSupportedUiConfTypes())); $partnerFilter = null; $filterType = $request->getParam('filter_type'); $filterInput = $request->getParam('filter_input'); switch ($filterType) { case 'by-uiconf-id': $uiConfFilter->idIn = $filterInput; break; case 'by-partner-id': $uiConfFilter->partnerIdIn = $filterInput; break; case 'by-partner-name': $partnerFilter = new KalturaPartnerFilter(); $partnerFilter->nameLike = $filterInput; $statuses = array(); $statuses[] = KalturaPartnerStatus::ACTIVE; $statuses[] = KalturaPartnerStatus::BLOCKED; $partnerFilter->statusIn = implode(',', $statuses); $partnerFilter->orderBy = KalturaPartnerOrderBy::ID_DESC; $client = Kaltura_ClientHelper::getClient(); $partnersResponse = $client->systemPartner->listAction($partnerFilter); if (count($partnersResponse->objects) == 0) { $uiConfFilter->idEqual = -1; // nothing should be found } else { $partnerIds = array(); foreach ($partnersResponse->objects as $partner) { $partnerIds[] = $partner->id; } $uiConfFilter->partnerIdIn = implode(',', $partnerIds); } } return $uiConfFilter; }
public function doAction(Zend_Controller_Action $action) { $action->getHelper('layout')->disableLayout(); $this->client = Kaltura_ClientHelper::getClient(); $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 = $this->client->distributionProfile->get($profileId); $providerType = $distributionProfile->providerType; $partnerId = $distributionProfile->partnerId; } else { $providerType = $this->_getParam('provider_type'); $partnerId = $this->_getParam('partner_id'); } $form = null; $profileClass = 'KalturaDistributionProfile'; if ($providerType == KalturaDistributionProviderType::GENERIC) { $form = new Form_GenericProviderProfileConfiguration($partnerId, $providerType); $profileClass = 'KalturaGenericDistributionProfile'; } elseif ($providerType == KalturaDistributionProviderType::SYNDICATION) { $form = new Form_SyndicationProviderProfileConfiguration($partnerId, $providerType); $profileClass = 'KalturaSyndicationDistributionProfile'; } else { $form = KalturaPluginManager::loadObject('Form_ProviderProfileConfiguration', $providerType, array($partnerId, $providerType)); $profileClass = KalturaPluginManager::getObjectClass('KalturaDistributionProfile', $providerType); } 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 KalturaFilterPager(); $pager->pageSize = 100; $flavorParamsResponse = $this->client->flavorParams->listAction(null, $pager); if ($profileId) { if ($request->isPost()) { $form->populate($request->getPost()); $distributionProfile = $form->getObject($profileClass, $request->getPost()); $form->resetUnUpdatebleAttributes($distributionProfile); $distributionProfile = $this->client->distributionProfile->update($profileId, $distributionProfile); $form->saveProviderAdditionalObjects($distributionProfile); $form->setAttrib('class', 'valid'); } else { $form->populateFromObject($distributionProfile); $optionalFlavorParamsIds = array(); $requiredFlavorParamsIds = array(); if (!is_null($distributionProfile->optionalFlavorParamsIds) && strlen($distributionProfile->optionalFlavorParamsIds)) { $optionalFlavorParamsIds = explode(',', $distributionProfile->optionalFlavorParamsIds); } if (!is_null($distributionProfile->requiredFlavorParamsIds) && strlen($distributionProfile->requiredFlavorParamsIds)) { $requiredFlavorParamsIds = explode(',', $distributionProfile->requiredFlavorParamsIds); } $form->addFlavorParamsFields($flavorParamsResponse, $optionalFlavorParamsIds, $requiredFlavorParamsIds); foreach ($distributionProfile->requiredThumbDimensions as $dimensions) { $form->addThumbDimensions($dimensions, true); } foreach ($distributionProfile->optionalThumbDimensions as $dimensions) { $form->addThumbDimensions($dimensions, false); } $form->addThumbDimensionsForm(); } $action->view->form = $form; } else { if ($request->isPost()) { $form->populate($request->getPost()); $distributionProfile = $form->getObject($profileClass, $request->getPost()); if (!$distributionProfile->partnerId) { $distributionProfile->partnerId = 0; } Kaltura_ClientHelper::impersonate($distributionProfile->partnerId); $distributionProfile->partnerId = null; $distributionProfile = $this->client->distributionProfile->add($distributionProfile); Kaltura_ClientHelper::unimpersonate(); $form->saveProviderAdditionalObjects($distributionProfile); $form->setAttrib('class', 'valid'); } else { $form->addFlavorParamsFields($flavorParamsResponse); $form->addThumbDimensionsForm(); } $action->view->form = $form; } } catch (Exception $e) { KalturaLog::err($e->getMessage() . "\n" . $e->getTraceAsString()); $action->view->errMessage = $e->getMessage(); } }