4 include_once
'./Services/Table/classes/class.ilTable2GUI.php';
5 include_once
'./Services/CopyWizard/classes/class.ilCopyWizardOptions.php';
53 $this->
user = $DIC->user();
54 $this->obj_definition = $DIC[
"objDefinition"];
55 $this->tree = $DIC->repositoryTree();
56 $this->access = $DIC->access();
57 $lng = $DIC->language();
60 $objDefinition = $DIC[
"objDefinition"];
62 parent::__construct($a_parent_class, $a_parent_cmd);
68 $this->
setTitle($this->lng->txt($this->type .
'_wizard_page'));
71 $this->
addColumn($this->lng->txt(
'title'),
'',
'55%');
72 $this->
addColumn($this->lng->txt(
'copy'),
'',
'15%');
73 $this->
addColumn($this->lng->txt(
'link'),
'',
'15%');
74 $this->
addColumn($this->lng->txt(
'omit'),
'',
'15%');
78 $this->
setRowTemplate(
"tpl.obj_copy_selection_row.html",
"Services/Object");
85 $this->
addCommandButton(
'copyContainerToTargets', $this->lng->txt(
'obj_' . $this->type .
'_duplicate'));
110 foreach (
$tree->getSubTree($root =
$tree->getNodeData($a_source)) as $node) {
111 if ($node[
'type'] ==
'rolf') {
114 if (!$ilAccess->checkAccess(
'visible',
'', $node[
'child'])) {
121 $r[
'source']= $first;
122 $r[
'ref_id']= $node[
'child'];
123 $r[
'depth'] = $node[
'depth'] - $root[
'depth'];
124 $r[
'type'] = $node[
'type'];
125 $r[
'title'] = $node[
'title'];
126 $r[
'copy'] = $objDefinition->allowCopy($node[
'type']);
127 $r[
'perm_copy'] = $ilAccess->checkAccess(
'copy',
'', $node[
'child']);
128 $r[
'link'] = $objDefinition->allowLink($node[
'type']);
129 $r[
'perm_link'] =
true;
132 if (!trim(
$r[
'title']) &&
$r[
'type'] ==
'sess') {
134 include_once(
'./Modules/Session/classes/class.ilSessionAppointment.php');
153 $this->tpl->setCurrentBlock(
'footer_copy');
154 $this->tpl->setVariable(
'TXT_COPY_ALL', $this->lng->txt(
'copy_all'));
155 $this->tpl->parseCurrentBlock();
156 $this->tpl->setCurrentBlock(
'footer_link');
157 $this->tpl->setVariable(
'TXT_LINK_ALL', $this->lng->txt(
'link_all'));
158 $this->tpl->parseCurrentBlock();
159 $this->tpl->setCurrentBlock(
'footer_omit');
160 $this->tpl->setVariable(
'TXT_OMIT_ALL', $this->lng->txt(
'omit_all'));
161 $this->tpl->parseCurrentBlock();
166 for (
$i = 0;
$i <
$s[
'depth'];
$i++) {
167 $this->tpl->touchBlock(
'padding');
168 $this->tpl->touchBlock(
'end_padding');
171 $this->tpl->setVariable(
'TREE_ALT_IMG', $this->lng->txt(
'obj_' . $s[
'type']));
172 $this->tpl->setVariable(
'TREE_TITLE', $s[
'title']);
179 if ($s[
'perm_copy'] and $s[
'copy']) {
180 $this->tpl->setCurrentBlock(
'radio_copy');
181 $this->tpl->setVariable(
'TXT_COPY', $this->lng->txt(
'copy'));
182 $this->tpl->setVariable(
'NAME_COPY',
'cp_options[' . $s[
'ref_id'] .
'][type]');
184 $this->tpl->setVariable(
'ID_COPY', $s[
'depth'] .
'_' . $s[
'type'] .
'_' . $s[
'ref_id'] .
'_copy');
185 $this->tpl->setVariable(
'COPY_CHECKED',
'checked="checked"');
186 $this->tpl->parseCurrentBlock();
187 } elseif ($s[
'copy']) {
188 $this->tpl->setCurrentBlock(
'missing_copy_perm');
189 $this->tpl->setVariable(
'TXT_MISSING_COPY_PERM', $this->lng->txt(
'missing_perm'));
190 $this->tpl->parseCurrentBlock();
195 if ($s[
'perm_link'] and $s[
'link']) {
196 $this->tpl->setCurrentBlock(
'radio_link');
197 $this->tpl->setVariable(
'TXT_LINK', $this->lng->txt(
'link'));
198 $this->tpl->setVariable(
'NAME_LINK',
'cp_options[' . $s[
'ref_id'] .
'][type]');
200 $this->tpl->setVariable(
'ID_LINK', $s[
'depth'] .
'_' . $s[
'type'] .
'_' . $s[
'ref_id'] .
'_link');
201 if (!$s[
'copy'] or !$s[
'perm_copy']) {
202 $this->tpl->setVariable(
'LINK_CHECKED',
'checked="checked"');
204 $this->tpl->parseCurrentBlock();
205 } elseif ($s[
'link']) {
206 $this->tpl->setCurrentBlock(
'missing_link_perm');
207 $this->tpl->setVariable(
'TXT_MISSING_LINK_PERM', $this->lng->txt(
'missing_perm'));
208 $this->tpl->parseCurrentBlock();
212 $this->tpl->setCurrentBlock(
'omit_radio');
213 $this->tpl->setVariable(
'TXT_OMIT', $this->lng->txt(
'omit'));
214 $this->tpl->setVariable(
'NAME_OMIT',
'cp_options[' . $s[
'ref_id'] .
'][type]');
216 $this->tpl->setVariable(
'ID_OMIT', $s[
'depth'] .
'_' . $s[
'type'] .
'_' . $s[
'ref_id'] .
'_omit');
217 if ((!$s[
'copy'] or !$s[
'perm_copy']) and (!$s[
'link'])) {
218 $this->tpl->setVariable(
'OMIT_CHECKED',
'checked="checked"');
220 $this->tpl->parseCurrentBlock();
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
setEnableNumInfo($a_val)
Set enable num info.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
static _lookupObjId($a_id)
getType()
Get object type of source.
static _appointmentToString($start, $end, $fulltime)
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setFormName($a_formname="")
Set Form name.
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
static _lookupAppointment($a_obj_id)
lookup appointment
setEnableHeader($a_enableheader)
Set Enable Header.
__construct($a_parent_class, $a_parent_cmd, $a_type, $a_back_cmd)
setEnableTitle($a_enabletitle)
Set Enable Title.
setLimit($a_limit=0, $a_default_limit=0)