ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilObjFileBasedLMGUI Class Reference

User Interface class for file based learning modules (HTML) More...

+ Inheritance diagram for ilObjFileBasedLMGUI:
+ Collaboration diagram for ilObjFileBasedLMGUI:

Public Member Functions

 __construct ( $a_data, int $a_id=0, bool $a_call_by_reference=true, bool $a_prepare_output=true)
 
 executeCommand ()
 
 cancelCreationObject ()
 
 properties ()
 
 initSettingsForm ()
 
 getSettingsFormValues ()
 
 toFilesystem ()
 
 saveProperties ()
 
 editObject ()
 
 edit ()
 
 cancel ()
 
 update ()
 
 setStartFile ()
 
 infoScreen ()
 this one is called from the info button in the repository More...
 
 showInfoScreen ()
 
 createFromDirectory (string $a_dir)
 
 exportHTML ()
 
 redirectAfterCreation ()
 
 learningProgress ()
 
 redrawHeaderAction ()
 
 importFromUploadDir ()
 
 getUploadDirectory ()
 
 getUploadFiles ()
 
- Public Member Functions inherited from ilObjectGUI
 getRefId ()
 
 setAdminMode (string $mode)
 
 getAdminMode ()
 
 getObject ()
 
 executeCommand ()
 
 withReferences ()
 determines whether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode (bool $mode=true)
 If true, a creation screen is displayed the current [ref_id] does belong to the parent class The mode is determined in ilRepositoryGUI. More...
 
 getCreationMode ()
 
 prepareOutput (bool $show_sub_objects=true)
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelObject ()
 cancel action and go back to previous page More...
 
 createObject ()
 create new object form More...
 
 editAvailabilityPeriodObject ()
 
 saveAvailabilityPeriodObject ()
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 
 getDidacticTemplateVar (string $type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $obj, ?int $parent_node_id=null)
 Add object to tree at given position. More...
 
 editObject ()
 
 addExternalEditFormCustom (ilPropertyFormGUI $form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction (string $cmd, string $default_form_action="")
 Get form action for command (command is method name without "Object", e.g. More...
 
 isVisible (int $ref_id, string $type)
 
 viewObject ()
 viewObject container presentation for "administration -> repository, trash, permissions" More...
 
 deleteObject (bool $error=false)
 Display deletion confirmation screen. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 
 addToDeskObject ()
 
 removeFromDeskObject ()
 
- Public Member Functions inherited from ILIAS\Object\ImplementsCreationCallback
 callCreationCallback (\ilObject $object, \ilObjectDefinition $obj_definition, int $requested_crtcb)
 

Static Public Member Functions

static _goto (string $a_target)
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot (bool $raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode (int $ref_id, string $cmd="")
 
static _gotoSharedWorkspaceNode (int $wsp_id)
 

Data Fields

const CMD_LIST_FILES = "listFiles"
 
const CMD_IMPORT_FROM_UPLOAD_DIR = 'importFromUploadDir'
 
bool $output_prepared
 
- Data Fields inherited from ilObjectGUI
const ADMIN_MODE_NONE = ""
 
const ADMIN_MODE_SETTINGS = "settings"
 
const ADMIN_MODE_REPOSITORY = "repository"
 
const UPLOAD_TYPE_LOCAL = 1
 
const UPLOAD_TYPE_UPLOAD_DIRECTORY = 2
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 
const SUPPORTED_IMPORT_MIME_TYPES = [MimeType::APPLICATION__ZIP, MimeType::APPLICATION__X_ZIP_COMPRESSED]
 

Protected Member Functions

 afterSave (ilObject $new_object)
 
 setTabs ()
 
 getTabs ()
 
 addLocatorItems ()
 
 importFileObject (?int $parent_id=null)
 
 afterImport (ilObject $new_object)
 
- Protected Member Functions inherited from ilObjectGUI
 getObjectService ()
 
 assignObject ()
 
 setTitleAndDescription ()
 
 createActionDispatcherGUI ()
 
 initHeaderAction (?string $sub_type=null, ?int $sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction (?ilObjectListGUI $list_gui=null)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 setTabs ()
 set admin tabs More...
 
 setAdminTabs ()
 set admin tabs More...
 
 setLocator ()
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator (bool $omit=true)
 
 addAdminLocatorItems (bool $do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 getCreationFormsHTML (StandardForm|ilPropertyFormGUI|array $form)
 
 getTitleForCreationFormPage ()
 
 getCreationFormTitle ()
 
 initCreateForm (string $new_type)
 
 didacticTemplatesToForm ()
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 
 retrieveAdditionalDidacticTemplateOptions ()
 
 addAdoptContentLinkToToolbar ()
 
 addImportButtonToToolbar ()
 
 addAvailabilityPeriodButtonToToolbar (ilToolbarGUI $toolbar)
 
 parseDidacticTemplateVar (string $var, string $type)
 
 afterSave (ilObject $new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 routeImportCmdObject ()
 
 importFile (string $file_to_import, string $path_to_uploaded_file_in_temp_dir)
 
 deleteUploadedImportFile (string $path_to_uploaded_file_in_temp_dir)
 
 afterImport (ilObject $new_object)
 Post (successful) object import hook. More...
 
 setFormAction (string $cmd, string $form_action)
 
 getReturnLocation (string $cmd, string $default_location="")
 Get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation (string $cmd, string $location)
 set specific return location for command More...
 
 getTargetFrame (string $cmd, string $default_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame (string $cmd, string $target_frame)
 Set specific target frame for command. More...
 
 showPossibleSubObjects ()
 show possible sub objects (pull down menu) More...
 
 getTabs ()
 overwrite in derived GUI class of your object type More...
 
 redirectToRefId (int $ref_id, string $cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current ["ref_id"] value of the request More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 checkPermission (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 checkPermissionBool (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 getCreatableObjectTypes ()
 
 buildAddNewItemElements (array $subtypes, string $create_target_class=ilRepositoryGUI::class, ?int $redirect_target_ref_id=null,)
 
 buildGroup (string $create_target_class, array $obj_types_in_group, string $title, array $subtypes)
 

Protected Attributes

ILIAS HTMLLearningModule InternalGUIService $gui
 
StandardGUIRequest $lm_request
 
ilPropertyFormGUI $form
 
ilTabsGUI $tabs
 
ilHelpGUI $help
 
- Protected Attributes inherited from ilObjectGUI
ILIAS Notes Service $notes_service
 
GlobalHttpState $http
 
ServerRequestInterface $request
 
ilLocatorGUI $locator
 
ilObjUser $user
 
ilAccessHandler $access
 
ilSetting $settings
 
ilToolbarGUI $toolbar
 
ilRbacAdmin $rbac_admin
 
ilRbacSystem $rbac_system
 
ilRbacReview $rbac_review
 
ilObjectService $object_service
 
ilObjectDefinition $obj_definition
 
ilGlobalTemplateInterface $tpl
 
ilTree $tree
 
ilCtrl $ctrl
 
ilErrorHandling $error
 
ilLanguage $lng
 
ilTabsGUI $tabs_gui
 
ILIAS $ilias
 
ArrayBasedRequestWrapper $post_wrapper
 
RequestWrapper $request_wrapper
 
Refinery $refinery
 
ilFavouritesManager $favourites
 
CustomIconFactory $custom_icon_factory
 
UIFactory $ui_factory
 
UIRenderer $ui_renderer
 
Filesystem $temp_file_system
 
ilObject $object = null
 
bool $creation_mode = false
 
 $data
 
int $id
 
bool $call_by_reference = false
 
bool $prepare_output
 
int $ref_id
 
int $obj_id
 
int $maxcount
 
array $form_action = []
 
array $return_location = []
 
array $target_frame = []
 
string $tmp_import_dir
 
string $sub_objects = ""
 
bool $omit_locator = false
 
string $type = ""
 
string $admin_mode = self::ADMIN_MODE_NONE
 
int $requested_ref_id = 0
 
int $requested_crtptrefid = 0
 
int $requested_crtcb = 0
 
string $requested_new_type = ""
 
string $link_params
 
string $html = ""
 

Private Member Functions

 listFiles ()
 

Private Attributes

const PARAM_PATH = "path"
 
ILIAS ResourceStorage Services $irss
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjFileBasedLMGUI::__construct (   $a_data,
int  $a_id = 0,
bool  $a_call_by_reference = true,
bool  $a_prepare_output = true 
)

Definition at line 47 of file class.ilObjFileBasedLMGUI.php.

References $DIC, ilObjectGUI\$lng, ILIAS\GlobalScreen\Provider\__construct(), ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ILIAS\Repository\help(), ILIAS\Repository\lng(), ilLanguage\loadLanguageModule(), ILIAS\Repository\locator(), ILIAS\Repository\tabs(), ILIAS\Repository\toolbar(), and ILIAS\Repository\user().

52  {
53  global $DIC;
54 
55  $this->irss = $DIC->resourceStorage();
56  $this->lng = $DIC->language();
57  $this->user = $DIC->user();
58  $this->locator = $DIC["ilLocator"];
59  $this->tabs = $DIC->tabs();
60  $this->tree = $DIC->repositoryTree();
61  $this->tpl = $DIC["tpl"];
62  $this->access = $DIC->access();
63  $this->toolbar = $DIC->toolbar();
64  $this->help = $DIC["ilHelp"];
65  $lng = $DIC->language();
66  $ilCtrl = $DIC->ctrl();
67 
68  $this->ctrl = $ilCtrl;
69  $this->ctrl->saveParameter($this, array("ref_id"));
70 
71  $this->lm_request = $DIC->htmlLearningModule()
72  ->internal()
73  ->gui()
74  ->standardRequest();
75 
76  $this->type = "htlm";
77  $lng->loadLanguageModule("content");
78  $lng->loadLanguageModule("obj");
79  $lng->loadLanguageModule("htlm");
80 
81  parent::__construct($a_data, $a_id, $a_call_by_reference, false);
82  $this->output_prepared = $a_prepare_output;
83  $this->gui = $DIC->htmlLearningModule()->internal()->gui();
84  }
loadLanguageModule(string $a_module)
Load language module.
ilLanguage $lng
global $DIC
Definition: shib_login.php:26
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ _goto()

static ilObjFileBasedLMGUI::_goto ( string  $a_target)
static

Definition at line 610 of file class.ilObjFileBasedLMGUI.php.

References ilObjectGUI\$access, $DIC, ilObjectGUI\$lng, ilObjectGUI\_gotoRepositoryNode(), ilObjectGUI\_gotoRepositoryRoot(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilRBACAccessHandler\checkAccess(), ROOT_FOLDER_ID, and ilLanguage\txt().

Referenced by ILIAS\StaticURL\Handler\LegacyGotoHandler\handle().

610  : void
611  {
612  global $DIC;
613  $main_tpl = $DIC->ui()->mainTemplate();
614 
615  $lng = $DIC->language();
616  $access = $DIC->access();
617 
618  if ($access->checkAccess("read", "", $a_target) ||
619  $access->checkAccess("visible", "", $a_target)) {
620  ilObjectGUI::_gotoRepositoryNode($a_target, "infoScreen");
621  } elseif ($access->checkAccess("read", "", ROOT_FOLDER_ID)) {
622  $main_tpl->setOnScreenMessage(
623  'failure',
624  sprintf(
625  $lng->txt("msg_no_perm_read_item"),
627  ),
628  true
629  );
631  }
632 
633  throw new ilPermissionException($lng->txt("msg_no_perm_read_lm"));
634  }
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 ROOT_FOLDER_ID
Definition: constants.php:32
checkAccess(string $a_permission, string $a_cmd, int $a_ref_id, string $a_type="", ?int $a_obj_id=null, ?int $a_tree_id=null)
check access for an object (provide $a_type and $a_obj_id if available for better performance) ...
static _gotoRepositoryNode(int $ref_id, string $cmd="")
static _lookupObjId(int $ref_id)
ilLanguage $lng
static _lookupTitle(int $obj_id)
global $DIC
Definition: shib_login.php:26
ilAccessHandler $access
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addLocatorItems()

ilObjFileBasedLMGUI::addLocatorItems ( )
protected

Definition at line 636 of file class.ilObjFileBasedLMGUI.php.

References ilObjectGUI\$locator, ilObjectGUI\$requested_ref_id, ILIAS\Repository\ctrl(), and ILIAS\Repository\object().

636  : void
637  {
638  $ilLocator = $this->locator;
639 
640  if (is_object($this->object)) {
641  $ilLocator->addItem(
642  $this->object->getTitle(),
643  $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary"),
644  "",
646  );
647  }
648  }
ilLocatorGUI $locator
+ Here is the call graph for this function:

◆ afterImport()

ilObjFileBasedLMGUI::afterImport ( ilObject  $new_object)
protected

Definition at line 677 of file class.ilObjFileBasedLMGUI.php.

References ILIAS\Repository\ctrl(), ilObject\getRefId(), and ILIAS\Repository\lng().

677  : void
678  {
679  $this->ctrl->setParameter($this, "ref_id", $new_object->getRefId());
680  $this->tpl->setOnScreenMessage('success', $this->lng->txt("object_added"), true);
681  $this->ctrl->redirect($this, "properties");
682  }
+ Here is the call graph for this function:

◆ afterSave()

ilObjFileBasedLMGUI::afterSave ( ilObject  $new_object)
protected

Definition at line 391 of file class.ilObjFileBasedLMGUI.php.

References ILIAS\Repository\lng(), and redirectAfterCreation().

Referenced by createFromDirectory().

391  : void
392  {
393  if (!$new_object->getStartFile()) {
394  $new_object->maybeDetermineStartFile();
395  }
396 
397  // always send a message
398  $this->tpl->setOnScreenMessage('success', $this->lng->txt("object_added"), true);
399  $this->object = $new_object;
400  $this->redirectAfterCreation();
401  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cancel()

ilObjFileBasedLMGUI::cancel ( )

Definition at line 386 of file class.ilObjFileBasedLMGUI.php.

References ilObjectGUI\cancelObject().

386  : void
387  {
388  $this->cancelObject();
389  }
cancelObject()
cancel action and go back to previous page
+ Here is the call graph for this function:

◆ cancelCreationObject()

ilObjFileBasedLMGUI::cancelCreationObject ( )
final

Definition at line 225 of file class.ilObjFileBasedLMGUI.php.

References ILIAS\Repository\ctrl().

225  : void
226  {
227  $this->ctrl->redirectByClass("ilrepositorygui", "frameset");
228  }
+ Here is the call graph for this function:

◆ createFromDirectory()

ilObjFileBasedLMGUI::createFromDirectory ( string  $a_dir)

Definition at line 684 of file class.ilObjFileBasedLMGUI.php.

References $filename, afterSave(), ilObjectGUI\checkPermissionBool(), ILIAS\Repository\lng(), ilObjectGUI\putObjectInTree(), and ilUtil\stripSlashes().

Referenced by importFileObject().

684  : void
685  {
686  if ($a_dir === "" || !$this->checkPermissionBool("create", "", "htlm")) {
687  throw new ilPermissionException($this->lng->txt("no_create_permission"));
688  }
689 
690  // create instance
691  $newObj = new ilObjFileBasedLM();
692  $filename = ilUtil::stripSlashes($_FILES["importfile"]["name"]);
693  $newObj->setTitle($filename);
694  $newObj->setDescription("");
695  $newObj->create();
696  $newObj->populateByDirectoy($a_dir, $filename);
697  $this->putObjectInTree($newObj);
698 
699  $this->afterSave($newObj);
700  }
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
File Based Learning Module (HTML) object.
afterSave(ilObject $new_object)
putObjectInTree(ilObject $obj, ?int $parent_node_id=null)
Add object to tree at given position.
$filename
Definition: buildRTE.php:78
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ edit()

ilObjFileBasedLMGUI::edit ( )

Definition at line 380 of file class.ilObjFileBasedLMGUI.php.

References editObject(), and ilObjectGUI\prepareOutput().

380  : void
381  {
382  $this->prepareOutput();
383  $this->editObject();
384  }
prepareOutput(bool $show_sub_objects=true)
+ Here is the call graph for this function:

◆ editObject()

ilObjFileBasedLMGUI::editObject ( )

Definition at line 373 of file class.ilObjFileBasedLMGUI.php.

References ILIAS\Repository\lng().

Referenced by edit().

373  : void
374  {
375  if (!$this->rbac_system->checkAccess("visible,write", $this->object->getRefId())) {
376  throw new ilPermissionException($this->lng->txt("permission_denied"));
377  }
378  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilObjFileBasedLMGUI::executeCommand ( )

Definition at line 86 of file class.ilObjFileBasedLMGUI.php.

References $user_id, ILIAS\Repository\access(), ilObjectGUI\addHeaderAction(), ilObjectGUI\checkPermission(), CMD_IMPORT_FROM_UPLOAD_DIR, ILIAS\Repository\ctrl(), ILIAS\components\ResourceStorage\Container\View\DATA_TABLE, ilObjectGUI\getCreationMode(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), getUploadDirectory(), getUploadFiles(), ILIAS\Repository\lng(), ilLearningProgressBaseGUI\LP_CONTEXT_REPOSITORY, ILIAS\Repository\object(), ilObjectGUI\prepareOutput(), ilObjectGUI\setLocator(), setTabs(), showInfoScreen(), ILIAS\Repository\tabs(), ILIAS\Repository\user(), and ILIAS\components\ResourceStorage\Container\View\Configuration\withExternalAction().

86  : void
87  {
88  $next_class = $this->ctrl->getNextClass($this);
89  $cmd = $this->ctrl->getCmd();
90 
91  if (
92  $this->getCreationMode() === true ||
93  strtolower($this->lm_request->getBaseClass()) === "iladministrationgui"
94  ) {
95  $this->prepareOutput();
96  } elseif (!in_array($cmd, array("", "framset")) || $next_class != "") {
97  $this->tpl->loadStandardTemplate();
98  $this->setLocator();
99  $this->setTabs();
100  }
101 
102  switch ($next_class) {
103  case strtolower(ilContainerResourceGUI::class):
104  $this->tabs->activateTab('id_list_files');
105  // Check wite access to determine upload and manage capabilities
106  $check_access = $this->access->checkAccess('write', '', $this->object->getRefId());
107 
108  // Build the view configuration
109  $view_configuration = new Configuration(
110  $this->object->getResource(),
111  new ilHTLMStakeholder(),
112  $this->lng->txt('files'),
114  250,
115  $check_access,
116  $check_access
117  );
118 
119  // Add a single action for text-files to set as startfile
120  $view_configuration = $view_configuration->withExternalAction(
121  $this->lng->txt('cont_set_start_file'),
122  self::class,
123  'setStartFile',
124  'lm',
125  self::PARAM_PATH,
126  false,
127  ['text/*']
128  );
129 
130  if ($this->getUploadDirectory()) {
131  foreach ($this->getUploadFiles() as $file) {
132  $options[$file] = $file;
133  }
134 
135  $modal = $this->ui_factory->modal()->roundtrip(
136  $this->lng->txt('import_from_upload_dir'),
137  [],
138  [
139  $this->ui_factory->input()->field()->select(
140  $this->lng->txt('import_from_upload_dir_file_name'),
141  $options,
142  $this->lng->txt('import_from_upload_dir_info'),
143  )->withRequired(true)
144  ],
145  $this->ctrl->getFormActionByClass(
146  \ilObjFileBasedLMGUI::class,
148  )
149  );
150 
151  $top_action = new TopAction(
152  $this->lng->txt('import_from_upload_dir'),
153  $modal->getShowSignal()
154  );
155  $view_configuration = $view_configuration->withExternalTopAction(
156  'import_from_upload_dir',
157  $top_action,
158  $modal
159  );
160  }
161  // build the collection GUI
162  $container_gui = new ilContainerResourceGUI(
163  $view_configuration
164  );
165 
166  // forward the command
167  $this->ctrl->forwardCommand($container_gui);
168  break;
169  case 'ilobjectmetadatagui':
170  $this->checkPermission("write");
171  $this->tabs->activateTab('id_meta_data');
172  $md_gui = new ilObjectMetaDataGUI($this->object);
173  $this->ctrl->forwardCommand($md_gui);
174  break;
175 
176  case "ilinfoscreengui":
177  $this->showInfoScreen();
178  break;
179 
180  case "illearningprogressgui":
181  $this->tabs->activateTab('id_learning_progress');
182  $user_id = ($this->lm_request->getUserId() > 0)
183  ? $this->lm_request->getUserId()
184  : $this->user->getId();
185  $new_gui = new ilLearningProgressGUI(
187  $this->object->getRefId(),
188  $user_id
189  );
190  $this->ctrl->forwardCommand($new_gui);
191  break;
192 
193  case 'ilpermissiongui':
194  $this->tabs->activateTab('id_permissions');
195  $perm_gui = new ilPermissionGUI($this);
196  $ret = $this->ctrl->forwardCommand($perm_gui);
197  break;
198 
199  case "ilexportgui":
200  $this->tabs->activateTab("export");
201  $exp_gui = new ilExportGUI($this);
202  $ret = $this->ctrl->forwardCommand($exp_gui);
203  break;
204 
205  case "ilcommonactiondispatchergui":
207  $this->ctrl->forwardCommand($gui);
208  break;
209 
210  default:
211  $cmd = $this->ctrl->getCmd(self::CMD_LIST_FILES);
212  if (
213  $this->getCreationMode() === true ||
214  strtolower($this->lm_request->getBaseClass()) === "iladministrationgui"
215  ) {
216  $cmd .= "Object";
217  }
218  $ret = $this->$cmd();
219  break;
220  }
221 
222  $this->addHeaderAction();
223  }
Class ilObjectMetaDataGUI.
prepareOutput(bool $show_sub_objects=true)
withExternalAction(string $label, string $target_gui, string $target_cmd, string $parameter_namespace, string $path_parameter='path', bool $supports_directories=false, array $supported_mime_types=[' *'])
ILIAS HTMLLearningModule InternalGUIService $gui
addHeaderAction()
Add header action menu.
Class ilObjUserTrackingGUI.
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
+ Here is the call graph for this function:

◆ exportHTML()

ilObjFileBasedLMGUI::exportHTML ( )

Definition at line 707 of file class.ilObjFileBasedLMGUI.php.

References ilExport\_createExportDirectory(), ilExport\_getExportDirectory(), ilFileUtils\delDir(), IL_INST_ID, ilFileUtils\makeDir(), ILIAS\Repository\object(), ilFileUtils\rCopy(), and ilFileUtils\zip().

707  : void
708  {
710  $this->object->getId(),
711  "html",
712  $this->object->getType()
713  );
714  $export_dir = ilExport::_getExportDirectory(
715  $this->object->getId(),
716  "html",
717  $this->object->getType()
718  );
719 
720  $subdir = $this->object->getType() . "_" . $this->object->getId();
721 
722  $target_dir = $export_dir . "/" . $subdir;
723 
724  ilFileUtils::delDir($target_dir);
725  ilFileUtils::makeDir($target_dir);
726 
727  $source_dir = $this->object->getDataDirectory();
728 
729  ilFileUtils::rCopy($source_dir, $target_dir);
730 
731  // zip it all
732  $date = time();
733  $zip_file = $export_dir . "/" . $date . "__" . IL_INST_ID . "__" .
734  $this->object->getType() . "_" . $this->object->getId() . ".zip";
735  ilFileUtils::zip($target_dir, $zip_file);
736 
737  ilFileUtils::delDir($target_dir);
738  }
const IL_INST_ID
Definition: constants.php:40
static rCopy(string $a_sdir, string $a_tdir, bool $preserveTimeAttributes=false)
Copies content of a directory $a_sdir recursively to a directory $a_tdir.
static _getExportDirectory(int $a_obj_id, string $a_type="xml", string $a_obj_type="", string $a_entity="")
Get export directory for an repository object
static _createExportDirectory(int $a_obj_id, string $a_export_type="xml", string $a_obj_type="")
static delDir(string $a_dir, bool $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static zip(string $a_dir, string $a_file, bool $compress_content=false)
static makeDir(string $a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
+ Here is the call graph for this function:

◆ getSettingsFormValues()

ilObjFileBasedLMGUI::getSettingsFormValues ( )

Definition at line 305 of file class.ilObjFileBasedLMGUI.php.

References ilObjFileBasedLMAccess\_determineStartUrl(), ILIAS\Repository\form(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

Referenced by properties().

305  : void
306  {
307  $startfile = ilObjFileBasedLMAccess::_determineStartUrl($this->object->getId());
308 
309  $values = array();
310  $values['cobj_online'] = !$this->object->getOfflineStatus();
311  if ($startfile !== "") {
312  $startfile = basename($startfile);
313  } else {
314  $startfile = $this->lng->txt("no_start_file");
315  }
316 
317  $values["startfile"] = $startfile;
318  $values["title"] = $this->object->getTitle();
319  $values["desc"] = $this->object->getLongDescription();
320  $values["cont_show_info_tab"] = $this->object->isInfoEnabled();
321 
322  $this->form->setValuesByArray($values);
323  }
form( $class_path, string $cmd, string $submit_caption="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTabs()

ilObjFileBasedLMGUI::getTabs ( )
protected

Definition at line 529 of file class.ilObjFileBasedLMGUI.php.

References $help, ilObjectGUI\$lng, ilObjFileBasedLMAccess\_determineStartUrl(), ILIAS\Repository\access(), ilLearningProgressAccess\checkAccess(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\Repository\object(), ilHelpGUI\setScreenIdComponent(), ILIAS\Repository\tabs(), and ilLanguage\txt().

Referenced by setTabs().

529  : void
530  {
531  $lng = $this->lng;
532  $ilHelp = $this->help;
533 
534  $ilHelp->setScreenIdComponent("htlm");
535 
536  if ($this->access->checkAccess('write', '', $this->ref_id)) {
537  // Depending on whether the module has already been migrated to the IRSS, we add a tab to
538  // ilContainerResourceGUI or internally. internally, it is only indicated that the files cannot be edited.
539  $this->tabs->addTab(
540  "id_list_files",
541  $lng->txt("cont_list_files"),
542  $this->ctrl->getLinkTarget($this, self::CMD_LIST_FILES)
543  );
544  }
545 
546  if ($this->access->checkAccess('visible', '', $this->ref_id) && $this->object->isInfoEnabled()) {
547  $this->tabs->addTab(
548  "id_info",
549  $lng->txt("info_short"),
550  $this->ctrl->getLinkTargetByClass([self::class, ilInfoScreenGUI::class], "showSummary")
551  );
552  }
553 
554  if ($this->access->checkAccess('write', '', $this->ref_id)) {
555  $this->tabs->addTab(
556  "id_settings",
557  $lng->txt("settings"),
558  $this->ctrl->getLinkTarget($this, "properties")
559  );
560  }
561 
562  if (ilLearningProgressAccess::checkAccess($this->object->getRefId())) {
563  $this->tabs->addTab(
564  "id_learning_progress",
565  $lng->txt("learning_progress"),
566  $this->ctrl->getLinkTargetByClass([self::class, ilLearningProgressGUI::class], '')
567  );
568  }
569 
570  if ($this->access->checkAccess('write', '', $this->ref_id)) {
571  $mdgui = new ilObjectMetaDataGUI($this->object);
572  $mdtab = $mdgui->getTab();
573  if ($mdtab) {
574  $this->tabs->addTab(
575  "id_meta_data",
576  $lng->txt("meta_data"),
577  $mdtab
578  );
579  }
580  }
581 
582  // export
583  if ($this->access->checkAccess("write", "", $this->object->getRefId())) {
584  $this->tabs->addTab(
585  "export",
586  $lng->txt("export"),
587  $this->ctrl->getLinkTargetByClass(ilExportGUI::class, "")
588  );
589  }
590 
591  if ($this->access->checkAccess('edit_permission', '', $this->object->getRefId())) {
592  $this->tabs->addTab(
593  "id_permissions",
594  $lng->txt("perm_settings"),
595  $this->ctrl->getLinkTargetByClass([self::class, ilPermissionGUI::class], "perm")
596  );
597  }
598 
599  $startfile = ilObjFileBasedLMAccess::_determineStartUrl($this->object->getId());
600  if ($startfile !== "" && $this->access->checkAccess('read', '', $this->ref_id)) {
601  $this->tabs->addNonTabbedLink(
602  "presentation_view",
603  $this->lng->txt("glo_presentation_view"),
604  "ilias.php?baseClass=ilHTLMPresentationGUI&ref_id=" . $this->object->getRefId(),
605  "_blank"
606  );
607  }
608  }
Class ilObjectMetaDataGUI.
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...
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress
ilLanguage $lng
setScreenIdComponent(string $a_comp)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUploadDirectory()

ilObjFileBasedLMGUI::getUploadDirectory ( )

Definition at line 804 of file class.ilObjFileBasedLMGUI.php.

References Vendor\Package\$e, $lm_set, and ilImportDirectoryFactory\TYPE_SAHS.

Referenced by executeCommand(), getUploadFiles(), and importFromUploadDir().

804  : string
805  {
806  $lm_set = new ilSetting("lm");
807  $upload_dir = $lm_set->get("cont_upload_dir");
808 
809  $import_file_factory = new ilImportDirectoryFactory();
810  try {
811  $import_directory = $import_file_factory->getInstanceForComponent(ilImportDirectoryFactory::TYPE_SAHS);
812  } catch (InvalidArgumentException $e) {
813  return '';
814  }
815  return $import_directory->getAbsolutePath();
816  }
$lm_set
+ Here is the caller graph for this function:

◆ getUploadFiles()

ilObjFileBasedLMGUI::getUploadFiles ( )

Definition at line 818 of file class.ilObjFileBasedLMGUI.php.

References getUploadDirectory(), and ILIAS\UI\examples\Symbol\Glyph\Sort\sort().

Referenced by executeCommand().

818  : array
819  {
820  if (!$upload_dir = $this->getUploadDirectory()) {
821  return array();
822  }
823 
824  // get the sorted content of the upload directory
825  $handle = opendir($upload_dir);
826  $files = array();
827  while (false !== ($file = readdir($handle))) {
828  $full_path = $upload_dir . "/" . $file;
829  if (is_file($full_path) and is_readable($full_path)) {
830  $files[] = $file;
831  }
832  }
833  closedir($handle);
834  sort($files);
835 
836  return $files;
837  }
sort()
description: > Example for rendering a Sort Glyph.
Definition: sort.php:41
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importFileObject()

ilObjFileBasedLMGUI::importFileObject ( ?int  $parent_id = null)
protected

Definition at line 667 of file class.ilObjFileBasedLMGUI.php.

References Vendor\Package\$e, createFromDirectory(), and ilManifestFileNotFoundImportException\getTmpDir().

667  : void
668  {
669  try {
670  parent::importFileObject();
672  // since there is no manifest xml we assume that this is an HTML export file
673  $this->createFromDirectory($e->getTmpDir());
674  }
675  }
manifest.xml file not found-exception for import
+ Here is the call graph for this function:

◆ importFromUploadDir()

ilObjFileBasedLMGUI::importFromUploadDir ( )

Definition at line 757 of file class.ilObjFileBasedLMGUI.php.

References $DIC, $path, ilObjectGUI\_gotoRepositoryRoot(), ilObjectGUI\checkPermissionBool(), ILIAS\Repository\ctrl(), getUploadDirectory(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

757  : void
758  {
759  global $DIC;
760  if (!$this->checkPermissionBool("write", "", "htlm")) {
761  $main_tpl = $DIC->ui()->mainTemplate();
762 
763  $main_tpl->setOnScreenMessage(
764  'failure',
765  sprintf(
766  $this->lng->txt("msg_no_perm_write"),
767  ),
768  true
769  );
771  }
772 
773  $file = $this->lm_request->getString('form/input_0');
774  $path = $this->getUploadDirectory() . DIRECTORY_SEPARATOR . $file;
775  if ($file === '') {
776  $DIC->ui()->mainTemplate()->setOnScreenMessage(
777  'failure',
778  $this->lng->txt('import_from_upload_dir_info'),
779  true
780  );
781  } elseif (str_starts_with(realpath($path), $this->getUploadDirectory())) {
782  $this->irss->manageContainer()->addStreamToContainer(
783  $this->object->getResource()->getIdentification(),
784  Streams::ofResource(fopen($path, 'rb')),
785  $file
786  );
787  $DIC->ui()->mainTemplate()->setOnScreenMessage(
788  'success',
789  $this->lng->txt('file_imported_from_upload_dir'),
790  true
791  );
792  } else {
793  $DIC->ui()->mainTemplate()->setOnScreenMessage(
794  'failure',
795  $this->lng->txt('file_import_from_upload_dir_failed'),
796  true
797  );
798  }
799 
800  $this->ctrl->setParameterByClass("ilObjFileBasedLMGUI", "ref_id", $this->object->getRefId());
801  $this->ctrl->redirectByClass(["ilrepositorygui", "ilObjFileBasedLMGUI", "ilContainerResourceGUI"]);
802  }
$path
Definition: ltiservices.php:29
global $DIC
Definition: shib_login.php:26
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.
+ Here is the call graph for this function:

◆ infoScreen()

ilObjFileBasedLMGUI::infoScreen ( )

this one is called from the info button in the repository

Definition at line 480 of file class.ilObjFileBasedLMGUI.php.

References ILIAS\Repository\ctrl().

480  : void
481  {
482  $this->ctrl->redirectByClass(ilInfoScreenGUI::class, "showSummary");
483  }
+ Here is the call graph for this function:

◆ initSettingsForm()

ilObjFileBasedLMGUI::initSettingsForm ( )

Definition at line 242 of file class.ilObjFileBasedLMGUI.php.

References $form, ilObjFileBasedLMAccess\_determineStartUrl(), ILIAS\Repository\ctrl(), ILIAS\Repository\form(), ilObjectGUI\getObjectService(), ilObjectServiceSettingsGUI\INFO_TAB_VISIBILITY, ilObjectServiceSettingsGUI\initServiceSettingsForm(), ILIAS\Repository\lng(), ILIAS\Repository\object(), ilTextAreaInputGUI\setCols(), and ilObject\TITLE_LENGTH.

Referenced by properties(), and saveProperties().

242  : void
243  {
244  $obj_service = $this->getObjectService();
245 
246  $this->form = new ilPropertyFormGUI();
247 
248  // title
249  $ti = new ilTextInputGUI($this->lng->txt("title"), "title");
250  $ti->setSize(min(40, ilObject::TITLE_LENGTH));
251  $ti->setMaxLength(ilObject::TITLE_LENGTH);
252  $ti->setRequired(true);
253  $this->form->addItem($ti);
254 
255  // description
256  $ta = new ilTextAreaInputGUI($this->lng->txt("description"), "desc");
257  $ta->setCols(40);
258  $ta->setRows(2);
259  $this->form->addItem($ta);
260 
261  // online
262  $cb = new ilCheckboxInputGUI($this->lng->txt("cont_online"), "cobj_online");
263  $cb->setOptionTitle($this->lng->txt(""));
264  $cb->setValue("y");
265  $this->form->addItem($cb);
266 
267  // startfile
268  $startfile = ilObjFileBasedLMAccess::_determineStartUrl($this->object->getId());
269 
270  $ne = new ilNonEditableValueGUI($this->lng->txt("cont_startfile"), "");
271  if ($startfile !== "") {
272  $ne->setValue(basename($startfile));
273  } else {
274  $ne->setValue(basename($this->lng->txt("no_start_file")));
275  }
276  $this->form->addItem($ne);
277 
278  $pres = new ilFormSectionHeaderGUI();
279  $pres->setTitle($this->lng->txt('obj_presentation'));
280  $this->form->addItem($pres);
281 
282  // tile image
283  $obj_service->commonSettings()->legacyForm($this->form, $this->object)->addTileImage();
284 
285  $this->form->addCommandButton("saveProperties", $this->lng->txt("save"));
286  $this->form->addCommandButton("toFilesystem", $this->lng->txt("cont_set_start_file"));
287 
288  $this->form->setTitle($this->lng->txt("cont_lm_properties"));
289  $this->form->setFormAction($this->ctrl->getFormAction($this, "saveProperties"));
290 
291  // additional features
292  $section = new ilFormSectionHeaderGUI();
293  $section->setTitle($this->lng->txt('obj_features'));
294  $this->form->addItem($section);
295 
297  $this->object->getId(),
298  $this->form,
299  [
301  ]
302  );
303  }
const TITLE_LENGTH
static initServiceSettingsForm(int $obj_id, ilPropertyFormGUI $form, array $services)
form( $class_path, string $cmd, string $submit_caption="")
This class represents a text area property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ learningProgress()

ilObjFileBasedLMGUI::learningProgress ( )

Definition at line 747 of file class.ilObjFileBasedLMGUI.php.

References ILIAS\Repository\ctrl().

747  : void
748  {
749  $this->ctrl->redirectByClass("illearningprogressgui", "");
750  }
+ Here is the call graph for this function:

◆ listFiles()

ilObjFileBasedLMGUI::listFiles ( )
private

Definition at line 650 of file class.ilObjFileBasedLMGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), null, ILIAS\Repository\object(), and ILIAS\Repository\tabs().

650  : void
651  {
652  if ($this->object->getResource() !== null) {
653  $this->ctrl->redirectByClass(ilContainerResourceGUI::class);
654  return;
655  }
656  $this->tabs->activateTab("id_list_files");
657 
658  $message_box = $this->gui->ui()->factory()->messageBox()->info(
659  $this->lng->txt("infobox_files_not_migrated")
660  );
661 
662  $this->tpl->setContent(
663  $this->gui->ui()->renderer()->render([$message_box])
664  );
665  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ properties()

ilObjFileBasedLMGUI::properties ( )

Definition at line 230 of file class.ilObjFileBasedLMGUI.php.

References ilObjectGUI\checkPermissionBool(), ILIAS\Repository\form(), getSettingsFormValues(), initSettingsForm(), ILIAS\Repository\lng(), and ILIAS\Repository\tabs().

230  : void
231  {
232  if (!$this->checkPermissionBool("write")) {
233  $this->error->raiseError($this->lng->txt("permission_denied"), $this->error->MESSAGE);
234  }
235  $this->tabs->activateTab("id_settings");
236 
237  $this->initSettingsForm();
238  $this->getSettingsFormValues();
239  $this->tpl->setContent($this->form->getHTML());
240  }
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
form( $class_path, string $cmd, string $submit_caption="")
+ Here is the call graph for this function:

◆ redirectAfterCreation()

ilObjFileBasedLMGUI::redirectAfterCreation ( )

Definition at line 740 of file class.ilObjFileBasedLMGUI.php.

References ilObjectGUI\$ctrl, ILIAS\Repository\object(), ilCtrl\redirectByClass(), and ilCtrl\setParameterByClass().

Referenced by afterSave().

740  : void
741  {
742  $ctrl = $this->ctrl;
743  $ctrl->setParameterByClass("ilObjFileBasedLMGUI", "ref_id", $this->object->getRefId());
744  $ctrl->redirectByClass(["ilrepositorygui", "ilObjFileBasedLMGUI"], "properties");
745  }
setParameterByClass(string $a_class, string $a_parameter, $a_value)
redirectByClass( $a_class, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ redrawHeaderAction()

ilObjFileBasedLMGUI::redrawHeaderAction ( )

Definition at line 752 of file class.ilObjFileBasedLMGUI.php.

References ilObjectGUI\redrawHeaderActionObject().

752  : void
753  {
754  $this->redrawHeaderActionObject();
755  }
redrawHeaderActionObject()
Ajax call: redraw action header only.
+ Here is the call graph for this function:

◆ saveProperties()

ilObjFileBasedLMGUI::saveProperties ( )

Definition at line 336 of file class.ilObjFileBasedLMGUI.php.

References $form, ilObjectGUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ILIAS\Repository\form(), ilObjectGUI\getObjectService(), ilObjectServiceSettingsGUI\INFO_TAB_VISIBILITY, initSettingsForm(), ILIAS\Repository\lng(), ILIAS\Repository\object(), ILIAS\Repository\tabs(), and ilObjectServiceSettingsGUI\updateServiceSettingsForm().

336  : void
337  {
338  if (!$this->checkPermissionBool("write")) {
339  $this->error->raiseError($this->lng->txt("permission_denied"), $this->error->MESSAGE);
340  }
341 
342  $obj_service = $this->getObjectService();
343 
344  $this->initSettingsForm();
345  if ($this->form->checkInput()) {
346  $this->object->setTitle($this->form->getInput("title"));
347  $this->object->setDescription($this->form->getInput("desc"));
348  $this->object->setOfflineStatus(!(bool) $this->form->getInput("cobj_online"));
349 
350  $this->object->update();
351 
352  // tile image
353  $obj_service->commonSettings()->legacyForm($this->form, $this->object)->saveTileImage();
354 
355  // services
357  $this->object->getId(),
358  $this->form,
359  array(
361  )
362  );
363 
364  $this->tpl->setOnScreenMessage('success', $this->lng->txt("msg_obj_modified"), true);
365  $this->ctrl->redirect($this, "properties");
366  }
367 
368  $this->tabs->activateTab("id_settings");
369  $this->form->setValuesByPost();
370  $this->tpl->setContent($this->form->getHTML());
371  }
static updateServiceSettingsForm(int $obj_id, ilPropertyFormGUI $form, array $services)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
form( $class_path, string $cmd, string $submit_caption="")
+ Here is the call graph for this function:

◆ setStartFile()

ilObjFileBasedLMGUI::setStartFile ( )

Definition at line 408 of file class.ilObjFileBasedLMGUI.php.

References Vendor\Package\$e, ilObjFileBasedLMAccess\_determineStartUrl(), ilLearningProgress\_tracProgress(), ilLPStatusWrapper\_updateStatus(), ANONYMOUS_USER_ID, ilObjectGUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ILIAS\UI\examples\Layout\Page\Standard\getURI(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), null, ILIAS\Repository\object(), ilUtil\redirect(), ILIAS\Repository\refinery(), ilWACSignedPath\signFolderOfStartFile(), and ILIAS\Repository\user().

408  : void
409  {
410  if (!$this->checkPermissionBool("write")) {
411  $this->error->raiseError($this->lng->txt("permission_denied"), $this->error->MESSAGE);
412  }
413 
414  // try to determine start file from request
415  $start_file = $this->http->wrapper()->query()->has('lm_path')
416  ? $start_file = $this->http->wrapper()->query()->retrieve(
417  'lm_path',
418  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->string())
419  )[0] ?? ''
420  : '';
421  // the ContainerResourceGUI uses e bin2hex/hex2bin serialization of pathes. Due to the internals of
422  // UI\Table\Data it's not possible to have a different handling for the parameter in case of external actions...
423  try {
424  $start_file = hex2bin($start_file);
425  } catch (Throwable $e) {
426  $start_file = '';
427  }
428 
429  if ($start_file === '') {
430  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('cont_no_start_file'), true);
431  } else {
432  $this->object->setStartFile($start_file);
433  $this->object->update();
434  $this->tpl->setOnScreenMessage('success', $this->lng->txt('cont_start_file_set'), true);
435  }
436 
437  $this->ctrl->redirectByClass(ilContainerResourceGUI::class);
438  }
static http()
Fetches the global http state from ILIAS.
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
+ Here is the call graph for this function:

◆ setTabs()

ilObjFileBasedLMGUI::setTabs ( )
protected

Definition at line 523 of file class.ilObjFileBasedLMGUI.php.

References getTabs(), and ilObjectGUI\setTitleAndDescription().

Referenced by executeCommand().

523  : void
524  {
525  $this->getTabs();
526  $this->setTitleAndDescription();
527  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showInfoScreen()

ilObjFileBasedLMGUI::showInfoScreen ( )

Definition at line 485 of file class.ilObjFileBasedLMGUI.php.

References $info, ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\Repository\object(), and ILIAS\Repository\tabs().

Referenced by executeCommand().

485  : void
486  {
487  $this->tabs->activateTab('id_info');
488 
489  $this->lng->loadLanguageModule("meta");
490 
491  $info = new ilInfoScreenGUI($this);
492  $info->enablePrivateNotes();
493  $info->enableLearningProgress();
494 
495  $info->enableNews();
496  if ($this->access->checkAccess("write", "", $this->requested_ref_id)) {
497  $info->enableNewsEditing();
498 
499  $news_set = new ilSetting("news");
500  $enable_internal_rss = $news_set->get("enable_rss_for_internal");
501  if ($enable_internal_rss) {
502  $info->setBlockProperty("news", "settings", true);
503  }
504  }
505 
506  // add read / back button
507  if ($this->access->checkAccess("read", "", $this->requested_ref_id)) {
508  // #15127
509  $this->gui->link(
510  $this->lng->txt("view"),
511  "ilias.php?baseClass=ilHTLMPresentationGUI&ref_id=" . $this->object->getRefId(),
512  true
513  )->primary()->toToolbar();
514  }
515 
516  // show standard meta data section
517  $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
518 
519  // forward the command
520  $this->ctrl->forwardCommand($info);
521  }
$info
Definition: entry_point.php:21
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ toFilesystem()

ilObjFileBasedLMGUI::toFilesystem ( )

Definition at line 325 of file class.ilObjFileBasedLMGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\object().

325  : void
326  {
327  // If we already have a RID, we can redirect to Container GUI
328  // otherwise we display an message which informs the user that the resource is not yet available
329  if ($this->object->getRID() != "") {
330  $this->ctrl->redirectByClass(ilContainerResourceGUI::class);
331  } else {
332  $this->ctrl->redirectByClass(static::class, "properties");
333  }
334  }
+ Here is the call graph for this function:

◆ update()

ilObjFileBasedLMGUI::update ( )

Definition at line 403 of file class.ilObjFileBasedLMGUI.php.

References ilObjectGUI\updateObject().

403  : void
404  {
405  $this->updateObject();
406  }
updateObject()
updates object entry in object_data
+ Here is the call graph for this function:

Field Documentation

◆ $form

ilPropertyFormGUI ilObjFileBasedLMGUI::$form
protected

Definition at line 42 of file class.ilObjFileBasedLMGUI.php.

Referenced by initSettingsForm(), and saveProperties().

◆ $gui

ILIAS HTMLLearningModule InternalGUIService ilObjFileBasedLMGUI::$gui
protected

Definition at line 40 of file class.ilObjFileBasedLMGUI.php.

◆ $help

ilHelpGUI ilObjFileBasedLMGUI::$help
protected

Definition at line 44 of file class.ilObjFileBasedLMGUI.php.

Referenced by getTabs().

◆ $irss

ILIAS ResourceStorage Services ilObjFileBasedLMGUI::$irss
private

Definition at line 39 of file class.ilObjFileBasedLMGUI.php.

◆ $lm_request

StandardGUIRequest ilObjFileBasedLMGUI::$lm_request
protected

Definition at line 41 of file class.ilObjFileBasedLMGUI.php.

◆ $output_prepared

bool ilObjFileBasedLMGUI::$output_prepared

Definition at line 45 of file class.ilObjFileBasedLMGUI.php.

◆ $tabs

ilTabsGUI ilObjFileBasedLMGUI::$tabs
protected

Definition at line 43 of file class.ilObjFileBasedLMGUI.php.

◆ CMD_IMPORT_FROM_UPLOAD_DIR

const ilObjFileBasedLMGUI::CMD_IMPORT_FROM_UPLOAD_DIR = 'importFromUploadDir'

Definition at line 38 of file class.ilObjFileBasedLMGUI.php.

Referenced by executeCommand().

◆ CMD_LIST_FILES

const ilObjFileBasedLMGUI::CMD_LIST_FILES = "listFiles"

◆ PARAM_PATH

const ilObjFileBasedLMGUI::PARAM_PATH = "path"
private

Definition at line 36 of file class.ilObjFileBasedLMGUI.php.


The documentation for this class was generated from the following file: