18 declare(strict_types=1);
29 public function __construct($a_id = 0, $a_id_type = self::REPOSITORY_NODE_ID, $a_parent_node_id = 0)
35 $this->
logger = $DIC->logger()->wsrv();
37 $this->
lng->loadLanguageModule(
'ecs');
42 $next_class = $this->
ctrl->getNextClass($this);
43 $cmd = $this->
ctrl->getCmd();
48 switch ($next_class) {
49 case 'ilinfoscreengui':
54 case 'ilpermissiongui':
55 $this->tabs_gui->activateTab(
'id_permissions');
59 case "ilcommonactiondispatchergui":
61 $this->
ctrl->forwardCommand($gui);
64 case strtolower(ilECSUserConsentModalGUI::class):
70 $this->
ctrl->setReturn($this,
'call');
71 $this->
ctrl->forwardCommand($consent_gui);
75 if (!$cmd || $cmd ===
'view') {
79 $this->
logger->info(
"cmd before call:" . print_r($cmd,
true));
83 $this->
logger->info(
"cmd:" . print_r($cmd,
true));
92 $this->
object->isLocalObject()) {
93 $this->
ctrl->redirectToURL($this->
object->getRemoteLink());
95 $link = $this->
object->getFullRemoteLink();
96 $this->
ctrl->redirectToURL($link);
106 $this->tabs_gui->addTab(
108 $this->
lng->txt(
"info_short"),
109 $this->
ctrl->getLinkTarget($this,
"infoScreen")
114 $this->tabs_gui->addTab(
116 $this->
lng->txt(
"edit"),
117 $this->
ctrl->getLinkTarget($this,
"edit")
121 $this->tabs_gui->addTab(
122 self::TAB_ID_PERMISSIONS,
123 $this->
lng->txt(
"perm_settings"),
124 $this->
ctrl->getLinkTargetByClass(
"ilpermissiongui",
"perm")
138 $this->
object->getRefId(),
139 $this->
object->getId(),
145 $link = $this->
object->getFullRemoteLink();
147 $this->
ctrl->redirectToURL($link);
151 $this->tpl->setOnScreenMessage(
'failure',
'Cannot call remote object.');
163 $this->
ctrl->setCmd(
"showSummary");
164 $this->
ctrl->setCmdClass(
"ilinfoscreengui");
173 if (!$this->
access->checkAccess(
"visible",
"", $this->object->getRefId())) {
174 $this->error->raiseError(
175 $this->
lng->txt(
'msg_no_perm_read'),
176 $this->error->MESSAGE
180 $this->
ctrl->setReturn($this,
'call');
182 $this->
user->getId(),
188 $this->tabs_gui->activateTab(
'info');
192 $info->addSection($this->
lng->txt(
'ecs_general_info'));
193 $info->addProperty($this->
lng->txt(
'title'), $this->
object->getTitle());
194 if ($this->
object->getOrganization()) {
195 $info->addProperty($this->
lng->txt(
'organization'), $this->
object->getOrganization());
197 if ($this->
object->getDescription()) {
198 $info->addProperty($this->
lng->txt(
'description'), $this->
object->getDescription());
200 if ($this->
object->getLocalInformation()) {
201 $info->addProperty($this->
lng->txt(
'ecs_local_information'), $this->
object->getLocalInformation());
212 $record_gui->parse();
214 $this->
ctrl->forwardCommand($info);
232 if (!$this->
access->checkAccess(
"write",
"", $this->object->getRefId())) {
233 $this->error->raiseError($this->
lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
236 $this->tabs_gui->activateTab(
'edit');
241 $this->tpl->setContent($form->getHTML());
250 $form->setFormAction($this->
ctrl->getFormAction($this));
251 $form->setTitle($this->
lng->txt(
'ecs_general_info'));
252 $form->addCommandButton(
'update', $this->
lng->txt(
'save'));
253 $form->addCommandButton(
'edit', $this->
lng->txt(
'cancel'));
256 $text->setValue($this->
object->getTitle());
259 $text->setDisabled(
true);
260 $form->addItem($text);
266 $area->setDisabled(
true);
267 $form->addItem($area);
273 $form->addItem($area);
283 $record_gui->parse();
300 $this->error->raiseError($this->
lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
304 if ($form->checkInput()) {
305 $this->
object->setLocalInformation($form->getInput(
'local_info'));
309 $this->
object->update();
318 $record_gui->writeEditForm();
320 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"settings_saved"));
324 $form->setValuesByPost();
337 public static function _goto(
string $a_target): void
341 $ilAccess = $DIC->access();
343 $lng = $DIC->language();
344 if ($ilAccess->checkAccess(
"read",
"", (
int) $a_target)) {
348 if ($ilAccess->checkAccess(
"visible",
"", (
int) $a_target)) {
callObject()
call remote object
setPropertyForm(ilPropertyFormGUI $form)
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...
editObject(ilPropertyFormGUI $form=null)
Edit settings.
New implementation of ilObjectGUI.
infoScreen()
show info screen
importEditFormPostValues()
Load edit form values from post.
static _gotoRepositoryNode(int $ref_id, string $cmd="")
addCustomInfoFields(ilInfoScreenGUI $a_info)
Add custom fields to info screen.
prepareOutput(bool $show_sub_objects=true)
setValue(string $a_value)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
getType()
Functions that must be overwritten.
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)
__construct($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
showObject()
show remote object
addLinkToToolbar(ilToolbarGUI $toolbar)
__construct(Container $dic, ilPlugin $plugin)
This class represents a text area property in a property form.
setInfoObject(ilInfoScreenGUI $info)
get info sections
updateCustomValues(ilPropertyFormGUI $a_form)
Update object custom values.
initEditForm()
Init edit settings form.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static _goto(string $a_target)
addCustomEditForm(ilPropertyFormGUI $a_form)
Add custom fields to edit form.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call