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)
 
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