/** * Create a new Partner object * * @action register * @param KalturaPartner $partner * @param string $cmsPassword * @param int $templatePartnerId * @return KalturaPartner * * @throws APIErrors::PARTNER_REGISTRATION_ERROR */ public function registerAction(KalturaPartner $partner, $cmsPassword = "", $templatePartnerId = null) { KalturaResponseCacher::disableCache(); $dbPartner = $partner->toPartner(); $c = new Criteria(); $c->addAnd(UserLoginDataPeer::LOGIN_EMAIL, $partner->adminEmail, Criteria::EQUAL); $c->setLimit(1); $existingUser = UserLoginDataPeer::doCount($c) > 0; try { if ($cmsPassword == "") { $cmsPassword = null; } $parentPartnerId = null; if ($this->getKs() && $this->getKs()->isAdmin()) { $parentPartnerId = $this->getKs()->partner_id; if ($parentPartnerId == Partner::ADMIN_CONSOLE_PARTNER_ID) { $parentPartnerId = null; } else { // only if this partner is a var/group, allow setting it as parent for the new created partner $parentPartner = PartnerPeer::retrieveByPK($parentPartnerId); if (!($parentPartner->getPartnerGroupType() == PartnerGroupType::VAR_GROUP || $parentPartner->getPartnerGroupType() == PartnerGroupType::GROUP)) { throw new KalturaAPIException(KalturaErrors::NON_GROUP_PARTNER_ATTEMPTING_TO_ASSIGN_CHILD, $parentPartnerId); } if ($templatePartnerId) { $templatePartner = PartnerPeer::retrieveByPK($templatePartnerId); if (!$templatePartner || $templatePartner->getPartnerParentId() != $parentPartnerId) { throw new KalturaAPIException(KalturaErrors::NON_GROUP_PARTNER_ATTEMPTING_TO_ASSIGN_CHILD, $parentPartnerId); } } } } $partner_registration = new myPartnerRegistration($parentPartnerId); $ignorePassword = false; if ($existingUser && $this->getKs()->partner_id == Partner::ADMIN_CONSOLE_PARTNER_ID && kuserPeer::getKuserByEmail($partner->adminEmail, Partner::ADMIN_CONSOLE_PARTNER_ID) != null) { $ignorePassword = true; } list($pid, $subpid, $pass, $hashKey) = $partner_registration->initNewPartner($dbPartner->getName(), $dbPartner->getAdminName(), $dbPartner->getAdminEmail(), $dbPartner->getCommercialUse(), "yes", $dbPartner->getDescription(), $dbPartner->getUrl1(), $cmsPassword, $dbPartner, $ignorePassword, $templatePartnerId); $dbPartner = PartnerPeer::retrieveByPK($pid); // send a confirmation email as well as the result of the service $partner_registration->sendRegistrationInformationForPartner($dbPartner, false, $existingUser); } catch (SignupException $se) { KalturaLog::INFO($se); throw new KalturaAPIException(APIErrors::PARTNER_REGISTRATION_ERROR, 'SE ' . $se->getMessage()); } catch (Exception $ex) { KalturaLog::CRIT($ex); // this assumes the partner name is unique - TODO - remove key from DB ! throw new KalturaAPIException(APIErrors::PARTNER_REGISTRATION_ERROR, $ex->getMessage()); } $partner = new KalturaPartner(); // start from blank $partner->fromPartner($dbPartner); $partner->secret = $dbPartner->getSecret(); $partner->adminSecret = $dbPartner->getAdminSecret(); $partner->cmsPassword = $pass; return $partner; }
require_once "../../bootstrap.php"; KalturaLog::setContext("TESTME"); $service = $_GET["service"]; $action = $_GET["action"]; $bench_start = microtime(true); KalturaLog::INFO(">------- api_v3 testme [{$service}][{$action}]-------"); function toArrayRecursive(KalturaPropertyInfo $propInfo) { return $propInfo->toArray(); } $serviceMap = KalturaServicesMap::getMap(); $actionInfo = null; try { $serviceReflector = $serviceMap[strtolower($service)]; /* @var $serviceReflector KalturaServiceActionItem */ $actionReflector = new KalturaActionReflector($service, $action, $serviceReflector->actionMap[$action]); $actionParams = $actionReflector->getActionParams(); $actionInfo = $actionReflector->getActionInfo(); $actionInfo = array("actionParams" => array(), "description" => $actionInfo->description); foreach ($actionParams as $actionParam) { $actionInfo["actionParams"][] = toArrayRecursive($actionParam); } } catch (Exception $ex) { KalturaLog::ERR("<------- api_v3 testme [{$service}][{$action}\n" . $ex->__toString() . " " . " -------"); } //echo "<pre>"; //echo print_r($actionInfo); echo json_encode($actionInfo); $bench_end = microtime(true); KalturaLog::INFO("<------- api_v3 testme [{$service}][{$action}][" . ($bench_end - $bench_start) . "] -------");
$subClasses = array(); try { KalturaTypeReflector::setClassInheritMapPath(KAutoloader::buildPath(kConf::get("cache_root_path"), "api_v3", "KalturaClassInheritMap.cache")); if (!KalturaTypeReflector::hasClassInheritMapCache()) { $config = new Zend_Config_Ini("../../config/testme.ini"); $indexConfig = $config->get('testme'); $include = $indexConfig->get("include"); $exclude = $indexConfig->get("exclude"); $excludePaths = $indexConfig->get("excludepaths"); $additional = $indexConfig->get("additional"); $clientGenerator = new DummyForDocsClientGenerator(); $clientGenerator->setIncludeOrExcludeList($include, $exclude, $excludePaths); $clientGenerator->setAdditionalList($additional); $clientGenerator->load(); $objects = $clientGenerator->getTypes(); KalturaTypeReflector::setClassMap(array_keys($objects)); } $subClassesNames = KalturaTypeReflector::getSubClasses($type); foreach ($subClassesNames as $subClassName) { $subClass = new KalturaPropertyInfo($subClassName); $subClasses[] = $subClass->toArray(); } } catch (Exception $ex) { KalturaLog::ERR("<------- api_v3 testme [{$type}]\n" . $ex->__toString() . " " . " -------"); } //echo "<pre>"; //echo print_r($actionInfo); echo json_encode($subClasses); $bench_end = microtime(true); KalturaLog::INFO("<------- api_v3 testme type [{$type}][" . ($bench_end - $bench_start) . "] -------");