示例#1
0
 public function configureAction()
 {
     $this->_helper->layout->disableLayout();
     $partnerId = $this->_getParam('partner_id');
     $client = Infra_ClientHelper::getClient();
     $systemPartnerPlugin = Kaltura_Client_SystemPartner_Plugin::get($client);
     $partner = Zend_Registry::get('config')->partner;
     $allowNonePackage = isset($partner->enableNonePackage) ? $partner->enableNonePackage : false;
     $client->startMultiRequest();
     $systemPartnerPlugin->systemPartner->getPackages();
     $systemPartnerPlugin->systemPartner->getPackagesVertical();
     $systemPartnerPlugin->systemPartner->getPackagesClassOfService();
     $systemPartnerPlugin->systemPartner->getPlayerEmbedCodeTypes();
     $systemPartnerPlugin->systemPartner->getPlayerDeliveryTypes();
     list($packages, $packagesVertical, $packagesClassOfService, $playerEmbedCodeTypes, $playerDeliveryTypes) = $client->doMultiRequest();
     $systemDefaults = new Kaltura_Client_Type_PlayerEmbedCodeType();
     $systemDefaults->id = '';
     $systemDefaults->label = 'Use System Defaults';
     $playerEmbedCodeTypes[] = $systemDefaults;
     $systemDefaults = new Kaltura_Client_Type_PlayerDeliveryType();
     $systemDefaults->id = '';
     $systemDefaults->label = 'Use System Defaults';
     $playerDeliveryTypes[] = $systemDefaults;
     $form = new Form_PartnerConfiguration(array('playerDeliveryTypes' => $playerDeliveryTypes));
     Form_PackageHelper::addPackagesToForm($form, $packages, 'partner_package', $allowNonePackage);
     Form_PackageHelper::addPackagesToForm($form, $packagesVertical, 'vertical_clasiffication');
     Form_PackageHelper::addPackagesToForm($form, $packagesClassOfService, 'partner_package_class_of_service');
     Form_PackageHelper::addOptionsToForm($form, $playerEmbedCodeTypes, 'default_embed_code_type', 'label');
     Form_PackageHelper::addOptionsToForm($form, $playerDeliveryTypes, 'default_delivery_type', 'label');
     $request = $this->getRequest();
     $this->view->errMessage = false;
     if ($request->isPost()) {
         if ($form->isValid($request->getPost())) {
             $this->view->formValid = true;
             $form->populate($request->getPost());
             $config = $form->getObject("Kaltura_Client_SystemPartner_Type_SystemPartnerConfiguration", $request->getPost());
             $config->extendedFreeTrailExpiryDate = strtotime($this->_getParam('extended_free_trail_expiry_date'));
             try {
                 $systemPartnerPlugin->systemPartner->updateConfiguration($partnerId, $config);
             } catch (Exception $e) {
                 if ($e->getCode() == 'PARTNER_AUDIO_THUMB_ENTRY_ID_ERROR') {
                     $this->view->formValid = false;
                     $form->populate($request->getPost());
                     $form->getElement('audio_thumb_entry_id')->addError('wrong entry id or not a \'ready\' image entry');
                 } elseif ($e->getCode() == 'PARTNER_LIVE_THUMB_ENTRY_ID_ERROR') {
                     $this->view->formValid = false;
                     $form->populate($request->getPost());
                     $form->getElement('live_thumb_entry_id')->addError('wrong entry id or not a \'ready\' image entry');
                 } else {
                     $this->view->errMessage = $e->getMessage();
                 }
             }
             $extentFreeTrail = $this->_getParam('extended_free_trail');
             if (isset($extentFreeTrail) && $extentFreeTrail) {
                 $status = Kaltura_Client_Enum_PartnerStatus::ACTIVE;
                 $client = Infra_ClientHelper::getClient();
                 $systemPartnerPlugin = Kaltura_Client_SystemPartner_Plugin::get($client);
                 $systemPartnerPlugin->systemPartner->updateStatus($partnerId, $status, "Activated due to trial extension");
             }
         } else {
             $this->view->formValid = false;
             $form->populate($request->getPost());
         }
     } else {
         $client->startMultiRequest();
         $systemPartnerPlugin->systemPartner->get($partnerId);
         $systemPartnerPlugin->systemPartner->getConfiguration($partnerId);
         try {
             $result = $client->doMultiRequest();
             $partner = $result[0];
             $config = $result[1];
             $form->populateFromObject($config);
         } catch (Exception $e) {
             $this->view->errMessage = $e->getMessage();
         }
         $form->getElement('monitor_usage_history')->setAttrib('onClick', 'openViewHistory(' . $partnerId . ')');
         $monitorUsageDataElement = $form->getElement('extended_free_trail_expiry_date');
         $monitorUsageDataElement->setValue(date("m/d/y", $monitorUsageDataElement->getValue()));
     }
     $this->view->form = $form;
     $this->view->partnerId = $partnerId;
 }