ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilECSEventQueueReader Class Reference

Reads ECS events and stores them in the database. More...

+ Collaboration diagram for ilECSEventQueueReader:

Public Member Functions

 __construct (ilECSSetting $settings)
 Constructor. More...
 
 handleImportReset ()
 Reread all imported econtent. More...
 
 handleExportReset ()
 Handle export reset. More...
 
 getServer ()
 get server settings More...
 
 getEvents ()
 get all events More...
 
 deleteAll ()
 Delete all events. More...
 
 deleteAllEContentEvents (array $a_types)
 Delete all econtents. More...
 
 refresh ()
 Fetch events from fifo Using fifo. More...
 
 delete ()
 Delete by server id. More...
 
 shift ()
 get and delete the first event entry More...
 
 add (string $a_type, int $a_id, string $a_op)
 add More...
 
 deleteEvent (int $a_event_id)
 delete More...
 

Static Public Member Functions

static getAllEContentTypes ()
 All available content types. More...
 
static deleteByServerId (int $a_server_id)
 

Data Fields

const TYPE_EXPORTED = 'exported'
 
const TYPE_DIRECTORY_TREES = 'directory_trees'
 
const TYPE_CMS_COURSES = 'courses'
 
const TYPE_CMS_COURSE_MEMBERS = 'course_members'
 
const TYPE_REMOTE_COURSE = 'rcrs'
 
const TYPE_REMOTE_CATEGORY = 'rcat'
 
const TYPE_REMOTE_FILE = 'rfil'
 
const TYPE_REMOTE_GLOSSARY = 'rglo'
 
const TYPE_REMOTE_GROUP = 'rgrp'
 
const TYPE_REMOTE_LEARNING_MODULE = 'rlm'
 
const TYPE_REMOTE_WIKI = 'rwik'
 
const TYPE_REMOTE_TEST = 'rtst'
 
const TYPE_COURSE_URLS = 'course_urls'
 
const TYPE_ENROLMENT_STATUS = 'member_status'
 

Protected Member Functions

 deleteAllExportedEvents ()
 Delete all exported events. More...
 

Static Protected Member Functions

static getEventTypeFromObjectType (string $a_obj_type)
 Convert object type to event type. More...
 
static getAllResourceIds (ilECSSetting $server, array $a_types, bool $a_sender_only=false)
 Get all resource ids by resource type. More...
 

Protected Attributes

array $events = array()
 
array $econtent_ids = array()
 

Private Member Functions

 writeEventToDB (ilECSEvent $ev)
 Write event to db. More...
 
 update (string $a_type, int $a_id, string $a_operation)
 update one entry More...
 
 read ()
 Read. More...
 

Private Attributes

ilLogger $logger
 
ilDBInterface $db
 
ilECSSetting $settings
 

Detailed Description

Reads ECS events and stores them in the database.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

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

Constructor & Destructor Documentation

◆ __construct()

ilECSEventQueueReader::__construct ( ilECSSetting  $settings)

Constructor.

public

Definition at line 54 of file class.ilECSEventQueueReader.php.

References $DIC, $settings, ILIAS\Repository\logger(), read(), and ILIAS\Repository\settings().

55  {
56  global $DIC;
57 
58  $this->logger = $DIC->logger()->wsrv();
59  $this->db = $DIC->database();
60 
61  $this->settings = $settings;
62  $this->read();
63  }
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

Member Function Documentation

◆ add()

ilECSEventQueueReader::add ( string  $a_type,
int  $a_id,
string  $a_op 
)

add

Definition at line 444 of file class.ilECSEventQueueReader.php.

References $query, and getServer().

Referenced by handleImportReset().

444  : bool
445  {
446  $next_id = $this->db->nextId('ecs_events');
447  $query = "INSERT INTO ecs_events (event_id,type,id,op,server_id) " .
448  "VALUES (" .
449  $this->db->quote($next_id, 'integer') . ", " .
450  $this->db->quote($a_type, 'text') . ", " .
451  $this->db->quote($a_id, 'integer') . ", " .
452  $this->db->quote($a_op, 'text') . ", " .
453  $this->db->quote($this->getServer()->getServerId(), 'integer') . ' ' .
454  ")";
455  $this->db->manipulate($query);
456 
457  $new_event['event_id'] = $next_id;
458  $new_event['type'] = $a_type;
459  $new_event['id'] = $a_id;
460  $new_event['op'] = $a_op;
461 
462  $this->events[] = $new_event;
463  $this->econtent_ids[$a_id] = $a_id;
464  return true;
465  }
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ delete()

ilECSEventQueueReader::delete ( )

Delete by server id.

Definition at line 305 of file class.ilECSEventQueueReader.php.

References $query, and getServer().

305  : void
306  {
307  $query = 'DELETE FROM ecs_events ' .
308  'WHERE server_id = ' . $this->db->quote($this->getServer()->getServerId(), 'integer');
309  $this->db->manipulate($query);
310  }
$query
+ Here is the call graph for this function:

◆ deleteAll()

ilECSEventQueueReader::deleteAll ( )

Delete all events.

Definition at line 236 of file class.ilECSEventQueueReader.php.

References $query, and ILIAS\Repository\settings().

236  : bool
237  {
238  $query = "DELETE FROM ecs_events " .
239  'WHERE server_id = ' . $this->db->quote($this->settings->getServerId(), 'integer');
240  $this->db->manipulate($query);
241  return true;
242  }
$query
+ Here is the call graph for this function:

◆ deleteAllEContentEvents()

ilECSEventQueueReader::deleteAllEContentEvents ( array  $a_types)

Delete all econtents.

Definition at line 247 of file class.ilECSEventQueueReader.php.

References $query, and getServer().

Referenced by handleImportReset().

247  : bool
248  {
249  $query = "DELETE FROM ecs_events " .
250  "WHERE " . $this->db->in("type", $a_types, false, "text") . ' ' .
251  'AND server_id = ' . $this->db->quote($this->getServer()->getServerId(), 'integer');
252  $this->db->manipulate($query);
253  return true;
254  }
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteAllExportedEvents()

ilECSEventQueueReader::deleteAllExportedEvents ( )
protected

Delete all exported events.

Definition at line 259 of file class.ilECSEventQueueReader.php.

References $query, and getServer().

Referenced by handleExportReset().

259  : bool
260  {
261  $query = "DELETE FROM ecs_events " .
262  "WHERE type = " . $this->db->quote(self::TYPE_EXPORTED, 'text') . ' ' .
263  'AND server_id = ' . $this->db->quote($this->getServer()->getServerId(), 'integer');
264  $this->db->manipulate($query);
265  return true;
266  }
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteByServerId()

static ilECSEventQueueReader::deleteByServerId ( int  $a_server_id)
static

Definition at line 516 of file class.ilECSEventQueueReader.php.

References $DIC, $ilDB, and $query.

516  : bool
517  {
518  global $DIC;
519 
520  $ilDB = $DIC['ilDB'];
521 
522  $query = 'DELETE FROM ecs_events' .
523  ' WHERE server_id = ' . $ilDB->quote($a_server_id, 'integer');
524  $ilDB->manipulate($query);
525  return true;
526  }
global $DIC
Definition: feed.php:28
$query

◆ deleteEvent()

ilECSEventQueueReader::deleteEvent ( int  $a_event_id)

delete

Definition at line 483 of file class.ilECSEventQueueReader.php.

References $query, and getServer().

483  : bool
484  {
485  $query = "DELETE FROM ecs_events " .
486  "WHERE event_id = " . $this->db->quote($a_event_id, 'integer') . " " .
487  'AND server_id = ' . $this->db->quote($this->getServer()->getServerId(), 'integer');
488  $this->db->manipulate($query);
489  unset($this->econtent_ids[$a_event_id]);
490  return true;
491  }
$query
+ Here is the call graph for this function:

◆ getAllEContentTypes()

static ilECSEventQueueReader::getAllEContentTypes ( )
static

All available content types.

Definition at line 77 of file class.ilECSEventQueueReader.php.

77  : array
78  {
79  return array(self::TYPE_REMOTE_COURSE, self::TYPE_REMOTE_CATEGORY,
80  self::TYPE_REMOTE_FILE, self::TYPE_REMOTE_GLOSSARY, self::TYPE_REMOTE_GROUP,
81  self::TYPE_REMOTE_LEARNING_MODULE, self::TYPE_REMOTE_WIKI, self::TYPE_REMOTE_TEST);
82  }

◆ getAllResourceIds()

static ilECSEventQueueReader::getAllResourceIds ( ilECSSetting  $server,
array  $a_types,
bool  $a_sender_only = false 
)
staticprotected

Get all resource ids by resource type.

Parameters
ilECSSetting$server
string[]$a_types
bool$a_sender_only
Returns
array{int,int[]} type => ids

Definition at line 92 of file class.ilECSEventQueueReader.php.

References $type, and ilRemoteObjectBase\getInstanceByEventType().

92  : array
93  {
94  $list = array();
95  foreach ($a_types as $type) {
97  if ($robj) {
98  $list[$type] = $robj->getAllResourceIds($server, $a_sender_only);
99  }
100  }
101 
102  return $list;
103  }
$type
static getInstanceByEventType(string $a_type)
Get instance by ilECSEvent(QueueReader) type.
+ Here is the call graph for this function:

◆ getEvents()

ilECSEventQueueReader::getEvents ( )

get all events

Definition at line 228 of file class.ilECSEventQueueReader.php.

228  : array
229  {
230  return $this->events ?: array();
231  }

◆ getEventTypeFromObjectType()

static ilECSEventQueueReader::getEventTypeFromObjectType ( string  $a_obj_type)
staticprotected

Convert object type to event type.

Definition at line 68 of file class.ilECSEventQueueReader.php.

68  : string
69  {
70  // currently they are the same for all resource types
71  return $a_obj_type;
72  }

◆ getServer()

ilECSEventQueueReader::getServer ( )

get server settings

Definition at line 219 of file class.ilECSEventQueueReader.php.

References $settings.

Referenced by add(), delete(), deleteAllEContentEvents(), deleteAllExportedEvents(), deleteEvent(), read(), refresh(), and writeEventToDB().

219  : \ilECSSetting
220  {
221  return $this->settings;
222  }
+ Here is the caller graph for this function:

◆ handleExportReset()

ilECSEventQueueReader::handleExportReset ( )

Handle export reset.

Delete exported econtent and create it again

Exceptions
ilException,ilECSConnectorException

Definition at line 182 of file class.ilECSEventQueueReader.php.

References deleteAllExportedEvents(), ilECSExportManager\getInstance(), ILIAS\Repository\logger(), and ILIAS\Repository\settings().

182  : bool
183  {
184  // Delete all export events
185 
186  $this->deleteAllExportedEvents();
187 
188  // Read all local export info
189  $exportManager = ilECSExportManager::getInstance();
190  $local_econtent_ids = $exportManager->_getAllEContentIds($this->settings->getServerId());
191 
192  $types = self::getAllEContentTypes();
193  $list = self::getAllResourceIds($this->settings, $types, true);
194 
195 
196  // merge in one array
197  $all_remote_ids = [];
198  foreach ($list as $resource_type => $remote_ids) {
199  $all_remote_ids += (array) $remote_ids;
200  }
201  $all_remote_ids = array_unique($all_remote_ids);
202 
203  $this->logger->info(__METHOD__ . ': Resources = ' . print_r($all_remote_ids, true));
204  $this->logger->info(__METHOD__ . ': Local = ' . print_r($local_econtent_ids, true));
205  foreach ($local_econtent_ids as $local_econtent_id => $local_obj_id) {
206  if (!in_array($local_econtent_id, $all_remote_ids, true)) {
207  // Delete this deprecated info
208  $this->logger->info(__METHOD__ . ': Deleting deprecated econtent id ' . $local_econtent_id);
209  $exportManager->_deleteEContentIds($this->settings->getServerId(), array($local_econtent_id));
210  }
211  }
212  return true;
213  }
static getInstance()
Get the singelton instance of this ilECSExportManager.
deleteAllExportedEvents()
Delete all exported events.
+ Here is the call graph for this function:

◆ handleImportReset()

ilECSEventQueueReader::handleImportReset ( )

Reread all imported econtent.

Exceptions
ilException,ilECSConnectorException

Definition at line 110 of file class.ilECSEventQueueReader.php.

References $type, ilObject\_lookupType(), add(), ilECSEvent\CREATED, deleteAllEContentEvents(), ilECSEvent\DESTROYED, ilECSImportManager\getInstance(), ilECSUtils\getPossibleRemoteTypes(), ILIAS\Repository\logger(), ILIAS\Repository\settings(), and ilECSEvent\UPDATED.

110  : bool
111  {
112  try {
113  $types = self::getAllEContentTypes();
114 
115  $this->deleteAllEContentEvents($types);
116 
117  $list = self::getAllResourceIds($this->settings, $types);
118  $imported = ilECSImportManager::getInstance()->getAllImportedRemoteObjects($this->settings->getServerId());
119 
120  $this->logger->info(__METHOD__ . ': Imported = ' . print_r($imported, true));
121  $this->logger->info(__METHOD__ . ': List = ' . print_r($list, true));
122 
123  foreach ($list as $resource_type => $link_ids) {
124  if (!in_array($resource_type, ilECSUtils::getPossibleRemoteTypes(), true)) {
125  $this->logger->info(__METHOD__ . ': Ignoring resource type ' . $resource_type);
126  continue;
127  }
128 
129 
130  foreach ((array) $link_ids as $link_id) {
131  if (!isset($imported[$link_id])) {
132  // Add create event for not imported econtent
133  $this->add(
134  $resource_type,
135  $link_id,
137  );
138  } else {
139  // Add update event for already existing events
140  $this->add(
141  $resource_type,
142  $link_id,
144  );
145  }
146 
147  if (isset($imported[$link_id])) {
148  unset($imported[$link_id]);
149  }
150  }
151  }
152 
153  if (is_array($imported)) {
154  // Delete event for deprecated econtent
155  foreach ($imported as $econtent_id => $obj_id) {
156  $type = self::getEventTypeFromObjectType(ilObject::_lookupType($obj_id));
157  if ($type) {
158  $this->add(
159  $type,
160  $econtent_id,
162  );
163  }
164  }
165  }
166  } catch (ilECSConnectorException $e1) {
167  $this->logger->info('Cannot connect to ECS server: ' . $e1->getMessage());
168  throw $e1;
169  } catch (ilException $e2) {
170  $this->logger->info('Update failed: ' . $e2->getMessage());
171  throw $e2;
172  }
173  return true;
174  }
$type
static getPossibleRemoteTypes(bool $a_with_captions=false)
Get all possible remote object types.
deleteAllEContentEvents(array $a_types)
Delete all econtents.
static getInstance()
Get the singleton instance of this ilECSImportManager.
add(string $a_type, int $a_id, string $a_op)
add
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:

◆ read()

ilECSEventQueueReader::read ( )
private

Read.

Definition at line 496 of file class.ilECSEventQueueReader.php.

References $query, $res, ilDBConstants\FETCHMODE_OBJECT, getServer(), and ILIAS\Repository\int().

Referenced by __construct().

496  : bool
497  {
498  $query = "SELECT * FROM ecs_events " .
499  'WHERE server_id = ' . $this->db->quote($this->getServer()->getServerId(), 'integer') . ' ' .
500  'ORDER BY event_id';
501 
502  $res = $this->db->query($query);
503  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
504  $event = [];
505  $event['event_id'] = (int) $row->event_id;
506  $event['type'] = $row->type;
507  $event['id'] = (int) $row->id;
508  $event['op'] = $row->op;
509  $this->events[] = $event;
510 
511  $this->econtent_ids[(int) $row->event_id] = (int) $row->event_id;
512  }
513  return true;
514  }
$res
Definition: ltiservices.php:69
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ refresh()

ilECSEventQueueReader::refresh ( )

Fetch events from fifo Using fifo.

Exceptions
ilECSConnectorException

Definition at line 273 of file class.ilECSEventQueueReader.php.

References Vendor\Package\$e, $res, getServer(), ILIAS\Repository\logger(), and writeEventToDB().

273  : void
274  {
275  try {
276  $connector = new ilECSConnector($this->getServer());
277  while (true) {
278  $res = $connector->readEventFifo(false);
279 
280  if (!count($res->getResult())) {
281  return;
282  }
283 
284  foreach ($res->getResult() as $result) {
285  $event = new ilECSEvent($result);
286 
287  $this->logger->info(__METHOD__ . ' ---------------------------- Handling new event ');
288  $this->logger->info(__METHOD__ . print_r($event, true));
289  $this->logger->info(__METHOD__ . ' ---------------------------- Done! ');
290 
291  // Fill command queue
292  $this->writeEventToDB($event);
293  }
294  // Delete from fifo
295  $connector->readEventFifo(true);
296  }
297  } catch (ilECSConnectorException $e) {
298  $this->logger->error(__METHOD__ . ': Cannot read event fifo. Aborting');
299  }
300  }
$res
Definition: ltiservices.php:69
writeEventToDB(ilECSEvent $ev)
Write event to db.
+ Here is the call graph for this function:

◆ shift()

ilECSEventQueueReader::shift ( )

get and delete the first event entry

Returns
array event data or an empty array if the queue is empty

Definition at line 434 of file class.ilECSEventQueueReader.php.

434  : array
435  {
436  $event = array_shift($this->events);
437  return $event ?? [];
438  }

◆ update()

ilECSEventQueueReader::update ( string  $a_type,
int  $a_id,
string  $a_operation 
)
private

update one entry

Definition at line 470 of file class.ilECSEventQueueReader.php.

References $query, and ILIAS\Repository\settings().

470  : void
471  {
472  $query = "UPDATE ecs_events " .
473  "SET op = " . $this->db->quote($a_operation, 'text') . " " .
474  "WHERE type = " . $this->db->quote($a_type, 'text') . " " .
475  "AND id = " . $this->db->quote($a_id, 'integer') . " " .
476  'AND server_id = ' . $this->db->quote($this->settings->getServerId(), 'integer');
477  $this->db->manipulate($query);
478  }
$query
+ Here is the call graph for this function:

◆ writeEventToDB()

ilECSEventQueueReader::writeEventToDB ( ilECSEvent  $ev)
private

Write event to db.

Definition at line 315 of file class.ilECSEventQueueReader.php.

References $query, $res, $type, ilECSEvent\CREATED, ilECSEvent\DESTROYED, ilDBConstants\FETCHMODE_OBJECT, ilECSEvent\getRessourceId(), ilECSEvent\getRessourceType(), getServer(), ilECSEvent\getStatus(), and ilECSEvent\UPDATED.

Referenced by refresh().

315  : void
316  {
317  // this should probably be moved elsewhere
318  switch ($ev->getRessourceType()) {
319  case 'directory_trees':
320  $type = self::TYPE_DIRECTORY_TREES;
321  break;
322 
323  case 'course_members':
324  $type = self::TYPE_CMS_COURSE_MEMBERS;
325  break;
326 
327  case 'courses':
328  $type = self::TYPE_CMS_COURSES;
329  break;
330 
331  case 'courselinks':
332  $type = self::TYPE_REMOTE_COURSE;
333  break;
334 
335  case 'categories':
336  $type = self::TYPE_REMOTE_CATEGORY;
337  break;
338 
339  case 'files':
340  $type = self::TYPE_REMOTE_FILE;
341  break;
342 
343  case 'glossaries':
344  $type = self::TYPE_REMOTE_GLOSSARY;
345  break;
346 
347  case 'groups':
348  $type = self::TYPE_REMOTE_GROUP;
349  break;
350 
351  case 'learningmodules':
352  $type = self::TYPE_REMOTE_LEARNING_MODULE;
353  break;
354 
355  case 'wikis':
356  $type = self::TYPE_REMOTE_WIKI;
357  break;
358 
359  case 'tests':
360  $type = self::TYPE_REMOTE_TEST;
361  break;
362 
363  case 'course_urls':
364  $type = self::TYPE_COURSE_URLS;
365  break;
366 
367  case 'member_status':
368  $type = self::TYPE_ENROLMENT_STATUS;
369  break;
370 
371  default:
372  // write custom event type
373  $type = $ev->getRessourceType();
374  break;
375  }
376 
377  $query = "SELECT * FROM ecs_events " .
378  "WHERE type = " . $this->db->quote($type, 'text') . " " .
379  "AND id = " . $this->db->quote($ev->getRessourceId(), 'integer') . " " .
380  'AND server_id = ' . $this->db->quote($this->getServer()->getServerId(), 'integer');
381  $res = $this->db->query($query);
382 
383  $event_id = 0;
384  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
385  $event_id = $row->event_id;
386  }
387 
388  if (!$event_id) {
389  // No previous entry exists => perform insert
390  $query = "INSERT ecs_events (event_id,type,id,op,server_id) " .
391  "VALUES( " .
392  $this->db->quote($this->db->nextId('ecs_events'), 'integer') . ',' .
393  $this->db->quote($type, 'text') . ', ' .
394  $this->db->quote($ev->getRessourceId(), 'integer') . ', ' .
395  $this->db->quote($ev->getStatus(), 'text') . ', ' .
396  $this->db->quote($this->getServer()->getServerId(), 'integer') . ' ' .
397  ')';
398  $this->db->manipulate($query);
399  return;
400  }
401  // Do update
402  $do_update = false;
403  switch ($ev->getStatus()) {
404  case ilECSEvent::CREATED:
405  // Do update, although impossible
406  $do_update = true;
407  break;
408 
410  $do_update = true;
411  break;
412 
413  case ilECSEvent::UPDATED:
414  // Do nothing. Old status is ok.
415  break;
416  }
417 
418  if (!$do_update) {
419  return;
420  }
421  $query = "UPDATE ecs_events " .
422  "SET op = " . $this->db->quote($ev->getStatus(), 'text') . " " .
423  "WHERE event_id = " . $this->db->quote($event_id, 'integer') . ' ' .
424  'AND type = ' . $this->db->quote($type, 'text') . ' ' .
425  'AND server_id = ' . $this->db->quote($this->getServer()->getServerId(), 'integer');
426  $this->db->manipulate($query);
427  }
$res
Definition: ltiservices.php:69
getStatus()
get title
$type
getRessourceType()
Get ressource type.
getRessourceId()
Get ressource id.
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $db

ilDBInterface ilECSEventQueueReader::$db
private

Definition at line 43 of file class.ilECSEventQueueReader.php.

◆ $econtent_ids

array ilECSEventQueueReader::$econtent_ids = array()
protected

Definition at line 46 of file class.ilECSEventQueueReader.php.

◆ $events

array ilECSEventQueueReader::$events = array()
protected

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

◆ $logger

ilLogger ilECSEventQueueReader::$logger
private

Definition at line 42 of file class.ilECSEventQueueReader.php.

◆ $settings

ilECSSetting ilECSEventQueueReader::$settings
private

Definition at line 47 of file class.ilECSEventQueueReader.php.

Referenced by __construct(), and getServer().

◆ TYPE_CMS_COURSE_MEMBERS

const ilECSEventQueueReader::TYPE_CMS_COURSE_MEMBERS = 'course_members'

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

Referenced by ilECSTaskScheduler\handleEvents().

◆ TYPE_CMS_COURSES

const ilECSEventQueueReader::TYPE_CMS_COURSES = 'courses'

Definition at line 29 of file class.ilECSEventQueueReader.php.

Referenced by ilECSTaskScheduler\handleEvents().

◆ TYPE_COURSE_URLS

const ilECSEventQueueReader::TYPE_COURSE_URLS = 'course_urls'

Definition at line 39 of file class.ilECSEventQueueReader.php.

Referenced by ilECSTaskScheduler\handleEvents().

◆ TYPE_DIRECTORY_TREES

const ilECSEventQueueReader::TYPE_DIRECTORY_TREES = 'directory_trees'

◆ TYPE_ENROLMENT_STATUS

const ilECSEventQueueReader::TYPE_ENROLMENT_STATUS = 'member_status'

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

Referenced by ilECSTaskScheduler\handleEvents().

◆ TYPE_EXPORTED

const ilECSEventQueueReader::TYPE_EXPORTED = 'exported'

Definition at line 27 of file class.ilECSEventQueueReader.php.

◆ TYPE_REMOTE_CATEGORY

const ilECSEventQueueReader::TYPE_REMOTE_CATEGORY = 'rcat'

◆ TYPE_REMOTE_COURSE

const ilECSEventQueueReader::TYPE_REMOTE_COURSE = 'rcrs'

◆ TYPE_REMOTE_FILE

const ilECSEventQueueReader::TYPE_REMOTE_FILE = 'rfil'

◆ TYPE_REMOTE_GLOSSARY

const ilECSEventQueueReader::TYPE_REMOTE_GLOSSARY = 'rglo'

◆ TYPE_REMOTE_GROUP

const ilECSEventQueueReader::TYPE_REMOTE_GROUP = 'rgrp'

◆ TYPE_REMOTE_LEARNING_MODULE

const ilECSEventQueueReader::TYPE_REMOTE_LEARNING_MODULE = 'rlm'

◆ TYPE_REMOTE_TEST

const ilECSEventQueueReader::TYPE_REMOTE_TEST = 'rtst'

◆ TYPE_REMOTE_WIKI

const ilECSEventQueueReader::TYPE_REMOTE_WIKI = 'rwik'

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