17 declare(strict_types=1);
32 public function __construct($content, $a_rbac_id, $a_obj_id, $a_obj_type)
47 $clone_md->deleteAll();
51 $clone_md->getRBACId(),
52 $clone_md->getObjId(),
53 $clone_md->getObjType(),
55 $identifier->
setEntry(
'il__' . $clone_md->getObjType() .
'_' . $clone_md->getObjId());
56 $identifier->update();
58 parent::startParsing();
64 public function handlerBeginTag($a_xml_parser,
string $a_name, array $a_attribs): void
66 if ($this->in_meta_data && !$this->
__inFilter($a_name)) {
67 parent::handlerBeginTag($a_xml_parser, $a_name, $a_attribs);
73 $this->in_meta_data =
true;
74 parent::handlerBeginTag($a_xml_parser, $a_name, $a_attribs);
79 $this->md_ide = $par->addIdentifier();
80 $this->md_ide->setCatalog($a_attribs[
'Catalog'] ??
'');
81 $this->md_ide->setEntry(
'il__' . $this->md->getObjType() .
'_' . $this->md->getObjId());
82 $this->md_ide->save();
93 if ($this->in_meta_data && !$this->
__inFilter($a_name)) {
94 parent::handlerEndTag($a_xml_parser, $a_name);
105 $this->in_meta_data =
false;
106 parent::handlerEndTag($a_xml_parser, $a_name);
116 if ($this->in_meta_data) {
117 parent::handlerCharacterData($a_xml_parser, $a_data);
123 $this->
filter[] =
'Identifier';
128 return in_array($a_tag_name, $this->
filter,
true);
handlerEndTag($a_xml_parser, string $a_name)
setEntry(string $a_entry)
handlerCharacterData($a_xml_parser, string $a_data)
handlerBeginTag($a_xml_parser, string $a_name, array $a_attribs)
__pushParent(object $md_obj)
__inFilter(string $a_tag_name)
__construct($content, $a_rbac_id, $a_obj_id, $a_obj_type)
__construct(Container $dic, ilPlugin $plugin)
filter(string $filter_id, $class_path, string $cmd, bool $activated=true, bool $expanded=true)
setXMLContent(string $a_xml_content)