public function populateFromObject(Form_PartnerConfiguration $form, Kaltura_Client_SystemPartner_Type_SystemPartnerConfiguration $partnerConfiguration, Kaltura_Client_SystemPartner_Type_SystemPartnerLimit $object, $add_underscore = true) { $isPermitted = true; if (count($this->requiredPartnerPermissions)) { $isPermitted = false; $requiredPartnerPermissions = array_flip($this->requiredPartnerPermissions); if ($partnerConfiguration->permissions && count($partnerConfiguration->permissions)) { foreach ($partnerConfiguration->permissions as $permission) { if (isset($requiredPartnerPermissions[$permission->name]) && $permission->status == Kaltura_Client_Enum_PermissionStatus::ACTIVE) { unset($requiredPartnerPermissions[$permission->name]); } } } if (!count($requiredPartnerPermissions)) { $isPermitted = true; } } $props = $object; if (is_object($object)) { $props = get_object_vars($object); } foreach ($props as $prop => $value) { if ($add_underscore) { $pattern = '/(.)([A-Z])/'; $replacement = '\\1_\\2'; $prop = strtolower(preg_replace($pattern, $replacement, $prop)); } $elementName = $this->limitType . '_' . $prop; $form->setDefault($elementName, $value); if (!$isPermitted) { $element = $form->getElement($elementName); if ($element) { $element->setOptions(array('disabled' => true)); } } } }
public function configureAction() { $this->_helper->layout->disableLayout(); $partnerId = $this->_getParam('partner_id'); $client = Infra_ClientHelper::getClient(); $form = new Form_PartnerConfiguration(); $systemPartnerPlugin = Kaltura_Client_SystemPartner_Plugin::get($client); $partner = Zend_Registry::get('config')->partner; $allowNonePackage = isset($partner->enableNonePackage) ? $partner->enableNonePackage : false; // Form_PackageHelper::addPackagesToForm($form, $systemPartnerPlugin->systemPartner->getPackages(), 'partner_package', $allowNonePackage); // Form_PackageHelper::addPackagesToForm($form, $systemPartnerPlugin->systemPartner->getPackagesClassOfService(), 'partner_package_class_of_service'); // Form_PackageHelper::addPackagesToForm($form, $systemPartnerPlugin->systemPartner->getPackagesVertical(), 'vertical_clasiffication'); $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')); // support clear wamsAccountName and wamsAccountKey if (is_null($config->wamsAccountName)) { $config->wamsAccountName = ''; } if (is_null($config->wamsAccountKey)) { $config->wamsAccountKey = ''; } try { $systemPartnerPlugin->systemPartner->updateConfiguration($partnerId, $config); } catch (Exception $e) { $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); } } 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; }