["$sql_active_exercises (session_id <> 0 ) AND c_id = ? " => $params], 'order' => 'title', ]; $exerciseList = Database::select('*', $table, $conditions); if (empty($exerciseList)) { continue; } $counter = 0; $emptyCounter = 0; $fixed = 0; $userId = 1; foreach ($exerciseList as $exerciseItem) { $oldId = $exerciseItem['id']; $exerciseId = $exerciseItem['iid']; $sessionId = $exerciseItem['session_id']; if ($oldId <> $exerciseId) { // continue; } $oldVisibility = api_get_item_visibility( $courseInfo, TOOL_QUIZ, $oldId, $sessionId ); $visibility = api_get_item_visibility( $courseInfo, TOOL_QUIZ, $exerciseId, $sessionId ); if (-1 === $visibility && -1 === $oldVisibility) { if ($fix) { api_item_property_update( $courseInfo, TOOL_QUIZ, $exerciseId, 'QuizUpdated', $userId, null, null, null, null, $sessionId ); echo "Fix exercise iid = $exerciseId / ".$exerciseItem['title'].PHP_EOL; $fixed++; } echo "check session: $sessionId exercise iid = $exerciseId / ".$exerciseItem['title'].PHP_EOL; $emptyCounter++; } else { // echo "Ref exists: visibility: ".$visibility['visibility']." session: $sessionId check exercise iid = $exerciseId / ".$exerciseItem['title'].PHP_EOL; } $counter++; } if ($emptyCounter > 0) { echo 'Course: '.$courseId.' - '.$courseInfo['title'].PHP_EOL.PHP_EOL; echo $emptyCounter.'/ ' . $counter.PHP_EOL; echo 'To be fix: ' . $emptyCounter.PHP_EOL; exit; } }