public final function resetLPDataForUserIds(array $a_user_ids, $a_recursive = true) { if ((bool) $a_recursive) { $subitems = $this->getPossibleCollectionItems(); if (is_array($subitems)) { foreach ($subitems as $sub_ref_id) { $olp = self::getInstance(ilObject::_lookupObjId($sub_ref_id)); $olp->resetLPDataForUserIds($a_user_ids, false); } } } $this->resetCustomLPDataForUserIds($a_user_ids, (bool) $a_recursive); include_once "Services/Tracking/classes/class.ilLPMarks.php"; ilLPMarks::_deleteForUsers($this->obj_id, $a_user_ids); include_once "Services/Tracking/classes/class.ilChangeEvent.php"; ilChangeEvent::_deleteReadEventsForUsers($this->obj_id, $a_user_ids); // update LP status to get collections up-to-date include_once "Services/Tracking/classes/class.ilLPStatus.php"; foreach ($a_user_ids as $user_id) { ilLPStatus::_updateStatus($this->obj_id, $user_id); } }