4 require_once
"./Services/Object/classes/class.ilObject2GUI.php";
5 require_once
"./Modules/File/classes/class.ilObjFile.php";
6 require_once
"./Modules/File/classes/class.ilObjFileAccess.php";
37 $next_class = $this->ctrl->getNextClass($this);
38 $cmd = $this->ctrl->getCmd();
40 if($this->id_type == self::WORKSPACE_NODE_ID)
42 include_once
"Services/Form/classes/class.ilFileInputGUI.php";
49 if(IS_PAYMENT_ENABLED)
51 include_once
'./Services/Payment/classes/class.ilPaymentObject.php';
52 if(ANONYMOUS_USER_ID == $ilUser->getId() && isset(
$_GET[
'transaction']))
54 $transaction =
$_GET[
'transaction'];
55 include_once
'./Services/Payment/classes/class.ilPaymentBookings.php';
60 ?
$_GET[
'purchasetype'] : NULL) ))
63 $this->tpl->getStandardTemplate();
65 include_once
'./Services/Payment/classes/class.ilShopPurchaseGUI.php';
67 $ret = $this->ctrl->forwardCommand($pp);
71 else if($this->id_type == self::REPOSITORY_NODE_ID
74 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $this->node_id);
75 $link = $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
"infoScreen");
76 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$_GET[
"ref_id"]);
79 $ilNavigationHistory->addItem($this->node_id,
88 case "ilinfoscreengui":
95 $ilErr->raiseError($this->lng->txt(
'permission_denied'),$ilErr->WARNING);
98 $ilTabs->activateTab(
"id_meta");
100 include_once
'Services/MetaData/classes/class.ilMDEditorGUI.php';
102 $md_gui =&
new ilMDEditorGUI($this->object->getId(), 0, $this->
object->getType());
103 $md_gui->
addObserver($this->
object,
'MDUpdateListener',
'General');
106 $md_gui->addObserver($this->
object,
'MDUpdateListener',
'Technical');
108 $this->ctrl->forwardCommand($md_gui);
112 case 'ilpermissiongui':
113 $ilTabs->activateTab(
"id_permissions");
114 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
116 $ret =& $this->ctrl->forwardCommand($perm_gui);
122 $ilErr->raiseError($this->lng->txt(
'permission_denied'),$ilErr->WARNING);
124 $ilTabs->activateTab(
"export");
125 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
127 $exp_gui->addFormat(
"xml");
128 $ret = $this->ctrl->forwardCommand($exp_gui);
131 case 'ilobjectcopygui':
132 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
134 $cp->setType(
'file');
135 $this->ctrl->forwardCommand($cp);
139 case "ilworkspaceaccessgui";
140 $ilTabs->activateTab(
"id_permissions");
141 include_once(
'./Services/PersonalWorkspace/classes/class.ilWorkspaceAccessGUI.php');
143 $this->ctrl->forwardCommand($wspacc);
146 case "ilcommonactiondispatchergui":
147 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
149 $this->ctrl->forwardCommand($gui);
154 if($this->id_type == self::WORKSPACE_NODE_ID)
161 $ilCtrl->setCmd(
"infoScreen");
163 $ilTabs->clearTargets();
164 return parent::executeCommand();
183 if($this->id_type == self::WORKSPACE_NODE_ID)
185 include_once
"Services/DiskQuota/classes/class.ilDiskQuotaHandler.php";
188 $this->lng->loadLanguageModule(
"file");
190 $this->ctrl->redirect($this,
"cancel");
195 require_once(
"Services/FileUpload/classes/class.ilFileUploadSettings.php");
207 if($this->id_type != self::WORKSPACE_NODE_ID)
223 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
225 $single_form_gui->setMultipart(
true);
229 $in_title->
setInfo($this->lng->txt(
"if_no_title_then_filename"));
232 $single_form_gui->addItem($in_title);
236 $single_form_gui->addItem($in_descr);
241 $single_form_gui->addItem($in_file);
243 $single_form_gui->addCommandButton(
"save", $this->lng->txt($this->type.
"_add"));
244 $single_form_gui->addCommandButton(
"saveAndMeta", $this->lng->txt(
"file_add_and_metadata"));
245 $single_form_gui->addCommandButton(
"cancel", $lng->txt(
"cancel"));
247 $single_form_gui->setTableWidth(
"600px");
249 $single_form_gui->setTitle($this->lng->txt($this->type.
"_new"));
250 $single_form_gui->setTitleIcon(
ilUtil::getImagePath(
'icon_file.svg'), $this->lng->txt(
'obj_file'));
252 $this->ctrl->setParameter($this,
"new_type",
"file");
254 $single_form_gui->setFormAction($this->ctrl->getFormAction($this,
"save"));
256 return $single_form_gui;
270 $this->ilErr->raiseError($this->lng->txt(
"permission_denied"),$this->ilErr->MESSAGE);
275 if ($single_form_gui->checkInput())
277 $title = $single_form_gui->getInput(
"title");
278 $description = $single_form_gui->getInput(
"description");
279 $upload_file = $single_form_gui->getInput(
"upload_file");
281 if (trim($title) ==
"")
283 $title = $upload_file[
"name"];
290 if ($titleExtension != $fileExtension && strlen($fileExtension) > 0)
292 $title .=
'.'.$fileExtension;
298 include_once(
"./Modules/File/classes/class.ilObjFile.php");
300 $fileObj->setTitle($title);
301 $fileObj->setDescription($description);
302 $fileObj->setFileName($upload_file[
"name"]);
304 include_once(
"./Services/Utilities/classes/class.ilMimeTypeUtil.php");
306 "", $upload_file[
"name"], $upload_file[
"type"]));
307 $fileObj->setFileSize($upload_file[
"size"]);
308 $this->object_id = $fileObj->create();
313 $fileObj->createDirectory();
314 $fileObj->getUploadFile($upload_file[
"tmp_name"],
315 $upload_file[
"name"]);
320 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
326 if ($this->ctrl->getCmd() ==
"saveAndMeta")
328 $this->ctrl->setParameter($this,
"new_type",
"");
329 $target = $this->ctrl->getLinkTargetByClass(array(
"ilobjfilegui",
"ilmdeditorgui"),
"listSection",
"",
false,
false);
334 $this->ctrl->returnToParent($this);
339 $single_form_gui->setValuesByPost();
340 $this->tpl->setContent($single_form_gui->getHTML());
361 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
363 $zip_form_gui->setMultipart(
true);
368 $in_file->setSuffixes(array(
"zip"));
369 $zip_form_gui->addItem($in_file);
372 $in_str =
new ilCheckboxInputGUI($this->lng->txt(
"take_over_structure"),
"adopt_structure");
373 $in_str->
setInfo($this->lng->txt(
"take_over_structure_info"));
374 $zip_form_gui->addItem($in_str);
376 $zip_form_gui->addCommandButton(
"saveUnzip", $this->lng->txt($this->type.
"_add"));
377 $zip_form_gui->addCommandButton(
"cancel", $lng->txt(
"cancel"));
379 $zip_form_gui->setTableWidth(
"600px");
381 $zip_form_gui->setTitle($this->lng->txt(
"header_zip"));
382 $zip_form_gui->setTitleIcon(
ilUtil::getImagePath(
'icon_file.svg'), $this->lng->txt(
'obj_file'));
384 $this->ctrl->setParameter($this,
"new_type",
"file");
386 $zip_form_gui->setFormAction($this->ctrl->getFormAction($this,
"saveUnzip"));
388 return $zip_form_gui;
402 if ($zip_form_gui->checkInput())
404 $zip_file = $zip_form_gui->getInput(
"zip_file");
405 $adopt_structure = $zip_form_gui->getInput(
"adopt_structure");
407 include_once (
"Services/Utilities/classes/class.ilFileUtils.php");
414 if($this->id_type != self::WORKSPACE_NODE_ID)
431 $containerType =
"WorkspaceFolder";
440 $containerType =
"Category";
446 $containerType =
"Folder";
459 $zip_file[
"tmp_name"],
460 ($adopt_structure && $permission),
473 $this->ctrl->returnToParent($this);
477 $zip_form_gui->setValuesByPost();
478 $this->tpl->setContent($zip_form_gui->getHTML());
483 $this->ilErr->raiseError($this->lng->txt(
"permission_denied"),$this->ilErr->MESSAGE);
497 if(!$form->checkInput())
499 $ilTabs->activateTab(
"settings");
500 $form->setValuesByPost();
501 $this->tpl->setContent($form->getHTML());
505 $data = $form->getInput(
'file');
508 while (substr(
$data[
"name"],-1) ==
'/')
514 $title = $form->getInput(
'title');
515 if(strlen(trim($title)) == 0)
521 $title = $this->
object->checkFileExtension(
$filename,$title);
523 $this->
object->setTitle($title);
525 if (!empty(
$data[
"name"]))
527 switch($form->getInput(
'replace'))
530 $this->
object->deleteVersions();
531 $this->
object->clearDataDirectory();
532 $this->
object->replaceFile(
$data[
'tmp_name'],
$data[
'name']);
535 $this->
object->addFileVersion(
$data[
'tmp_name'],
$data[
'name']);
538 $this->
object->setFileName(
$data[
'name']);
539 include_once(
"./Services/Utilities/classes/class.ilMimeTypeUtil.php");
542 $this->
object->setFileSize(
$data[
'size']);
545 $this->
object->setDescription($form->getInput(
'description'));
546 $this->
object->setRating($form->getInput(
'rating'));
548 $this->
update = $this->
object->update();
551 if (!empty(
$data[
"name"]))
553 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
561 include_once
'Modules/File/classes/class.ilECSFileSettings.php';
563 $ecs->handleSettingsUpdate();
580 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_write"));
583 $ilTabs->activateTab(
"settings");
588 $val[
'title'] = $this->
object->getTitle();
589 $val[
'description'] = $this->
object->getLongDescription();
590 $val[
'rating'] = $this->
object->hasRating();
591 $form->setValuesByArray($val);
594 include_once
'Modules/File/classes/class.ilECSFileSettings.php';
596 $ecs->addSettingsToForm($form,
'file');
598 $this->tpl->setContent($form->getHTML());
609 include_once(
'./Services/Form/classes/class.ilPropertyFormGUI.php');
611 $this->lng->loadLanguageModule(
'file');
614 $form->setFormAction($this->ctrl->getFormAction($this),
'update');
615 $form->setTitle($this->lng->txt(
'file_edit'));
616 $form->addCommandButton(
'update',$this->lng->txt(
'save'));
617 $form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
620 $title->
setValue($this->object->getTitle());
621 $title->setInfo($this->lng->txt(
"if_no_title_then_filename"));
622 $form->addItem($title);
624 $upload_possible =
true;
625 if($this->id_type == self::WORKSPACE_NODE_ID)
627 include_once
"Services/DiskQuota/classes/class.ilDiskQuotaHandler.php";
634 $file->setRequired(
false);
636 $form->addItem(
$file);
641 $replace =
new ilRadioOption($this->lng->txt(
'replace_file'),1);
642 $replace->
setInfo($this->lng->txt(
'replace_file_info'));
643 $group->addOption($replace);
646 $keep =
new ilRadioOption($this->lng->txt(
'file_new_version'),0);
647 $keep->
setInfo($this->lng->txt(
'file_new_version_info'));
648 $group->addOption($keep);
650 $file->addSubItem($group);
655 $file->setValue($this->lng->txt(
"personal_workspace_quota_exceeded_warning"));
656 $form->addItem(
$file);
662 $form->addItem($desc);
664 if($this->id_type == self::REPOSITORY_NODE_ID)
666 $this->lng->loadLanguageModule(
'rating');
668 $rate->
setInfo($this->lng->txt(
'rating_activate_rating_info'));
669 $form->addItem($rate);
679 if(ANONYMOUS_USER_ID == $ilUser->getId() && isset(
$_GET[
'transaction']) )
681 $this->
object->sendFile(
$_GET[
"hist_id"]);
687 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
691 $this->
object->getId(), $ilUser->getId());
694 $this->
object->sendFile(
$_GET[
"hist_id"]);
698 $this->ilErr->raiseError($this->lng->txt(
"permission_denied"),$this->ilErr->MESSAGE);
713 $ilTabs->activateTab(
"id_versions");
717 $this->ilErr->raiseError($this->lng->txt(
"permission_denied"),$this->ilErr->MESSAGE);
721 $versions = $this->
object->getVersions();
724 require_once(
"Modules/File/classes/class.ilFileVersionTableGUI.php");
726 $table->setMaxCount(
sizeof($versions));
727 $table->setData($versions);
729 $this->tpl->setVariable(
"ADM_CONTENT", $table->getHTML());
739 $this->ctrl->setCmd(
"showSummary");
740 $this->ctrl->setCmdClass(
"ilinfoscreengui");
749 global $ilTabs,
$ilErr, $ilToolbar;
751 $ilTabs->activateTab(
"id_info");
755 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"));
758 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
764 $this->lng->loadLanguageModule(
"file");
767 include_once
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
769 $button->setCaption(
"file_download");
770 $button->setPrimary(
true);
773 if ($this->id_type == self::REPOSITORY_NODE_ID)
779 $button->setUrl($this->ctrl->getLinkTarget($this,
"sendfile"));
782 $ilToolbar->addButtonInstance($button);
785 $info->enablePrivateNotes();
793 $info->enableNewsEditing(
false);
797 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
799 if ($enable_internal_rss)
801 $info->setBlockProperty(
"news",
"settings",
true);
802 $info->setBlockProperty(
"news",
"public_notifications_option",
true);
808 $info->addMetaDataSections($this->object->getId(),0, $this->
object->getType());
810 $info->addSection($this->lng->txt(
"file_info"));
811 $info->addProperty($this->lng->txt(
"filename"),
812 $this->
object->getFileName());
814 $info->addProperty($this->lng->txt(
"type"),
815 $this->
object->guessFileType());
817 $info->addProperty($this->lng->txt(
"size"),
819 $info->addProperty($this->lng->txt(
"version"),
820 $this->
object->getVersion());
823 $uploader = $this->
object->getVersions();
824 $uploader = array_shift($uploader);
825 $uploader = $uploader[
"user_id"];
827 $this->lng->loadLanguageModule(
"file");
828 include_once
"Services/User/classes/class.ilUserUtil.php";
832 if ($this->id_type == self::REPOSITORY_NODE_ID && $this->
checkPermissionBool(
"read",
"sendfile"))
834 $tpl =
new ilTemplate(
"tpl.download_link.html",
true,
true,
"Modules/File");
836 $info->addProperty($this->lng->txt(
"download_link"),
$tpl->get());
839 if($this->id_type == self::WORKSPACE_NODE_ID)
845 include_once(
"./Services/Preview/classes/class.ilPreview.php");
846 if (!$this->ctrl->isAsynch() &&
850 include_once(
"./Services/Preview/classes/class.ilPreviewGUI.php");
854 switch ($this->id_type)
856 case self::WORKSPACE_NODE_ID:
857 case self::WORKSPACE_OBJECT_ID:
867 $info->addProperty($this->lng->txt(
"preview"),
$preview->getInlineHTML());
873 $this->ctrl->forwardCommand($info);
880 global $ilTabs,
$lng, $ilHelp;
882 $ilHelp->setScreenIdComponent(
"file");
884 $this->ctrl->setParameter($this,
"ref_id",$this->node_id);
888 $ilTabs->addTab(
"id_info",
889 $lng->txt(
"info_short"),
890 $this->ctrl->getLinkTargetByClass(array(
"ilobjfilegui",
"ilinfoscreengui"),
"showSummary"));
895 $ilTabs->addTab(
"settings",
897 $this->ctrl->getLinkTarget($this,
"edit"));
902 $ilTabs->addTab(
"id_versions",
903 $lng->txt(
"versions"),
904 $this->ctrl->getLinkTarget($this,
"versions"));
910 $ilTabs->addTab(
"id_meta",
911 $lng->txt(
"meta_data"),
912 $this->ctrl->getLinkTargetByClass(array(
'ilobjfilegui',
'ilmdeditorgui'),
'listSection'));
918 $ilTabs->addTab(
"export",
920 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""));
927 public static function _goto($a_target, $a_additional = null)
931 if($a_additional && substr($a_additional, -3) ==
"wsp")
933 $_GET[
"baseClass"] =
"ilsharedresourceGUI";
934 $_GET[
"wsp_id"] = $a_target;
935 include(
"ilias.php");
940 if($a_additional && substr($a_additional, -8) ==
"download")
947 if ($ilAccess->checkAccess(
"visible",
"", $a_target))
951 else if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
958 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
968 if (is_object($this->
object))
970 $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this,
""),
"",
$this->node_id);
981 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
983 $dnd_form_gui->setMultipart(
true);
984 $dnd_form_gui->setHideLabels();
987 include_once(
"Services/Form/classes/class.ilDragDropFileInputGUI.php");
990 $dnd_input->setCommandButtonNames(
"uploadFiles",
"cancel");
991 $dnd_form_gui->addItem($dnd_input);
994 $dnd_form_gui->addCommandButton(
"uploadFiles", $this->lng->txt(
"upload_files"));
995 $dnd_form_gui->addCommandButton(
"cancel", $this->lng->txt(
"cancel"));
997 $dnd_form_gui->setTableWidth(
"100%");
999 $dnd_form_gui->setTitle($this->lng->txt(
"upload_files_title"));
1000 $dnd_form_gui->setTitleIcon(
ilUtil::getImagePath(
'icon_file.gif'), $this->lng->txt(
'obj_file'));
1002 $this->ctrl->setParameter($this,
"new_type",
"file");
1003 $dnd_form_gui->setFormAction($this->ctrl->getFormAction($this,
"uploadFiles"));
1005 return $dnd_form_gui;
1013 include_once(
"./Services/JSON/classes/class.ilJsonUtil.php");
1015 $response =
new stdClass();
1016 $response->error = null;
1017 $response->debug = null;
1022 $after_creation_callback = (int)
$_REQUEST[
"crtcb"];
1023 if($after_creation_callback)
1025 $this->after_creation_callback_objects = array();
1031 if ($dnd_form_gui->checkInput())
1037 $response->error = $this->lng->txt(
"permission_denied");
1042 $fileresult = $this->
handleFileUpload($dnd_form_gui->getInput(
"upload_files"));
1044 $response = (object)array_merge((array)$response, (array)$fileresult);
1049 $response->error = $ex->getMessage() .
" ## " . $ex->getTraceAsString();
1054 $dnd_input = $dnd_form_gui->getItemByPostVar(
"upload_files");
1055 $response->error = $dnd_input->getAlert();
1058 if($after_creation_callback &&
1059 sizeof($this->after_creation_callback_objects))
1061 foreach($this->after_creation_callback_objects as $new_file_obj)
1065 unset($this->after_creation_callback_objects);
1069 header(
'Vary: Accept');
1070 header(
'Content-type: text/plain');
1091 $temp_name = $file_upload[
"tmp_name"];
1100 $response =
new stdClass();
1102 $response->fileSize = intval(
$size);
1103 $response->fileType = $type;
1104 $response->fileUnzipped = $extract;
1105 $response->error = null;
1111 $adopt_structure = $keep_structure;
1113 include_once (
"Services/Utilities/classes/class.ilFileUtils.php");
1120 if($this->id_type != self::WORKSPACE_NODE_ID)
1136 $containerType =
"WorkspaceFolder";
1145 $containerType =
"Category";
1151 $containerType =
"Folder";
1167 ($adopt_structure && $permission),
1175 $response->error = $e->getMessage();
1179 $response->error = $ex->getMessage();
1185 if($this->id_type != self::WORKSPACE_NODE_ID)
1189 if($parent_ref_id != $this->parent_id)
1196 $this->after_creation_callback_objects[] =
$object;
1203 if (trim($title) ==
"")
1212 if ($titleExtension != $fileExtension && strlen($fileExtension) > 0)
1214 $title .=
'.'.$fileExtension;
1220 include_once(
"./Modules/File/classes/class.ilObjFile.php");
1222 $fileObj->setTitle($title);
1223 $fileObj->setDescription($description);
1226 include_once(
"./Services/Utilities/classes/class.ilMimeTypeUtil.php");
1228 $fileObj->setFileSize(
$size);
1229 $this->object_id = $fileObj->create();
1234 if(is_array($this->after_creation_callback_objects))
1236 $this->after_creation_callback_objects[] = $fileObj;
1240 $fileObj->createDirectory();
1241 $fileObj->raiseUploadError(
false);
1242 $fileObj->getUploadFile($temp_name,
$filename);
1247 require_once(
'./Services/Tracking/classes/class.ilChangeEvent.php');
1260 global $ilTabs, $ilLocator;
1264 $version_ids = isset(
$_GET[
"hist_id"]) ? array(
$_GET[
"hist_id"]) :
$_POST[
"hist_id"];
1266 if (count($version_ids) < 1)
1269 $this->ctrl->redirect($this,
"versions");
1273 $ilTabs->activateTab(
"id_versions");
1276 $versionsToKeep = array_udiff($this->object->getVersions(), $version_ids, array($this,
"compareHistoryIds"));
1277 if (count($versionsToKeep) < 1)
1283 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1285 $conf_gui->setFormAction($this->ctrl->getFormAction($this,
"versions"));
1286 $conf_gui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteFile");
1287 $conf_gui->setConfirm($this->lng->txt(
"confirm"),
"confirmDeleteFile");
1289 $conf_gui->addItem(
"id[]", $this->ref_id, $this->object->getTitle(),
1291 $this->lng->txt(
"icon").
" ".$this->lng->txt(
"obj_".$this->object->getType()));
1293 $html = $conf_gui->getHTML();
1297 include_once(
"./Modules/File/classes/class.ilFileVersionTableGUI.php");
1300 $versions = $this->
object->getVersions($version_ids);
1303 $table->setMaxCount(
sizeof($versions));
1304 $table->setData($versions);
1306 $html = $table->getHTML();
1309 $this->tpl->setVariable(
'ADM_CONTENT', $html);
1323 $this->ilErr->raiseError($this->lng->txt(
"permission_denied"), $this->ilErr->MESSAGE);
1327 if (count(
$_POST[
"hist_id"]) > 0)
1329 $this->
object->deleteVersions(
$_POST[
"hist_id"]);
1333 $this->ctrl->setParameter($this,
"hist_id",
"");
1334 $this->ctrl->redirect($this,
"versions");
1342 $this->ctrl->redirect($this,
"versions");
1353 $this->ilErr->raiseError($this->lng->txt(
"permission_denied"), $this->ilErr->MESSAGE);
1357 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
1359 $ru->deleteObjects($this->parent_id, array($this->ref_id));
1362 $this->ctrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $this->parent_id);
1363 $this->ctrl->redirectByClass(
"ilrepositorygui");
1371 $this->ctrl->redirect($this,
"versions");
1384 $v1 = (int)$v1[
"hist_entry_id"];
1385 else if (!is_int($v1))
1389 $v2 = (
int)$v2[
"hist_entry_id"];
1390 else if (!is_int($v2))
1406 $this->ilErr->raiseError($this->lng->txt(
"permission_denied"), $this->ilErr->MESSAGE);
1411 $version_ids = isset(
$_GET[
"hist_id"]) ? array(
$_GET[
"hist_id"]) :
$_POST[
"hist_id"];
1414 if (count($version_ids) != 1)
1417 $this->ctrl->redirect($this,
"versions");
1421 $new_version = $this->
object->rollback($version_ids[0]);
1423 ilUtil::sendSuccess(sprintf($this->lng->txt(
"file_rollback_done"), $new_version[
"rollback_version"]),
true);
1424 $this->ctrl->redirect($this,
"versions");
1429 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
1432 if($this->object->hasRating())
1434 $lg->enableRating(
true, null,
false,
1435 array(
"ilcommonactiondispatchergui",
"ilratinggui"));
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
initSingleUploadForm()
FORM: Init single upload form.
This class represents an option in a radio group.
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
infoScreenForward()
show information screen
static _getPermanentDownloadLink($ref_id)
Gets the permanent download link for the file.
handleFileUpload($file_upload)
Handles the upload of a single file and adds it to the parent object.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
New implementation of ilObjectGUI.
rollbackVersion()
Performs a rollback with the selected file version.
GUI class for the workflow of copying objects.
cancelDeleteFile()
Cancels the file deletion.
const TITLE_LENGTH
max length of object title
getAccessHandler()
Get access handler.
static _getFileExtension($a_file_name)
Gets the file extension of the specified file name.
initZipUploadForm($a_mode="create")
FORM: Init zip upload form.
getPermanentLinkWidget($a_append=null, $a_center=false)
static _requiresPurchaseToAccess($a_ref_id, $a_purchasetype='')
this function should be used by all buyable repository objects !!
fillCloneTemplate($a_tpl_varname, $a_type)
addObserver(&$a_class, $a_method, $a_element)
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _lookupTitle($a_id)
lookup object title
setInfo($a_info)
Set Info.
static _goto($a_target, $a_additional=null)
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true)
Default behaviour is:
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
compareHistoryIds($v1, $v2)
Compares two versions either by passing a history entry or an id.
Export User Interface Class.
initImportForm($a_new_type)
Init object import form.
static encode($mixed, $suppress_native=false)
static hasPreview($a_obj_id, $a_type="")
Determines whether the object with the specified reference id has a preview.
static getMimeType($a_file="", $a_filename="", $a_mime="")
Get Mime type.
initHeaderAction($a_sub_type=null, $a_sub_id=null)
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
confirmDeleteFile()
Deletes this file object.
static _lookupObjId($a_id)
special template class to simplify handling of ITX/PEAR
handleAutoRating(ilObject $a_new_obj)
Repository GUI Utilities.
This class represents a text property in a property form.
static isUploadPossible($a_additional_size=null)
uploadFiles()
Called after a file was uploaded.
saveUnzip()
saveUnzip object
static handleAfterSaveCallback(ilObject $a_obj, $a_callback_ref_id)
After creation callback.
getTargetFrame($a_cmd, $a_target_frame="")
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
_recordReadEvent($a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
static ilTempnam()
Create a temporary file in an ILIAS writable directory.
This class represents a non editable value in a property form.
setRows($a_rows)
Set Rows.
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
GUI class for file objects.
This class represents a text area property in a property form.
confirmDeleteVersions()
Deletes the file versions that were confirmed by the user.
initMultiUploadForm()
Initializes the upload form for multiple files.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
deleteVersions()
Displays a confirmation screen with selected file versions that should be deleted.
cancelDeleteVersions()
Cancels the file version deletion.
setValue($a_value)
Set Value.
_catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static redirect($a_script)
http redirect to other script
versions()
file versions/history
addHeaderAction()
Add header action menu.
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static _readBookingByTransaction($a_transaction)
_lookupFileSize($a_id)
Lookups the file size of the file in bytes.
Class ilFileVersionTableGUI.
processZipFile($a_directory, $a_file, $structure, $ref_id=null, $containerType=null, $tree=null, $access_handler=null)
unzips in given directory and processes uploaded zip for use as single files
_recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static isDragAndDropUploadEnabled()
Gets whether drag and drop file upload is enabled.
update()
updates object entry in object_data
Class to report exception.
Confirmation screen class.