Ejemplo n.º 1
0
Archivo: Div.php Proyecto: advOpk/pwm
 /**
  * Get Field Uid List from given Form Uid
  *
  * @param \integer $formUid Form Uid
  * @return \array
  */
 public function getFieldsFromForm($formUid)
 {
     $allowedFieldTypes = array('input', 'textarea', 'select', 'check', 'radio', 'password', 'file', 'hidden', 'date', 'location', 'typoscript');
     $fields = array();
     $form = $this->formRepository->findByUid($formUid);
     if (!method_exists($form, 'getPages')) {
         return array();
     }
     foreach ($form->getPages() as $page) {
         foreach ($page->getFields() as $field) {
             // skip type submit
             if (!in_array($field->getType(), $allowedFieldTypes)) {
                 continue;
             }
             $fields[] = $field->getUid();
         }
     }
     return $fields;
 }
Ejemplo n.º 2
0
 /**
  * Return uid from given field marker and form (if no IRRE)
  *
  * @param string $marker
  * @param int $formUid
  * @return Field
  */
 protected function findByMarkerAndFormAlternative($marker, $formUid = 0)
 {
     // get pages from form
     $form = $this->formRepository->findByUid($formUid);
     $pageUids = array();
     foreach ($form->getPages() as $page) {
         $pageUids[] = $page->getUid();
     }
     $query = $this->createQuery();
     $query->getQuerySettings()->setRespectStoragePage(false);
     $query->getQuerySettings()->setRespectSysLanguage(false);
     $query->matching($query->logicalAnd(array($query->equals('marker', $marker), $query->in('pages', $pageUids))));
     return $query->setLimit(1)->execute()->getFirst();
 }