/** * @return array */ public function getActiveFields() { $fieldsHolderFields = $this->_currentFieldsHolder->getAFields(); $activeFields = $this->_currentFieldsHolder->getActiveFieldsSIDs(); $activeComplexFields = $this->_currentFieldsHolder->getActiveComplexFields(); foreach ($fieldsHolderFields as $key => $field) { $complexSID = SJB_Array::get($field, 'complex'); if ($field['type'] == 'complex' && $complexSID) { $isNotInActiveFieldsList = !in_array(SJB_Array::get($field, 'complex'), $activeComplexFields); } else { $isNotInActiveFieldsList = !in_array(SJB_Array::get($field, 'b_field_sid'), $activeFields); } if ($isNotInActiveFieldsList) { unset($fieldsHolderFields[$key]); } } return $fieldsHolderFields; }