コード例 #1
0
 /**
  * @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;
 }
コード例 #2
0
 /**
  * @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;
 }
コード例 #3
0
 /**
  * @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;
 }
コード例 #4
0
 /**
  * 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();
 }