/** * @param form_persistentdocument_baseform $form * @param form_persistentdocument_response $response * @param block_BlockRequest $request * @param array $result * @param String $acknowledgmentReceiver * @param String $replyTo * @return array */ protected function getAcknowledgementNotificationParameters($form, $response, $request, $result, $acknowledgmentReceiver, $replyTo) { $contentTemplate = TemplateLoader::getInstance()->setPackageName('modules_form')->setMimeContentType(K::HTML)->load('Form-MailContent'); $contentTemplate->setAttribute('items', $response->getAllData()); $contentTemplate->setAttribute('response', $response->getResponseInfos()); $parameters = $response->getData(); $parameters[self::CONTENT_REPLACEMENT_NAME] = $contentTemplate->execute(); $parameters[self::FORM_LABEL_REPLACEMENT_NAME] = $form->getLabel(); return $parameters; }
/** * @param array<TreeNode> $nodes * @param block_BlockRequest $request * @param form_persistentdocument_baseform $form * @return array */ protected function getContentsFromRequest($nodes, $request, $form) { $contents = array(); $markup = $form->getMarkup(); foreach ($nodes as $node) { $document = $node->getPersistentDocument(); if ($document instanceof form_persistentdocument_group) { $templateObject = TemplateLoader::getInstance()->setPackageName('modules_form')->setDirectory('templates/markup/' . $markup)->load('Form-Group'); $elements = $this->getContentsFromRequest($node->getChildren(), $contents, $request, $markup); $attributes = array('id' => $document->getId(), 'label' => $document->getLabel(), 'description' => $document->getDescription(), 'elements' => $elements); } else { if ($document instanceof form_persistentdocument_field) { $templateObject = TemplateLoader::getInstance()->setPackageName('modules_form')->setDirectory('templates/markup/' . $markup)->load($document->getSurroundingTemplate()); $html = FormHelper::fromFieldDocument($document, $request->hasParameter($document->getFieldName()) ? $request->getParameter($document->getFieldName()) : $document->getDefaultValue()); $attributes = array('id' => $document->getId(), 'label' => $document->getLabel(), 'description' => $document->getHelpText(), 'required' => $document->getRequired(), 'display' => f_util_ClassUtils::methodExists($document, 'getDisplay') ? $document->getDisplay() : '', 'html' => $html); } else { if ($document instanceof form_persistentdocument_freecontent) { $templateObject = TemplateLoader::getInstance()->setPackageName('modules_form')->setDirectory('templates/markup/' . $markup)->load('Form-FreeContent'); $attributes = array('id' => $document->getId(), 'label' => $document->getLabel(), 'description' => $document->getText(), 'required' => false, 'html' => ''); } } $templateObject->setAttribute('field', $attributes); } $contents[$document->getId()] = $templateObject->execute(); } return $contents; }
/** * @param form_persistentdocument_baseform $form * @param block_BlockRequest $formRequest * @param validation_Errors $errors * @param array<String> $scriptArray * @return String * @deprecated */ public function renderForm($form, $formRequest, $errors, &$scriptArray) { $scriptArray[] = 'modules.form.lib.js.date-picker.date'; $scriptArray[] = 'modules.form.lib.js.date-picker.date_' . RequestContext::getInstance()->getLang(); $scriptArray[] = 'modules.form.lib.js.date-picker.jquery-bgiframe'; $scriptArray[] = 'modules.form.lib.js.date-picker.jquery-dimensions'; $scriptArray[] = 'modules.form.lib.js.date-picker.jquery-datePicker'; $scriptArray[] = 'modules.form.lib.js.form'; $markup = $form->getMarkup(); if (!$markup) { $markup = 'default'; } try { $template = TemplateLoader::getInstance()->setMimeContentType(K::HTML)->setPackageName('modules_form')->setDirectory('templates/markup/' . $markup)->load('Form'); $template->setAttribute('form', $form); $template->setAttribute('selfUrl', $_SERVER['REQUEST_URI']); if ($formRequest->hasParameter(form_FormConstants::BACK_URL_PARAMETER)) { $template->setAttribute('backUrl', $formRequest->getParameter(form_FormConstants::BACK_URL_PARAMETER)); } else { $template->setAttribute('backUrl', $_SERVER['HTTP_REFERER']); } if (!is_null($errors)) { $template->setAttribute('errors', $errors); } $fieldContents = array(); $this->buildContentsFromRequest($form->getDocumentNode()->getChildren(), $fieldContents, $formRequest, $form); $template->setAttribute('requestParameters', $formRequest->getParameters()); $template->setAttribute('elements', $fieldContents); return $template->execute(true); } catch (Exception $e) { Framework::exception($e); } return null; }
/** * Generate a field element from the provided template and attributes. * @param string $template * @param array<string,string> $attributes * @return string */ private static function field($template, $attributes) { $templateObject = TemplateLoader::getInstance()->setPackageName('modules_form')->load('Form-Field-' . $template); $templateObject->setAttribute('field', $attributes); $templateObject->setAttribute('moduleName', self::getModuleName()); return $templateObject->execute(); }