public function executeCreate(sfWebRequest $request) { $i18n = sfContext::getInstance()->getI18N(); $form = new InvitePrincipalForm(); $a = $request->getParameter($form->getName()); $oid = $a['o_id']; $form->bind($request->getParameter('invite')); if (!$form->isValid()) { $this->getUser()->setFlash('notice', $i18n->__('Could not send the invitation, please check the e-mail address and try again!')); $this->redirect("show/index?id=" . $oid); } $emails = $form->getValue('email'); $o_id = $form->getValue('o_id'); $role_id = $form->getValue('role_id'); $m = $form->getValue('message'); $o = Doctrine::getTable('Organization')->find($o_id); $p = $this->getUser()->getPrincipal(); foreach ($emails as $email) { $uuid = uniqid(); $i = new Invitation(); $i->setEmail($email); $i->setOrganization($o); $i->setUuid($uuid); $i->setCreatedAt(date('Y-m-d H:i:s')); $i->setCounter(1); $i->setInviter($p); $i->setStatus('pending'); $i->setRoleId($role_id); $i->save(); $r = $i->getRole(); /* Send email */ $params = array("i" => $i, "m" => $m, "o" => $o, "p" => $p, "r" => $r, "reinvite" => FALSE); $email_params = array("to" => $i->getEmail(), "subject" => $i18n->__('Invitation to %organization% organization', array("%organization%" => $o)), "bodyhtml" => $this->getPartial('invitePrincipal/inviteHtml', $params)); $this->sendEmail($email_params); $to = $o->getManagersEmailArray(); $params = array("o" => $o, "p" => $p, "r" => $r, "email" => $email); $email_params = array("to" => $to, "subject" => $i18n->__('Invitation of %email% to %organization% organization', array("%email%" => $email, "%organization%" => $o)), "bodyhtml" => $this->getPartial('invitePrincipal/inviteNoticeHtml', $params)); $this->sendEmail($email_params); } $this->getUser()->setFlash('notice', $i18n->__('The invitation has been sent.')); $this->redirect("show/index?id=" . $o->getId()); }