ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
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.

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

35  {
36  $this->config_id = $config_id;
37  $this->settings = $settings;
38  }
settings()
Definition: settings.php:2
+ 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.

References $DIC, and $query.

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

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
+ 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.

References ilChatroomServerSettings\loadDefault().

64  {
65  require_once 'Modules/Chatroom/classes/class.ilChatroomServerSettings.php';
67  }
+ 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.

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

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
global $DIC
Definition: goto.php:24
$query

◆ loadGeneralSettings()

ilChatroomAdmin::loadGeneralSettings ( )

Returns an array containing server settings from settingsTable.

Returns
array

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

References $DIC, $query, and $settings.

Referenced by ilChatroomAdminViewGUI\clientsettings().

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  }
global $DIC
Definition: goto.php:24
$query
+ Here is the caller graph for this function:

◆ saveClientSettings()

ilChatroomAdmin::saveClientSettings ( stdClass  $settings)

Saves given client $settings into settingsTable.

Parameters
stdClass$settings

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

References $DIC, and $res.

Referenced by ilChatroomAdminViewGUI\saveClientSettings().

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
global $DIC
Definition: goto.php:24
+ Here is the caller graph for this function:

◆ saveGeneralSettings()

ilChatroomAdmin::saveGeneralSettings ( stdClass  $settings)

Saves given $settings into settingsTable.

Parameters
stdClass$settings

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

References $DIC, and $res.

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  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24

Field Documentation

◆ $config_id

ilChatroomAdmin::$config_id
private

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

Referenced by __construct().

◆ $settings

ilChatroomAdmin::$settings
private

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

Referenced by __construct(), loadClientSettings(), and loadGeneralSettings().

◆ $settingsTable

ilChatroomAdmin::$settingsTable = 'chatroom_admconfig'
staticprivate

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


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