Class ilCourseReferencePathInfo.  
 More...
 | 
| static  | handleEvent (string $a_component, string $a_event, array $a_parameter) | 
|   | Handle an event in a listener.  More...
  | 
|   | 
| static  | handleEvent (string $a_component, string $a_event, array $a_parameter) | 
|   | Handle an event in a listener.  More...
  | 
|   | 
◆ __construct()
  
  
      
        
          | ilCourseReferenceAppEventListener::__construct  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
 
◆ handleEvent()
  
  
      
        
          | static ilCourseReferenceAppEventListener::handleEvent  | 
          ( | 
          string  | 
          $a_component,  | 
         
        
           | 
           | 
          string  | 
          $a_event,  | 
         
        
           | 
           | 
          array  | 
          $a_parameter  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
Handle an event in a listener. 
- Parameters
 - 
  
    | string | $a_component | component, e.g. "Modules/Forum" or "Services/User"  | 
    | string | $a_event | event e.g. "createUser", "updateUser", "deleteUser", ...  | 
    | array | $a_parameter | parameter array (assoc), array("name" => ..., "phone_office" => ...)  | 
  
   
Implements ilAppEventListener.
Definition at line 106 of file class.ilCourseReferenceAppEventListener.php.
  106                                                                                                : void
  107    {
  109        switch ($a_component) {
  110 
  111            case 'Services/AccessControl':
  112                $self = new self();
  113                $self->handleUserAssignments($a_event, $a_parameter);
  114                break;
  115        }
  116    }
static getLogger(string $a_component_id)
Get component logger.
 
 
References ilLoggerFactory\getLogger().
 
 
◆ handleReferences()
  
  
      
        
          | ilCourseReferenceAppEventListener::handleReferences  | 
          ( | 
            | 
          $a_course_obj_id,  | 
         
        
           | 
           | 
            | 
          $a_usr_id,  | 
         
        
           | 
           | 
            | 
          $a_role_id  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
protected   | 
  
 
- Parameters
 - 
  
    | $a_course_obj_id |  | 
    | $a_usr_id |  | 
    | $a_role_id |  | 
  
   
Definition at line 58 of file class.ilCourseReferenceAppEventListener.php.
   59    {
   61        if (substr($role_title, 0, 10) !== 'il_crs_mem') {
   62            $this->
logger->debug(
'Ignoring non member role: ' . $role_title);
 
   63            return;
   64        }
   65 
   66 
   67        
   69        $course_ref_id = end($course_ref_ids);
   70 
   71        $childs = $this->tree->getChildsByType($course_ref_id, 'crsr');
   73 
   74        foreach ($childs as $tree_node) {
   75            $this->
logger->debug(
'Handling course reference: ' . $tree_node[
'title']);
 
   77 
   78            
   79            if (!$path_info->hasParentCourse()) {
   80                $this->
logger->debug(
'No reference member update: no direct parent course');
 
   81                continue;
   82            }
   83 
   84            if (!$path_info->isMemberUpdateEnabled()) {
   85                $this->
logger->debug(
'No reference member update: update disabled.');
 
   86                continue;
   87            }
   88 
   89            $this->
logger->debug(
'Reference member update: adding user to course.');
 
   90            $target_course_ref_id = $path_info->getTargetId();
   93        }
   94    }
static getInstanceByRefId(int $ref_id, int $target_ref_id=0)
 
static _getAllReferences(int $id)
get all reference ids for object ID
 
static _lookupTitle(int $obj_id)
 
static getInstance(int $a_ref_id)
 
 
References ilObject\_getAllReferences(), ilObject\_lookupTitle(), ilLogLevel\DEBUG, ilParticipants\getInstance(), ilCourseReferencePathInfo\getInstanceByRefId(), ilParticipants\IL_CRS_MEMBER, and ILIAS\Repository\logger().
Referenced by handleUserAssignments().
 
 
◆ handleUserAssignments()
  
  
      
        
          | ilCourseReferenceAppEventListener::handleUserAssignments  | 
          ( | 
            | 
          $a_event,  | 
         
        
           | 
           | 
            | 
          $a_parameter  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
protected   | 
  
 
- Parameters
 - 
  
  
 
Definition at line 35 of file class.ilCourseReferenceAppEventListener.php.
   36    {
   37        if ($a_parameter['type'] != 'crs') {
   38            $this->
logger->debug(
'Ignoring event for type ' . $a_parameter[
'type']);
 
   39            return true;
   40        }
   41 
   42        $this->
logger->info(
'Current event is: ' . $a_event);
 
   43        if ($a_event == 'assignUser') {
   44            $this->
logger->debug(
'Handling assign user event for type crs.');
 
   45            $this->
handleReferences($a_parameter[
'obj_id'], $a_parameter[
'usr_id'], $a_parameter[
'role_id']);
 
   46        } else {
   47            $this->
logger->debug(
'Ignoring event: ' . $a_event);
 
   48        }
   49    }
handleReferences($a_course_obj_id, $a_usr_id, $a_role_id)
 
 
References handleReferences(), and ILIAS\Repository\logger().
 
 
◆ $instance
  
  
      
        
          | ilCourseReferenceAppEventListener::$instance = null | 
         
       
   | 
  
staticprivate   | 
  
 
 
◆ $logger
  
  
      
        
          | ilCourseReferenceAppEventListener::$logger = null | 
         
       
   | 
  
private   | 
  
 
 
◆ $tree
  
  
      
        
          | ilCourseReferenceAppEventListener::$tree = null | 
         
       
   | 
  
private   | 
  
 
 
The documentation for this class was generated from the following file: