|
@@ -0,0 +1,55 @@
|
|
|
+<?php
|
|
|
+/* For licensing terms, see /license.txt */
|
|
|
+
|
|
|
+exit;
|
|
|
+
|
|
|
+require_once __DIR__ . '/../../main/inc/global.inc.php';
|
|
|
+
|
|
|
+$sql = 'SELECT iid, id, question, c_id
|
|
|
+ FROM c_quiz_question
|
|
|
+ ORDER BY iid';
|
|
|
+
|
|
|
+$result = Database::query($sql);
|
|
|
+$data = Database::store_result($result);
|
|
|
+$counter = 1;
|
|
|
+$total = count($data);
|
|
|
+echo 'Exercises to check: '.$total.PHP_EOL;
|
|
|
+
|
|
|
+foreach ($data as $row) {
|
|
|
+ $id = $row['id'];
|
|
|
+ $courseId = $row['c_id'];
|
|
|
+
|
|
|
+ $content = fixText($row['question']);
|
|
|
+ $params = [
|
|
|
+ 'question' => $content
|
|
|
+ ];
|
|
|
+ Database::update('c_quiz_question', $params, ['id = ? and c_id = ?' => [$id, $courseId]]);
|
|
|
+
|
|
|
+ $sql = "SELECT iid, answer, comment FROM c_quiz_answer WHERE question_id = $id and c_id = $courseId";
|
|
|
+ $result = Database::query($sql);
|
|
|
+ $items = Database::store_result($result, 'ASSOC');
|
|
|
+ foreach ($items as $item) {
|
|
|
+ $id = $item['iid'];
|
|
|
+ $content = fixText($item['answer']);
|
|
|
+ $params = [
|
|
|
+ 'answer' => $content
|
|
|
+ ];
|
|
|
+ Database::update('c_quiz_answer', $params, ['iid = ? ' => $id]);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function fixText($content)
|
|
|
+{
|
|
|
+ $matches = [];
|
|
|
+ if (preg_match_all('/<img alt="(.*)?" (.*)?mimetex.cgi\? (.*)?\/>/', $content, $matches)) {
|
|
|
+ $count = count($matches[0]);
|
|
|
+ for ($i = 0; $i <= $count; $i++) {
|
|
|
+ if (isset($matches[0]) && isset($matches[0][$i])) {
|
|
|
+ $value = "<span class=\"math-tex\">`".$matches[1][$i]."`</span>";
|
|
|
+ $content = str_replace($matches[0][$i], $value, $content);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return $content;
|
|
|
+}
|