ILIAS  trunk Revision v11.0_alpha-1866-gfa368f7776e
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilMDOrComposite Class Reference
+ Inheritance diagram for ilMDOrComposite:
+ Collaboration diagram for ilMDOrComposite:

Public Member Functions

 setOrCompositeId (int $a_or_composite_id)
 
 getOrCompositeId ()
 
 getRequirementIds ()
 
 getRequirement (int $a_requirement_id)
 
 addRequirement ()
 
 save ()
 
 delete ()
 
 toXML (ilXmlWriter $writer)
 
- Public Member Functions inherited from ilMDRequirement
 setOrCompositeId (int $a_or_composite_id)
 
 getOrCompositeId ()
 
 setOperatingSystemName (string $a_val)
 
 getOperatingSystemName ()
 
 setOperatingSystemMinimumVersion (string $a_val)
 
 getOperatingSystemMinimumVersion ()
 
 setOperatingSystemMaximumVersion (string $a_val)
 
 getOperatingSystemMaximumVersion ()
 
 setBrowserName (string $a_val)
 
 getBrowserName ()
 
 setBrowserMinimumVersion (string $a_val)
 
 getBrowserMinimumVersion ()
 
 setBrowserMaximumVersion (string $a_val)
 
 getBrowserMaximumVersion ()
 
 save ()
 
 update ()
 
 delete ()
 
 __getFields ()
 
 read ()
 
 toXML (ilXmlWriter $writer)
 
 setMetaId (int $a_meta_id, bool $a_read_data=true)
 Compatibility fix for legacy MD classes for new db tables. More...
 
- Public Member Functions inherited from ilMDBase
 __construct (int $a_rbac_id=0, int $a_obj_id=0, string $a_type='')
 constructor More...
 
 read ()
 
 setRBACId (int $a_id)
 
 getRBACId ()
 
 setObjId (int $a_id)
 
 getObjId ()
 
 setObjType (string $a_type)
 
 getObjType ()
 
 setMetaId (int $a_meta_id, bool $a_read_data=true)
 
 getMetaId ()
 
 setParentType (string $a_parent_type)
 
 getParentType ()
 
 setParentId (int $a_id)
 
 getParentId ()
 
 setExportMode (bool $a_export_mode=true)
 
 getExportMode ()
 
 validate ()
 
 update ()
 
 save ()
 
 delete ()
 
 toXML (ilXmlWriter $writer)
 

Static Public Member Functions

static _getIds (int $a_rbac_id, int $a_obj_id, int $a_parent_id, string $a_parent_type, int $a_or_composite_id=0)
 
- Static Public Member Functions inherited from ilMDRequirement
static _getIds (int $a_rbac_id, int $a_obj_id, int $a_parent_id, string $a_parent_type, int $a_or_composite_id=0)
 

Private Attributes

int $or_composite_id = 0
 

Additional Inherited Members

- Protected Member Functions inherited from ilMDRequirement
 createOrUpdateOrs ()
 Compatibility fix for legacy MD classes for new db tables. More...
 
 createOrUpdateOr (int $id, string $type, string $name, string $min_version, string $max_version)
 Compatibility fix for legacy MD classes for new db tables. More...
 
 deleteAllOrs ()
 Compatibility fix for legacy MD classes for new db tables. More...
 
 readFirstOrs ()
 Compatibility fix for legacy MD classes for new db tables. More...
 
 readOrIds (int $parent_id)
 Compatibility fix for legacy MD classes for new db tables. More...
 
 getOrIdOS ()
 Compatibility fix for legacy MD classes for new db tables. More...
 
 getOrIdBrowser ()
 Compatibility fix for legacy MD classes for new db tables. More...
 
- Protected Attributes inherited from ilMDBase
ilLogger $log
 
ilDBInterface $db
 

Detailed Description

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

Member Function Documentation

◆ _getIds()

static ilMDOrComposite::_getIds ( int  $a_rbac_id,
int  $a_obj_id,
int  $a_parent_id,
string  $a_parent_type,
int  $a_or_composite_id = 0 
)
static
Returns
int[]

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

References $DIC, $ilDB, $res, ilDBConstants\FETCHMODE_OBJECT, and ILIAS\Repository\int().

Referenced by ilMDTechnical\getOrCompositeIds().

132  : array {
133  global $DIC;
134 
135  $ilDB = $DIC->database();
136 
137  $query = "SELECT DISTINCT(or_composite_id) or_composite_id FROM il_meta_requirement " .
138  "WHERE rbac_id = " . $ilDB->quote($a_rbac_id, 'integer') . " " .
139  "AND obj_id = " . $ilDB->quote($a_obj_id, 'integer') . " " .
140  "AND parent_id = " . $ilDB->quote($a_parent_id, 'integer') . " " .
141  "AND parent_type = " . $ilDB->quote($a_parent_type, 'text') . " " .
142  "AND or_composite_id > 0 ";
143 
144  $res = $ilDB->query($query);
145  $ids = [];
146  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
147  $ids[] = (int) $row->or_composite_id;
148  }
149  return $ids;
150  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addRequirement()

ilMDOrComposite::addRequirement ( )

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

References XapiProxy\$req, ilMDBase\getObjId(), ilMDBase\getObjType(), getOrCompositeId(), ilMDBase\getParentId(), and ilMDBase\getRBACId().

80  {
81  $req = new ilMDRequirement($this->getRBACId(), $this->getObjId(), $this->getObjType());
82  $req->setParentId($this->getParentId());
83  $req->setParentType('meta_technical');
84  $req->setOrCompositeId($this->getOrCompositeId());
85 
86  return $req;
87  }
catch(\Exception $e) $req
Definition: xapiproxy.php:91
+ Here is the call graph for this function:

◆ delete()

ilMDOrComposite::delete ( )

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

References $id, XapiProxy\$req, getRequirement(), and getRequirementIds().

95  : bool
96  {
97  foreach ($this->getRequirementIds() as $id) {
98  $req = $this->getRequirement($id);
99  $req->delete();
100  }
101  return true;
102  }
catch(\Exception $e) $req
Definition: xapiproxy.php:91
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
getRequirement(int $a_requirement_id)
+ Here is the call graph for this function:

◆ getOrCompositeId()

ilMDOrComposite::getOrCompositeId ( )

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

References $or_composite_id, $res, ilDBConstants\FETCHMODE_OBJECT, ilMDBase\getObjId(), ilMDBase\getRBACId(), and ILIAS\Repository\int().

Referenced by addRequirement(), and getRequirementIds().

38  : int
39  {
40  if (!$this->or_composite_id) {
41  $query = "SELECT MAX(or_composite_id) orc FROM il_meta_requirement " .
42  "WHERE rbac_id = " . $this->db->quote($this->getRBACId(), 'integer') . " " .
43  "AND obj_id = " . $this->db->quote($this->getObjId(), 'integer') . " ";
44 
45  $res = $this->db->query($query);
46  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
47  $this->or_composite_id = (int) $row->orc;
48  }
50  }
52  }
$res
Definition: ltiservices.php:66
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRequirement()

ilMDOrComposite::getRequirement ( int  $a_requirement_id)

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

References XapiProxy\$req, and null.

Referenced by delete(), and toXML().

69  {
70  if (!$a_requirement_id) {
71  return null;
72  }
73  $req = new ilMDRequirement();
74  $req->setMetaId($a_requirement_id);
75 
76  return $req;
77  }
catch(\Exception $e) $req
Definition: xapiproxy.php:91
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the caller graph for this function:

◆ getRequirementIds()

ilMDOrComposite::getRequirementIds ( )
Returns
int[]

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

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

Referenced by delete(), and toXML().

57  : array
58  {
60  $this->getRBACId(),
61  $this->getObjId(),
62  $this->getParentId(),
63  'meta_technical',
64  $this->getOrCompositeId()
65  );
66  }
static _getIds(int $a_rbac_id, int $a_obj_id, int $a_parent_id, string $a_parent_type, int $a_or_composite_id=0)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ save()

ilMDOrComposite::save ( )

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

89  : int
90  {
91  echo 'Use ilMDOrcomposite::addRequirement()';
92  return 0;
93  }

◆ setOrCompositeId()

ilMDOrComposite::setOrCompositeId ( int  $a_or_composite_id)

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

33  : void
34  {
35  $this->or_composite_id = $a_or_composite_id;
36  }

◆ toXML()

ilMDOrComposite::toXML ( ilXmlWriter  $writer)

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

References $id, XapiProxy\$req, ilMDBase\getObjId(), ilMDBase\getRBACId(), getRequirement(), getRequirementIds(), ilXmlWriter\xmlEndTag(), and ilXmlWriter\xmlStartTag().

104  : void
105  {
106  // For all requirements
107  $writer->xmlStartTag('OrComposite');
108 
109  $reqs = $this->getRequirementIds();
110  foreach ($reqs as $id) {
111  $req = $this->getRequirement($id);
112  $req->toXML($writer);
113  }
114  if (!count($reqs)) {
115  $req = new ilMDRequirement($this->getRBACId(), $this->getObjId());
116  $req->toXML($writer);
117  }
118  $writer->xmlEndTag('OrComposite');
119  }
catch(\Exception $e) $req
Definition: xapiproxy.php:91
xmlEndTag(string $tag)
Writes an endtag.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
getRequirement(int $a_requirement_id)
xmlStartTag(string $tag, ?array $attrs=null, bool $empty=false, bool $encode=true, bool $escape=true)
Writes a starttag.
+ Here is the call graph for this function:

Field Documentation

◆ $or_composite_id

int ilMDOrComposite::$or_composite_id = 0
private

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

Referenced by getOrCompositeId().


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