/**
  * 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;
 }
コード例 #2
0
 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;
 }
コード例 #3
0
ファイル: VarConsoleService.php プロジェクト: DBezemer/server
 /**
  * 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;
 }
コード例 #4
0
 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;
 }