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.');
161 $this->
ctrl->redirectByClass(ilInfoScreenGUI::class,
"showSummary");
169 if (!$this->
access->checkAccess(
"visible",
"", $this->object->getRefId())) {
170 $this->error->raiseError(
171 $this->
lng->txt(
'msg_no_perm_read'),
172 $this->error->MESSAGE
176 $this->
ctrl->setReturn($this,
'call');
178 $this->
user->getId(),
184 $this->tabs_gui->activateTab(
'info');
188 $info->addSection($this->
lng->txt(
'ecs_general_info'));
189 $info->addProperty($this->
lng->txt(
'title'), $this->
object->getTitle());
190 if ($this->
object->getOrganization()) {
191 $info->addProperty($this->
lng->txt(
'organization'), $this->
object->getOrganization());
193 if ($this->
object->getDescription()) {
194 $info->addProperty($this->
lng->txt(
'description'), $this->
object->getDescription());
196 if ($this->
object->getLocalInformation()) {
197 $info->addProperty($this->
lng->txt(
'ecs_local_information'), $this->
object->getLocalInformation());
208 $record_gui->parse();
210 $this->
ctrl->forwardCommand($info);
228 if (!$this->
access->checkAccess(
"write",
"", $this->object->getRefId())) {
229 $this->error->raiseError($this->
lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
232 $this->tabs_gui->activateTab(
'edit');
237 $this->tpl->setContent($form->getHTML());
246 $form->setFormAction($this->
ctrl->getFormAction($this));
247 $form->setTitle($this->
lng->txt(
'ecs_general_info'));
248 $form->addCommandButton(
'update', $this->
lng->txt(
'save'));
249 $form->addCommandButton(
'edit', $this->
lng->txt(
'cancel'));
255 $text->setDisabled(
true);
256 $form->addItem(
$text);
262 $area->setDisabled(
true);
263 $form->addItem($area);
269 $form->addItem($area);
279 $record_gui->parse();
296 $this->error->raiseError($this->
lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
300 if ($form->checkInput()) {
301 $this->
object->setLocalInformation($form->getInput(
'local_info'));
305 $this->
object->update();
314 $record_gui->writeEditForm();
316 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"settings_saved"));
320 $form->setValuesByPost();
333 public static function _goto(
string $a_target): void
337 $ilAccess = $DIC->access();
339 $lng = $DIC->language();
340 if ($ilAccess->checkAccess(
"read",
"", (
int) $a_target)) {
344 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
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.
static _goto(string $a_target)
addCustomEditForm(ilPropertyFormGUI $a_form)
Add custom fields to edit form.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call