24 require_once
"./Services/Container/classes/class.ilContainer.php";
47 parent::__construct($a_id,$a_call_by_reference);
48 $this->lng->loadLanguageModule(
'fold');
53 $this->folder_tree =& $a_tree;
69 include_once(
'Services/Tracking/classes/class.ilLPObjSettings.php');
71 $obj_settings->cloneSettings($new_obj->getId());
85 if (!is_object($this->folder_tree))
87 $this->folder_tree =& $tree;
93 $this->folder_tree->insertNode($this->
getRefId(), $a_parent);
98 $this->folder_tree->insertNode($this->
getId(), $a_parent);
114 include_once(
'Services/Object/classes/class.ilObjectActivation.php');
129 global $rbacsystem, $tree, $ilAccess;
131 $tmpdir = $tmpdir.DIRECTORY_SEPARATOR.ilUtil::getASCIIFilename(
$title);
134 $subtree = $tree->getChildsByTypeFilter($refid, array(
"fold",
"file"));
136 foreach ($subtree as $child)
138 if (!$ilAccess->checkAccess(
"read",
"", $child[
"ref_id"]))
146 if ($child[
"type"] ==
"fold")
150 $newFilename = $tmpdir.DIRECTORY_SEPARATOR.ilUtil::getASCIIFilename($child[
"title"]);
153 if (!copy ($oldFilename, $newFilename))
155 throw new ilFileException(
"Could not copy ".$oldFilename.
" to ".$newFilename);
157 touch($newFilename, filectime($oldFilename));
164 global
$lng, $rbacsystem, $ilAccess;
165 include_once
"./Services/Utilities/classes/class.ilUtil.php";
166 include_once
'Modules/File/classes/class.ilObjFile.php';
167 include_once
'Modules/File/classes/class.ilFileException.php';
168 if (!$ilAccess->checkAccess(
"read",
"", $this->getRefId()))
170 $this->ilErr->raiseError(get_class($this).
"::downloadFolder(): missing read permission!",$this->ilErr->WARNING);
174 $this->ilErr->raiseError(get_class($this).
"::downloadFolder(): object is trashed!",$this->ilErr->WARNING);
180 $basename = ilUtil::getAsciiFilename($this->
getTitle());
181 $deliverFilename = $basename.
".zip";
182 $zipbasedir = $tmpdir.DIRECTORY_SEPARATOR.$basename;
183 $tmpzipfile = $tmpdir.DIRECTORY_SEPARATOR.$deliverFilename;
207 $container_ref_id = $tree->checkForParentType($this->ref_id,
'grp');
208 if(!$container_ref_id)
210 $container_ref_id = $tree->checkForParentType($this->ref_id,
'crs');
212 if($container_ref_id)
214 include_once(
"./Modules/Course/classes/class.ilObjCourseAccess.php");
233 include_once
'./Services/Object/classes/class.ilObjectActivation.php';
251 include_once(
'./Services/Container/classes/class.ilContainerSortingSettings.php');