/** * Confirm Double Optin * * @param int $mail Mail Uid * @param string $hash Given Hash String * @dontvalidate $mail * @dontvalidate $hash * return void */ public function optinConfirmAction($mail = null, $hash = null) { $this->signalSlotDispatcher->dispatch(__CLASS__, __FUNCTION__ . 'BeforeRenderView', array($mail, $hash, $this)); $mail = $this->mailsRepository->findByUid($mail); if (!empty($hash) && $hash == Tx_Powermail_Utility_Div::createOptinHash($mail->getUid() . $mail->getPid() . $mail->getForm()->getUid())) { // only if hidden = 0 if ($mail->getHidden() == 1) { $mail->setHidden(0); // call create action $fields = array(); foreach ($mail->getAnswers() as $answer) { $fields[$answer->getField()] = $answer->getValue(); } $arguments = array( 'field' => $fields, 'form' => $mail->getForm()->getUid(), 'mail' => $mail->getUid(), '__referrer' => array( 'actionName' => 'optinConfirm' ) ); $_POST['tx_powermail_pi1']['__referrer']['actionName'] = 'optinConfirm'; // workarround to set the referrer and call it again in the validator $this->forward('create', null, null, $arguments); } } }
/** * Export Action for CSV Files * * @param array $export export settings * @return void */ public function exportCsvBeAction(array $export = array()) { $mails = $this->mailsRepository->findByUidList($export['mails'], $export['sorting']); $this->view->assign('mails', $mails); $this->view->assign('fields', t3lib_div::trimExplode(',', $export['fields'], 1)); header('Content-Type: text/x-csv'); header('Content-Disposition: attachment; filename="' . ($this->settings['export']['filenameCsv'] ? $this->settings['export']['filenameCsv'] : 'export.csv') . '"'); header('Pragma: no-cache'); }
/** * RSS Action List * * @return void */ public function rssAction() { $mails = $this->mailsRepository->findListBySettings($this->settings, $this->piVars); $this->view->assign('mails', $mails); // single pid if (empty($this->settings['single']['pid'])) { $this->settings['single']['pid'] = $GLOBALS['TSFE']->id; } $this->view->assign('singlePid', $this->settings['single']['pid']); }