/**
  * 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);
     }
 }
 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);
 }
Ejemplo n.º 3
0
 /**
  * @param arField $field
  *
  * @return arViewField
  */
 static function castFromFieldToViewField(arField $field)
 {
     require_once './Customizing/global/plugins/Libraries/ActiveRecord/Views/Index/class.arIndexTableField.php';
     require_once './Customizing/global/plugins/Libraries/ActiveRecord/Views/Edit/class.arEditField.php';
     require_once './Customizing/global/plugins/Libraries/ActiveRecord/Views/Display/class.arDisplayField.php';
     $field_class = get_called_class();
     $obj = new $field_class($field->getName());
     foreach (get_object_vars($field) as $key => $name) {
         $obj->{$key} = $name;
     }
     return $obj;
 }
Ejemplo n.º 4
0
 protected function initFields()
 {
     foreach ($this->getRawFields() as $fieldname => $attributes) {
         if (self::checkAttributes($attributes)) {
             $arField = new arField();
             $arField->getHasField(true);
             $arField->loadFromArray($fieldname, $attributes);
             $this->fields[] = $arField;
             if ($arField->getPrimary()) {
                 $this->setPrimaryField($arField);
             }
         }
     }
 }