ILIAS  release_4-4 Revision
ilMDOrComposite Class Reference
+ Inheritance diagram for ilMDOrComposite:
+ Collaboration diagram for ilMDOrComposite:

Public Member Functions

 ilMDOrComposite ($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
 
 setOrCompositeId ($a_or_composite_id)
 
 getOrCompositeId ()
 
getRequirementIds ()
 
getRequirement ($a_requirement_id)
 
addRequirement ()
 
 save ()
 
 delete ()
 
 toXML (&$writer)
 
 _getIds ($a_rbac_id, $a_obj_id, $a_parent_id, $a_parent_type)
 
 ilMDOrComposite ($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
 
 setOrCompositeId ($a_or_composite_id)
 
 getOrCompositeId ()
 
getRequirementIds ()
 
getRequirement ($a_requirement_id)
 
addRequirement ()
 
 save ()
 
 delete ()
 
 toXML (&$writer)
 
 _getIds ($a_rbac_id, $a_obj_id, $a_parent_id, $a_parent_type)
 
- Public Member Functions inherited from ilMDRequirement
 ilMDRequirement ($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
 
 setOrCompositeId ($a_or_composite_id)
 
 getOrCompositeId ()
 
 setOperatingSystemName ($a_val)
 
 getOperatingSystemName ()
 
 setOperatingSystemMinimumVersion ($a_val)
 
 getOperatingSystemMinimumVersion ()
 
 setOperatingSystemMaximumVersion ($a_val)
 
 getOperatingSystemMaximumVersion ()
 
 setBrowserName ($a_val)
 
 getBrowserName ()
 
 setBrowserMinimumVersion ($a_val)
 
 getBrowserMinimumVersion ()
 
 setBrowserMaximumVersion ($a_val)
 
 getBrowserMaximumVersion ()
 
 save ()
 
 update ()
 
 delete ()
 
 __getFields ()
 
 read ()
 
 toXML (&$writer)
 
 _getIds ($a_rbac_id, $a_obj_id, $a_parent_id, $a_parent_type, $a_or_composite_id=0)
 
 ilMDRequirement ($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
 
 setOrCompositeId ($a_or_composite_id)
 
 getOrCompositeId ()
 
 setOperatingSystemName ($a_val)
 
 getOperatingSystemName ()
 
 setOperatingSystemMinimumVersion ($a_val)
 
 getOperatingSystemMinimumVersion ()
 
 setOperatingSystemMaximumVersion ($a_val)
 
 getOperatingSystemMaximumVersion ()
 
 setBrowserName ($a_val)
 
 getBrowserName ()
 
 setBrowserMinimumVersion ($a_val)
 
 getBrowserMinimumVersion ()
 
 setBrowserMaximumVersion ($a_val)
 
 getBrowserMaximumVersion ()
 
 save ()
 
 update ()
 
 delete ()
 
 __getFields ()
 
 read ()
 
 toXML (&$writer)
 
 _getIds ($a_rbac_id, $a_obj_id, $a_parent_id, $a_parent_type, $a_or_composite_id=0)
 
- Public Member Functions inherited from ilMDBase
 ilMDBase ($a_rbac_id=0, $a_obj_id=0, $a_type=0)
 
 setRBACId ($a_id)
 
 getRBACId ()
 
 setObjId ($a_id)
 
 getObjId ()
 
 setObjType ($a_type)
 
 getObjType ()
 
 setMetaId ($a_meta_id, $a_read_data=true)
 
 getMetaId ()
 
 setParentType ($a_parent_type)
 
 getParentType ()
 
 setParentId ($a_id)
 
 getParentId ()
 
 setExportMode ($a_export_mode=true)
 
 getExportMode ()
 
 validate ()
 
 update ()
 
 save ()
 
 delete ()
 
 toXML (&$writer)
 
 ilMDBase ($a_rbac_id=0, $a_obj_id=0, $a_type=0)
 
 setRBACId ($a_id)
 
 getRBACId ()
 
 setObjId ($a_id)
 
 getObjId ()
 
 setObjType ($a_type)
 
 getObjType ()
 
 setMetaId ($a_meta_id, $a_read_data=true)
 
 getMetaId ()
 
 setParentType ($a_parent_type)
 
 getParentType ()
 
 setParentId ($a_id)
 
 getParentId ()
 
 validate ()
 
 update ()
 
 save ()
 
 delete ()
 
 toXML (&$writer)
 

Additional Inherited Members

- Data Fields inherited from ilMDBase
 $rbac_id
 
 $obj_id
 
 $obj_type
 
 $export_mode = false
 

Detailed Description

Definition at line 35 of file class.ilMDOrComposite.php.

Member Function Documentation

◆ _getIds() [1/2]

ilMDOrComposite::_getIds (   $a_rbac_id,
  $a_obj_id,
  $a_parent_id,
  $a_parent_type 
)

Definition at line 147 of file class.ilMDOrComposite.php.

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

148  {
149  global $ilDB;
150 
151  $query = "SELECT DISTINCT(or_composite_id) AS or_composite_id FROM il_meta_requirement ".
152  "WHERE rbac_id = ".$ilDB->quote($a_rbac_id)." ".
153  "AND obj_id = ".$ilDB->quote($a_obj_id)." ".
154  "AND parent_id = ".$ilDB->quote($a_parent_id)." ".
155  "AND parent_type = ".$ilDB->quote($a_parent_type)." ".
156  "AND or_composite_id > 0 ";
157 
158  $res = $ilDB->query($query);
159  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
160  {
161  $ids[] = $row->or_composite_id;
162  }
163  return $ids ? $ids : array();
164  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11

◆ _getIds() [2/2]

ilMDOrComposite::_getIds (   $a_rbac_id,
  $a_obj_id,
  $a_parent_id,
  $a_parent_type 
)

Definition at line 153 of file class.ilMDOrComposite.php.

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by ilMDTechnical\getOrCompositeIds().

154  {
155  global $ilDB;
156 
157  $query = "SELECT DISTINCT(or_composite_id) or_composite_id FROM il_meta_requirement ".
158  "WHERE rbac_id = ".$ilDB->quote($a_rbac_id ,'integer')." ".
159  "AND obj_id = ".$ilDB->quote($a_obj_id ,'integer')." ".
160  "AND parent_id = ".$ilDB->quote($a_parent_id ,'integer')." ".
161  "AND parent_type = ".$ilDB->quote($a_parent_type ,'text')." ".
162  "AND or_composite_id > 0 ";
163 
164  $res = $ilDB->query($query);
165  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
166  {
167  $ids[] = $row->or_composite_id;
168  }
169  return $ids ? $ids : array();
170  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the caller graph for this function:

◆ addRequirement() [1/2]

& ilMDOrComposite::addRequirement ( )

Definition at line 94 of file class.ilMDOrComposite.php.

References ilMDBase\getObjId(), ilMDBase\getObjType(), getOrCompositeId(), ilMDBase\getParentId(), ilMDBase\getRBACId(), and ilMDRequirement\ilMDRequirement().

95  {
96  include_once 'Services/MetaData/classes/class.ilMDRequirement.php';
97 
98  $req =& new ilMDRequirement($this->getRBACId(),$this->getObjId(),$this->getObjType());
99  $req->setParentId($this->getParentId());
100  $req->setParentType('meta_technical');
101  $req->setOrCompositeId($this->getOrCompositeId());
102 
103  return $req;
104  }
ilMDRequirement($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
+ Here is the call graph for this function:

◆ addRequirement() [2/2]

& ilMDOrComposite::addRequirement ( )

Definition at line 95 of file class.ilMDOrComposite.php.

References ilMDBase\getObjId(), ilMDBase\getObjType(), getOrCompositeId(), ilMDBase\getParentId(), ilMDBase\getRBACId(), and ilMDRequirement\ilMDRequirement().

96  {
97  include_once 'Services/Migration/DBUpdate_426/classes/class.ilMDRequirement.php';
98 
99  $req =& new ilMDRequirement($this->getRBACId(),$this->getObjId(),$this->getObjType());
100  $req->setParentId($this->getParentId());
101  $req->setParentType('meta_technical');
102  $req->setOrCompositeId($this->getOrCompositeId());
103 
104  return $req;
105  }
ilMDRequirement($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
+ Here is the call graph for this function:

◆ delete() [1/2]

ilMDOrComposite::delete ( )

Definition at line 115 of file class.ilMDOrComposite.php.

References getRequirement(), and getRequirementIds().

116  {
117  foreach($this->getRequirementIds() as $id)
118  {
119  $req = $this->getRequirement($id);
120  $req->delete();
121  }
122  return true;
123  }
& getRequirement($a_requirement_id)
+ Here is the call graph for this function:

◆ delete() [2/2]

ilMDOrComposite::delete ( )

Definition at line 116 of file class.ilMDOrComposite.php.

References getRequirement(), and getRequirementIds().

117  {
118  foreach($this->getRequirementIds() as $id)
119  {
120  $req = $this->getRequirement($id);
121  $req->delete();
122  }
123  return true;
124  }
& getRequirement($a_requirement_id)
+ Here is the call graph for this function:

◆ getOrCompositeId() [1/2]

ilMDOrComposite::getOrCompositeId ( )

Definition at line 49 of file class.ilMDOrComposite.php.

References $query, $res, $row, DB_FETCHMODE_OBJECT, ilMDBase\getObjId(), and ilMDBase\getRBACId().

Referenced by addRequirement(), and getRequirementIds().

50  {
51  global $ilDB;
52 
53  if(!$this->or_composite_id)
54  {
55  $query = "SELECT MAX(or_composite_id) orc FROM il_meta_requirement ".
56  "WHERE rbac_id = ".$ilDB->quote($this->getRBACId() ,'integer')." ".
57  "AND obj_id = ".$ilDB->quote($this->getObjId() ,'integer')." ";
58 
59  $res = $this->db->query($query);
60  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
61  {
62  $this->or_composite_id = $row->orc;
63  }
64  ++$this->or_composite_id;
65  }
66  return $this->or_composite_id;
67  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getOrCompositeId() [2/2]

ilMDOrComposite::getOrCompositeId ( )

Definition at line 49 of file class.ilMDOrComposite.php.

References $query, $res, $row, DB_FETCHMODE_OBJECT, ilMDBase\getObjId(), and ilMDBase\getRBACId().

50  {
51  global $ilDB;
52 
53  if(!$this->or_composite_id)
54  {
55  $query = "SELECT MAX(or_composite_id) AS orc FROM il_meta_requirement ".
56  "WHERE rbac_id = ".$ilDB->quote($this->getRBACId())." ".
57  "AND obj_id = ".$ilDB->quote($this->getObjId())." ".
58  "GROUP BY or_composite_id";
59 
60  $res = $this->db->query($query);
61  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
62  {
63  $this->or_composite_id = $row->orc;
64  }
65  ++$this->or_composite_id;
66  }
67  return $this->or_composite_id;
68  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the call graph for this function:

◆ getRequirement() [1/2]

& ilMDOrComposite::getRequirement (   $a_requirement_id)

Definition at line 80 of file class.ilMDOrComposite.php.

References ilMDRequirement\ilMDRequirement().

Referenced by delete(), and toXML().

81  {
82  include_once 'Services/MetaData/classes/class.ilMDRequirement.php';
83 
84  if(!$a_requirement_id)
85  {
86  return false;
87  }
88  $req =& new ilMDRequirement();
89  $req->setMetaId($a_requirement_id);
90 
91  return $req;
92  }
ilMDRequirement($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRequirement() [2/2]

& ilMDOrComposite::getRequirement (   $a_requirement_id)

Definition at line 81 of file class.ilMDOrComposite.php.

References ilMDRequirement\ilMDRequirement().

82  {
83  include_once 'Services/Migration/DBUpdate_426/classes/class.ilMDRequirement.php';
84 
85  if(!$a_requirement_id)
86  {
87  return false;
88  }
89  $req =& new ilMDRequirement();
90  $req->setMetaId($a_requirement_id);
91 
92  return $req;
93  }
ilMDRequirement($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
+ Here is the call graph for this function:

◆ getRequirementIds() [1/2]

& ilMDOrComposite::getRequirementIds ( )

Definition at line 69 of file class.ilMDOrComposite.php.

References ilMDRequirement\_getIds(), ilMDBase\getObjId(), getOrCompositeId(), ilMDBase\getParentId(), and ilMDBase\getRBACId().

Referenced by delete(), and toXML().

70  {
71  include_once 'Services/MetaData/classes/class.ilMDRequirement.php';
72 
73  return ilMDRequirement::_getIds($this->getRBACId(),
74  $this->getObjId(),
75  $this->getParentId(),
76  'meta_technical',
77  $this->getOrCompositeId());
78  }
_getIds($a_rbac_id, $a_obj_id, $a_parent_id, $a_parent_type, $a_or_composite_id=0)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRequirementIds() [2/2]

& ilMDOrComposite::getRequirementIds ( )

Definition at line 70 of file class.ilMDOrComposite.php.

References ilMDRequirement\_getIds(), ilMDBase\getObjId(), getOrCompositeId(), ilMDBase\getParentId(), and ilMDBase\getRBACId().

71  {
72  include_once 'Services/Migration/DBUpdate_426/classes/class.ilMDRequirement.php';
73 
74  return ilMDRequirement::_getIds($this->getRBACId(),
75  $this->getObjId(),
76  $this->getParentId(),
77  'meta_technical',
78  $this->getOrCompositeId());
79  }
_getIds($a_rbac_id, $a_obj_id, $a_parent_id, $a_parent_type, $a_or_composite_id=0)
+ Here is the call graph for this function:

◆ ilMDOrComposite() [1/2]

ilMDOrComposite::ilMDOrComposite (   $a_rbac_id = 0,
  $a_obj_id = 0,
  $a_obj_type = '' 
)

Definition at line 37 of file class.ilMDOrComposite.php.

38  {
39  parent::ilMDRequirement($a_rbac_id,
40  $a_obj_id,
41  $a_obj_type);
42  }

◆ ilMDOrComposite() [2/2]

ilMDOrComposite::ilMDOrComposite (   $a_rbac_id = 0,
  $a_obj_id = 0,
  $a_obj_type = '' 
)

Definition at line 37 of file class.ilMDOrComposite.php.

38  {
39  parent::ilMDRequirement($a_rbac_id,
40  $a_obj_id,
41  $a_obj_type);
42  }

◆ save() [1/2]

ilMDOrComposite::save ( )

Definition at line 110 of file class.ilMDOrComposite.php.

111  {
112  echo 'Use ilMDOrcomposite::addRequirement()';
113  }

◆ save() [2/2]

ilMDOrComposite::save ( )

Definition at line 111 of file class.ilMDOrComposite.php.

112  {
113  echo 'Use ilMDOrcomposite::addRequirement()';
114  }

◆ setOrCompositeId() [1/2]

ilMDOrComposite::setOrCompositeId (   $a_or_composite_id)

Definition at line 45 of file class.ilMDOrComposite.php.

46  {
47  $this->or_composite_id = (int) $a_or_composite_id;
48  }

◆ setOrCompositeId() [2/2]

ilMDOrComposite::setOrCompositeId (   $a_or_composite_id)

Definition at line 45 of file class.ilMDOrComposite.php.

46  {
47  $this->or_composite_id = (int) $a_or_composite_id;
48  }

◆ toXML() [1/2]

ilMDOrComposite::toXML ( $writer)

Definition at line 130 of file class.ilMDOrComposite.php.

References ilMDBase\getObjId(), ilMDBase\getRBACId(), getRequirement(), getRequirementIds(), and ilMDRequirement\ilMDRequirement().

131  {
132  // For all requirements
133  $writer->xmlStartTag('OrComposite');
134 
135  $reqs = $this->getRequirementIds();
136  foreach($reqs as $id)
137  {
138  $req = $this->getRequirement($id);
139  $req->toXML($writer);
140  }
141  if(!count($reqs))
142  {
143  include_once 'Services/MetaData/classes/class.ilMDRequirement.php';
144  $req = new ilMDRequirement($this->getRBACId(),$this->getObjId());
145  $req->toXML($writer);
146  }
147  $writer->xmlEndTag('OrComposite');
148 
149  }
& getRequirement($a_requirement_id)
ilMDRequirement($a_rbac_id=0, $a_obj_id=0, $a_obj_type='')
+ Here is the call graph for this function:

◆ toXML() [2/2]

ilMDOrComposite::toXML ( $writer)

Definition at line 131 of file class.ilMDOrComposite.php.

References getRequirement(), and getRequirementIds().

132  {
133  // For all requirements
134  $writer->xmlStartTag('OrComposite');
135 
136  foreach($this->getRequirementIds() as $id)
137  {
138  $req = $this->getRequirement($id);
139  $req->toXML($writer);
140  }
141  $writer->xmlEndTag('OrComposite');
142 
143  }
& getRequirement($a_requirement_id)
+ Here is the call graph for this function:

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