24 include_once(
'Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
57 $this->source_id = $a_source_id;
58 $this->item_type = $a_item_type;
59 $this->obj_id = $ilObjDataCache->lookupObjId($this->source_id);
60 $this->type = $ilObjDataCache->lookupType($this->obj_id);
76 global
$tpl,$ilAccess;
80 $perm_copy = $ilAccess->checkAccess(
'copy',
'',$a_ref_id);
81 $copy = $this->objDefinition->allowCopy($a_type);
82 $perm_link = $ilAccess->checkAccess(
'write',
'',$a_ref_id);
83 $link = $this->objDefinition->allowLink($a_type);
86 if($perm_copy and $copy)
88 $this->tpl->setCurrentBlock(
'radio_copy');
89 $this->tpl->setVariable(
'TXT_COPY',$this->lng->txt(
'copy'));
90 $this->tpl->setVariable(
'NAME_COPY',
'cp_options['.$a_ref_id.
'][type]');
92 $this->tpl->setVariable(
'ID_COPY',$a_depth.
'_'.$a_type.
'_'.$a_ref_id.
'_copy');
93 $this->tpl->setVariable(
'COPY_CHECKED',
'checked="checked"');
94 $this->tpl->parseCurrentBlock();
98 $this->tpl->setCurrentBlock(
'missing_copy_perm');
99 $this->tpl->setVariable(
'TXT_MISSING_COPY_PERM',$this->lng->txt(
'missing_perm'));
100 $this->tpl->parseCurrentBlock();
104 if($perm_link and $link)
106 $this->tpl->setCurrentBlock(
'radio_link');
107 $this->tpl->setVariable(
'TXT_LINK',$this->lng->txt(
'link'));
108 $this->tpl->setVariable(
'NAME_LINK',
'cp_options['.$a_ref_id.
'][type]');
110 $this->tpl->setVariable(
'ID_LINK',$a_depth.
'_'.$a_type.
'_'.$a_ref_id.
'_link');
111 if(!$copy or !$perm_copy)
113 $this->tpl->setVariable(
'LINK_CHECKED',
'checked="checked"');
115 $this->tpl->parseCurrentBlock();
119 $this->tpl->setCurrentBlock(
'missing_link_perm');
120 $this->tpl->setVariable(
'TXT_MISSING_LINK_PERM',$this->lng->txt(
'missing_perm'));
121 $this->tpl->parseCurrentBlock();
125 $this->tpl->setVariable(
'TXT_OMIT',$this->lng->txt(
'omit'));
126 $this->tpl->setVariable(
'NAME_OMIT',
'cp_options['.$a_ref_id.
'][type]');
128 $this->tpl->setVariable(
'ID_OMIT',$a_depth.
'_'.$a_type.
'_'.$a_ref_id.
'_omit');
129 if(((!$copy or !$perm_copy) and (!$link or !$perm_link)))
131 $this->tpl->setVariable(
'OMIT_CHECKED',
'checked="checked"');
147 if(!count($this->items))
162 die(
"ilCopyWizardPage->initTemplate. Deprecated.");
163 $this->tpl =
new ilTemplate(
'tpl.copy_wizard_block.html',
true,
true,
'Services/CopyWizard');
174 if(count($this->items) > 1)
176 $this->tpl->setCurrentBlock(
'obj_options');
177 $this->tpl->setVariable(
'NAME_OPTIONS',$this->lng->txt(
'omit_all'));
179 $this->tpl->setVariable(
'JS_TYPE',$this->item_type.
'_omit');
180 $this->tpl->parseCurrentBlock();
182 $this->tpl->setCurrentBlock(
'obj_options');
183 $this->tpl->setVariable(
'NAME_OPTIONS',$this->lng->txt(
'copy_all'));
184 $this->tpl->setVariable(
'OBJ_CHECKED',
'checked="checked"');
186 $this->tpl->setVariable(
'JS_TYPE',$this->item_type.
'_copy');
187 $this->tpl->parseCurrentBlock();
189 if($this->objDefinition->allowLink($this->item_type))
191 $this->tpl->setCurrentBlock(
'obj_options');
192 $this->tpl->setVariable(
'NAME_OPTIONS',$this->lng->txt(
'link_all'));
194 $this->tpl->setVariable(
'JS_TYPE',$this->item_type.
'_link');
195 $this->tpl->parseCurrentBlock();
198 $this->tpl->setVariable(
'OPTION_CLASS',
'option_value');
202 $this->tpl->setVariable(
'OPTION_CLASS',
'option');
205 $this->tpl->setVariable(
'OBJ_ALT',$this->lng->txt(
'objs_'.$this->item_type));
206 $this->tpl->setVariable(
'ROWSPAN',count($this->items) + 1);
216 foreach($this->items as $node)
221 $this->tpl->setCurrentBlock(
'item_options');
222 $this->tpl->setVariable(
'ITEM_CHECK_NAME',
'cp_options['.$node[
'child'].
'][type]');
224 $this->tpl->setVariable(
'ITEM_NAME_OPTION',$this->lng->txt(
'omit'));
227 $this->tpl->setVariable(
'ITEM_CHECKED',
'checked="checked"');
230 $this->tpl->parseCurrentBlock();
233 if($this->objDefinition->allowCopy($this->item_type))
235 $this->tpl->setCurrentBlock(
'item_options');
238 $this->tpl->setVariable(
'ITEM_CHECKED',
'checked="checked"');
240 $this->tpl->setVariable(
'ITEM_CHECK_NAME',
'cp_options['.$node[
'child'].
'][type]');
242 $this->tpl->setVariable(
'ITEM_NAME_OPTION',$this->lng->txt(
'copy'));
244 $this->tpl->parseCurrentBlock();
246 if($this->objDefinition->allowLink($this->item_type))
248 $this->tpl->setCurrentBlock(
'item_options');
251 $this->tpl->setVariable(
'ITEM_CHECKED',
'checked="checked"');
253 $this->tpl->setVariable(
'ITEM_CHECK_NAME',
'cp_options['.$node[
'child'].
'][type]');
255 $this->tpl->setVariable(
'ITEM_NAME_OPTION',$this->lng->txt(
'link'));
257 $this->tpl->parseCurrentBlock();
261 $this->tpl->setCurrentBlock(
'item_row');
262 $this->tpl->setVariable(
'ITEM_TITLE',$node[
'title']);
263 $this->tpl->setVariable(
'DESCRIPTION',$node[
'description']);
264 $this->tpl->parseCurrentBlock();
285 $nodes = $this->tree->getSubTree($this->tree->getNodeData($this->source_id),
true,
$this->item_type);
287 $this->items = array();
288 switch($nodes[0][
'type'])
294 foreach($nodes as $node)
296 if($node[
'child'] != $this->source_id)
298 $this->items[] = $node;
303 $this->items = $nodes;
315 return $_POST[
'cp_options'][$a_node_id][
'type'] ?
316 $_POST[
'cp_options'][$a_node_id][
'type'] :