1
<?php // $Id: migrate2utf8.php,v 1.7.2.2 2006/10/06 15:00:20 stronk7 Exp $
4
// handling serialized object
5
function migrate2utf8_lesson_attempts_useranswer($recordid) {
6
global $CFG, $globallang;
8
/// Some trivial checks
9
if (empty($recordid)) {
10
log_the_problem_somewhere();
14
$user = get_record_sql("SELECT la.userid
15
FROM {$CFG->prefix}lesson_attempts la
16
WHERE la.id=$recordid");
18
$course = get_record_sql("SELECT l.course
19
FROM {$CFG->prefix}lesson l,
20
{$CFG->prefix}lesson_attempts la
21
WHERE l.id = la.lessonid
22
AND la.id = $recordid");
24
if (!$lessonattempts = get_record('lesson_attempts','id',$recordid)) {
25
log_the_problem_somewhere();
30
$fromenc = $globallang;
32
$sitelang = $CFG->lang;
33
$courselang = get_course_lang($course->course);
34
$userlang = get_user_lang($user->userid);
35
$fromencstudent = get_original_encoding($sitelang, $courselang, $userlang); // this is used for answer field
36
$userlang = get_main_teacher_lang($course->course);
37
$fromencteacher = get_original_encoding($sitelang, $courselang, $userlang); // this is used for response field
40
$result = $lessonattempts->useranswer; // init to avoid warnings
41
// if unserialize success, meaning it is an object
42
if ($attempt = unserialize($lessonattempts->useranswer)) {
43
$attempt->answer = utfconvert($attempt->answer, $fromencstudent);
44
$attempt->response = utfconvert($attempt->response, $fromencteacher);
46
$newla->id = $recordid;
47
$newla->useranswer = serialize($attempt); // serialize it back
48
migrate2utf8_update_record('lesson_attempts', $newla);
50
} else { // just a string
51
$result = utfconvert($lessonattempts->useranswer, $fromencstudent);
53
$newla->id = $recordid;
54
$newla->useranswer = $result;// serialize it back
55
migrate2utf8_update_record('lesson_attempts', $newla);
61
function migrate2utf8_lesson_answers_answer($recordid){
62
global $CFG, $globallang;
64
/// Some trivial checks
65
if (empty($recordid)) {
66
log_the_problem_somewhere();
70
$SQL = "SELECT l.course
71
FROM {$CFG->prefix}lesson l,
72
{$CFG->prefix}lesson_answers la
73
WHERE l.id = la.lessonid
74
AND la.id = $recordid";
76
if (!$lesson = get_record_sql($SQL)) {
77
log_the_problem_somewhere();
81
if (!$lessonanswers = get_record('lesson_answers','id',$recordid)) {
82
log_the_problem_somewhere();
86
$fromenc = $globallang;
88
$sitelang = $CFG->lang;
89
$courselang = get_course_lang($lesson->course); //Non existing!
90
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
92
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
95
/// We are going to use textlib facilities
98
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
99
$result = utfconvert($lessonanswers->answer, $fromenc);
101
$newlessonanswers = new object;
102
$newlessonanswers->id = $recordid;
103
$newlessonanswers->answer = $result;
104
migrate2utf8_update_record('lesson_answers',$newlessonanswers);
106
/// And finally, just return the converted field
110
function migrate2utf8_lesson_answers_response($recordid){
111
global $CFG, $globallang;
113
/// Some trivial checks
114
if (empty($recordid)) {
115
log_the_problem_somewhere();
119
$SQL = "SELECT l.course
120
FROM {$CFG->prefix}lesson l,
121
{$CFG->prefix}lesson_answers la
122
WHERE l.id = la.lessonid
123
AND la.id = $recordid";
125
if (!$lesson = get_record_sql($SQL)) {
126
log_the_problem_somewhere();
130
if (!$lessonanswers = get_record('lesson_answers','id',$recordid)) {
131
log_the_problem_somewhere();
135
$fromenc = $globallang;
137
$sitelang = $CFG->lang;
138
$courselang = get_course_lang($lesson->course); //Non existing!
139
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
141
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
144
/// We are going to use textlib facilities
147
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
148
$result = utfconvert($lessonanswers->response, $fromenc);
150
$newlessonanswers = new object;
151
$newlessonanswers->id = $recordid;
152
$newlessonanswers->response = $result;
153
migrate2utf8_update_record('lesson_answers',$newlessonanswers);
155
/// And finally, just return the converted field
159
function migrate2utf8_lesson_default_password($recordid){
166
function migrate2utf8_lesson_pages_contents($recordid){
167
global $CFG, $globallang;
169
/// Some trivial checks
170
if (empty($recordid)) {
171
log_the_problem_somewhere();
175
$SQL = "SELECT l.course
176
FROM {$CFG->prefix}lesson l,
177
{$CFG->prefix}lesson_pages lp
178
WHERE l.id = lp.lessonid
179
AND lp.id = $recordid";
181
if (!$lesson = get_record_sql($SQL)) {
182
log_the_problem_somewhere();
186
if (!$lessonpages = get_record('lesson_pages','id',$recordid)) {
187
log_the_problem_somewhere();
191
$fromenc = $globallang;
193
$sitelang = $CFG->lang;
194
$courselang = get_course_lang($lesson->course); //Non existing!
195
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
197
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
200
/// We are going to use textlib facilities
203
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
204
$result = utfconvert($lessonpages->contents, $fromenc);
206
$newlessonpages = new object;
207
$newlessonpages->id = $recordid;
208
$newlessonpages->contents = $result;
209
migrate2utf8_update_record('lesson_pages',$newlessonpages);
211
/// And finally, just return the converted field
215
function migrate2utf8_lesson_pages_title($recordid){
216
global $CFG, $globallang;
218
/// Some trivial checks
219
if (empty($recordid)) {
220
log_the_problem_somewhere();
224
$SQL = "SELECT l.course
225
FROM {$CFG->prefix}lesson l,
226
{$CFG->prefix}lesson_pages lp
227
WHERE l.id = lp.lessonid
228
AND lp.id = $recordid";
230
if (!$lesson = get_record_sql($SQL)) {
231
log_the_problem_somewhere();
234
if (!$lessonpages = get_record('lesson_pages','id',$recordid)) {
235
log_the_problem_somewhere();
239
$fromenc = $globallang;
241
$sitelang = $CFG->lang;
242
$courselang = get_course_lang($lesson->course); //Non existing!
243
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
245
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
248
/// We are going to use textlib facilities
251
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
252
$result = utfconvert($lessonpages->title, $fromenc);
254
$newlessonpages = new object;
255
$newlessonpages->id = $recordid;
256
$newlessonpages->title = $result;
257
migrate2utf8_update_record('lesson_pages',$newlessonpages);
259
/// And finally, just return the converted field
263
function migrate2utf8_lesson_name($recordid){
264
global $CFG, $globallang;
266
/// Some trivial checks
267
if (empty($recordid)) {
268
log_the_problem_somewhere();
272
if (!$lesson = get_record('lesson','id',$recordid)) {
273
log_the_problem_somewhere();
277
$fromenc = $globallang;
279
$sitelang = $CFG->lang;
280
$courselang = get_course_lang($lesson->course); //Non existing!
281
$userlang = get_main_teacher_lang($lesson->course); //N.E.!!
283
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
286
/// We are going to use textlib facilities
289
if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
290
$result = utfconvert($lesson->name, $fromenc);
292
$newlesson = new object;
293
$newlesson->id = $recordid;
294
$newlesson->name = $result;
295
migrate2utf8_update_record('lesson',$newlesson);
297
/// And finally, just return the converted field
301
function migrate2utf8_lesson_password($recordid){