/** * @param block_BlockContext $context * @param block_BlockRequest $request */ public function execute($context, $request) { $form = $this->getParameter('form'); $confirmpage = $form->getConfirmpage(); if ($confirmpage instanceof website_persistentdocument_page && $confirmpage->isPublished()) { HttpController::getInstance()->redirectToUrl(LinkHelper::getUrl($confirmpage, $context->getLang(), array('formParam[id]' => $form->getId()))); } $this->setTemplateName('Form-Success'); $user = $context->getGlobalContext()->getUser(); $attr = 'form_success_parameters_' . $form->getId(); $parameters = $user->getAttribute($attr); $user->removeAttribute($attr); $message = $form->getConfirmMessage(); foreach ($parameters as $k => $v) { $message = str_replace('{' . $k . '}', htmlspecialchars($v), $message); } $this->setAttribute("receiverLabels", $this->getParameter("receiverLabels")); $this->setAttribute('message', $message); if ($form->getUseBackLink()) { $this->setAttribute('back', array('url' => $parameters[form_FormConstants::BACK_URL_PARAMETER], 'label' => f_Locale::translate('&modules.form.frontoffice.Back;'))); } else { $this->setAttribute('back', false); } $this->setAttribute('form', $form); }
/** * @param block_BlockContext $context * @param block_BlockRequest $request * @return String the view name */ public function execute($context, $request) { if (!$request->hasNonEmptyParameter('id')) { return block_BlockView::NONE; } $id = $request->getParameter('id'); $form = DocumentHelper::getDocumentInstance($id); $user = $context->getGlobalContext()->getUser(); $attr = 'form_success_parameters_' . $form->getId(); $parameters = $user->getAttribute($attr); if ($parameters === null) { return block_BlockView::NONE; } $user->removeAttribute($attr); $message = $form->getConfirmMessage(); foreach ($parameters as $k => $v) { $message = str_replace('{' . $k . '}', htmlspecialchars($v), $message); } $this->setParameter('message', $message); if ($form->getUseBackLink()) { $this->setParameter('back', array('url' => $parameters[form_FormConstants::BACK_URL_PARAMETER], 'label' => f_Locale::translate('&modules.form.frontoffice.Back;'))); } else { $this->setParameter('back', false); } $this->setParameter('form', $form); return block_BlockView::SUCCESS; }
/** * @param block_BlockContext $context * @param block_BlockRequest $request * @return boolean the view name */ protected final function isSuccess($context, $request) { $user = $context->getGlobalContext()->getUser(); $id = $this->getFormId(); return $user->hasAttribute('form_success_parameters_' . $id); }