ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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 }
$row
$query
global $DIC
Definition: saml.php:7

References $DIC, $query, $row, 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 192 of file class.ilChatroomAdmin.php.

193 {
194 global $DIC;
195
196 $query = 'SELECT * FROM ' . self::$settingsTable . ' WHERE instance_id = ' . $DIC->database()->quote($this->config_id, 'integer');
197 if (($row = $DIC->database()->fetchAssoc($DIC->database()->query($query))) && $row['client_settings']) {
198 $settings = json_decode($row['client_settings'], true);
199
200 if (!$settings['osd_intervall']) {
201 $settings['osd_intervall'] = 60;
202 }
203
204 if (!$settings['client']) {
205 $settings['client'] = CLIENT_ID;
206 }
207
208 $settings['client_name'] = (string) $settings['name'];
209 if (!$settings['client_name']) {
210 $settings['client_name'] = CLIENT_ID;
211 }
212
213 return $settings;
214 }
215
216 return array();
217 }

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

◆ loadGeneralSettings()

ilChatroomAdmin::loadGeneralSettings ( )

Returns an array containing server settings from settingsTable.

Returns
array

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

166 {
167 global $DIC;
168
169 $query = 'SELECT * FROM ' . self::$settingsTable . ' WHERE instance_id = ' . $DIC->database()->quote($this->config_id, 'integer');
170
171 if (($row = $DIC->database()->fetchAssoc($DIC->database()->query($query))) && $row['server_settings']) {
172 $settings = json_decode($row['server_settings'], true);
173
174 if (!$settings['protocol']) {
175 $settings['protocol'] = 'http';
176 }
177
178 if (!$settings['log_level']) {
179 $settings['log_level'] = 'info';
180 }
181
182 return $settings;
183 }
184
185 return array();
186 }

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

◆ saveClientSettings()

ilChatroomAdmin::saveClientSettings ( stdClass  $settings)

Saves given client $settings into settingsTable.

Parameters
stdClass$settings

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

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

References $DIC, $res, $row, 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 $row['default_config'] !== null ? $def_conf = $row['default_config'] : $def_conf = "{}";
98 $row['client_settings'] !== null ? $clnt_set = $row['client_settings'] : $clnt_set = "{}";
99
100 $DIC->database()->manipulateF(
101 "
102 INSERT INTO chatroom_admconfig
103 (instance_id, server_settings, default_config, client_settings)
104 VALUES (%s, %s, %s, %s)",
105 array('integer', 'text', 'integer', 'text'),
106 array($this->config_id, json_encode($settings), $def_conf, $clnt_set)
107 );
108 }

References $DIC, $res, $row, 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: