diff --git a/tests/scripts/fix_exercise_no_itemproperty.php b/tests/scripts/fix_exercise_no_itemproperty.php new file mode 100644 index 0000000000..e7af861b40 --- /dev/null +++ b/tests/scripts/fix_exercise_no_itemproperty.php @@ -0,0 +1,92 @@ + $exerciseId) { + continue; + } + + $oldVisibility = api_get_item_visibility( + $courseInfo, + TOOL_QUIZ, + $oldId, + 0 + ); + + $visibility = api_get_item_visibility( + $courseInfo, + TOOL_QUIZ, + $exerciseId, + 0 + ); + + if (-1 === $visibility && -1 === $oldVisibility) { + if ($fix) { + api_item_property_update( + $courseInfo, + TOOL_QUIZ, + $exerciseId, + 'QuizUpdated', + $userId, + null, + null, + null, + null, + 0 + ); + echo "Fix exercise iid = $exerciseId / ".$exerciseItem['title'].PHP_EOL; + $fixed++; + } + $emptyCounter++; + } + $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; + } + + // Fix exercise in session +} + diff --git a/tests/scripts/fix_exercise_no_itemproperty_check_session.php b/tests/scripts/fix_exercise_no_itemproperty_check_session.php new file mode 100644 index 0000000000..88e8dfc72d --- /dev/null +++ b/tests/scripts/fix_exercise_no_itemproperty_check_session.php @@ -0,0 +1,109 @@ + ["$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; + } +} + +