]> git.mjollnir.org Git - moodle.git/commitdiff
fix for MDL-6326, add support for quiz_feedaback table
authortoyomoyo <toyomoyo>
Wed, 23 Aug 2006 05:39:41 +0000 (05:39 +0000)
committertoyomoyo <toyomoyo>
Wed, 23 Aug 2006 05:39:41 +0000 (05:39 +0000)
mod/quiz/db/migrate2utf8.php
mod/quiz/db/migrate2utf8.xml

index 3196922b5fa2b46e07bdbdedc560800d9d1e5eef..40772d213524ab59bdc9a13136780d8fba912af3 100755 (executable)
@@ -1,4 +1,54 @@
 <?php // $Id$
+
+function migrate2utf8_quiz_feedback_feedbacktext($recordid) {
+    global $CFG, $globallang; 
+    /// Some trivial checks
+    if (empty($recordid)) {
+        log_the_problem_somewhere();
+        return false;
+    }
+  
+    $SQL = "SELECT q.course
+           FROM {$CFG->prefix}quiz_feedback qf,
+                {$CFG->prefix}quiz q
+           WHERE qf.quizid = q.id
+           AND qf.id = $recordid";
+    if (!$quiz = get_record_sql($SQL)) {
+        log_the_problem_somewhere();
+        return false;
+    }
+    if (!$quizfeedback = get_record('quiz_feedback','id',$recordid)) {
+        log_the_problem_somewhere();
+        return false;
+    }
+     
+    if ($globallang) {
+        $fromenc = $globallang;
+    } else {
+        $sitelang   = $CFG->lang;
+        $courselang = get_course_lang($quiz->course);
+        $userlang   = null; //N.E.!!
+        
+        $fromenc = get_original_encoding($sitelang, $courselang, $userlang);
+    }
+
+/// We are going to use textlib facilities
+    
+/// Convert the text
+    if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
+        $result = utfconvert($quizfeedback->feedbacktext, $fromenc);
+
+        $newquizfeedback = new object;
+        $newquizfeedback->id = $recordid;
+        $newquizfeedback->feedbacktext = $result;
+        update_record('quiz_feedback',$newquizfeedback);
+    }
+/// And finally, just return the converted field
+    return $result;  
+}
+
 function migrate2utf8_question_name($recordid){
     global $CFG, $globallang;
 
index a7f4e6fe88aa1abb8d5020739fd13860e94da2d2..7bf9fbdbe8bd985e2583526798dfc2eac0064740 100755 (executable)
@@ -1,5 +1,14 @@
 <DBMIGRATION type="mod/quiz" VERSION="2005120100">
   <TABLES>
+    <TABLE name="quiz_feedback">
+      <FIELDS>
+        <FIELD name="feedbacktext" method="PHP_FUNCTION" type="text" length="0">
+          <PHP_FUNCTION>
+            migrate2utf8_quiz_feedback_feedbacktext(RECORDID)
+          </PHP_FUNCTION>
+        </FIELD>
+      </FIELDS>
+    </TABLE>   
     <TABLE name="quiz_grades" />
     <TABLE name="question_datasets" />
     <TABLE name="quiz_question_instances" />