Exemplo n.º 1
0
 /**
  * Save mail on submit
  *
  * @param \In2code\Powermail\Domain\Model\Mail $mail
  * @return void
  */
 protected function saveMail(Mail &$mail = NULL)
 {
     $marketingInfos = Div::getMarketingInfos();
     $mail->setPid(Div::getStoragePage($this->settings['main']['pid']));
     $mail->setSenderMail($this->div->getSenderMailFromArguments($mail));
     $mail->setSenderName($this->div->getSenderNameFromArguments($mail));
     $mail->setSubject($this->settings['receiver']['subject']);
     $mail->setReceiverMail($this->settings['receiver']['email']);
     $mail->setBody(\TYPO3\CMS\Core\Utility\DebugUtility::viewArray($this->div->getVariablesWithLabels($mail)));
     $mail->setSpamFactor($GLOBALS['TSFE']->fe_user->getKey('ses', 'powermail_spamfactor'));
     $mail->setTime(time() - Div::getFormStartFromSession($mail->getForm()->getUid()));
     $mail->setUserAgent(GeneralUtility::getIndpEnv('HTTP_USER_AGENT'));
     $mail->setMarketingRefererDomain($marketingInfos['refererDomain']);
     $mail->setMarketingReferer($marketingInfos['referer']);
     $mail->setMarketingCountry($marketingInfos['country']);
     $mail->setMarketingMobileDevice($marketingInfos['mobileDevice']);
     $mail->setMarketingFrontendLanguage($marketingInfos['frontendLanguage']);
     $mail->setMarketingBrowserLanguage($marketingInfos['browserLanguage']);
     $mail->setMarketingPageFunnel($marketingInfos['pageFunnel']);
     if (intval($GLOBALS['TSFE']->fe_user->user['uid']) > 0) {
         $mail->setFeuser($this->userRepository->findByUid(Div::getPropertyFromLoggedInFeUser('uid')));
     }
     if (empty($this->settings['global']['disableIpLog'])) {
         $mail->setSenderIp(GeneralUtility::getIndpEnv('REMOTE_ADDR'));
     }
     if ($this->settings['main']['optin'] || $this->settings['db']['hidden']) {
         $mail->setHidden(TRUE);
     }
     foreach ($mail->getAnswers() as $answer) {
         $answer->setPid(Div::getStoragePage($this->settings['main']['pid']));
     }
     $this->mailRepository->add($mail);
     $this->persistenceManager->persistAll();
 }
Exemplo n.º 2
0
 /**
  * Update mail record with parsed fields
  *
  * @param array $email
  */
 protected function updateMail(array $email)
 {
     if ($this->type === 'receiver' && $email['variables']['hash'] === null) {
         $this->mail->setSenderMail($email['senderEmail']);
         $this->mail->setSenderName($email['senderName']);
         $this->mail->setSubject($email['subject']);
     }
 }