/** * Show Form action step 3 * * @param \Winkel\WinkelProducts\Domain\Model\Bearing $bearing * @param string $firstName * @param string $lastName * @param string $companyName * @param string $email * @param string $address * @param string $cadFormat * @param string $cadDownloadUrl * @return void * @see http://forge.typo3.org/projects/typo3v45-projects/wiki/SwiftMailer * @todo $cadFormat / $cadDownloadUrl prüfen */ public function showFormStep3Action(\Winkel\WinkelProducts\Domain\Model\Bearing $bearing = NULL, $firstName, $lastName, $companyName, $email, $phone, $cadFormat = NULL, $cadDownloadUrl = NULL) { $error = FALSE; $textProfile = ''; $textFlangePlate = ''; $request = $this->request->getArguments(); // echo '<pre>'; // var_dump($request); // echo '</pre>'; if (array_key_exists('firstName', $request)) { $firstName = $this->request->getArgument('firstName'); } if (array_key_exists('lastName', $request)) { $lastName = $this->request->getArgument('lastName'); } if (array_key_exists('companyName', $request)) { $companyName = $this->request->getArgument('companyName'); } if (array_key_exists('address', $request)) { $address = $this->request->getArgument('address'); } if (array_key_exists('zip', $request)) { $zip = $this->request->getArgument('zip'); } if (array_key_exists('city', $request)) { $city = $this->request->getArgument('city'); } if (array_key_exists('country', $request)) { $country = $this->request->getArgument('country'); } if (array_key_exists('email', $request)) { // todo validEmail if (\TYPO3\CMS\Core\Utility\GeneralUtility::validEmail($this->request->getArgument('email')) === TRUE) { $textContact = 'E-Mail: ' . $this->request->getArgument('email') . "\n"; $email = $this->request->getArgument('email'); } else { $error = TRUE; $this->flashMessageContainer->add('Fehlerhafte E-Mail'); } } else { $error = TRUE; $this->flashMessageContainer->add('Keine E-Mail'); } if (array_key_exists('phone', $request)) { $phone = $this->request->getArgument('phone'); } foreach ($request as $key => $singleRequest) { // Flangeplate if (substr($key, -8) == '-count-f') { $anfang = substr($key, 0, -8); $flangeplate[$this->request->getArgument($anfang . '-name-f')] = array('count' => $this->request->getArgument($anfang . '-count-f'), 'uid' => $this->request->getArgument($anfang . '-uid-f'), 'name' => $this->request->getArgument($anfang . '-name-f')); $textFlangePlate .= 'Flangeplate: ' . $this->request->getArgument($anfang . '-count-f') . ' Stück ' . $this->request->getArgument($anfang . '-name-f') . "\n\n"; } // Profile // lenght ist nur bei profilen vorhanden! if (substr($key, -7) == '-length') { $anfang = substr($key, 0, -7); $profile[$this->request->getArgument($anfang . '-name')] = array('count' => $this->request->getArgument($anfang . '-count'), 'lenght' => $this->request->getArgument($anfang . '-length'), 'uid' => $this->request->getArgument($anfang . '-uid'), 'name' => $this->request->getArgument($anfang . '-name')); $profile[$this->request->getArgument($anfang . '-name')]['fine-straightened'] = ''; if (array_key_exists($anfang . '-fine-straightened', $request)) { if ($this->request->getArgument($anfang . '-fine-straightened') == '1') { $profile[$this->request->getArgument($anfang . '-name')]['fine-straightened'] = ' Feingerichtet'; } } $textProfile .= 'Profil: ' . $this->request->getArgument($anfang . '-count') . ' Stück ' . "\n" . $this->request->getArgument($anfang . '-name') . "\n" . ' Länge: ' . $this->request->getArgument($anfang . '-length') . ' mm' . "\n" . $profile[$this->request->getArgument($anfang . '-name')]['fine-straightened'] . "\n\n"; } } if ($textFlangePlate != '') { $textFlangePlate = 'Gewählte Anschraubplatten:' . "\n" . '==========================' . "\n" . $textFlangePlate; } if ($textProfile != '') { $textProfile = 'Gewählte Profile:' . "\n" . '==========================' . "\n" . $textProfile; } #echo '<pre>'; #var_dump($profile); #echo '</pre>'; /* if(array_key_exists('profile', $request)) { $profileUid = intval($this->request->getArgument('profile')); $profile = $this->profileRepository->findByUid($profileUid); $textProfile = 'Profile: ' . $this->request->getArgument('profile-count') . ' Stück ' . $profile->getTitle() . ' Länge: ' . $this->request->getArgument('profile-length') . ' Meter'. "\n". ' Feingerichtet: ' . $this->request->getArgument('profile-fine-straightened'); $this->view->assign('currentProfile', $profile); } else { $textProfile = ''; } if(array_key_exists('flangeplate', $request)) { $flangePlateUid = intval($this->request->getArgument('flangeplate')); #var_dump($flangePlateUid); $flangePlate = $this->flangePlateRepository->findByUid($flangePlateUid); $textFlangePlate = 'FlangePlate: ' . $this->request->getArgument('flangeplate-count') . ' Stück ' . $flangePlate->getType() . "\n"; $this->view->assign('currentFlangePlate', $flangePlate); } else { $textFlangePlate = ''; } */ $moredetails = ''; if ($this->request->hasArgument('moredetails')) { if ($this->request->getArgument('moredetails') != '') { $comment = $this->request->getArgument('moredetails'); $moredetails = 'Weitere Informationen: ' . "\n" . $comment . "\n"; } } $angebot = 0; $angebotMessage = ''; if ($this->request->hasArgument('angebot')) { if ($this->request->getArgument('angebot') == '1') { $angebotMessage = 'Kunde wünscht ein Angebot'; } } if ($_FILES['tx_winkelproducts_pi1']['name']['flangeplate-pdf'] != '') { $flangeplatePdf = 'Anhang vorhanden' . "\n"; #var_dump($_FILES); $basicFileFunctions = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('t3lib_basicFileFunctions'); $fileName = $basicFileFunctions->getUniqueName($_FILES['tx_winkelproducts_pi1']['name']['flangeplate-pdf'], \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('uploads/tx_winkelproducts/')); $mimeType = $_FILES['tx_winkelproducts_pi1']['type']['flangeplate-pdf']; \TYPO3\CMS\Core\Utility\GeneralUtility::upload_copy_move($_FILES['tx_winkelproducts_pi1']['tmp_name']['flangeplate-pdf'], $fileName); $pdf = basename($fileName); #var_dump($fileName); } else { $flangeplatePdf = 'Kein Anhang' . "\n"; } # $error = TRUE; $this->view->assign('bearing', $bearing); $this->view->assign('error', $error); if ($error === TRUE) { // @todo Errormeldungen setzen $request['firstName'] = $this->request->getArgument('firstName'); $request['lastName'] = $this->request->getArgument('lastName'); $request['cadFormat'] = $this->request->getArgument('cadFormat'); $request['angebot'] = $this->request->getArgument('angebot'); $request['bearing-count'] = $this->request->getArgument('bearing-count'); $request['flangeplate-count'] = $this->request->getArgument('flangeplate-count'); $request['cadDownloadUrl'] = $this->request->getArgument('cadDownloadUrl'); if ($this->request->getArgument('newsletter') == '1') { $request['newsletterChecked'] = TRUE; } else { $request['newsletterChecked'] = FALSE; } if ($this->request->getArgument('angebot') == '1') { $request['angebotChecked'] = TRUE; } else { $request['angebotChecked'] = FALSE; } $this->view->assign('request', $request); } else { // DebuggerUtility::var_dump($bearing, 'Bearing'); /** @var \Winkel\WinkelCustomerlog\Domain\Model\CustomerData */ $customerData = $this->objectManager->get('\\Winkel\\WinkelCustomerlog\\Domain\\Model\\CustomerData'); $xIP = (string) getenv('HTTP_X_FORWARDED_FOR'); $ip = (string) getenv('REMOTE_ADDR'); if ($xIP != '') { $ip = $xIP; } $customerData->setIp($ip); $language = $GLOBALS['TSFE']->config['config']['language']; $customerData->setLanguage($language); $customerData->setPid('2057'); $requestType = $this->requestTypeRepository->findByUid(2); $customerData->setRequestType($requestType); $customerData->setFirstName($firstName); $customerData->setLastName($lastName); $customerData->setCompany($companyName); $customerData->setComment($moredetails); $customerData->setEmail($email); $customerData->setTelephone($phone); $customerData->setArticleNumber($bearing->getArticleNumber()); $customerData->setArticleTitle($bearing->getTitleShow()); $customerData->setArticleCadFormat($cadFormat); $customerData->setCadDownloadUrl($cadDownloadUrl); #DebuggerUtility::var_dump($customerData); $message = 'WINKEL-Rolle: ' . $bearing->getTitleShow() . "\n" . '==========================' . "\n" . $this->request->getArgument('bearing-count') . ' Stück ' . "\n\n" . $textProfile . $textFlangePlate . $flangeplatePdf . '-------------------------------------' . "\n" . $moredetails . "\n" . '-------------------------------------' . "\n" . \Winkel\UserWebsite\Utilities\BuildAddressTextFromRequestObject::plainText($this->request) . 'Download-URL: ' . $cadDownloadUrl . "\n" . $angebotMessage; $customerData->setRaw($message); $subject = '[Produktanfrage Rolle] von ' . $companyName . ' (' . $firstName . ' ' . $lastName . ')'; \Winkel\UserWebsite\Utilities\SendMail::sendMailToAdmin($subject, $message); \Winkel\UserWebsite\Utilities\SendMail::sendMailToWinkel($subject, $message); // Daten in der Extension CustomerLog speichern $this->customerDataRepository->add($customerData); $this->persistenceManager->persistAll(); } }
/** * action show * * @param \Winkel\WinkelCustomerlog\Domain\Model\CustomerData $customerData * @return void */ public function showAction(\Winkel\WinkelCustomerlog\Domain\Model\CustomerData $customerData) { $this->view->assign('customerData', $customerData); $requestTypes = $this->requestTypeRepository->findAll(); $this->view->assign('requestTypes', $requestTypes); }