4 include_once
'./Services/Table/classes/class.ilTable2GUI.php';
5 include_once
'./Services/Export/classes/class.ilExportOptions.php';
6 include_once
'./Services/Export/classes/class.ilExportFileInfo.php';
33 $objDefinition = $DIC[
'objDefinition'];
35 parent::__construct($a_parent_class, $a_parent_cmd);
38 $this->lng->loadLanguageModule(
'export');
41 $this->
setTitle($this->lng->txt(
'export_select_resources'));
44 $this->
addColumn($this->lng->txt(
'title'),
'');
45 $this->
addColumn($this->lng->txt(
'export_last_export'),
'');
46 $this->
addColumn($this->lng->txt(
'export_last_export_file'),
'');
47 $this->
addColumn($this->lng->txt(
'export_create_new_file'),
'');
48 $this->
addColumn($this->lng->txt(
'export_omit_resource'),
'');
52 $this->
setRowTemplate(
"tpl.export_item_selection_row.html",
"Services/Export");
59 $this->
addCommandButton(
'saveItemSelection', $this->lng->txt(
'export_save_selection'));
66 $this->tpl->setCurrentBlock(
'footer_export_e');
67 $this->tpl->setVariable(
'TXT_EXPORT_E_ALL', $this->lng->txt(
'select_all'));
68 $this->tpl->parseCurrentBlock();
69 $this->tpl->setCurrentBlock(
'footer_export');
70 $this->tpl->setVariable(
'TXT_EXPORT_ALL', $this->lng->txt(
'select_all'));
71 $this->tpl->parseCurrentBlock();
72 $this->tpl->setCurrentBlock(
'footer_omit');
73 $this->tpl->setVariable(
'TXT_OMIT_ALL', $this->lng->txt(
'select_all'));
74 $this->tpl->parseCurrentBlock();
78 for (
$i = 0;
$i <
$s[
'depth'];
$i++) {
79 $this->tpl->touchBlock(
'padding');
80 $this->tpl->touchBlock(
'end_padding');
82 $this->tpl->setVariable(
'TREE_IMG', ilObject::_getIcon(
ilObject::_lookupObjId($s[
'ref_id']),
"tiny", $s[
'type']));
83 $this->tpl->setVariable(
'TREE_ALT_IMG', $this->lng->txt(
'obj_' . $s[
'type']));
84 $this->tpl->setVariable(
'TREE_TITLE', $s[
'title']);
87 if ($s[
'last_export']) {
90 $this->tpl->setVariable(
'VAL_LAST_EXPORT', $this->lng->txt(
'no_file'));
98 if ($s[
'perm_export']
and $s[
'last_export']) {
99 $this->tpl->setCurrentBlock(
'radio_export_e');
100 $this->tpl->setVariable(
'TXT_EXPORT_E', $this->lng->txt(
'export_existing'));
101 $this->tpl->setVariable(
'NAME_EXPORT_E',
'cp_options[' . $s[
'ref_id'] .
'][type]');
103 $this->tpl->setVariable(
'ID_EXPORT_E', $s[
'depth'] .
'_' . $s[
'type'] .
'_' . $s[
'ref_id'] .
'_export_e');
104 $this->tpl->setVariable(
'EXPORT_E_CHECKED',
'checked="checked"');
105 $this->tpl->parseCurrentBlock();
106 } elseif (!$s[
'perm_export']) {
107 $this->tpl->setCurrentBlock(
'missing_export_perm');
108 $this->tpl->setVariable(
'TXT_MISSING_EXPORT_PERM', $this->lng->txt(
'missing_perm'));
109 $this->tpl->parseCurrentBlock();
114 if ($s[
'perm_export']
and $s[
'export']) {
115 $this->tpl->setCurrentBlock(
'radio_export');
116 $this->tpl->setVariable(
'TXT_EXPORT', $this->lng->txt(
'export'));
117 $this->tpl->setVariable(
'NAME_EXPORT',
'cp_options[' . $s[
'ref_id'] .
'][type]');
119 $this->tpl->setVariable(
'ID_EXPORT', $s[
'depth'] .
'_' . $s[
'type'] .
'_' . $s[
'ref_id'] .
'_export');
120 if (!$copy
or !$perm_copy) {
121 $this->tpl->setVariable(
'EXPORT_CHECKED',
'checked="checked"');
123 $this->tpl->parseCurrentBlock();
124 } elseif ($s[
'export']) {
125 $this->tpl->setCurrentBlock(
'missing_export_perm');
126 $this->tpl->setVariable(
'TXT_MISSING_EXPORT_PERM', $this->lng->txt(
'missing_perm'));
127 $this->tpl->parseCurrentBlock();
131 $this->tpl->setCurrentBlock(
'omit_radio');
132 $this->tpl->setVariable(
'TXT_OMIT', $this->lng->txt(
'omit'));
133 $this->tpl->setVariable(
'NAME_OMIT',
'cp_options[' . $s[
'ref_id'] .
'][type]');
135 $this->tpl->setVariable(
'ID_OMIT', $s[
'depth'] .
'_' . $s[
'type'] .
'_' . $s[
'ref_id'] .
'_omit');
136 if ((!$s[
'copy']
or !$s[
'perm_copy'])
and (!$s[
'link'])) {
137 $this->tpl->setVariable(
'OMIT_CHECKED',
'checked="checked"');
139 $this->tpl->parseCurrentBlock();
151 $tree = $DIC[
'tree'];
152 $objDefinition = $DIC[
'objDefinition'];
153 $ilAccess = $DIC[
'ilAccess'];
156 foreach (
$tree->getSubTree(
$root =
$tree->getNodeData($a_source)) as $node) {
157 if ($node[
'type'] ==
'rolf') {
160 if (!$objDefinition->allowExport($node[
'type'])) {
163 include_once(
"./Modules/File/classes/class.ilObjFileAccess.php");
164 if ($node[
'type'] ==
"file" &&
171 $r[
'last_export'] = $last->getCreationDate()->get(
IL_CAL_UNIX);
173 $r[
'last_export'] = 0;
177 $r[
'source'] = $first;
178 $r[
'ref_id'] = $node[
'child'];
179 $r[
'depth'] = $node[
'depth'] -
$root[
'depth'];
180 $r[
'type'] = $node[
'type'];
181 $r[
'title'] = $node[
'title'];
182 $r[
'export'] = $objDefinition->allowExport($node[
'type']);
183 $r[
'perm_export'] = $ilAccess->checkAccess(
'write',
'', $node[
'child']);
190 $rows[] = array(
'last' =>
true);
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
parseContainer($a_source)
parse tree
setEnableNumInfo($a_val)
Set enable num info.
static _isFileHidden($a_file_name)
Returns true, if a file with the specified name, is usually hidden from the user. ...
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
Object selection for export.
__construct($a_parent_class, $a_parent_cmd)
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
static _lookupObjId($a_id)
static lookupLastExport($a_obj_id, $a_type, $a_version='')
Lookup last export.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
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.
setEnableHeader($a_enableheader)
Set Enable Header.
setEnableTitle($a_enabletitle)
Set Enable Title.
setLimit($a_limit=0, $a_default_limit=0)