/** * @param form_persistentdocument_baseform $form * @param integer[] $excludeIds */ public function getValidActivationFields($form, $excludeIds = array()) { $query = form_FieldService::getInstance()->createQuery(); $query->add(Restrictions::descendentOf($form->getId())); if (f_util_ArrayUtils::isNotEmpty($excludeIds)) { $query->add(Restrictions::notin('id', $excludeIds)); } $validFields = array(); foreach ($query->find() as $field) { if ($field instanceof form_persistentdocument_boolean || $field instanceof form_persistentdocument_list) { $validFields[] = $field; } } return $validFields; }
/** * @param array<TreeNode> $nodes * @param array $contents * @param block_BlockRequest $request * @param form_persistentdocument_baseform $form * @since 2.0.2 * @deprecated */ public function buildContentsFromRequest($nodes, &$contents, $request, $form) { $parameters = $request->getParameters(); $eventParam = array('form' => $form, 'parameters' => &$parameters, 'isPosted' => $this->isPostedFormId($form->getId(), $request)); f_event_EventManager::dispatchEvent(self::FORM_INIT_DATA_EVENT_NAME, $this, $eventParam); $request->setParametersByRef($parameters); foreach ($nodes as $node) { // $document is a form_persistentdocument_field $document = $node->getPersistentDocument(); $html = ''; if ($document instanceof form_persistentdocument_group) { $templateObject = TemplateLoader::getInstance()->setPackageName('modules_form')->setDirectory('templates/markup/' . $form->getMarkup())->load('Form-Group'); $elements = array(); $this->buildContentsFromRequest($node->getChildren(), $elements, $request, $form); $attributes = array('id' => $document->getId(), 'label' => $document->getLabel(), 'description' => $document->getDescription(), 'elements' => $elements); $html = $templateObject->setAttribute('group', $attributes); } else { if ($document instanceof form_persistentdocument_field) { $templateObject = TemplateLoader::getInstance()->setPackageName('modules_form')->setDirectory('templates/markup/' . $form->getMarkup())->load($document->getSurroundingTemplate()); $html = FormHelper::fromFieldDocument($document, isset($parameters[$document->getFieldName()]) ? $parameters[$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/' . $form->getMarkup())->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(); } }