moodle/mod/lesson/db/migrate2utf8.php

305 lines
8.9 KiB
PHP
Raw Normal View History

2006-03-07 21:35:13 +00:00
<?php // $Id$
2006-10-06 08:26:37 +00:00
// fix for MDL-6336
// handling serialized object
function migrate2utf8_lesson_attempts_useranswer($recordid) {
global $CFG, $globallang;
/// Some trivial checks
if (empty($recordid)) {
log_the_problem_somewhere();
return false;
}
$user = get_record_sql("SELECT la.userid
FROM {$CFG->prefix}lesson_attempts la
WHERE la.id=$recordid");
$course = get_record_sql("SELECT l.course
FROM {$CFG->prefix}lesson l,
{$CFG->prefix}lesson_attempts la
WHERE l.id = la.lessonid
AND la.id = $recordid");
if (!$lessonattempts = get_record('lesson_attempts','id',$recordid)) {
log_the_problem_somewhere();
return false;
}
if ($globallang) {
$fromenc = $globallang;
} else {
$sitelang = $CFG->lang;
$courselang = get_course_lang($course->course);
$userlang = get_user_lang($user->userid);
$fromencstudent = get_original_encoding($sitelang, $courselang, $userlang); // this is used for answer field
$userlang = get_main_teacher_lang($course->course);
$fromencteacher = get_original_encoding($sitelang, $courselang, $userlang); // this is used for response field
}
$result = $lessonattempts->useranswer; // init to avoid warnings
// if unserialize success, meaning it is an object
if ($attempt = unserialize($lessonattempts->useranswer)) {
$attempt->answer = utfconvert($attempt->answer, $fromencstudent);
$attempt->response = utfconvert($attempt->response, $fromencteacher);
2006-10-06 08:26:37 +00:00
$newla = new object;
$newla->id = $recordid;
$newla->useranswer = serialize($attempt); // serialize it back
migrate2utf8_update_record('lesson_attempts', $newla);
} else { // just a string
$result = utfconvert($lessonattempts->useranswer, $fromencstudent);
$newla = new object;
$newla->id = $recordid;
$newla->useranswer = $result;// serialize it back
migrate2utf8_update_record('lesson_attempts', $newla);
}
return $result;
}
2006-01-09 06:06:49 +00:00
function migrate2utf8_lesson_answers_answer($recordid){
2006-02-24 08:20:13 +00:00
global $CFG, $globallang;
2006-01-09 06:06:49 +00:00
/// Some trivial checks
if (empty($recordid)) {
log_the_problem_somewhere();
return false;
}
$SQL = "SELECT l.course
FROM {$CFG->prefix}lesson l,
{$CFG->prefix}lesson_answers la
WHERE l.id = la.lessonid
AND la.id = $recordid";
2006-01-19 06:45:14 +00:00
if (!$lesson = get_record_sql($SQL)) {
2006-01-09 06:06:49 +00:00
log_the_problem_somewhere();
return false;
}
2006-01-19 06:45:14 +00:00
if (!$lessonanswers = get_record('lesson_answers','id',$recordid)) {
2006-01-09 06:06:49 +00:00
log_the_problem_somewhere();
return false;
}
2006-02-24 08:20:13 +00:00
if ($globallang) {
$fromenc = $globallang;
} else {
$sitelang = $CFG->lang;
$courselang = get_course_lang($lesson->course); //Non existing!
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
}
2006-01-09 06:06:49 +00:00
/// We are going to use textlib facilities
2006-01-31 02:15:21 +00:00
2006-01-09 06:06:49 +00:00
/// Convert the text
2006-02-24 08:20:13 +00:00
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
$result = utfconvert($lessonanswers->answer, $fromenc);
2006-01-09 06:06:49 +00:00
2006-02-24 08:20:13 +00:00
$newlessonanswers = new object;
$newlessonanswers->id = $recordid;
$newlessonanswers->answer = $result;
migrate2utf8_update_record('lesson_answers',$newlessonanswers);
2006-02-24 08:20:13 +00:00
}
2006-01-09 06:06:49 +00:00
/// And finally, just return the converted field
return $result;
}
function migrate2utf8_lesson_answers_response($recordid){
2006-02-24 08:20:13 +00:00
global $CFG, $globallang;
2006-01-09 06:06:49 +00:00
/// Some trivial checks
if (empty($recordid)) {
log_the_problem_somewhere();
return false;
}
$SQL = "SELECT l.course
FROM {$CFG->prefix}lesson l,
{$CFG->prefix}lesson_answers la
WHERE l.id = la.lessonid
AND la.id = $recordid";
2006-01-19 06:45:14 +00:00
if (!$lesson = get_record_sql($SQL)) {
2006-01-09 06:06:49 +00:00
log_the_problem_somewhere();
return false;
}
2006-01-19 06:45:14 +00:00
if (!$lessonanswers = get_record('lesson_answers','id',$recordid)) {
2006-01-09 06:06:49 +00:00
log_the_problem_somewhere();
return false;
}
2006-02-24 08:20:13 +00:00
if ($globallang) {
$fromenc = $globallang;
} else {
$sitelang = $CFG->lang;
$courselang = get_course_lang($lesson->course); //Non existing!
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
}
2006-01-09 06:06:49 +00:00
/// We are going to use textlib facilities
2006-01-31 02:15:21 +00:00
2006-01-09 06:06:49 +00:00
/// Convert the text
2006-02-24 08:20:13 +00:00
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
$result = utfconvert($lessonanswers->response, $fromenc);
2006-01-09 06:06:49 +00:00
2006-02-24 08:20:13 +00:00
$newlessonanswers = new object;
$newlessonanswers->id = $recordid;
$newlessonanswers->response = $result;
migrate2utf8_update_record('lesson_answers',$newlessonanswers);
2006-02-24 08:20:13 +00:00
}
2006-01-09 06:06:49 +00:00
/// And finally, just return the converted field
return $result;
}
function migrate2utf8_lesson_default_password($recordid){
///um
}
function migrate2utf8_lesson_pages_contents($recordid){
2006-02-24 08:20:13 +00:00
global $CFG, $globallang;
2006-01-09 06:06:49 +00:00
/// Some trivial checks
if (empty($recordid)) {
log_the_problem_somewhere();
return false;
}
$SQL = "SELECT l.course
FROM {$CFG->prefix}lesson l,
{$CFG->prefix}lesson_pages lp
WHERE l.id = lp.lessonid
AND lp.id = $recordid";
2006-01-19 06:45:14 +00:00
if (!$lesson = get_record_sql($SQL)) {
2006-01-09 06:06:49 +00:00
log_the_problem_somewhere();
return false;
}
2006-01-19 06:45:14 +00:00
if (!$lessonpages = get_record('lesson_pages','id',$recordid)) {
2006-01-09 06:06:49 +00:00
log_the_problem_somewhere();
return false;
}
2006-02-24 08:20:13 +00:00
if ($globallang) {
$fromenc = $globallang;
} else {
$sitelang = $CFG->lang;
$courselang = get_course_lang($lesson->course); //Non existing!
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
}
2006-01-09 06:06:49 +00:00
/// We are going to use textlib facilities
2006-01-31 02:15:21 +00:00
2006-01-09 06:06:49 +00:00
/// Convert the text
2006-02-24 08:20:13 +00:00
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
$result = utfconvert($lessonpages->contents, $fromenc);
2006-01-09 06:06:49 +00:00
2006-02-24 08:20:13 +00:00
$newlessonpages = new object;
$newlessonpages->id = $recordid;
$newlessonpages->contents = $result;
migrate2utf8_update_record('lesson_pages',$newlessonpages);
2006-02-24 08:20:13 +00:00
}
2006-01-09 06:06:49 +00:00
/// And finally, just return the converted field
return $result;
}
function migrate2utf8_lesson_pages_title($recordid){
2006-02-24 08:20:13 +00:00
global $CFG, $globallang;
2006-01-09 06:06:49 +00:00
/// Some trivial checks
if (empty($recordid)) {
log_the_problem_somewhere();
return false;
}
$SQL = "SELECT l.course
FROM {$CFG->prefix}lesson l,
{$CFG->prefix}lesson_pages lp
WHERE l.id = lp.lessonid
AND lp.id = $recordid";
2006-01-19 06:45:14 +00:00
if (!$lesson = get_record_sql($SQL)) {
2006-01-09 06:06:49 +00:00
log_the_problem_somewhere();
return false;
}
2006-01-19 06:45:14 +00:00
if (!$lessonpages = get_record('lesson_pages','id',$recordid)) {
2006-01-09 06:06:49 +00:00
log_the_problem_somewhere();
return false;
}
2006-02-24 08:20:13 +00:00
if ($globallang) {
$fromenc = $globallang;
} else {
$sitelang = $CFG->lang;
$courselang = get_course_lang($lesson->course); //Non existing!
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
}
2006-01-09 06:06:49 +00:00
/// We are going to use textlib facilities
2006-01-31 02:15:21 +00:00
2006-01-09 06:06:49 +00:00
/// Convert the text
2006-02-24 08:20:13 +00:00
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
$result = utfconvert($lessonpages->title, $fromenc);
2006-01-09 06:06:49 +00:00
2006-02-24 08:20:13 +00:00
$newlessonpages = new object;
$newlessonpages->id = $recordid;
$newlessonpages->title = $result;
migrate2utf8_update_record('lesson_pages',$newlessonpages);
2006-02-24 08:20:13 +00:00
}
2006-01-09 06:06:49 +00:00
/// And finally, just return the converted field
return $result;
}
function migrate2utf8_lesson_name($recordid){
2006-02-24 08:20:13 +00:00
global $CFG, $globallang;
2006-01-09 06:06:49 +00:00
/// Some trivial checks
if (empty($recordid)) {
log_the_problem_somewhere();
return false;
}
if (!$lesson = get_record('lesson','id',$recordid)) {
log_the_problem_somewhere();
return false;
}
2006-02-24 08:20:13 +00:00
if ($globallang) {
$fromenc = $globallang;
} else {
$sitelang = $CFG->lang;
$courselang = get_course_lang($lesson->course); //Non existing!
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
}
2006-01-09 06:06:49 +00:00
/// We are going to use textlib facilities
2006-01-31 02:15:21 +00:00
2006-01-09 06:06:49 +00:00
/// Convert the text
2006-02-24 08:20:13 +00:00
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
$result = utfconvert($lesson->name, $fromenc);
2006-01-09 06:06:49 +00:00
2006-02-24 08:20:13 +00:00
$newlesson = new object;
$newlesson->id = $recordid;
$newlesson->name = $result;
migrate2utf8_update_record('lesson',$newlesson);
2006-02-24 08:20:13 +00:00
}
2006-01-09 06:06:49 +00:00
/// And finally, just return the converted field
return $result;
}
function migrate2utf8_lesson_password($recordid){
///um
}
?>