19 declare(strict_types=1);
    24         self::EVENT_USER_ASSIGNED,
    25         self::EVENT_USER_DEASSIGNED,
    26         self::EVENT_USER_REASSIGNED,
    46     public function raise(
string $event, array $parameter): 
void    48         $parameter_formatter = 
static function ($value) use (&$parameter_formatter) {
    49             if (is_object($value)) {
    50                 return get_class($value);
    53             if (is_array($value)) {
    63         $this->
logger->debug(
"PRG raised: " . $event . 
' (' . var_export(array_map(
    68         if (in_array($event, [
    69             self::EVENT_USER_ASSIGNED,
    70             self::EVENT_USER_DEASSIGNED,
    71             self::EVENT_USER_SUCCESSFUL,
    72             self::EVENT_USER_NOT_SUCCESSFUL,
    73             self::EVENT_VALIDITY_CHANGE
    75             $this->prg_event_handler->updateLPStatus($parameter[
'prg_id'], $parameter[
'usr_id']);
    78         if (in_array($event, [
    79                 self::EVENT_USER_SUCCESSFUL,
    80                 self::EVENT_USER_NOT_SUCCESSFUL,
    81                 self::EVENT_VALIDITY_CHANGE,
    82                 self::EVENT_SCORE_CHANGE
    84             && $parameter[
"root_prg_id"] === $parameter[
"prg_id"]
    86             $cert = fn() => $this->app_event_handler->raise(self::COMPONENT, self::EVENT_USER_SUCCESSFUL, $parameter);
    87             $this->prg_event_handler->triggerCertificateOnce($cert, $parameter[
"root_prg_id"], $parameter[
"usr_id"]);
    90         if ($event === self::EVENT_USER_ABOUT_TO_FAIL) {
    91             $this->prg_event_handler->sendRiskyToFailMail($parameter[
'ass_id'], $parameter[
'root_prg_id']);
    93         if ($event === self::EVENT_USER_TO_RESTART) {
    94             $this->prg_event_handler->sendInformToReAssignMail($parameter[
'ass_id'], $parameter[
'root_prg_id']);
    96         if ($event === self::EVENT_USER_REASSIGNED) {
    97             $this->prg_event_handler->sendReAssignedMail($parameter[
'ass_id'], $parameter[
'root_prg_id']);
    99         if ($event === self::EVENT_VALIDITY_CHANGE) {
   100             $this->prg_event_handler->resetMailFlagValidity($parameter[
'ass_id'], $parameter[
'root_prg_id']);
   102         if ($event === self::EVENT_DEADLINE_CHANGE) {
   103             $this->prg_event_handler->resetMailFlagDeadline($parameter[
'ass_id'], $parameter[
'root_prg_id']);
   106         if (in_array($event, self::PUBLIC_EVENTS)) {
   107             $this->app_event_handler->raise(self::COMPONENT, $event, $parameter);
   114             self::EVENT_USER_ASSIGNED,
   116                 "root_prg_id" => $assignment->
getRootId(),
   119                 "ass_id" => $assignment->
getId()
   127             self::EVENT_USER_DEASSIGNED,
   129                 "root_prg_id" => $a_assignment->
getRootId(),
   132                 "ass_id" => $a_assignment->
getId()
   140             self::EVENT_USER_REASSIGNED,
   142                 "ass_id" => $assignment->
getId(),
   151             self::EVENT_USER_SUCCESSFUL,
   153                 "root_prg_id" => $assignment->
getRootId(),
   154                 "prg_id" => $pgs_node_id,
   156                 "ass_id" => $assignment->
getId()
   164             self::EVENT_USER_TO_RESTART,
   166                 "ass_id" => (
int) $assignment->
getId(),
   175             self::EVENT_USER_ABOUT_TO_FAIL,
   177                 "ass_id" => (
int) $assignment->
getId(),
   185         $this->
raise(self::EVENT_VALIDITY_CHANGE, [
   186             "ass_id" => $assignment->
getId(),
   187             "root_prg_id" => $assignment->
getRootId(),
   188             "prg_id" => $pgs_node_id,
   195         $this->
raise(self::EVENT_DEADLINE_CHANGE, [
   196             "ass_id" => $assignment->
getId(),
   197             "root_prg_id" => $assignment->
getRootId(),
   198             "prg_id" => $pgs_node_id,
   205         $this->
raise(self::EVENT_SCORE_CHANGE, [
   206             "ass_id" => $assignment->
getId(),
   207             "root_prg_id" => $assignment->
getRootId(),
   208             "prg_id" => $pgs_node_id,
   215         $this->
raise(self::EVENT_USER_NOT_SUCCESSFUL, [
   216             "ass_id" => $assignment->
getId(),
   217             "root_prg_id" => $assignment->
getRootId(),
   218             "prg_id" => $pgs_node_id,
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
informUserByMailToRestart(ilPRGAssignment $assignment)
 
userDeassigned(ilPRGAssignment $a_assignment)
 
userSuccessful(ilPRGAssignment $assignment, int $pgs_node_id)
 
__construct(protected ilLogger $logger, protected ilAppEventHandler $app_event_handler, protected PRGEventHandler $prg_event_handler)
 
userAssigned(ilPRGAssignment $assignment)
 
userRevertSuccessful(ilPRGAssignment $assignment, int $pgs_node_id)
 
validityChange(ilPRGAssignment $assignment, int $pgs_node_id)
 
userReAssigned(ilPRGAssignment $assignment)
 
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...
 
userRiskyToFail(ilPRGAssignment $assignment)
 
deadlineChange(ilPRGAssignment $assignment, int $pgs_node_id)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
scoreChange(ilPRGAssignment $assignment, int $pgs_node_id)