if (!$modinfo) {
$modinfo = get_fast_modinfo($course);
}
+ if (empty($modinfo->cms[$cmid])) {
+ continue;
+ }
$information .= get_string(
'requires_completion_'.$expectedcompletion,
'condition', $modinfo->cms[$cmid]->name).' ';
$completion = new completion_info($course);
foreach ($this->cm->conditionscompletion as $cmid=>$expectedcompletion) {
+ // If this depends on a deleted module, handle that situation
+ // gracefully.
+ if (!$modinfo) {
+ $modinfo = get_fast_modinfo($course);
+ }
+ if (empty($modinfo->cms[$cmid])) {
+ global $PAGE;
+ if (isset($PAGE) && strpos($PAGE->pagetype, 'course-view-')===0) {
+ debugging("Warning: activity {$this->cm->id} '{$this->cm->name}' has condition on deleted activity $cmid (to get rid of this message, edit the named activity)");
+ }
+ continue;
+ }
+
// The completion system caches its own data
$completiondata = $completion->get_data((object)array('id'=>$cmid),
$grabthelot, $userid, $modinfo);
}
if (!$thisisok) {
$available = false;
- if (!$modinfo) {
- $modinfo = get_fast_modinfo($course);
- }
$information .= get_string(
'requires_completion_'.$expectedcompletion,
'condition',$modinfo->cms[$cmid]->name).' ';