/** * * @param AccountInvitation $model * @return boolean */ public function createAccountInvitation($model) { // foreach email create one separate invitation record $emails = explode(',', $model->account_invitation_to_email); foreach ($emails as $invite) { $inviteModel = new AccountInvitation(); $inviteModel->account_invitation_to_email = trim($invite); $inviteModel->account_invitation_master_id = Yii::app()->user->id; $inviteModel->account_invitation_date = date('Y-m-d H:i'); $inviteModel->account_invitation_status = 0; $inviteModel->account_invitation_rand_key = AccountInvitation::generateInvitationKey(); $inviteModel->account_invitation_project = $model->account_invitation_project; $inviteModel->account_invitation_type = $model->account_invitation_type; $inviteModel->account_invitation_subscription_id = $model->account_invitation_subscription_id; $result_return = $inviteModel->save(); if ($result_return) { // send email $message = new YiiMailMessage(); $sender_name = AccountProfile::model()->getShortFullName(Yii::app()->user->id); // if this invitee already has an account with LinxCircle // use a different invitation template $tempAccount = Account::model()->getAccountByEmail(trim($invite)); if ($tempAccount != null) { $message->view = "invitationEmailExistingAccount"; $subject = $sender_name . ' invited you to join a team on ' . Yii::app()->name; } else { $message->view = "invitationEmail"; $subject = $sender_name . ' invites you to join ' . Yii::app()->name; } //userModel is passed to the view $message->setBody(array('invitation_accept_url' => AccountInvitation::generateInvitationURL($inviteModel->account_invitation_id, $inviteModel->account_invitation_rand_key), 'invitation_message' => $model->account_invitation_message), 'text/html'); $message->setSubject($subject); //$message->setBody($body, 'text/html'); //$message->addTo($model->account_invitation_to_email); $message->addTo($invite); $message->setFrom('*****@*****.**'); Yii::app()->mail->send($message); } } return true; }