ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilADTTest Class Reference

This is a ADT-based example object. More...

+ Inheritance diagram for ilADTTest:
+ Collaboration diagram for ilADTTest:

Data Fields

const INTERESTS_NONE = 0
 
const INTERESTS_LANGUAGES = 1
 
const INTERESTS_IT = 2
 

Protected Member Functions

 initProperties ()
 
 initDBBridge (ilADTGroupDBBridge $a_adt_db)
 
 parsePrimary (array $a_args)
 
 hasPrimary ()
 
 createPrimaryKey ()
 
- Protected Member Functions inherited from ilADTBasedObject
 initProperties ()
 Init properties (aka set ADT definition) More...
 
 parsePrimary (array $a_args)
 Parse incoming primary key. More...
 
 hasPrimary ()
 Check if currently has primary. More...
 
 createPrimaryKey ()
 Create new primary key, e.g. More...
 
 initDBBridge (ilADTGroupDBBridge $a_adt_db)
 Init (properties) DB bridge. More...
 
 initActiveRecordInstance ()
 Init active record helper for current table, primary and properties. More...
 

Protected Attributes

 $id
 
 $properties
 
- Protected Attributes inherited from ilADTBasedObject
 $properties = array()
 
 $db_errors = array()
 

Additional Inherited Members

- Public Member Functions inherited from ilADTBasedObject
 __construct ()
 Constructor. More...
 
 getProperties ()
 Get all properties. More...
 
 isValid ()
 Validate. More...
 
 __call ($a_method, $a_value)
 Get property magic method ("get<PropertyName>()") More...
 
 read ()
 Read record. More...
 
 create ()
 Create record (only if valid) More...
 
 update ()
 Update record (only if valid) More...
 
 delete ()
 Delete record. More...
 
 getDBErrors ()
 Get DB errors. More...
 
 translateDBErrorCodes (array $a_codes)
 Translate DB error codes. More...
 
 getAllTranslatedErrors ($delimiter="\)
 Get translated error codes (DB, Validation) More...
 

Detailed Description

This is a ADT-based example object.

It has all supported ADTs and shows DB sequence-handling

Definition at line 10 of file class.ilADTTest.php.

Member Function Documentation

◆ createPrimaryKey()

ilADTTest::createPrimaryKey ( )
protected

Definition at line 113 of file class.ilADTTest.php.

References $ilDB.

114  {
115  global $ilDB;
116 
117  $this->id = $ilDB->nextId("adt_test");
118 
119  // INSERT is only done if createPrimaryKey() returns TRUE!
120  return true;
121  }
global $ilDB

◆ hasPrimary()

ilADTTest::hasPrimary ( )
protected

Definition at line 108 of file class.ilADTTest.php.

References $id.

109  {
110  return (bool) $this->id;
111  }

◆ initDBBridge()

ilADTTest::initDBBridge ( ilADTGroupDBBridge  $a_adt_db)
protected

Definition at line 97 of file class.ilADTTest.php.

References array, ilADTGroupDBBridge\setPrimary(), and ilADTGroupDBBridge\setTable().

98  {
99  $a_adt_db->setTable("adt_test");
100  $a_adt_db->setPrimary(array("id"=>array("integer", $this->id)));
101  }
Create styles array
The data for the language used.
+ Here is the call graph for this function:

◆ initProperties()

ilADTTest::initProperties ( )
protected

Definition at line 22 of file class.ilADTTest.php.

References $factory, $lang, $lng, $name, $options, $tags, array, and ilADTFactory\getInstance().

23  {
24  global $lng;
25 
26  // this could be generated from XML or code comments or whatever
27 
28  include_once "Services/ADT/classes/class.ilADTFactory.php";
30 
31  $properties_def = $factory->getDefinitionInstanceByType("Group");
32 
33  $name = $factory->getDefinitionInstanceByType("Text");
34  $name->setMaxLength(255);
35  $properties_def->addElement("name", $name);
36 
37  $status = $factory->getDefinitionInstanceByType("Boolean");
38  $properties_def->addElement("active", $status);
39 
40  // example options from ilLanguage
41  $lng->loadLanguageModule("meta");
42  $options = array();
43  foreach ($lng->getInstalledLanguages() as $lang) {
44  $options[$lang] = $lng->txt("meta_l_" . $lang);
45  }
46 
47  $lang = $factory->getDefinitionInstanceByType("Enum");
48  $lang->setNumeric(false);
49  $lang->setOptions($options);
50  $properties_def->addElement("lang", $lang);
51 
52 
53  $age = $factory->getDefinitionInstanceByType("Integer");
54  $age->setMin(0);
55  $age->setMax(120);
56  $properties_def->addElement("age", $age);
57 
58  $weight = $factory->getDefinitionInstanceByType("Float");
59  $weight->setMin(0);
60  $weight->setMax(500);
61  $properties_def->addElement("weight", $weight);
62 
63  // null?
64  $home = $factory->getDefinitionInstanceByType("Location");
65  $properties_def->addElement("home", $home);
66 
67  $tags = $factory->getDefinitionInstanceByType("MultiText");
68  $tags->setMaxLength(255);
69  $tags->setMaxSize(5);
70  $properties_def->addElement("tags", $tags);
71 
72  $options = array(
73  self::INTERESTS_NONE => $lng->txt("test_interests_none"),
74  self::INTERESTS_LANGUAGES => $lng->txt("test_interests_languages"),
75  self::INTERESTS_IT => $lng->txt("test_interests_it")
76  );
77 
78  $intr = $factory->getDefinitionInstanceByType("MultiEnum");
79  $intr->setOptions($options);
80  $properties_def->addElement("interests", $intr);
81 
82  $date = $factory->getDefinitionInstanceByType("Date");
83  $properties_def->addElement("entry_date", $date);
84 
85  $dt = $factory->getDefinitionInstanceByType("DateTime");
86  $properties_def->addElement("last_login", $dt);
87 
88  // convert ADT definitions to proper ADTs
89  return $factory->getInstanceByDefinition($properties_def);
90  }
$factory
Definition: metadata.php:47
static getInstance()
Get singleton.
if($format !==null) $name
Definition: metadata.php:146
$tags
Definition: croninfo.php:19
Create styles array
The data for the language used.
global $lng
Definition: privfeed.php:17
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:

◆ parsePrimary()

ilADTTest::parsePrimary ( array  $a_args)
protected

Definition at line 103 of file class.ilADTTest.php.

104  {
105  $this->id = (int) $a_args[0];
106  }

Field Documentation

◆ $id

ilADTTest::$id
protected

Definition at line 12 of file class.ilADTTest.php.

Referenced by hasPrimary().

◆ $properties

ilADTTest::$properties
protected

Definition at line 13 of file class.ilADTTest.php.

◆ INTERESTS_IT

const ilADTTest::INTERESTS_IT = 2

Definition at line 17 of file class.ilADTTest.php.

◆ INTERESTS_LANGUAGES

const ilADTTest::INTERESTS_LANGUAGES = 1

Definition at line 16 of file class.ilADTTest.php.

◆ INTERESTS_NONE

const ilADTTest::INTERESTS_NONE = 0

Definition at line 15 of file class.ilADTTest.php.


The documentation for this class was generated from the following file: