Exemple #1
0
 /**
  * Adds email verification request
  * Sends message with verification link to affiliate
  *
  * @param string $email
  * @return bool
  */
 public function addVerificationRequest($email)
 {
     if (!mb_strlen($email)) {
         return false;
     }
     $affiliate = $this->affiliateDao->findByEmail($email);
     if (!$affiliate) {
         return false;
     }
     $time = time();
     $code = sha1($email . $time);
     $verification = $this->verificationDao->findByAffiliateId($affiliate->id);
     if (!$verification) {
         $verification = new OCSAFFILIATES_BOL_Verification();
     }
     $verification->affiliateId = $affiliate->id;
     $verification->code = $code;
     $verification->startStamp = $time;
     $verification->expireStamp = $time + 7 * 24 * 60 * 60;
     $this->verificationDao->save($verification);
     // send email
     $language = OW::getLanguage();
     $url = $this->getVerificationLink($affiliate->id, $code);
     $vars = array('name' => $affiliate->name, 'url' => $url);
     $mail = OW::getMailer()->createMail();
     $mail->addRecipientEmail($email);
     $mail->setSubject($language->text('ocsaffiliates', 'verification_mail_template_subject'));
     $mail->setTextContent($language->text('ocsaffiliates', 'verification_mail_template_content_txt', $vars));
     $mail->setHtmlContent($language->text('ocsaffiliates', 'verification_mail_template_content_html', $vars));
     OW::getMailer()->send($mail);
     return true;
 }