Example #1
0
 public function dataFieldToArray(DataField $dataField)
 {
     $out = [];
     $dataFieldType = new CollectionItemFieldType();
     /** @var DataFieldType $dataFieldType */
     if (null != $dataField->getFieldType()) {
         $dataFieldType = $this->fieldTypePickerType->getDataFieldType($dataField->getFieldType()->getType());
     }
     $dataFieldType->buildObjectArray($dataField, $out);
     /** @var DataField $child */
     foreach ($dataField->getChildren() as $child) {
         //its a Collection Item
         if ($child->getFieldType() == null) {
             $subOut = [];
             foreach ($child->getChildren() as $grandchild) {
                 $subOut = array_merge($subOut, $this->dataFieldToArray($grandchild));
             }
             $out[$dataFieldType->getJsonName($dataField->getFieldType())][] = $subOut;
         } else {
             if (!$child->getFieldType()->getDeleted()) {
                 if ($dataFieldType->isNested()) {
                     $out[$dataFieldType->getJsonName($dataField->getFieldType())] = array_merge($out[$dataFieldType->getJsonName($dataField->getFieldType())], $this->dataFieldToArray($child));
                 } else {
                     $out = array_merge($out, $this->dataFieldToArray($child));
                 }
             }
         }
     }
     return $out;
 }
Example #2
0
 /**
  *
  * {@inheritdoc}
  *
  */
 public static function buildObjectArray(DataField $data, array &$out)
 {
     if (!$data->getFieldType()->getDeleted()) {
         if ($data->getFieldType()->getDisplayOptions()['multiple']) {
             $out[$data->getFieldType()->getName()] = $data->getArrayTextValue();
         } else {
             parent::buildObjectArray($data, $out);
         }
     }
 }
Example #3
0
 /**
  *
  * {@inheritdoc}
  *
  */
 public static function buildObjectArray(DataField $data, array &$out)
 {
     if (!$data->getFieldType()->getDeleted()) {
         /**
          * by default it serialize the text value.
          * It must be overrided.
          */
         $out[$data->getFieldType()->getName()] = $data->getFloatValue();
     }
 }
Example #4
0
 /**
  *
  * {@inheritdoc}
  *
  */
 public static function buildObjectArray(DataField $data, array &$out)
 {
     if (!$data->getFieldType()->getDeleted()) {
         switch ($data->getFieldType()->getDisplayOptions()['encryption']) {
             case 'md5':
                 $out[$data->getFieldType()->getName()] = md5($data->getTextValue());
                 break;
             default:
                 $out[$data->getFieldType()->getName()] = sha1($data->getTextValue());
                 break;
         }
     }
 }
Example #5
0
 /**
  * Test if the requirment of the field is reached.
  *
  * @return boolean
  */
 public function isMandatory(DataField &$dataField)
 {
     $isValidMadatory = TRUE;
     //Get FieldType mandatory option
     $restrictionOptions = $dataField->getFieldType()->getRestrictionOptions();
     if (isset($restrictionOptions["mandatory"]) && true == $restrictionOptions["mandatory"]) {
         //Get rawData
         $rawData = $dataField->getRawData();
         if (!isset($rawData) || empty($rawData) || $rawData === null) {
             $isValidMadatory = FALSE;
             $dataField->addMessage("Empty field");
         }
     }
     return $isValidMadatory;
 }
 /**
  *
  * {@inheritdoc}
  *
  */
 public static function buildObjectArray(DataField $data, array &$out)
 {
     if (!$data->getFieldType()->getDeleted()) {
         $out[$data->getFieldType()->getName()] = [];
     }
 }
Example #7
0
 /**
  * {@inheritdoc}
  */
 public static function buildObjectArray(DataField $data, array &$out)
 {
     if (!$data->getFieldType()->getDeleted()) {
         $format = $data->getFieldType()->getMappingOptions()['format'];
         $format = DateFieldType::convertJavaDateFormat($format);
         if (null !== $data->getRawData() && (!is_array($data->getRawData()) || count($data->getRawData()) !== 0)) {
             /**@var \DateTime $converted*/
             $dateTime = \DateTime::createFromFormat(\DateTime::ISO8601, $data->getRawData());
             $out[$data->getFieldType()->getName()] = $dateTime->format($format);
         }
     }
 }
 /**
  *
  * {@inheritdoc}
  *
  */
 public static function buildObjectArray(DataField $data, array &$out)
 {
     if ($data->getFieldType() == null) {
         $tmp = [];
         /** @var DataField $child */
         foreach ($data->getChildren() as $child) {
             $className = $child->getFieldType()->getType();
             $class = new $className();
             $class->buildObjectArray($child, $tmp);
         }
         $out[] = $tmp;
     } else {
         if (!$data->getFieldType()->getDeleted()) {
             $out[$data->getFieldType()->getName()] = [];
         }
     }
 }
Example #9
0
 /**
  * {@inheritdoc}
  */
 public static function buildObjectArray(DataField $data, array &$out)
 {
     if (!$data->getFieldType()->getDeleted()) {
         if ($data->getFieldType()->getMappingOptions()['nested']) {
             $out[$data->getFieldType()->getName()] = $data->getRawData();
         } else {
             $rawData = $data->getRawData();
             if (empty($rawData)) {
                 $rawData = [];
             }
             $out = array_merge($out, $rawData);
         }
     }
 }
Example #10
0
 public function generateInputValues(DataField $dataField)
 {
     foreach ($dataField->getChildren() as $child) {
         $this->generateInputValues($child);
     }
     if (!empty($dataField->getFieldType()) && !empty($dataField->getFieldType()->getType())) {
         /**@var DataFieldType $dataFieldType*/
         $dataFieldType = $this->formRegistry->getType($dataField->getFieldType()->getType())->getInnerType();
         $dataFieldType->generateInput($dataField);
     }
 }
Example #11
0
 /**
  * {@inheritdoc}
  */
 public static function buildObjectArray(DataField $data, array &$out)
 {
     if (!$data->getFieldType()->getDeleted()) {
         $format = $data->getFieldType()->getMappingOptions()['format'];
         $multidate = $data->getFieldType()->getDisplayOptions()['multidate'];
         $format = DateFieldType::convertJavaDateFormat($format);
         if ($multidate) {
             $dates = [];
             if (null !== $data->getRawData()) {
                 foreach ($data->getRawData() as $dataValue) {
                     /**@var \DateTime $converted*/
                     $dateTime = \DateTime::createFromFormat(\DateTime::ISO8601, $dataValue);
                     $dates[] = $dateTime->format($format);
                 }
             }
         } else {
             $dates = null;
             if (null !== $data->getRawData() && count($data->getRawData()) >= 1) {
                 /**@var \DateTime $converted*/
                 $dateTime = \DateTime::createFromFormat(\DateTime::ISO8601, $data->getRawData()[0]);
                 if ($dateTime) {
                     $dates = $dateTime->format($format);
                 } else {
                     //TODO: at least a warning
                     $dates = null;
                 }
             }
         }
         $out[$data->getFieldType()->getName()] = $dates;
     }
 }