30include_once 
'class.ilMDBase.php';
 
   38        $this->catalog = $a_catalog;
 
   42        return $this->catalog;
 
   46        $this->entry = $a_entry;
 
   59        $fields[
'meta_identifier_id'] = array(
'integer',$next_id = 
$ilDB->nextId(
'il_meta_identifier'));
 
   61        if ($this->db->insert(
'il_meta_identifier', $fields)) {
 
   73            if ($this->db->update(
 
   76                array(
"meta_identifier_id" => array(
'integer',$this->
getMetaId()))
 
   84    public function delete()
 
   89            $query = 
"DELETE FROM il_meta_identifier " .
 
   90                "WHERE meta_identifier_id = " . $ilDB->quote($this->
getMetaId(), 
'integer');
 
  100        return array(
'rbac_id'  => array(
'integer',$this->
getRBACId()),
 
  101                     'obj_id'   => array(
'integer',$this->
getObjId()),
 
  102                     'obj_type' => array(
'text',$this->
getObjType()),
 
  104                     'parent_id' => array(
'integer',$this->
getParentId()),
 
  105                     'catalog'  => array(
'text',$this->
getCatalog()),
 
  106                     'entry'    => array(
'text',$this->
getEntry()));
 
  114            $query = 
"SELECT * FROM il_meta_identifier " .
 
  115                "WHERE meta_identifier_id = " . $ilDB->quote($this->
getMetaId(), 
'integer');
 
  136    public function toXML(&$writer, $a_overwrite_id = 
false)
 
  138        $entry_default = ($this->
getObjId() == 0)
 
  146            $entry = $entry_default;
 
  150        if (strlen($catalog)) {
 
  151            $writer->xmlElement(
'Identifier', array(
'Catalog' => $catalog,
 
  154            $writer->xmlElement(
'Identifier', array(
'Entry' => $entry));
 
  160    public static function _getIds($a_rbac_id, $a_obj_id, $a_parent_id, $a_parent_type)
 
  164        $query = 
"SELECT meta_identifier_id FROM il_meta_identifier " .
 
  165            "WHERE rbac_id = " . 
$ilDB->quote($a_rbac_id, 
'integer') . 
" " .
 
  166            "AND obj_id = " . 
$ilDB->quote($a_obj_id, 
'integer') . 
" " .
 
  167            "AND parent_id = " . 
$ilDB->quote($a_parent_id, 
'integer') . 
" " .
 
  168            "AND parent_type = " . 
$ilDB->quote($a_parent_type, 
'text');
 
  172            $ids[] = 
$row->meta_identifier_id;
 
  174        return $ids ? $ids : array();
 
  187        $query = 
"SELECT meta_identifier_id, catalog, entry FROM il_meta_identifier " .
 
  188            "WHERE rbac_id = " . 
$ilDB->quote($a_rbac_id, 
'integer') . 
" " .
 
  189            "AND obj_id = " . 
$ilDB->quote($a_obj_id, 
'integer') . 
" " .
 
  190            "AND obj_type = " . 
$ilDB->quote($a_obj_type, 
'text');
 
  195            $entries[
$r[
"meta_identifier_id"]] =
 
  196                array(
"catalog" => 
$r[
"catalog"],
 
  197                    "entry" => 
$r[
"entry"]);
 
  212        $query = 
"SELECT meta_identifier_id, catalog, entry, obj_id FROM il_meta_identifier " .
 
  213            "WHERE rbac_id = " . 
$ilDB->quote($a_rbac_id, 
'integer');
 
  215        if ($a_obj_type != 
"") {
 
  217                " AND obj_type = " . 
$ilDB->quote($a_obj_type, 
'text');
 
  223            $entries[
$r[
"meta_identifier_id"]] =
 
  224                array(
"catalog" => 
$r[
"catalog"],
 
  225                    "entry" => 
$r[
"entry"],
 
  226                    "obj_id" => 
$r[
"obj_id"]);
 
  241        $query = 
"SELECT meta_identifier_id, obj_id FROM il_meta_identifier " .
 
  242            "WHERE rbac_id = " . 
$ilDB->quote($a_rbac_id, 
'integer') .
 
  243            " AND obj_type = " . 
$ilDB->quote($a_obj_type, 
'text') .
 
  244            " AND catalog = " . 
$ilDB->quote($a_catalog, 
'text') .
 
  245            " AND entry = " . 
$ilDB->quote($a_entry, 
'text');
 
  259    public static function readIdData($a_rbac_id, $a_obj_type, $a_catalog, $a_entry)
 
  263        $query = 
"SELECT * FROM il_meta_identifier " .
 
  264            "WHERE rbac_id = " . 
$ilDB->quote($a_rbac_id, 
'integer') .
 
  265            " AND obj_type = " . 
$ilDB->quote($a_obj_type, 
'text') .
 
  266            " AND catalog = " . 
$ilDB->quote($a_catalog, 
'text') .
 
  267            " AND entry = " . 
$ilDB->quote($a_entry, 
'text');
 
An exception for terminatinating execution or to throw for unit testing.
setMetaId($a_meta_id, $a_read_data=true)
setParentType($a_parent_type)
static _getIds($a_rbac_id, $a_obj_id, $a_parent_id, $a_parent_type)
static _getEntriesForRbacObj($a_rbac_id, $a_obj_type="")
Get IDs for an rbac object.
static _getEntriesForObj($a_rbac_id, $a_obj_id, $a_obj_type)
Get IDs for an object.
toXML(&$writer, $a_overwrite_id=false)
static existsIdInRbacObject($a_rbac_id, $a_obj_type, $a_catalog, $a_entry)
Does id entry exist in rbac object?
static readIdData($a_rbac_id, $a_obj_type, $a_catalog, $a_entry)
Does id entry exist in rbac object?
foreach($_POST as $key=> $value) $res