ILIAS  release_7 Revision v7.30-3-g800a261c036
ilChatroomAdmin Class Reference

Class ilChatroomAdmin. More...

+ Collaboration diagram for ilChatroomAdmin:

Public Member Functions

 __construct ($config_id, stdClass $settings=null)
 Constructor Sets $this->config_id and $this->settings using given $config_id and $settings. More...
 
 getServerSettings ()
 Instantiates ilChatroomServerSettings object, sets data using $this->settings->server_settings and returns object. More...
 
 saveGeneralSettings (stdClass $settings)
 Saves given $settings into settingsTable. More...
 
 saveClientSettings (stdClass $settings)
 Saves given client $settings into settingsTable. More...
 
 loadGeneralSettings ()
 Returns an array containing server settings from settingsTable. More...
 
 loadClientSettings ()
 Returns an array containing client settings from settingsTable. More...
 

Static Public Member Functions

static getDefaultConfiguration ()
 Instantiates and returns ilChatroomAdmin object using instance_id and settings from settingsTable. More...
 

Private Attributes

 $settings
 
 $config_id
 

Static Private Attributes

static $settingsTable = 'chatroom_admconfig'
 

Detailed Description

Class ilChatroomAdmin.

Author
Jan Posselt jposs.nosp@m.elt@.nosp@m.datab.nosp@m.ay.d.nosp@m.e
Version
$Id$

Definition at line 10 of file class.ilChatroomAdmin.php.

Constructor & Destructor Documentation

◆ __construct()

ilChatroomAdmin::__construct (   $config_id,
stdClass  $settings = null 
)

Constructor Sets $this->config_id and $this->settings using given $config_id and $settings.

Parameters
integer$config_id
stdClass$settings

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

35 {
36 $this->config_id = $config_id;
37 $this->settings = $settings;
38 }
settings()
Definition: settings.php:2

References $config_id, $settings, and settings().

+ Here is the call graph for this function:

Member Function Documentation

◆ getDefaultConfiguration()

static ilChatroomAdmin::getDefaultConfiguration ( )
static

Instantiates and returns ilChatroomAdmin object using instance_id and settings from settingsTable.

Returns
self

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

46 {
47 global $DIC;
48
49 $DIC->database()->setLimit(1);
50 $query = 'SELECT * FROM ' . self::$settingsTable;
51
52 $rset = $DIC->database()->query($query);
53 if ($row = $DIC->database()->fetchObject($rset)) {
54 return new self((int) $row->instance_id, $row);
55 }
56 }
global $DIC
Definition: goto.php:24
$query

References $DIC, $query, and $settingsTable.

Referenced by ilChatroomServerConnector\checkServerConnection(), ilObjChatroom\cloneObject(), ilChatroomServerHandler\getConnector(), ilObjChatroomGUI\getConnector(), and ilOnScreenChatAppEventListener\handleEvent().

+ Here is the caller graph for this function:

◆ getServerSettings()

ilChatroomAdmin::getServerSettings ( )

Instantiates ilChatroomServerSettings object, sets data using $this->settings->server_settings and returns object.

Returns
ilChatroomServerSettings

Definition at line 63 of file class.ilChatroomAdmin.php.

64 {
65 require_once 'Modules/Chatroom/classes/class.ilChatroomServerSettings.php';
67 }

References ilChatroomServerSettings\loadDefault().

+ Here is the call graph for this function:

◆ loadClientSettings()

ilChatroomAdmin::loadClientSettings ( )

Returns an array containing client settings from settingsTable.

Returns
array

Definition at line 201 of file class.ilChatroomAdmin.php.

202 {
203 global $DIC;
204
205 $query = 'SELECT * FROM ' . self::$settingsTable . ' WHERE instance_id = ' . $DIC->database()->quote($this->config_id, 'integer');
206 if (($row = $DIC->database()->fetchAssoc($DIC->database()->query($query))) && $row['client_settings']) {
207 $settings = json_decode($row['client_settings'], true);
208
209 if (!$settings['osd_intervall']) {
210 $settings['osd_intervall'] = 60;
211 }
212
213 if (!$settings['client']) {
214 $settings['client'] = CLIENT_ID;
215 }
216
217 $settings['client_name'] = (string) $settings['name'];
218 if (!$settings['client_name']) {
219 $settings['client_name'] = CLIENT_ID;
220 }
221
222 if (is_numeric($settings['conversation_idle_state_in_minutes'])) {
223 $settings['conversation_idle_state_in_minutes'] = max(1, $settings['conversation_idle_state_in_minutes']);
224 } else {
225 $settings['conversation_idle_state_in_minutes'] = 1;
226 }
227
228 return $settings;
229 }
230
231 return array();
232 }
const CLIENT_ID
Definition: constants.php:39

References $DIC, $query, $settings, and CLIENT_ID.

◆ loadGeneralSettings()

ilChatroomAdmin::loadGeneralSettings ( )

Returns an array containing server settings from settingsTable.

Returns
array

Definition at line 174 of file class.ilChatroomAdmin.php.

175 {
176 global $DIC;
177
178 $query = 'SELECT * FROM ' . self::$settingsTable . ' WHERE instance_id = ' . $DIC->database()->quote($this->config_id, 'integer');
179
180 if (($row = $DIC->database()->fetchAssoc($DIC->database()->query($query))) && $row['server_settings']) {
181 $settings = json_decode($row['server_settings'], true);
182
183 if (!isset($settings['protocol'])) {
184 $settings['protocol'] = 'http';
185 }
186
187 if (!isset($settings['log_level'])) {
188 $settings['log_level'] = 'info';
189 }
190
191 return $settings;
192 }
193
194 return array();
195 }

References $DIC, $query, and $settings.

◆ saveClientSettings()

ilChatroomAdmin::saveClientSettings ( stdClass  $settings)

Saves given client $settings into settingsTable.

Parameters
stdClass$settings

Definition at line 123 of file class.ilChatroomAdmin.php.

124 {
125 global $DIC;
126
127 $res = $DIC->database()->queryF(
128 "
129 SELECT *
130 FROM chatroom_admconfig
131 WHERE instance_id = %s",
132 array('integer'),
133 array($this->config_id)
134 );
135
136 $row = $DIC->database()->fetchAssoc($res);
137
138 $DIC->database()->manipulateF(
139 "
140 DELETE
141 FROM chatroom_admconfig
142 WHERE instance_id = %s",
143 array('integer'),
144 array($this->config_id)
145 );
146
147 $row['default_config'] !== null ? $def_conf = $row['default_config'] : $def_conf = "{}";
148 $row['server_settings'] !== null ? $srv_set = $row['server_settings'] : $srv_set = "{}";
149
150 $DIC->database()->manipulateF(
151 "
152 INSERT INTO chatroom_admconfig
153 (instance_id, server_settings, default_config, client_settings)
154 VALUES (%s, %s, %s, %s)",
155 array(
156 'integer',
157 'text',
158 'integer',
159 'text'
160 ),
161 array(
162 $this->config_id,
163 $srv_set,
164 $def_conf,
165 json_encode($settings)
166 )
167 );
168 }
foreach($_POST as $key=> $value) $res

References $DIC, $res, and $settings.

◆ saveGeneralSettings()

ilChatroomAdmin::saveGeneralSettings ( stdClass  $settings)

Saves given $settings into settingsTable.

Parameters
stdClass$settings

Definition at line 73 of file class.ilChatroomAdmin.php.

74 {
75 global $DIC;
76
77 $res = $DIC->database()->queryF(
78 "
79 SELECT *
80 FROM chatroom_admconfig
81 WHERE instance_id = %s",
82 array('integer'),
83 array($this->config_id)
84 );
85
86 $row = $DIC->database()->fetchAssoc($res);
87
88 $DIC->database()->manipulateF(
89 "
90 DELETE
91 FROM chatroom_admconfig
92 WHERE instance_id = %s",
93 array('integer'),
94 array($this->config_id)
95 );
96
97 $def_conf = '{}';
98 $clnt_set = '{}';
99 if (is_array($row)) {
100 if ($row['default_config'] !== null) {
101 $def_conf = $row['default_config'];
102 }
103
104 if ($row['client_settings'] !== null) {
105 $clnt_set = $row['client_settings'];
106 }
107 }
108
109 $DIC->database()->manipulateF(
110 "
111 INSERT INTO chatroom_admconfig
112 (instance_id, server_settings, default_config, client_settings)
113 VALUES (%s, %s, %s, %s)",
114 array('integer', 'text', 'integer', 'text'),
115 array($this->config_id, json_encode($settings), $def_conf, $clnt_set)
116 );
117 }

References $DIC, $res, and $settings.

Field Documentation

◆ $config_id

ilChatroomAdmin::$config_id
private

Definition at line 25 of file class.ilChatroomAdmin.php.

Referenced by __construct().

◆ $settings

ilChatroomAdmin::$settings
private

◆ $settingsTable

ilChatroomAdmin::$settingsTable = 'chatroom_admconfig'
staticprivate

Definition at line 15 of file class.ilChatroomAdmin.php.

Referenced by getDefaultConfiguration().


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