/**
  * Returns a new Codendi_Mail.
  *
  * @return Codendi_Mail
  */
 public function getMail($login, $password, $confirm_hash, $base_url, $from, $to, $presenter_role)
 {
     if ($presenter_role === "user") {
         $subject = $GLOBALS['Language']->getText('include_proj_email', 'account_register', $GLOBALS['sys_name']);
         include $GLOBALS['Language']->getContent('include/new_user_email');
     } else {
         if ($presenter_role === "admin") {
             $subject = $GLOBALS['Language']->getText('account_register', 'welcome_email_title', $GLOBALS['sys_name']);
             include $GLOBALS['Language']->getContent('account/new_account_email');
         } else {
             if ($presenter_role === "admin-notification") {
                 $redirect_url = $base_url . "/admin/approve_pending_users.php?page=pending";
                 $subject = $GLOBALS['Language']->getText('account_register', 'mail_approval_subject', $login);
                 $message = $this->createNotificationMessageText($login, $redirect_url);
             } else {
                 $subject = $GLOBALS['Language']->getText('admin_approve_pending_users', 'title', $GLOBALS['sys_name']);
                 include $GLOBALS['Language']->getContent('admin/new_account_email');
             }
         }
     }
     $mail = new Codendi_Mail();
     $cid_logo = $this->addLogoInAttachment($mail);
     $mail->setSubject($subject);
     $mail->setTo($to);
     $mail->setBodyHtml($this->renderer->renderToString($this->template, $this->mail_presenter_factory->createMailAccountPresenter($login, $password, $confirm_hash, $presenter_role, $cid_logo)), Codendi_Mail::DISCARD_COMMON_LOOK_AND_FEEL);
     $mail->setBodyText($message);
     $mail->setFrom($from);
     return $mail;
 }
Esempio n. 2
0
                $displayed_image = false;
            } else {
                $content = $Language->getText('account_register', 'msg_confirm', array($GLOBALS['sys_name'], $user_name));
                $redirect_url = '/';
                $redirect_content = $Language->getText('account_register', 'msg_redirect');
            }
        } else {
            // Registration requires approval
            // inform the user that approval is required
            $href_approval = get_server_url() . '/admin/approve_pending_users.php?page=pending';
            $title = $Language->getText('account_register', 'title_approval');
            $content = $Language->getText('account_register', 'msg_approval', array($GLOBALS['sys_name'], $user_name, $href_approval));
            $redirect_url = '/';
            $redirect_content = $Language->getText('account_register', 'msg_redirect');
            $presenter = new MailPresenterFactory();
            $email_presenter = $presenter->createMailAccountPresenter($user_name, '', $mail_confirm_code, "user", $logo_retriever->getUrl());
        }
        $presenter = new Account_ConfirmationPresenter($title, $content, $thanks, $is_thanks, $redirect_url, $redirect_content, $displayed_image, $image_url, $email_presenter);
        $template = 'confirmation';
    }
}
if ($page != 'admin_creation') {
    require_once 'common/event/EventManager.class.php';
    $em =& EventManager::instance();
    $em->processEvent('before_register', array());
}
$body_class = array('register-page');
if ($page == 'admin_creation') {
    $body_class[] = 'admin_register';
}
//