Esempio n. 1
0
 function _showWarning($a_ref_id, $a_usr_id)
 {
     global $ilObjDataCache;
     $obj_id = $ilObjDataCache->lookupObjId($a_ref_id);
     // if completed no warning
     include_once './Services/Tracking/classes/class.ilLPStatus.php';
     if (ilLPStatus::_hasUserCompleted($obj_id, $a_usr_id)) {
         return false;
     }
     // if editing time reached => show warning
     $timings =& ilTimingCache::_getTimings($a_ref_id);
     if ($timings['item']['timing_type'] == ilObjectActivation::TIMINGS_PRESETTING) {
         if ($timings['item']['changeable'] and $timings['user'][$a_usr_id]['end']) {
             $end = $timings['user'][$a_usr_id]['end'];
         } else {
             $end = $timings['item']['suggestion_end'];
         }
         if ($end < time()) {
             return true;
         }
     }
     include_once './Services/Object/classes/class.ilObjectLP.php';
     $olp = ilObjectLP::getInstance($obj_id);
     $collection = $olp->getCollectionInstance();
     if ($collection instanceof ilLPCollectionOfRepositoryObjects) {
         foreach ($collection->getItems() as $item) {
             if (ilTimingCache::_showWarning($item, $a_usr_id)) {
                 return true;
             }
         }
     }
     // Really ???
     return false;
 }
 function _showWarning($a_ref_id, $a_usr_id)
 {
     global $objDefinition;
     include_once './Services/Tracking/classes/class.ilLPCollectionCache.php';
     include_once './Services/Tracking/classes/class.ilLPStatus.php';
     include_once './Services/Tracking/classes/class.ilLPObjSettings.php';
     global $ilObjDataCache;
     $obj_id = $ilObjDataCache->lookupObjId($a_ref_id);
     // if completed no warning
     if (ilLPStatus::_lookupStatus($obj_id, $a_usr_id) == LP_STATUS_COMPLETED_NUM) {
         return false;
     }
     // if editing time reached => show warning
     $timings =& ilTimingCache::_getTimings($a_ref_id);
     if ($timings['item']['timing_type'] == ilObjectActivation::TIMINGS_PRESETTING) {
         if ($timings['item']['changeable'] and $timings['user'][$a_usr_id]['end']) {
             $end = $timings['user'][$a_usr_id]['end'];
         } else {
             $end = $timings['item']['suggestion_end'];
         }
         if ($end < time()) {
             return true;
         }
     }
     // objective_ids would get confused with ref_ids !
     if (ilLPObjSettings::_lookupMode($obj_id) != LP_MODE_OBJECTIVES && $objDefinition->isContainer(ilObject::_lookupType($obj_id))) {
         // No check subitems
         foreach (ilLPCollectionCache::_getItems($obj_id) as $item) {
             if (ilTimingCache::_showWarning($item, $a_usr_id)) {
                 return true;
             }
         }
     }
     // Really ???
     return false;
 }
 protected function showTimingsWarning($a_ref_id, $a_user_id)
 {
     include_once 'Modules/Course/classes/Timings/class.ilTimingCache.php';
     if (ilTimingCache::_showWarning($a_ref_id, $a_user_id)) {
         $timings = ilTimingCache::_getTimings($a_ref_id);
         if ($timings['item']['changeable'] && $timings['user'][$a_user_id]['end']) {
             $end = $timings['user'][$a_user_id]['end'];
         } else {
             if ($timings['item']['suggestion_end']) {
                 $end = $timings['item']['suggestion_end'];
             } else {
                 $end = true;
             }
         }
         return $end;
     }
 }