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