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