Ejemplo n.º 1
0
 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);
     }
 }