/** * 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; }
public function getListResponse(KalturaFilterPager $pager, KalturaDetachedResponseProfile $responseProfile = null) { $userLoginDataFilter = $this->toObject(); $c = new Criteria(); $userLoginDataFilter->attachToCriteria($c); $totalCount = UserLoginDataPeer::doCount($c); $pager->attachToCriteria($c); $list = UserLoginDataPeer::doSelect($c); $newList = KalturaUserLoginDataArray::fromDbArray($list, $responseProfile); $response = new KalturaUserLoginDataListResponse(); $response->totalCount = $totalCount; $response->objects = $newList; return $response; }
/** * Action which checks whther user login * @action checkLoginDataExists * @actionAlias user.checkLoginDataExists * @param KalturaUserLoginDataFilter $filter * @return bool */ public function checkLoginDataExistsAction(KalturaUserLoginDataFilter $filter) { if (!$filter) { $filter = new KalturaUserLoginDataFilter(); $filter->loginEmailEqual = $this->getPartner()->getAdminEmail(); } $userLoginDataFilter = new UserLoginDataFilter(); $filter->toObject($userLoginDataFilter); $c = new Criteria(); $userLoginDataFilter->attachToCriteria($c); $totalCount = UserLoginDataPeer::doCount($c); if ($totalCount) { return true; } return false; }
public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser) { defPartnerservices2baseAction::disableCache(); $partner = new Partner(); $obj_wrapper = objectWrapperBase::getWrapperClass($partner, 0); $fields_modified = baseObjectUtils::fillObjectFromMap($this->getInputParams(), $partner, "partner_", $obj_wrapper->getUpdateableFields()); $c = new Criteria(); $c->addAnd(UserLoginDataPeer::LOGIN_EMAIL, $partner->getAdminEmail(), Criteria::EQUAL); $c->setLimit(1); $existingUser = UserLoginDataPeer::doCount($c) > 0; // check that mandatory fields were set // TODO if (count($fields_modified) > 0) { try { $cms_password = $this->getP("cms_password"); $partner_registration = new myPartnerRegistration(); list($pid, $subpid, $pass, $hashKey) = $partner_registration->initNewPartner($partner->getName(), $partner->getAdminName(), $partner->getAdminEmail(), $partner->getCommercialUse(), "yes", $partner->getDescription(), $partner->getUrl1(), $cms_password, $partner); $partner_from_db = PartnerPeer::retrieveByPK($pid); $partner_registration->sendRegistrationInformationForPartner($partner_from_db, false, $existingUser); } catch (SignupException $se) { $this->addError(APIErrors::PARTNER_REGISTRATION_ERROR, $se->getMessage()); return; } catch (Exception $ex) { // this assumes the partner name is unique - TODO - remove key from DB ! $this->addError(APIErrors::SERVERL_ERROR, "Partner with name already exists"); $this->addError(APIErrors::SERVERL_ERROR, $ex->getMessage()); return; } $this->addMsg("partner", objectWrapperBase::getWrapperClass($partner_from_db, objectWrapperBase::DETAIL_LEVEL_DETAILED)); $this->addMsg("subp_id", $subpid); $this->addMsg("cms_password", $pass); $this->addDebug("added_fields", $fields_modified); } else { $this->addError(APIErrors::NO_FIELDS_SET_FOR_PARTNER); } }
/** * @action listUserLoginData * @param KalturaUserLoginDataFilter $filter * @param KalturaFilterPager $pager * @return KalturaUserLoginDataListResponse */ public function listUserLoginDataAction(KalturaUserLoginDataFilter $filter = null, KalturaFilterPager $pager = null) { KalturaLog::debug("start listUserLoginDataAction"); if (is_null($filter)) { $filter = new KalturaUserLoginDataFilter(); } if (is_null($pager)) { $pager = new KalturaFilterPager(); } $userLoginDataFilter = new UserLoginDataFilter(); $filter->toObject($userLoginDataFilter); $c = new Criteria(); $userLoginDataFilter->attachToCriteria($c); $totalCount = UserLoginDataPeer::doCount($c); $pager->attachToCriteria($c); $list = UserLoginDataPeer::doSelect($c); $newList = KalturaUserLoginDataArray::fromUserLoginDataArray($list); $response = new KalturaUserLoginDataListResponse(); $response->totalCount = $totalCount; $response->objects = $newList; return $response; }