Public Member Functions

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)

Detailed Description

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


Member Function Documentation

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

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

References $query, $res, and $row.

Referenced by ilMDTechnical::getOrCompositeIds(), and getRequirementIds().

        {
                global $ilDB;

                $query = "SELECT DISTINCT(or_composite_id) AS or_composite_id FROM il_meta_requirement ".
                        "WHERE rbac_id = '".$a_rbac_id."' ".
                        "AND obj_id = '".$a_obj_id."' ".
                        "AND parent_id = '".$a_parent_id."' ".
                        "AND parent_type = '".$a_parent_type."' ".
                        "AND or_composite_id > 0 ";

                $res = $ilDB->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $ids[] = $row->or_composite_id;
                }
                return $ids ? $ids : array();
        }

Here is the caller graph for this function:

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

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

References $query, $res, and $row.

        {
                global $ilDB;

                $query = "SELECT DISTINCT(or_composite_id) AS or_composite_id FROM il_meta_requirement ".
                        "WHERE rbac_id = '".$a_rbac_id."' ".
                        "AND obj_id = '".$a_obj_id."' ".
                        "AND parent_id = '".$a_parent_id."' ".
                        "AND parent_type = '".$a_parent_type."' ".
                        "AND or_composite_id > 0 ";

                $res = $ilDB->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $ids[] = $row->or_composite_id;
                }
                return $ids ? $ids : array();
        }

& ilMDOrComposite::addRequirement (  ) 

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

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

        {
                include_once 'Services/Migration/DBUpdate_426/classes/class.ilMDRequirement.php';

                $req =& new ilMDRequirement($this->getRBACId(),$this->getObjId(),$this->getObjType());
                $req->setParentId($this->getParentId());
                $req->setParentType('meta_technical');
                $req->setOrCompositeId($this->getOrCompositeId());

                return $req;
        }

Here is the call graph for this function:

& ilMDOrComposite::addRequirement (  ) 

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

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

        {
                include_once 'Services/MetaData/classes/class.ilMDRequirement.php';

                $req =& new ilMDRequirement($this->getRBACId(),$this->getObjId(),$this->getObjType());
                $req->setParentId($this->getParentId());
                $req->setParentType('meta_technical');
                $req->setOrCompositeId($this->getOrCompositeId());

                return $req;
        }

Here is the call graph for this function:

ilMDOrComposite::delete (  ) 

Reimplemented from ilMDRequirement.

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

References $id, getRequirement(), and getRequirementIds().

        {
                foreach($this->getRequirementIds() as $id)
                {
                        $req = $this->getRequirement($id);
                        $req->delete();
                }
                return true;
        }

Here is the call graph for this function:

ilMDOrComposite::delete (  ) 

Reimplemented from ilMDRequirement.

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

References $id, getRequirement(), and getRequirementIds().

        {
                foreach($this->getRequirementIds() as $id)
                {
                        $req = $this->getRequirement($id);
                        $req->delete();
                }
                return true;
        }

Here is the call graph for this function:

ilMDOrComposite::getOrCompositeId (  ) 

Reimplemented from ilMDRequirement.

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

References $query, $res, and $row.

Referenced by addRequirement(), and getRequirementIds().

        {
                if(!$this->or_composite_id)
                {
                        $query = "SELECT MAX(or_composite_id) AS orc FROM il_meta_requirement ".
                                "WHERE rbac_id = '".$this->getRBACId()."' ".
                                "AND obj_id = '".$this->getObjId()."' ".
                                "GROUP BY or_composite_id";

                        $res = $this->db->query($query);
                        while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                        {
                                $this->or_composite_id = $row->orc;
                        }
                        ++$this->or_composite_id;
                }
                return $this->or_composite_id;
        }

Here is the caller graph for this function:

ilMDOrComposite::getOrCompositeId (  ) 

Reimplemented from ilMDRequirement.

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

References $query, $res, and $row.

        {
                if(!$this->or_composite_id)
                {
                        $query = "SELECT MAX(or_composite_id) AS orc FROM il_meta_requirement ".
                                "WHERE rbac_id = '".$this->getRBACId()."' ".
                                "AND obj_id = '".$this->getObjId()."' ".
                                "GROUP BY or_composite_id";

                        $res = $this->db->query($query);
                        while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                        {
                                $this->or_composite_id = $row->orc;
                        }
                        ++$this->or_composite_id;
                }
                return $this->or_composite_id;
        }

& ilMDOrComposite::getRequirement ( a_requirement_id  ) 

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

References ilMDRequirement::ilMDRequirement().

Referenced by delete(), and toXML().

        {
                include_once 'Services/MetaData/classes/class.ilMDRequirement.php';

                if(!$a_requirement_id)
                {
                        return false;
                }
                $req =& new ilMDRequirement();
                $req->setMetaId($a_requirement_id);

                return $req;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

& ilMDOrComposite::getRequirement ( a_requirement_id  ) 

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

References ilMDRequirement::ilMDRequirement().

        {
                include_once 'Services/Migration/DBUpdate_426/classes/class.ilMDRequirement.php';

                if(!$a_requirement_id)
                {
                        return false;
                }
                $req =& new ilMDRequirement();
                $req->setMetaId($a_requirement_id);

                return $req;
        }

Here is the call graph for this function:

& ilMDOrComposite::getRequirementIds (  ) 

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

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

Referenced by delete(), and toXML().

        {
                include_once 'Services/MetaData/classes/class.ilMDRequirement.php';

                return ilMDRequirement::_getIds($this->getRBACId(),
                                                                                $this->getObjId(),
                                                                                $this->getParentId(),
                                                                                'meta_technical',
                                                                                $this->getOrCompositeId());
        }

Here is the call graph for this function:

Here is the caller graph for this function:

& ilMDOrComposite::getRequirementIds (  ) 

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

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

        {
                include_once 'Services/Migration/DBUpdate_426/classes/class.ilMDRequirement.php';

                return ilMDRequirement::_getIds($this->getRBACId(),
                                                                                $this->getObjId(),
                                                                                $this->getParentId(),
                                                                                'meta_technical',
                                                                                $this->getOrCompositeId());
        }

Here is the call graph for this function:

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

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

References ilMDRequirement::ilMDRequirement().

        {
                parent::ilMDRequirement($a_rbac_id,
                                                                $a_obj_id,
                                                                $a_obj_type);
        }

Here is the call graph for this function:

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

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

References ilMDRequirement::ilMDRequirement().

        {
                parent::ilMDRequirement($a_rbac_id,
                                                                $a_obj_id,
                                                                $a_obj_type);
        }

Here is the call graph for this function:

ilMDOrComposite::save (  ) 

Reimplemented from ilMDRequirement.

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

        {
                echo 'Use ilMDOrcomposite::addRequirement()';
        }

ilMDOrComposite::save (  ) 

Reimplemented from ilMDRequirement.

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

        {
                echo 'Use ilMDOrcomposite::addRequirement()';
        }

ilMDOrComposite::setOrCompositeId ( a_or_composite_id  ) 

Reimplemented from ilMDRequirement.

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

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

ilMDOrComposite::setOrCompositeId ( a_or_composite_id  ) 

Reimplemented from ilMDRequirement.

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

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

ilMDOrComposite::toXML ( &$  writer  ) 

Reimplemented from ilMDRequirement.

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

References $id, ilMDBase::getObjId(), ilMDBase::getRBACId(), getRequirement(), getRequirementIds(), and ilMDRequirement::ilMDRequirement().

        {
                // For all requirements
                $writer->xmlStartTag('OrComposite');

                $reqs = $this->getRequirementIds();
                foreach($reqs as $id)
                {
                        $req = $this->getRequirement($id);
                        $req->toXML($writer);
                }
                if(!count($reqs))
                {
                        include_once 'Services/MetaData/classes/class.ilMDRequirement.php';
                        $req = new ilMDRequirement($this->getRBACId(),$this->getObjId());
                        $req->toXML($writer);
                }
                $writer->xmlEndTag('OrComposite');
                
        }

Here is the call graph for this function:

ilMDOrComposite::toXML ( &$  writer  ) 

Reimplemented from ilMDRequirement.

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

References $id, getRequirement(), and getRequirementIds().

        {
                // For all requirements
                $writer->xmlStartTag('OrComposite');

                foreach($this->getRequirementIds() as $id)
                {
                        $req = $this->getRequirement($id);
                        $req->toXML($writer);
                }
                $writer->xmlEndTag('OrComposite');
                
        }

Here is the call graph for this function:


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