19declare(strict_types=1);
39 $this->
user = $DIC->user();
40 $this->obj_definition =
$DIC[
"objDefinition"];
41 $this->tree =
$DIC->repositoryTree();
42 $this->
access = $DIC->access();
47 $this->
setTitle($this->
lng->txt($this->type .
'_wizard_page'));
55 $this->
setRowTemplate(
"tpl.obj_copy_selection_row.html",
"components/ILIAS/ILIASObject");
64 $submit_button_label = $this->
lng->txt(
'obj_' . $this->type .
'_duplicate');
66 $submit_button_label = $this->
lng->txt(
'cntr_adopt_content');
79 foreach ($this->tree->getSubTree($root = $this->tree->getNodeData($source)) as $node) {
80 if ($node[
'type'] ==
'rolf') {
83 if (!$this->
access->checkAccess(
'visible',
'', (
int) $node[
'child'])) {
89 $r[
'source'] = $first;
90 $r[
'ref_id'] = $node[
'child'];
91 $r[
'depth'] = $node[
'depth'] - $root[
'depth'];
92 $r[
'type'] = $node[
'type'];
93 $r[
'title'] = $node[
'title'];
94 $r[
'copy'] = $this->obj_definition->allowCopy($node[
'type']);
95 $r[
'perm_copy'] = $this->
access->checkAccess(
'copy',
'', (
int) $node[
'child']);
96 $r[
'link'] = $this->obj_definition->allowLink($node[
'type']);
97 $r[
'perm_link'] =
true;
99 if (!trim($r[
'title']) && $r[
'type'] ==
'sess') {
109 $rows[] = [
'last' =>
true];
116 $this->tpl->setCurrentBlock(
'footer_copy');
117 $this->tpl->setVariable(
'TXT_COPY_ALL', $this->
lng->txt(
'copy_all'));
118 $this->tpl->parseCurrentBlock();
119 $this->tpl->setCurrentBlock(
'footer_link');
120 $this->tpl->setVariable(
'TXT_LINK_ALL', $this->
lng->txt(
'link_all'));
121 $this->tpl->parseCurrentBlock();
122 $this->tpl->setCurrentBlock(
'footer_omit');
123 $this->tpl->setVariable(
'TXT_OMIT_ALL', $this->
lng->txt(
'omit_all'));
124 $this->tpl->parseCurrentBlock();
128 for ($i = 0; $i < $set[
'depth']; $i++) {
129 $this->tpl->touchBlock(
'padding');
130 $this->tpl->touchBlock(
'end_padding');
133 $this->tpl->setVariable(
'TREE_ALT_IMG', $this->
lng->txt(
'obj_' . $set[
'type']));
134 $this->tpl->setVariable(
'TREE_TITLE', $set[
'title']);
136 if ($set[
'source']) {
141 if ($set[
'perm_copy'] and $set[
'copy']) {
142 $this->tpl->setCurrentBlock(
'radio_copy');
143 $this->tpl->setVariable(
'TXT_COPY', $this->
lng->txt(
'copy'));
144 $this->tpl->setVariable(
'NAME_COPY',
'cp_options[' . $set[
'ref_id'] .
'][type]');
146 $this->tpl->setVariable(
'ID_COPY', $set[
'depth'] .
'_' . $set[
'type'] .
'_' . $set[
'ref_id'] .
'_copy');
147 $this->tpl->setVariable(
'COPY_CHECKED',
'checked="checked"');
148 $this->tpl->parseCurrentBlock();
149 } elseif ($set[
'copy']) {
150 $this->tpl->setCurrentBlock(
'missing_copy_perm');
151 $this->tpl->setVariable(
'TXT_MISSING_COPY_PERM', $this->
lng->txt(
'missing_perm'));
152 $this->tpl->parseCurrentBlock();
156 if ($set[
'perm_link'] and $set[
'link']) {
157 $this->tpl->setCurrentBlock(
'radio_link');
158 $this->tpl->setVariable(
'TXT_LINK', $this->
lng->txt(
'link'));
159 $this->tpl->setVariable(
'NAME_LINK',
'cp_options[' . $set[
'ref_id'] .
'][type]');
161 $this->tpl->setVariable(
'ID_LINK', $set[
'depth'] .
'_' . $set[
'type'] .
'_' . $set[
'ref_id'] .
'_link');
162 if (!$set[
'copy'] or !$set[
'perm_copy']) {
163 $this->tpl->setVariable(
'LINK_CHECKED',
'checked="checked"');
165 $this->tpl->parseCurrentBlock();
166 } elseif ($set[
'link']) {
167 $this->tpl->setCurrentBlock(
'missing_link_perm');
168 $this->tpl->setVariable(
'TXT_MISSING_LINK_PERM', $this->
lng->txt(
'missing_perm'));
169 $this->tpl->parseCurrentBlock();
173 $this->tpl->setCurrentBlock(
'omit_radio');
174 $this->tpl->setVariable(
'TXT_OMIT', $this->
lng->txt(
'omit'));
175 $this->tpl->setVariable(
'NAME_OMIT',
'cp_options[' . $set[
'ref_id'] .
'][type]');
177 $this->tpl->setVariable(
'ID_OMIT', $set[
'depth'] .
'_' . $set[
'type'] .
'_' . $set[
'ref_id'] .
'_omit');
178 if ((!$set[
'copy'] or !$set[
'perm_copy']) and (!$set[
'link'])) {
179 $this->tpl->setVariable(
'OMIT_CHECKED',
'checked="checked"');
182 $this->tpl->parseCurrentBlock();
const SUBMODE_CONTENT_ONLY
ilObjectDefinition $obj_definition
fillRow(array $set)
Standard Version of Fill Row.
__construct(?object $parent_class, string $parent_cmd, string $type, bool $copy_page)
parses the objects.xml it handles the xml-description of all ilias objects
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item.
static _lookupObjId(int $ref_id)
static _lookupAppointment(int $a_obj_id)
static _appointmentToString(int $start, int $end, bool $fulltime)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setLimit(int $a_limit=0, int $a_default_limit=0)
set max.
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
setEnableNumInfo(bool $a_val)
addCommandButton(string $a_cmd, string $a_text, string $a_onclick='', string $a_id="", string $a_class="")
setEnableTitle(bool $a_enabletitle)
setFormName(string $a_name="")
addHiddenInput(string $a_name, string $a_value)
setFormAction(string $a_form_action, bool $a_multipart=false)
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
setEnableHeader(bool $a_enableheader)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
setData(array $a_data)
Set table data.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
Interface ilAccessHandler This interface combines all available interfaces which can be called via gl...
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc