/** * Prepare variables for assignment in spam notifications * * @param Mail $mail * @return array */ protected function getVariablesForSpamNotification(Mail $mail) { return array('mail' => $mail, 'pid' => FrontendUtility::getCurrentPageIdentifier(), 'calculatedMailSpamFactor' => $this->getCalculatedMailSpamFactor(true), 'messages' => $this->getMessages(), 'ipAddress' => !ConfigurationUtility::isDisableIpLogActive() ? GeneralUtility::getIndpEnv('REMOTE_ADDR') : '', 'time' => new \DateTime()); }
/** * Save mail on submit * * @param Mail $mail * @return void */ protected function saveMail(Mail &$mail = null) { $marketingInfos = SessionUtility::getMarketingInfos(); $mail->setPid(FrontendUtility::getStoragePage($this->settings['main']['pid']))->setSenderMail($this->mailRepository->getSenderMailFromArguments($mail))->setSenderName($this->mailRepository->getSenderNameFromArguments($mail))->setSubject($this->settings['receiver']['subject'])->setReceiverMail($this->settings['receiver']['email'])->setBody(DebugUtility::viewArray($this->mailRepository->getVariablesWithMarkersFromMail($mail)))->setSpamFactor(SessionUtility::getSpamFactorFromSession())->setTime(time() - SessionUtility::getFormStartFromSession($mail->getForm()->getUid(), $this->settings))->setUserAgent(GeneralUtility::getIndpEnv('HTTP_USER_AGENT'))->setMarketingRefererDomain($marketingInfos['refererDomain'])->setMarketingReferer($marketingInfos['referer'])->setMarketingCountry($marketingInfos['country'])->setMarketingMobileDevice($marketingInfos['mobileDevice'])->setMarketingFrontendLanguage($marketingInfos['frontendLanguage'])->setMarketingBrowserLanguage($marketingInfos['browserLanguage'])->setMarketingPageFunnel($marketingInfos['pageFunnel']); if (FrontendUtility::isLoggedInFrontendUser()) { $mail->setFeuser($this->userRepository->findByUid(FrontendUtility::getPropertyFromLoggedInFrontendUser('uid'))); } if (!ConfigurationUtility::isDisableIpLogActive()) { $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(FrontendUtility::getStoragePage($this->settings['main']['pid'])); } $this->mailRepository->add($mail); $this->persistenceManager->persistAll(); }
/** * Check if IP information should be shown * * @return bool */ public function render() { return !ConfigurationUtility::isDisableIpLogActive(); }