/**
  * Construct a form based on data received from the API
  * @param object $objFormData
  * @return \FrontCore\Forms\FrontCoreSystemFormBase
  */
 protected function constructForm($objFormData)
 {
     //convert data to array
     $arr_form_data = \Zend\Json\Json::decode(\Zend\Json\Json::encode($objFormData), TRUE);
     //create form object
     $objForm = new FrontCoreSystemFormBase();
     $objForm->setAttribute("id", "form");
     $objForm->setAttributes($arr_form_data["attributes"]);
     $objForm->setOptions($arr_form_data["options"]);
     //add form elements
     foreach ($arr_form_data["arr_fields"] as $arr_element) {
         if ($arr_element["attributes"]["type"] == "") {
             $arr_element["attributes"]["type"] = "text";
         }
         //end if
         $arr_element["type"] = $arr_element["attributes"]["type"];
         $arr_element["name"] = $arr_element["attributes"]["name"];
         if ($arr_element["attributes"]["required"] === TRUE || strtolower($arr_element["attributes"]["required"]) == "true" || strtolower($arr_element["attributes"]["required"]) == "required") {
             $arr_element["required"] = TRUE;
         } else {
             $arr_element["required"] = FALSE;
             $arr_element["allow_empty"] = TRUE;
         }
         //end if
         $arr_element["validators"] = array();
         $arr_element["filters"] = array();
         $objForm->add($arr_element);
     }
     //end foreach
     $objForm->get("submit")->setValue("Submit");
     return $objForm;
 }