public function getActiveRecordFields() { $def = $this->getADT()->getCopyOfDefinition(); $field = new arField(); $field->setHasField(true); $field->setNotNull(!$def->isNullAllowed()); $field->setFieldType(arField::FIELD_TYPE_TEXT); $field->setName($this->getElementId()); $max = $def->getMaxLength(); if ($max !== null) { $field->setLength($max); } return array($field); }
/** * Get field list instance for ADT group */ protected function initFieldList() { require_once "Services/ActiveRecord/classes/Fields/class.arFieldList.php"; $this->fields = new arFieldList(); // element => fields $fields = array(); foreach ($this->properties->getActiveRecordFields() as $element_id => $element_fields) { foreach ($element_fields as $field) { $this->field_element_map[$field->getName()] = $element_id; } $fields = array_merge($fields, $element_fields); } $this->fields->setFields($fields); // primary if (sizeof($this->properties->getPrimary()) > 1) { throw new ilException("ilADTActiveRecordWrapper - no complex primary keys supported yet"); } foreach ($this->properties->getPrimary() as $primary_id => $primary_element) { $field = new arField(); $field->setHasField(true); $field->setNotNull(true); $field->setFieldType($this->getActiveRecordFieldTypeFromMDB2($primary_element[0])); $field->setName($primary_id); $this->fields->setPrimaryField($field); } }