ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilContainerReferenceAppEventListener Class Reference

Handles delete events from courses and categories. More...

+ Inheritance diagram for ilContainerReferenceAppEventListener:
+ Collaboration diagram for ilContainerReferenceAppEventListener:

Static Public Member Functions

static handleEvent ($a_component, $a_event, $a_parameter)
 Handle events like create, update, delete. More...
 
static deleteReferences ($a_target_id)
 Delete references. More...
 

Detailed Description

Handles delete events from courses and categories.

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

Definition at line 35 of file class.ilContainerReferenceAppEventListener.php.

Member Function Documentation

◆ deleteReferences()

static ilContainerReferenceAppEventListener::deleteReferences (   $a_target_id)
static

Delete references.

Definition at line 71 of file class.ilContainerReferenceAppEventListener.php.

References $ilLog, $ref_id, ilObject\_getAllReferences(), ilContainerReference\_lookupSourceId(), and ilObjectFactory\getInstanceByRefId().

72  {
73  global $ilLog;
74 
75  include_once('./Services/ContainerReference/classes/class.ilContainerReference.php');
76  if(!$source_id = ilContainerReference::_lookupSourceId($a_target_id))
77  {
78  return true;
79  }
80  foreach(ilObject::_getAllReferences($source_id) as $ref_id)
81  {
82  if(!$instance = ilObjectFactory::getInstanceByRefId($ref_id,false))
83  {
84  continue;
85  }
86  switch($instance->getType())
87  {
88  case 'grpr':
89  case 'crsr':
90  case 'catr':
91  $instance->delete();
92  $ilLog->write(__METHOD__.': Deleted reference object of type '.$instance->getType().' with Id '.$instance->getId());
93  break;
94 
95  default:
96  $ilLog->write(__METHOD__.': Unexpected object type '.$instance->getType().' with Id '.$instance->getId());
97  break;
98  }
99 
100  }
101  return true;
102  }
static _getAllReferences($a_id)
get all reference ids of object
$ref_id
Definition: sahs_server.php:39
static _lookupSourceId($a_target_id)
lookup source id
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
+ Here is the call graph for this function:

◆ handleEvent()

static ilContainerReferenceAppEventListener::handleEvent (   $a_component,
  $a_event,
  $a_parameter 
)
static

Handle events like create, update, delete.

public

Parameters
string$a_componentcomponent, e.g. "Modules/Forum" or "Services/User"
string$a_eventevent e.g. "createUser", "updateUser", "deleteUser", ...
array$a_parameterparameter array (assoc), array("name" => ..., "phone_office" => ...) *

Implements ilAppEventListener.

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

References $ilLog.

47  {
48  global $ilLog;
49 
50  switch($a_component)
51  {
52  case 'Modules/Course':
53  case 'Modules/Category':
54 
55  switch($a_event)
56  {
57  case 'delete':
58  $ilLog->write(__METHOD__.': Handling delete event.');
59  self::deleteReferences($a_parameter['obj_id']);
60  break;
61  }
62  break;
63  }
64  }

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