3 declare(strict_types=1);
    34         $ilDB = $DIC->database();
    38                         SELECT cmi_node.cmi_node_id     39                         FROM cmi_node, cp_node     40                         WHERE cp_node.slm_id = %s AND cmi_node.cp_node_id = cp_node.cp_node_id',
    44         $cmi_node_values = [];
    46             $cmi_node_values[] = 
$data[
'cmi_node_id'];
    48         self::removeCMIDataForNodes($cmi_node_values);
    52         $query = 
'DELETE FROM cmi_custom WHERE obj_id = %s';
    53         $ilDB->manipulateF($query, array(
'integer'), array($packageId));
    56         $query = 
'DELETE FROM sahs_user WHERE obj_id = %s';
    57         $ilDB->manipulateF($query, array(
'integer'), array($packageId));
    60         $query = 
'DELETE FROM cmi_gobjective WHERE scope_id = %s';
    61         $ilDB->manipulateF($query, array(
'integer'), array($packageId));
    63         $s_globalObjectiveId = self::getGlobalToSystemObjectiveIdStringForPackage($packageId);
    64         if ($s_globalObjectiveId != 
"") {
    66                 'DELETE FROM cmi_gobjective WHERE scope_id = %s AND objective_id in (' . $s_globalObjectiveId . 
')',
    77         $ilDB = $DIC->database();
    82                         SELECT cmi_node.cmi_node_id     83                         FROM cmi_node, cp_node     84                         WHERE cmi_node.user_id = %s AND cmi_node.cp_node_id = cp_node.cp_node_id',
    89         $cmi_node_values = [];
    91             $cmi_node_values[] = 
$data[
'cmi_node_id'];
    93         self::removeCMIDataForNodes($cmi_node_values);
    98             'DELETE FROM cmi_custom WHERE user_id = %s',
   105             'DELETE FROM sahs_user WHERE user_id = %s',
   112             'DELETE FROM cmi_gobjective WHERE user_id = %s',
   122         $ilDB = $DIC->database();
   127                         SELECT cmi_node.cmi_node_id    128                         FROM cmi_node, cp_node    129                         WHERE cmi_node.user_id = %s AND cmi_node.cp_node_id = cp_node.cp_node_id AND cp_node.slm_id = %s',
   130             array(
'integer',
'integer'),
   131             array($user_id,$packageId)
   133         $cmi_node_values = [];
   135             $cmi_node_values[] = 
$data[
'cmi_node_id'];
   137         self::removeCMIDataForNodes($cmi_node_values);
   142             'DELETE FROM cmi_custom WHERE user_id = %s AND obj_id = %s',
   143             array(
'integer',
'integer'),
   144             array($user_id,$packageId)
   149             'DELETE FROM sahs_user WHERE user_id = %s AND obj_id = %s',
   150             array(
'integer',
'integer'),
   151             array($user_id,$packageId)
   156             'DELETE FROM cmi_gobjective WHERE user_id = %s AND scope_id = %s',
   157             array(
'integer',
'integer'),
   158             array($user_id,$packageId)
   161         $s_globalObjectiveId = self::getGlobalToSystemObjectiveIdStringForPackage($packageId);
   162         if ($s_globalObjectiveId != 
"") {
   164                 'DELETE FROM cmi_gobjective WHERE user_id = %s AND scope_id = %s AND objective_id in (' . $s_globalObjectiveId . 
')',
   165                 array(
'integer',
'integer'),
   175         $ilDB = $DIC->database();
   178         $cmi_inode_values = array();
   180         $query = 
'SELECT cmi_interaction_id FROM cmi_interaction WHERE '   181             . 
$ilDB->in(
'cmi_interaction.cmi_node_id', $cmi_node_values, 
false, 
'integer');
   184             $cmi_inode_values[] = 
$data[
'cmi_interaction_id'];
   188         $query = 
'DELETE FROM cmi_correct_response WHERE '   189                . 
$ilDB->in(
'cmi_correct_response.cmi_interaction_id', $cmi_inode_values, 
false, 
'integer');
   190         $ilDB->manipulate($query);
   193         $query = 
'DELETE FROM cmi_objective WHERE '   194                . 
$ilDB->in(
'cmi_objective.cmi_interaction_id', $cmi_inode_values, 
false, 
'integer');
   195         $ilDB->manipulate($query);
   198         $query = 
'DELETE FROM cmi_objective WHERE '   199                . 
$ilDB->in(
'cmi_objective.cmi_node_id', $cmi_node_values, 
false, 
'integer');
   200         $ilDB->manipulate($query);
   203         $query = 
'DELETE FROM cmi_interaction WHERE '   204                . 
$ilDB->in(
'cmi_interaction.cmi_node_id', $cmi_node_values, 
false, 
'integer');
   205         $ilDB->manipulate($query);
   208         $query = 
'DELETE FROM cmi_comment WHERE '   209                . 
$ilDB->in(
'cmi_comment.cmi_node_id', $cmi_node_values, 
false, 
'integer');
   210         $ilDB->manipulate($query);
   213         $query = 
'DELETE FROM cmi_node WHERE '   214                . 
$ilDB->in(
'cmi_node.cmi_node_id', $cmi_node_values, 
false, 
'integer');
   215         $ilDB->manipulate($query);
   222         $ilDB = $DIC->database();
   224         $existing_key_template = 
"";
   225         $global_to_system = 1;
   228             'SELECT global_to_system FROM cp_package WHERE obj_id = %s',
   233             $global_to_system = 
$data[
'global_to_system'];
   235         if ($global_to_system == 0) {
   241                         SELECT targetobjectiveid    242                         FROM cp_mapinfo, cp_node    243                         WHERE cp_node.slm_id = %s    244                         AND cp_node.nodename = %s   245                         AND cp_mapinfo.cp_node_id = cp_node.cp_node_id',
   246             array(
'integer', 
'text'),
   247             array($packageId, 
'mapInfo')
   250             $existing_key_template .= 
"'" . 
$data[
'targetobjectiveid'] . 
"',";
   253         $existing_key_template = substr($existing_key_template, 0, -1);
   254         if ($existing_key_template == 
false) {
   258         return $existing_key_template;
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
static getGlobalToSystemObjectiveIdStringForPackage(int $packageId)
 
static removeCMIDataForNodes(array $cmi_node_values)
 
static removeCMIDataForUser(int $user_id)
 
static removeCMIDataForPackage(int $packageId)
 
static removeCMIDataForUserAndPackage(int $user_id, int $packageId)