93 protected \ILIAS\UI\Component\Input\Factory
$inputs;
102 public function __construct(
int $a_id = 0,
int $a_id_type = self::REPOSITORY_NODE_ID,
int $a_parent_node_id = 0)
105 $this->
http = $DIC->http()->wrapper();
106 $this->request = $DIC->http()->request();
108 $this->file_service_settings = $DIC->fileServiceSettings();
109 $this->
user = $DIC->user();
110 $this->
lng = $DIC->language();
112 $this->
ui = $DIC->ui();
113 $this->storage = $DIC->resourceStorage();
116 $this->general_settings =
new General();
118 $this->obj_service = $DIC->object();
121 $this->upload_limit = $DIC[
'ui.upload_limit_resolver'];
122 $this->inputs = $DIC->ui()->factory()->input();
123 $this->renderer = $DIC->ui()->renderer();
124 $this->request = $DIC->http()->request();
125 $this->data_factory =
new Factory();
136 $capability_context =
new Context(
139 ($a_id_type === self::WORKSPACE_NODE_ID) ? Context::CONTEXT_WORKSPACE : Context::CONTEXT_REPO
142 $this->capabilities = $capability_builder->get($capability_context);
158 $ilNavigationHistory = $DIC[
'ilNavigationHistory'];
159 $ilCtrl = $DIC[
'ilCtrl'];
160 $ilUser = $DIC[
'ilUser'];
161 $ilTabs = $DIC[
'ilTabs'];
164 $next_class = $this->
ctrl->getNextClass($this);
165 $cmd = $this->
ctrl->getCmd();
170 $this->id_type == self::REPOSITORY_NODE_ID
171 && $this->capabilities->get(Capabilities::DOWNLOAD)->isUnlocked()
174 $ilNavigationHistory->addItem(
176 (
string) $this->capabilities->get(Capabilities::INFO_PAGE)->getUri(),
185 $suffix = $info->getSuffix();
186 $path_file_icon = $this->icon_repo->getIconFilePathBySuffix($suffix);
187 $this->tpl->setTitleIcon($path_file_icon);
189 switch ($next_class) {
190 case strtolower(ilInfoScreenGUI::class):
194 case 'ilobjectmetadatagui':
195 if (!$this->capabilities->get(Capabilities::EDIT_SETTINGS)->isUnlocked()) {
196 $ilErr->raiseError($this->
lng->txt(
'permission_denied'),
$ilErr->WARNING);
199 $ilTabs->activateTab(
"id_meta");
206 $this->
ctrl->forwardCommand($md_gui);
210 case 'ilpermissiongui':
211 $ilTabs->activateTab(
"id_permissions");
213 $this->
ctrl->forwardCommand($perm_gui);
217 $ilTabs->activateTab(
"export");
219 $exp_gui->addFormat(
'xml');
220 $this->
ctrl->forwardCommand($exp_gui);
223 case 'ilobjectcopygui':
226 $this->
ctrl->forwardCommand($cp);
230 case "ilworkspaceaccessgui":
231 $ilTabs->activateTab(
"id_permissions");
233 $this->
ctrl->forwardCommand($wspacc);
236 case "ilcommonactiondispatchergui":
238 $this->
ctrl->forwardCommand($gui);
241 case "illearningprogressgui":
242 $ilTabs->activateTab(
'learning_progress');
243 $user_id = $this->
http->query()->has(
'user_id')
244 ? $this->
http->query()->retrieve(
'user_id', $this->
refinery->kindlyTo()->int())
248 $this->
object->getRefId(),
251 $this->
ctrl->forwardCommand($new_gui);
252 $this->tabs_gui->setTabActive(
'learning_progress');
254 case strtolower(ilFileVersionsGUI::class):
255 $this->tabs_gui->activateTab(
"id_versions");
257 if (!$this->capabilities->get(Capabilities::MANAGE_VERSIONS)->isUnlocked()) {
258 $this->error->raiseError($this->
lng->txt(
"permission_denied"), $this->error->MESSAGE);
264 case strtolower(ilObjFileUploadHandlerGUI::class):
267 case strtolower(ilWOPIEmbeddedApplicationGUI::class):
268 $capability = match($cmd) {
275 if ($capability === null || !$capability->isUnlocked()) {
276 $this->error->raiseError($this->
lng->txt(
"permission_denied"), $this->error->MESSAGE);
279 $action = match ($capability->getCapability()) {
280 Capabilities::VIEW_EXTERNAL => $this->action_repo->getViewActionForSuffix($suffix),
281 Capabilities::EDIT_EXTERNAL => $this->action_repo->getEditActionForSuffix($suffix),
282 default => $this->action_repo->null()
285 $this->tabs_gui->activateTab(
'content');
287 if ($this->id_type === Context::CONTEXT_WORKSPACE) {
293 $goto_link = ilLink::_getLink($this->
object->getRefId());
297 $this->storage->manage()->find($this->
object->getResourceId()),
301 $capability->getCapability() === Capabilities::VIEW_EXTERNAL
304 $this->
ctrl->forwardCommand(
311 case strtolower(ilFileCommonSettingsGUI::class):
313 $this->tabs_gui->activateSubTab(
"service_settings");
314 $this->
ctrl->forwardCommand(
320 $this->object_service
327 if ($this->id_type === self::WORKSPACE_NODE_ID) {
329 $ilTabs->clearTargets();
331 if (empty($cmd) || $cmd ===
'render') {
332 $cmd = Capabilities::INFO_PAGE->value;
335 parent::executeCommand();
340 if (empty($cmd) || $cmd ===
'render') {
341 $cmd = Capabilities::INFO_PAGE->value;
358 if (!in_array($form_type, [self::CFORM_NEW, self::CFORM_CLONE, self::CFORM_IMPORT],
true)) {
364 $title = ($inputs === []) ?
365 '' : $inputs[array_key_first($inputs)]->getLabel();
367 $tpl =
new ilTemplate(
"tpl.creation_acc_head.html",
true,
true,
"Services/Object");
368 $tpl->
setVariable(
"TITLE", $this->
lng->txt(
"option") .
" " . $form_type .
": " . $title);
379 if (!in_array($form_type, [self::CFORM_NEW, self::CFORM_CLONE, self::CFORM_IMPORT],
true)) {
385 $tpl =
new ilTemplate(
"tpl.creation_acc_head.html",
true,
true,
"Services/Object");
386 $tpl->
setVariable(
"TITLE", $this->
lng->txt(
"option") .
" " . $form_type .
": " . $title);
394 if ($a_forms === []) {
398 if (1 === count($a_forms)) {
399 $creation_form = end($a_forms);
400 if ($creation_form instanceof
Standard) {
401 return $this->
ui->renderer()->render($creation_form);
405 return $creation_form->getHTML();
412 foreach ($a_forms as
$type => $form) {
422 return "<div class='ilCreationFormSection'>{$accordion->getHTML()}</div>";
434 if ($this->id_type !== self::WORKSPACE_NODE_ID) {
446 $this->
ctrl->setParameterByClass(self::class,
'new_type', $this->
getType());
447 $this->
ctrl->setParameterByClass(
449 self::PARAM_UPLOAD_ORIGIN,
450 self::UPLOAD_ORIGIN_STANDARD
455 $this->upload_limit->getBestPossibleUploadLimitInBytes($this->upload_handler),
459 $inputs[self::PARAM_FILES] = $this->
ui->factory()->input()->field()->file(
460 $this->upload_handler,
461 $this->
lng->txt(
'upload_files'),
463 $this->
lng->txt(
'upload_files_limit'),
466 $this->
ui->factory()->input()->field()->group([
467 self::PARAM_TITLE => $this->
ui->factory()->input()->field()->text(
468 $this->
lng->txt(
'title')
470 $this->getEmptyStringToNullTransformation()
472 self::PARAM_DESCRIPTION => $this->
ui->factory()->input()->field()->textarea(
473 $this->
lng->txt(
'description')
475 $this->getEmptyStringToNullTransformation()
479 self::UPLOAD_MAX_FILES
480 )->withRequired(
true);
483 $inputs[self::PARAM_COPYRIGHT_ID] = $this->getCopyrightSelectionInput(
'set_license_for_all_files');
486 return $this->
ui->factory()->input()->container()->form()->standard(
487 $this->
ctrl->getFormActionByClass(self::class, self::CMD_UPLOAD_FILES),
489 )->withSubmitLabel($this->
lng->txt(
'upload_files'));
497 $origin = ($this->
http->query()->has(self::PARAM_UPLOAD_ORIGIN)) ?
498 $this->
http->query()->retrieve(
499 self::PARAM_UPLOAD_ORIGIN,
500 $this->
refinery->kindlyTo()->string()
501 ) : self::UPLOAD_ORIGIN_STANDARD;
503 if (self::UPLOAD_ORIGIN_DROPZONE === $origin) {
505 $dropzone = $dropzone->getDropzone()->withRequest($this->request);
506 $data = $dropzone->getData();
509 $data = $form->getData();
511 $files =
$data[self::PARAM_FILES] ??
$data[0] ?? null;
515 $this->tpl->setContent($this->
ui->renderer()->render($form));
523 $this->file_service_settings
527 foreach ($files as $file_data) {
528 $rid = $this->storage->manage()->find($file_data[$this->upload_handler->getFileIdentifierParameterName()]);
533 $file_data[self::PARAM_TITLE] ?? null,
534 $file_data[self::PARAM_DESCRIPTION] ?? null,
535 $data[self::PARAM_COPYRIGHT_ID] ??
$data[1] ?? null
539 if (null !== $this->log) {
540 $this->log->error($t->getMessage() .
": " . $t->getTraceAsString());
547 $this->
ui->mainTemplate()->setOnScreenMessage(
549 $this->
lng->txt(
'could_not_create_file_objs'),
554 if ($processor->getInvalidFileNames() !== []) {
555 $this->
ui->mainTemplate()->setOnScreenMessage(
558 $this->
lng->txt(
'file_upload_info_file_with_critical_extension'),
559 implode(
', ', $processor->getInvalidFileNames())
565 $link = match ($this->id_type) {
566 self::WORKSPACE_NODE_ID => $this->
ctrl->getLinkTargetByClass(ilObjWorkspaceRootFolderGUI::class),
567 default => ilLink::_getLink($this->requested_ref_id),
570 $this->
ctrl->redirectToURL($link);
577 parent::putObjectInTree($obj, $parent_node_id);
578 $this->node_id = $backup_node_id;
584 public function update():
void 588 $form = $form->withRequest($this->request);
589 $inputs = $form->getData();
594 $title_and_description = $inputs[
'file_info'][
'title_and_description'];
596 $title = $title_and_description->getTitle();
598 $filename = $this->
object->getFileName();
599 if (trim((
string) $title) ===
'') {
602 $title = $this->
object->appendSuffixToTitle($title,
$filename);
604 $this->
object->handleChangedObjectTitle($title);
606 $description = $title_and_description->getLongDescription();
607 $this->
object->setDescription($description);
610 $this->
object->getObjectProperties()->storePropertyTitleAndDescription($updated_title_and_description);
612 $this->
object->setImportantInfo($inputs[
'file_info'][
'important_info']);
613 $this->
object->setRating($inputs[
'obj_features'][
'rating'] ??
false);
614 $this->
object->setOnclickMode((
int) $inputs[
'file_info'][
'on_click_action']);
615 $this->
object->update();
617 $this->
object->getObjectProperties()->storePropertyIsOnline($inputs[
'availability'][
'online_status']);
619 if (($inputs[
'presentation'][
'tile_image'] ?? null) !== null) {
620 $this->
object->getObjectProperties()->storePropertyTileImage($inputs[
'presentation'][
'tile_image']);
624 if (!empty(
$data[
"name"])) {
626 $ilUser = $DIC[
'ilUser'];
636 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
637 $this->
ctrl->redirectByClass(self::class, self::CMD_EDIT);
645 if (!$this->capabilities->get(Capabilities::EDIT_SETTINGS)->isUnlocked()) {
646 $ilErr->raiseError($this->
lng->txt(
"msg_no_perm_write"));
656 $this->tpl->setContent($this->renderer->render($form));
661 $title_and_description = $this->
object->getObjectProperties()->getPropertyTitleAndDescription()->toForm(
663 $this->
ui->factory()->input()->field(),
667 $important_info = $this->inputs->field()->markdown(
669 $this->
lng->txt(
'important_info'),
670 $this->
lng->txt(
'important_info_byline')
672 $this->
object->getImportantInfo() ??
"" 675 $on_click_action = $this->inputs->field()->radio(
676 $this->
lng->txt(
'on_click_action')
679 $this->
lng->txt(
'action_download')
682 $this->
lng->txt(
'action_show')
684 (
string) $this->
object->getOnClickMode()
687 $input_groups = array_filter([
688 "title_and_description" => $title_and_description,
689 "important_info" => $important_info,
690 "on_click_action" => $on_click_action
691 ],
static fn($input):
bool => null !== $input);
693 $file_info_section = $this->inputs->field()->section(
695 $this->
lng->txt(
'file_info')
698 $online_status = $this->
object->getObjectProperties()->getPropertyIsOnline()->toForm(
700 $this->
ui->factory()->input()->field(),
703 $availability_section = $this->inputs->field()->section(
704 [
"online_status" => $online_status],
705 $this->
lng->txt(
'rep_activation_availability')
708 $presentation_section = null;
709 if ($this->id_type === self::REPOSITORY_NODE_ID) {
710 $tile_image = $this->
object->getObjectProperties()->getPropertyTileImage()->toForm(
712 $this->
ui->factory()->input()->field(),
715 $presentation_section = $this->inputs->field()->section(
716 [
"tile_image" => $tile_image],
717 $this->
lng->txt(
'settings_presentation_header')
721 $additional_features_section = null;
722 if ($this->id_type === self::REPOSITORY_NODE_ID) {
723 $this->
lng->loadLanguageModule(
'rating');
725 $enable_rating = $this->inputs->field()->checkbox(
726 $this->
lng->txt(
'rating_activate_rating'),
727 $this->
lng->txt(
'rating_activate_rating_info')
729 $this->
object->hasRating()
731 $additional_features_section = $this->inputs->field()->section(
732 [
"rating" => $enable_rating],
733 $this->
lng->txt(
'obj_features')
737 $inputs = array_filter([
738 "file_info" => $file_info_section,
739 "availability" => $availability_section,
740 "presentation" => $presentation_section,
741 "obj_features" => $additional_features_section
742 ],
static fn($input):
bool => null !== $input);
744 return $this->inputs->container()->form()->standard(
745 $this->
ctrl->getLinkTargetByClass(self::class,
'update'),
752 $hist_entry_id = $this->
http->query()->has(
'hist_id')
753 ? $this->
http->query()->retrieve(
'hist_id', $this->
refinery->kindlyTo()->int())
757 $this->
object->sendFile($hist_entry_id);
760 if ($this->capabilities->get(Capabilities::DOWNLOAD)->isUnlocked()) {
764 $this->
object->getRefId(),
765 $this->
object->getId(),
771 $this->
user->getId(),
778 $this->
object->sendFile($hist_entry_id);
780 $this->error->raiseError($this->
lng->txt(
"permission_denied"), $this->error->MESSAGE);
783 $this->error->raiseError($e->getMessage(), $this->error->MESSAGE);
794 $this->
ctrl->redirectToURL(
795 (
string) $this->capabilities->get(Capabilities::INFO_PAGE)->getUri()
800 $this->
ctrl->redirectToURL(
801 (
string) $this->capabilities->get(Capabilities::FORCED_INFO_PAGE)->getUri()
807 $this->
ctrl->redirectToURL(
808 (
string) $this->capabilities->get(Capabilities::MANAGE_VERSIONS)->getUri()
814 $this->
ctrl->redirectToURL(
815 (
string) $this->capabilities->get(Capabilities::UNZIP)->getUri()
821 $this->
ctrl->redirectToURL(
822 (
string) $this->capabilities->get(Capabilities::EDIT_EXTERNAL)->getUri()
827 $this->
ctrl->redirectToURL(
828 (
string) $this->capabilities->get(Capabilities::VIEW_EXTERNAL)->getUri()
837 $this->tabs_gui->activateTab(
"id_info");
839 if (!$this->capabilities->get(Capabilities::INFO_PAGE)->isUnlocked()) {
840 $GLOBALS[
'DIC'][
'ilErr']->raiseError(
841 $this->
lng->txt(
"msg_no_perm_read"),
849 $label = $this->
lng->txt(
'file_btn_lp_toggle_state_completed');
851 $label = $this->
lng->txt(
'file_btn_lp_toggle_state_not_completed');
854 $this->
ui->factory()->button()->standard(
856 $this->
ctrl->getLinkTarget($this,
'toggleLearningProgress')
862 if ($this->capabilities->get(Capabilities::EDIT_EXTERNAL)->isUnlocked()) {
863 $external_editor = $this->
ui->factory()
866 $this->
lng->txt(
'open_external_editor'),
867 $this->
ctrl->getLinkTargetByClass(
868 \ilWOPIEmbeddedApplicationGUI::class,
872 $this->
toolbar->addComponent($external_editor);
876 $this->
ctrl->forwardCommand($info);
882 $this->
user->getId(),
888 $lp_marks =
new ilLPMarks($this->obj_id, $this->
user->getId());
894 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'msg_obj_modified'),
true);
895 $this->
ctrl->redirect($this, Capabilities::INFO_PAGE->value);
903 $info->enablePrivateNotes();
905 if ($this->capabilities->get(Capabilities::DOWNLOAD)->isUnlocked()) {
910 $info->enableNewsEditing(
false);
911 if ($this->capabilities->get(Capabilities::MANAGE_VERSIONS)->isUnlocked()) {
913 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
915 if ($enable_internal_rss) {
916 $info->setBlockProperty(
"news",
"settings",
true);
917 $info->setBlockProperty(
"news",
"public_notifications_option",
true);
921 $obj_id = $this->
object->getId();
928 $this->call_by_reference
930 $record_gui->setInfoObject($info);
931 $record_gui->parse();
936 $important_info = $this->
object->getImportantInfo();
937 if (!empty($important_info)) {
939 $markdown_to_html = $group->markdown()->toHTML();
941 $info->addSection($this->
lng->txt(
"important_info"));
942 $info->addProperty(
"", $markdown_to_html->transform($important_info));
946 if ($this->capabilities->get(Capabilities::DOWNLOAD)->isUnlocked()) {
948 if ($this->id_type === self::REPOSITORY_NODE_ID) {
951 $download_target = rtrim(ILIAS_HTTP_PATH,
'/') .
'/' . $this->
ctrl->getLinkTarget(
956 $url = $this->data_factory->uri($download_target);
957 $link = $this->data_factory->link($this->
lng->txt(
'file_download'),
$url);
958 $download_launcher = $this->
ui->factory()->launcher()->inline($link);
960 if (empty($important_info)) {
961 $info->addSection(
"");
964 $info->addProperty(
"", $this->renderer->render($download_launcher));
968 $info->addMetaDataSections($this->
object->getId(), 0, $this->
object->getType());
972 if (!$kiosk_mode && ($this->
access->checkAccess(
"write",
"", $this->ref_id) ||
973 $this->
access->checkAccess(
"edit_permissions",
"", $this->ref_id))) {
976 foreach ($rs as
$r) {
977 if ($this->tree->isInTree($r)) {
981 if (count($refs) > 1) {
983 foreach ($refs as $r) {
985 $cont_loc->addContextItems($r,
true);
986 $links .= $sep . $cont_loc->getHTML();
991 $this->
lng->txt(
"res_links"),
992 '<div class="small">' . $links .
'</div>' 998 $info->addSection($this->
lng->txt(
"file_info"));
1000 $file_info_for_users = $this->getFileInfoForUsers();
1001 foreach ($file_info_for_users as $file_info_entry_key => $file_info_entry_value) {
1002 if ($file_info_entry_value !== null) {
1003 $info->addProperty($file_info_entry_key, $file_info_entry_value);
1007 $file_info = $this->getAllFileInfoForCurrentUser();
1008 foreach ($file_info as $file_info_block) {
1009 foreach ($file_info_block as $file_info_entry_key => $file_info_entry_value) {
1010 if ($file_info_entry_value !== null) {
1011 $info->addProperty($file_info_entry_key, $file_info_entry_value);
1017 $info->hideFurtherSections(
false);
1026 $ilHelp = $DIC[
'ilHelp'];
1029 $this->
ctrl->setParameter($this,
"ref_id", $this->node_id);
1031 if ((
$c = $this->capabilities->get(Capabilities::VIEW_EXTERNAL)) &&
$c->isUnlocked()) {
1032 $this->tabs_gui->addTab(
1034 $this->
lng->txt(
"content"),
1039 if ((
$c = $this->capabilities->get(Capabilities::MANAGE_VERSIONS)) &&
$c->isUnlocked()) {
1040 $this->tabs_gui->addTab(
1042 $this->
lng->txt(self::CMD_VERSIONS),
1047 if ((
$c = $this->capabilities->get(Capabilities::INFO_PAGE)) &&
$c->isUnlocked()) {
1048 $this->tabs_gui->addTab(
1050 $this->
lng->txt(
"info_short"),
1051 $this->
ctrl->getLinkTargetByClass([
"ilobjfilegui",
"ilinfoscreengui"],
"showSummary")
1055 if ((
$c = $this->capabilities->get(Capabilities::EDIT_SETTINGS)) &&
$c->isUnlocked()) {
1056 $this->tabs_gui->addTab(
1058 $this->
lng->txt(
"settings"),
1059 $this->
ctrl->getLinkTarget($this, self::CMD_EDIT)
1064 $this->tabs_gui->addTab(
1065 'learning_progress',
1066 $this->
lng->txt(
'learning_progress'),
1067 $this->
ctrl->getLinkTargetByClass([self::class,
'illearningprogressgui'],
'')
1072 if ((
$c = $this->capabilities->get(Capabilities::EDIT_SETTINGS)) &&
$c->isUnlocked()) {
1074 $mdtab = $mdgui->getTab();
1076 $this->tabs_gui->addTab(
1078 $this->
lng->txt(
"meta_data"),
1085 if ((
$c = $this->capabilities->get(Capabilities::EDIT_SETTINGS)) &&
$c->isUnlocked()) {
1086 $this->tabs_gui->addTab(
1088 $this->
lng->txt(
"export"),
1089 $this->
ctrl->getLinkTargetByClass(
"ilexportgui",
"")
1099 $this->tabs_gui->activateTab(
"settings");
1101 $this->tabs_gui->addSubTab(
1103 $this->
lng->txt(
'settings'),
1104 $this->
ctrl->getLinkTargetByClass(self::class, self::CMD_EDIT)
1107 $this->tabs_gui->addSubTab(
1109 $this->
lng->txt(
'service_settings'),
1114 $this->tabs_gui->activateSubTab(
"file_settings");
1117 public static function _goto($a_target, $a_additional = null): void
1120 $main_tpl = $DIC->ui()->mainTemplate();
1123 $ilAccess = $DIC[
'ilAccess'];
1125 if ($a_additional && str_ends_with((
string) $a_additional,
"wsp")) {
1130 if ($a_additional && str_ends_with((
string) $a_additional,
"download")) {
1136 if ($ilAccess->checkAccess(
"visible",
"", $a_target)
1137 || $ilAccess->checkAccess(
"read",
"", $a_target)) {
1140 $main_tpl->setOnScreenMessage(
1143 $lng->
txt(
"msg_no_perm_read_item"),
1160 $ilLocator = $DIC[
'ilLocator'];
1162 if (is_object($this->
object)) {
1169 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
1175 [ilCommonActionDispatcherGUI::class, ilRatingGUI::class]
1192 if (!$this->
object instanceof
ilObjFile) {
1193 throw new ilFileException(
"Error: object is not of type ilObjFile or doesn't exist");
1226 return $this->
ui->factory();
static _hasUserCompleted(int $a_obj_id, int $a_user_id)
Lookup user object completion.
An entity that renders components to a string output.
infoScreenForward()
show information screen
Class ilObjFileStakeholder.
addItem(string $a_header, string $a_content, bool $a_force_open=false)
initImportForm(string $new_type)
CapabilityCollection $capabilities
executeCommand()
execute command
static getLogger(string $a_component_id)
Get component logger.
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
const UPLOAD_ORIGIN_STANDARD
trait ilObjFileInfoProvider
New implementation of ilObjectGUI.
IconDatabaseRepository $icon_repo
GUI class for the workflow of copying objects.
initCreationForms($a_new_type)
addLegacyFormToAccordion(ilAccordionGUI $accordion, ilPropertyFormGUI $form, int $form_type)
Class ChatMainBarProvider .
This class provides the data size with additional information to remove the work to calculate the siz...
static _getAllReferences(int $id)
get all reference ids for object ID
static getGotoLink(int $a_node_id, int $a_obj_id, string $a_additional="")
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
static _gotoRepositoryNode(int $ref_id, string $cmd="")
Class ilObjFileProcessorInterface.
prepareOutput(bool $show_sub_objects=true)
addUIFormToAccordion(ilAccordionGUI $accordion, Standard $form, int $form_type)
setVariable(string $variable, $value='')
Sets the given variable to the given value.
__construct(int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
Constructor.
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress
static _goto($a_target, $a_additional=null)
getCreationFormsHTML(array $a_forms)
static _lookupObjId(int $ref_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _tracProgress(int $a_user_id, int $a_obj_id, int $a_ref_id, string $a_obj_type='')
Export User Interface Class.
ResourceStakeholder $stakeholder
ilObjectService $obj_service
Provides fluid interface to RBAC services.
static http()
Fetches the global http state from ILIAS.
initHeaderAction(?string $a_sub_type=null, ?int $a_sub_id=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupTitle(int $obj_id)
const CLICK_MODE_DOWNLOAD
UploadLimitResolver $upload_limit
static _recordReadEvent(string $a_type, int $a_ref_id, int $obj_id, int $usr_id, bool $isCatchupWriteEvents=true, $a_ext_rc=null, $a_ext_time=null)
ilGlobalTemplateInterface $tpl
static _recordWriteEvent(int $obj_id, int $usr_id, string $action, ?int $parent_obj_id=null)
Records a write event.
The scope of this class is split ilias-conform URI's into components.
uploadFiles()
MUST be protected, since this is Called from ilObject2GUI when used in Personal Workspace.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ILIAS UI Component Input Factory $inputs
putObjectInTree(ilObject $obj, int $parent_node_id=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
General $general_settings
GUI class for file objects.
const LP_MODE_CONTENT_VISITED
static _gotoSharedWorkspaceNode(int $wsp_id)
const LP_CONTEXT_REPOSITORY
static _getPermanentDownloadLink(int $ref_id)
Gets the permanent download link for the file.
ActionDBRepository $action_repo
Indicates that a file is missing or not found.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static _getActivatedObjTypes()
get activated obj types
setCompleted(bool $a_status)
Interface ResourceStakeholder.
ILIAS Refinery Factory $refinery
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const UPLOAD_ORIGIN_DROPZONE
static _catchupWriteEvents(int $obj_id, int $usr_id, ?string $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
addHeaderAction()
Add header action menu.
const PARAM_UPLOAD_ORIGIN
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
buildInfoScreen(bool $kiosk_mode)
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
UploadHandler $upload_handler
const CLICK_MODE_INFOPAGE
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)
ilFileServicesSettings $file_service_settings
ServerRequestInterface $request