19declare(strict_types=1);
 
   48        $this->prg_event_handler = $prg_event_handler;
 
   51    public function raise(
string $event, array $parameter): 
void 
   53        $parameter_formatter = 
static function ($value) use (&$parameter_formatter) {
 
   54            if (is_object($value)) {
 
   55                return get_class($value);
 
   58            if (is_array($value)) {
 
   68        $this->
logger->debug(
"PRG raised: " . $event . 
' (' . var_export(array_map(
 
   73        if (in_array($event, [
 
   74            self::EVENT_USER_ASSIGNED,
 
   75            self::EVENT_USER_DEASSIGNED,
 
   76            self::EVENT_USER_SUCCESSFUL,
 
   77            self::EVENT_USER_NOT_SUCCESSFUL,
 
   78            self::EVENT_VALIDITY_CHANGE
 
   80            $this->prg_event_handler->updateLPStatus($parameter[
'prg_id'], $parameter[
'usr_id']);
 
   83        if (in_array($event, [
 
   84                self::EVENT_USER_SUCCESSFUL,
 
   85                self::EVENT_USER_NOT_SUCCESSFUL,
 
   86                self::EVENT_VALIDITY_CHANGE,
 
   87                self::EVENT_SCORE_CHANGE
 
   89            && $parameter[
"root_prg_id"] === $parameter[
"prg_id"]
 
   91            $cert = fn () => $this->app_event_handler->raise(self::COMPONENT, self::EVENT_USER_SUCCESSFUL, $parameter);
 
   92            $this->prg_event_handler->triggerCertificateOnce($cert, $parameter[
"root_prg_id"], $parameter[
"usr_id"]);
 
   95        if ($event === self::EVENT_USER_ABOUT_TO_FAIL) {
 
   96            $this->prg_event_handler->sendRiskyToFailMail($parameter[
'ass_id'], $parameter[
'root_prg_id']);
 
   98        if ($event === self::EVENT_USER_TO_RESTART) {
 
   99            $this->prg_event_handler->sendInformToReAssignMail($parameter[
'ass_id'], $parameter[
'root_prg_id']);
 
  101        if ($event === self::EVENT_USER_REASSIGNED) {
 
  102            $this->prg_event_handler->sendReAssignedMail($parameter[
'ass_id'], $parameter[
'root_prg_id']);
 
  104        if ($event === self::EVENT_VALIDITY_CHANGE) {
 
  105            $this->prg_event_handler->resetMailFlagValidity($parameter[
'ass_id'], $parameter[
'root_prg_id']);
 
  107        if ($event === self::EVENT_DEADLINE_CHANGE) {
 
  108            $this->prg_event_handler->resetMailFlagDeadline($parameter[
'ass_id'], $parameter[
'root_prg_id']);
 
  111        if (in_array($event, self::PUBLIC_EVENTS)) {
 
  112            $this->app_event_handler->raise(self::COMPONENT, $event, $parameter);
 
  121                "root_prg_id" => $assignment->
getRootId(),
 
  124                "ass_id" => $assignment->
getId()
 
  134                "root_prg_id" => $a_assignment->
getRootId(),
 
  137                "ass_id" => $a_assignment->
getId()
 
  147                "ass_id" => $assignment->
getId(),
 
  158                "root_prg_id" => $assignment->
getRootId(),
 
  159                "prg_id" => $pgs_node_id,
 
  161                "ass_id" => $assignment->
getId()
 
  171                "ass_id" => (
int) $assignment->
getId(),
 
  182                "ass_id" => (
int) $assignment->
getId(),
 
  191            "ass_id" => $assignment->
getId(),
 
  192            "root_prg_id" => $assignment->
getRootId(),
 
  193            "prg_id" => $pgs_node_id,
 
  201            "ass_id" => $assignment->
getId(),
 
  202            "root_prg_id" => $assignment->
getRootId(),
 
  203            "prg_id" => $pgs_node_id,
 
  211            "ass_id" => $assignment->
getId(),
 
  212            "root_prg_id" => $assignment->
getRootId(),
 
  213            "prg_id" => $pgs_node_id,
 
  221            "ass_id" => $assignment->
getId(),
 
  222            "root_prg_id" => $assignment->
getRootId(),
 
  223            "prg_id" => $pgs_node_id,
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Component logger with individual log levels by component id.
 
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...
 
informUserByMailToRestart(ilPRGAssignment $assignment)
 
userAssigned(ilPRGAssignment $assignment)
 
userReAssigned(ilPRGAssignment $assignment)
 
scoreChange(ilPRGAssignment $assignment, int $pgs_node_id)
 
validityChange(ilPRGAssignment $assignment, int $pgs_node_id)
 
userRiskyToFail(ilPRGAssignment $assignment)
 
__construct(ilLogger $logger, ilAppEventHandler $app_event_handler, PRGEventHandler $prg_event_handler)
 
userSuccessful(ilPRGAssignment $assignment, int $pgs_node_id)
 
deadlineChange(ilPRGAssignment $assignment, int $pgs_node_id)
 
ilAppEventHandler $app_event_handler
 
userRevertSuccessful(ilPRGAssignment $assignment, int $pgs_node_id)
 
userDeassigned(ilPRGAssignment $a_assignment)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
const EVENT_USER_NOT_SUCCESSFUL
 
const EVENT_USER_ABOUT_TO_FAIL
 
const EVENT_USER_DEASSIGNED
 
const EVENT_USER_ASSIGNED
 
const EVENT_VALIDITY_CHANGE
 
const EVENT_DEADLINE_CHANGE
 
const EVENT_USER_SUCCESSFUL
 
const EVENT_USER_TO_RESTART
 
const EVENT_USER_REASSIGNED