function SubmittedFieldSet(&$sourceItems){ $fields = array (); if(isset($_POST[$this->name])&&$rows = $_POST[$this->name]){ if(count($rows)){ foreach($rows as $idx => $row){ if($idx == 'new'){ $newitems = ArrayLib::invert($row); if(count($newitems)){ $sourceItems = new DataObjectSet(); foreach($newitems as $k => $newitem){ $fieldset = $this->FieldSetForRow(); if($fieldset){ $newitem['ID'] = "new".$k; foreach($newitem as $k => $v){ if($this->extraData && array_key_exists($k, $this->extraData)){ unset($newitem[$k]); } } $sourceItem = new DataObject($newitem); if(!$sourceItem->isEmpty()){ $sourceItems->push($sourceItem); $form = new Form($this, "EditForm", $fieldset, new FieldSet()); $form->loadDataFrom($sourceItem); $item = new TableField_Item($sourceItem, $this, $form, $this->fieldTypes); $fields = array_merge($fields, $item->Fields()->toArray()); } } } } } } } } return $fields; }