コード例 #1
0
 /**
  * Invites a not registered member to this space
  *
  * @param type $email
  * @param type $originatorUserId
  */
 public function inviteMemberByEMail($email, $originatorUserId)
 {
     // Invalid E-Mail
     $validator = new \yii\validators\EmailValidator();
     if (!$validator->validate($email)) {
         return false;
     }
     // User already registered
     $user = User::findOne(['email' => $email]);
     if ($user != null) {
         return false;
     }
     $userInvite = Invite::findOne(['email' => $email]);
     // No invite yet
     if ($userInvite == null) {
         // Invite EXTERNAL user
         $userInvite = new Invite();
         $userInvite->email = $email;
         $userInvite->source = Invite::SOURCE_INVITE;
         $userInvite->user_originator_id = $originatorUserId;
         $userInvite->space_invite_id = $this->owner->id;
         // There is a pending registration
         // Steal it und send mail again
         // Unfortunately there a no multiple workspace invites supported
         // so we take the last one
     } else {
         $userInvite->user_originator_id = $originatorUserId;
         $userInvite->space_invite_id = $this->owner->id;
     }
     if ($userInvite->validate() && $userInvite->save()) {
         $userInvite->sendInviteMail();
         return true;
     }
     return false;
 }