ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilChatroomAdminViewGUI Class Reference

Class ilChatroomAdminViewGUI. More...

+ Inheritance diagram for ilChatroomAdminViewGUI:
+ Collaboration diagram for ilChatroomAdminViewGUI:

Public Member Functions

 __construct (ilChatroomObjectGUI $gui)
 
 executeDefault (string $requestedMethod)
 
 forcePublicRoom ()
 
 createPublicRoom ()
 
 saveClientSettings ()
 
 deliverDocumentation ()
 
- Public Member Functions inherited from ilChatroomGUIHandler
 execute (string $method)
 
 executeDefault (string $requestedMethod)
 
 redirectIfNoPermission ($permission)
 Checks for requested permissions and redirects if the permission check failed. More...
 
 isSuccessful ($response)
 Checks for success param in an json decoded response. More...
 
 hasPermission (string $permission)
 

Protected Member Functions

 checkServerConnection (array $serverSettings)
 
- Protected Member Functions inherited from ilChatroomGUIHandler
 getRequestValue (string $key, Transformation $trafo, $default=null)
 
 hasRequestValue (string $key)
 
 getRoomByObjectId (int $objectId)
 
 exitIfNoRoomExists (?ilChatroom $room)
 Checks if a ilChatroom exists. More...
 
 sendJSONResponse ($response)
 Sends a json encoded response and exits the php process. More...
 
 sendResponse (string $content, string $type)
 Sends a response and exits the php process. More...
 

Protected Attributes

ilSetting $commonSettings
 
- Protected Attributes inherited from ilChatroomGUIHandler
ilObjUser $ilUser
 
ilCtrlInterface $ilCtrl
 
ilLanguage $ilLng
 
Filesystem $webDirectory
 
ilObjectService $obj_service
 
FileUpload $upload
 
ilRbacSystem $rbacsystem
 
ilGlobalTemplateInterface $mainTpl
 
ILIAS $ilias
 
ilNavigationHistory $navigationHistory
 
ilTree $tree
 
ilTabsGUI $tabs
 
UIFactory $uiFactory
 
UIRenderer $uiRenderer
 
GlobalHttpState $http
 
Refinery $refinery
 
ILIAS FileDelivery Services $file_delivery
 

Private Member Functions

 defaultActions ()
 

Private Attributes

const string CHATROOM_README_PATH = __DIR__ . '/../../README.md'
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilChatroomAdminViewGUI::__construct ( ilChatroomObjectGUI  $gui)

Definition at line 34 of file class.ilChatroomAdminViewGUI.php.

35 {
37 $this->commonSettings = new ilSetting('common');
38 }
ILIAS Setting Class.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

References ILIAS\GlobalScreen\Provider\__construct().

+ Here is the call graph for this function:

Member Function Documentation

◆ checkServerConnection()

ilChatroomAdminViewGUI::checkServerConnection ( array  $serverSettings)
protected

Definition at line 87 of file class.ilChatroomAdminViewGUI.php.

87 : void
88 {
89 if (
90 isset($serverSettings['port'], $serverSettings['address']) &&
92 ) {
93 $this->mainTpl->setOnScreenMessage('info', $this->ilLng->txt('chat_cannot_connect_to_server'));
94 }
95 }
static checkServerConnection(bool $use_cache=true)

References ilChatroomServerConnector\checkServerConnection().

+ Here is the call graph for this function:

◆ createPublicRoom()

ilChatroomAdminViewGUI::createPublicRoom ( )

Definition at line 81 of file class.ilChatroomAdminViewGUI.php.

81 : void
82 {
83 ilChatroomInstaller::createDefaultPublicRoom(true);
84 $this->mainTpl->setOnScreenMessage('success', $this->ilLng->txt('public_chat_created'), true);
85 }

Referenced by forcePublicRoom().

+ Here is the caller graph for this function:

◆ defaultActions()

ilChatroomAdminViewGUI::defaultActions ( )
private

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

45 : void
46 {
47 $chatSettings = new ilSetting('chatroom');
48 if ($chatSettings->get('chat_enabled', '0')) {
49 $this->forcePublicRoom();
50 }
51 }

References forcePublicRoom().

+ Here is the call graph for this function:

◆ deliverDocumentation()

ilChatroomAdminViewGUI::deliverDocumentation ( )

Definition at line 151 of file class.ilChatroomAdminViewGUI.php.

151 : never
152 {
153 $this->redirectIfNoPermission(['visible','read']);
154
155 $this->file_delivery->delivery()->inline(
156 ILIAS\Filesystem\Stream\Streams::ofResource(
157 fopen(self::CHATROOM_README_PATH, 'rb')
158 ),
159 basename(self::CHATROOM_README_PATH),
160 'text/markdown'
161 );
162 }
redirectIfNoPermission($permission)
Checks for requested permissions and redirects if the permission check failed.
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.

References ilChatroomGUIHandler\redirectIfNoPermission().

+ Here is the call graph for this function:

◆ executeDefault()

ilChatroomAdminViewGUI::executeDefault ( string  $requestedMethod)

Reimplemented from ilChatroomGUIHandler.

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

40 : void
41 {
42 $this->ilCtrl->redirect($this->gui, 'view-clientsettings');
43 }
Class ilCtrl provides processing control methods.
redirect(object $a_gui_obj, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false)
@inheritDoc

References ilCtrl\redirect().

+ Here is the call graph for this function:

◆ forcePublicRoom()

ilChatroomAdminViewGUI::forcePublicRoom ( )

Definition at line 53 of file class.ilChatroomAdminViewGUI.php.

53 : void
54 {
56 if (!$ref_id) {
57 $this->createPublicRoom();
58 return;
59 }
60
62 if (!($instance instanceof ilObjChatroom)) {
63 $this->createPublicRoom();
64 return;
65 }
66
68 if (!$obj_id) {
69 $this->createPublicRoom();
70 return;
71 }
72
74 $this->createPublicRoom();
75 return;
76 }
77
78 ilChatroomInstaller::ensureCorrectPublicChatroomTreeLocation($ref_id);
79 }
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id
static _hasUntrashedReference(int $obj_id)
checks whether an object has at least one reference that is not in trash
static _lookupObjId(int $ref_id)
$ref_id
Definition: ltiauth.php:66

References $ref_id, ilObjChatroom\_getPublicRefId(), ilObject\_hasUntrashedReference(), ilObject\_lookupObjId(), createPublicRoom(), and ilObjectFactory\getInstanceByRefId().

Referenced by defaultActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveClientSettings()

ilChatroomAdminViewGUI::saveClientSettings ( )

Definition at line 97 of file class.ilChatroomAdminViewGUI.php.

97 : void
98 {
99 $this->redirectIfNoPermission('write');
100
101 $factory = new ilChatroomFormFactory();
102 $form = $factory->getClientSettingsForm();
103
104 if (!$form->checkInput()) {
105 $form->setValuesByPost();
106 $this->clientsettings($form);
107 return;
108 }
109
110 $convIdleStateTime = max(1, (int) $form->getInput('conversation_idle_state_in_minutes'));
111
112 $settings = [
113 'name' => (string) $form->getInput('client_name'),
114 'enable_osc' => (bool) $form->getInput('enable_osc'),
115 'enable_browser_notifications' => (bool) $form->getInput('enable_browser_notifications'),
116 'conversation_idle_state_in_minutes' => $convIdleStateTime,
117 'chat_enabled' => (bool) $form->getInput('chat_enabled'),
118 'auth' => $form->getInput('auth')
119 ];
120
121 if (!$settings['chat_enabled']) {
122 $settings['enable_osc'] = false;
123 }
124
125 $chatSettings = new ilSetting('chatroom');
126 $chatSettings->set('chat_enabled', (string) $settings['chat_enabled']);
127 $chatSettings->set('enable_browser_notifications', (string) $settings['enable_browser_notifications']);
128 $chatSettings->set('conversation_idle_state_in_minutes', (string) $convIdleStateTime);
129 $chatSettings->set('enable_osc', (string) $settings['enable_osc']);
130
131 $adminSettings = new ilChatroomAdmin($this->gui->getObject()->getId());
132 $adminSettings->saveClientSettings((object) $settings);
133
134 $osc_accept_msg = $form->getInput('chat_osc_accept_msg');
135 $broadcast_typing = $form->getInput('chat_broadcast_typing');
136 if (in_array($osc_accept_msg, ['n', 'y'], true)) {
137 $this->commonSettings->set('chat_osc_accept_msg', $osc_accept_msg);
138 }
139
140 if (in_array($broadcast_typing, ['n', 'y'], true)) {
141 $this->commonSettings->set('chat_broadcast_typing', $broadcast_typing);
142 }
143
144 $fileHandler = new ilChatroomConfigFileHandler();
145 $fileHandler->createClientConfigFile($settings);
146
147 $this->mainTpl->setOnScreenMessage('success', $this->ilLng->txt('settings_has_been_saved'), true);
148 $this->ilCtrl->redirect($this->gui, 'view-clientsettings');
149 }
Class ilChatroomAdmin.

References ilCtrl\redirect(), and ilChatroomGUIHandler\redirectIfNoPermission().

+ Here is the call graph for this function:

Field Documentation

◆ $commonSettings

ilSetting ilChatroomAdminViewGUI::$commonSettings
protected

Definition at line 32 of file class.ilChatroomAdminViewGUI.php.

◆ CHATROOM_README_PATH

const string ilChatroomAdminViewGUI::CHATROOM_README_PATH = __DIR__ . '/../../README.md'
private

Definition at line 30 of file class.ilChatroomAdminViewGUI.php.


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