19 declare(strict_types=1);
    37         return "Update 'Completion By' for Course(References)";
    42         return self::DEFAULT_AMOUNT_OF_STEPS;
    56         $this->db = $environment->
getResource(Setup\Environment::RESOURCE_DATABASE);
    64         $query = 
'SELECT assignment_id, prg_id, usr_id, completion_by, target_obj_id FROM prg_usr_progress' . PHP_EOL
    65             . 
'JOIN object_data ON prg_usr_progress.completion_by = object_data.obj_id' . PHP_EOL
    66             . 
'JOIN container_reference ON object_data.obj_id = container_reference.obj_id' . PHP_EOL
    67             . 
'WHERE object_data.type = "crsr" LIMIT 1';
    68         $result = $this->db->query($query);
    69         $row = $this->db->fetchAssoc($result);
    71         $crs_id = $row[
'target_obj_id'];
    73         $query = 
"UPDATE prg_usr_progress SET completion_by = " . $crs_id . PHP_EOL
    74             . 
"WHERE assignment_id =" . $row[
'assignment_id'] . PHP_EOL
    75             . 
"AND prg_id =" . $row[
'prg_id'] . PHP_EOL
    76             . 
"AND usr_id =" . $row[
'usr_id'];
    77         $this->db->manipulate($query);
    82         $query = 
'SELECT count(completion_by) AS cnt FROM prg_usr_progress' . PHP_EOL
    83             . 
'JOIN object_data ON prg_usr_progress.completion_by = object_data.obj_id' . PHP_EOL
    84             . 
'WHERE object_data.type = "crsr"';
    86         $result = $this->db->query($query);
    87         $row = $this->db->fetchAssoc($result);
    88         return (
int) $row[
'cnt'];
 const DEFAULT_AMOUNT_OF_STEPS
 
getPreconditions(Environment $environment)
 
step(Environment $environment)
 
prepare(Environment $environment)
 
getResource(string $id)
Consumers of this method should check if the result is what they expect, e.g. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getRemainingAmountOfSteps()
 
An environment holds resources to be used in the setup process. 
 
getDefaultAmountOfStepsPerRun()