~ubuntu-branches/ubuntu/dapper/moodle/dapper-backports

« back to all changes in this revision

Viewing changes to mod/lesson/db/migrate2utf8.php

  • Committer: Bazaar Package Importer
  • Author(s): John Dong
  • Date: 2006-12-01 14:00:21 UTC
  • mfrom: (6.1.5 feisty)
  • Revision ID: james.westby@ubuntu.com-20061201140021-rivugg5tgx6mujzg
Tags: 1.6.3-1ubuntu1~dapper1
Automated backport upload; no source changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php // $Id: migrate2utf8.php,v 1.7.2.2 2006/10/06 15:00:20 stronk7 Exp $
 
2
 
 
3
// fix for MDL-6336
 
4
// handling serialized object
 
5
function migrate2utf8_lesson_attempts_useranswer($recordid) {
 
6
    global $CFG, $globallang;
 
7
  
 
8
    /// Some trivial checks
 
9
    if (empty($recordid)) {
 
10
        log_the_problem_somewhere();
 
11
        return false;
 
12
    }
 
13
 
 
14
    $user = get_record_sql("SELECT la.userid
 
15
           FROM {$CFG->prefix}lesson_attempts la
 
16
           WHERE la.id=$recordid");
 
17
 
 
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");
 
23
  
 
24
    if (!$lessonattempts = get_record('lesson_attempts','id',$recordid)) {
 
25
        log_the_problem_somewhere();
 
26
        return false;
 
27
    }
 
28
  
 
29
    if ($globallang) {
 
30
        $fromenc = $globallang;
 
31
    } else {
 
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       
 
38
    }
 
39
    
 
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);
 
45
        $newla = new object;
 
46
        $newla->id = $recordid;
 
47
        $newla->useranswer = serialize($attempt); // serialize it back    
 
48
        migrate2utf8_update_record('lesson_attempts', $newla);
 
49
      
 
50
    } else { // just a string
 
51
        $result = utfconvert($lessonattempts->useranswer, $fromencstudent);
 
52
        $newla = new object;
 
53
        $newla->id = $recordid;
 
54
        $newla->useranswer =  $result;// serialize it back
 
55
        migrate2utf8_update_record('lesson_attempts', $newla);
 
56
    }
 
57
    
 
58
    return $result;
 
59
}
 
60
 
 
61
function migrate2utf8_lesson_answers_answer($recordid){
 
62
    global $CFG, $globallang;
 
63
 
 
64
/// Some trivial checks
 
65
    if (empty($recordid)) {
 
66
        log_the_problem_somewhere();
 
67
        return false;
 
68
    }
 
69
 
 
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";
 
75
 
 
76
    if (!$lesson = get_record_sql($SQL)) {
 
77
        log_the_problem_somewhere();
 
78
        return false;
 
79
    }
 
80
 
 
81
    if (!$lessonanswers = get_record('lesson_answers','id',$recordid)) {
 
82
        log_the_problem_somewhere();
 
83
        return false;
 
84
    }
 
85
    if ($globallang) {
 
86
        $fromenc = $globallang;
 
87
    } else {
 
88
        $sitelang   = $CFG->lang;
 
89
        $courselang = get_course_lang($lesson->course);  //Non existing!
 
90
        $userlang   = get_main_teacher_lang($lesson->course); //N.E.!!
 
91
 
 
92
        $fromenc = get_original_encoding($sitelang, $courselang, $userlang);
 
93
    }
 
94
 
 
95
/// We are going to use textlib facilities
 
96
    
 
97
/// Convert the text
 
98
    if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
 
99
        $result = utfconvert($lessonanswers->answer, $fromenc);
 
100
 
 
101
        $newlessonanswers = new object;
 
102
        $newlessonanswers->id = $recordid;
 
103
        $newlessonanswers->answer = $result;
 
104
        migrate2utf8_update_record('lesson_answers',$newlessonanswers);
 
105
    }
 
106
/// And finally, just return the converted field
 
107
    return $result;
 
108
}
 
109
 
 
110
function migrate2utf8_lesson_answers_response($recordid){
 
111
    global $CFG, $globallang;
 
112
 
 
113
/// Some trivial checks
 
114
    if (empty($recordid)) {
 
115
        log_the_problem_somewhere();
 
116
        return false;
 
117
    }
 
118
 
 
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";
 
124
 
 
125
    if (!$lesson = get_record_sql($SQL)) {
 
126
        log_the_problem_somewhere();
 
127
        return false;
 
128
    }
 
129
 
 
130
    if (!$lessonanswers = get_record('lesson_answers','id',$recordid)) {
 
131
        log_the_problem_somewhere();
 
132
        return false;
 
133
    }
 
134
    if ($globallang) {
 
135
        $fromenc = $globallang;
 
136
    } else {
 
137
        $sitelang   = $CFG->lang;
 
138
        $courselang = get_course_lang($lesson->course);  //Non existing!
 
139
        $userlang   = get_main_teacher_lang($lesson->course); //N.E.!!
 
140
 
 
141
        $fromenc = get_original_encoding($sitelang, $courselang, $userlang);
 
142
    }
 
143
 
 
144
/// We are going to use textlib facilities
 
145
    
 
146
/// Convert the text
 
147
    if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
 
148
        $result = utfconvert($lessonanswers->response, $fromenc);
 
149
 
 
150
        $newlessonanswers = new object;
 
151
        $newlessonanswers->id = $recordid;
 
152
        $newlessonanswers->response = $result;
 
153
        migrate2utf8_update_record('lesson_answers',$newlessonanswers);
 
154
    }
 
155
/// And finally, just return the converted field
 
156
    return $result;
 
157
}
 
158
 
 
159
function migrate2utf8_lesson_default_password($recordid){
 
160
 
 
161
    ///um
 
162
 
 
163
}
 
164
 
 
165
 
 
166
function migrate2utf8_lesson_pages_contents($recordid){
 
167
    global $CFG, $globallang;
 
168
 
 
169
/// Some trivial checks
 
170
    if (empty($recordid)) {
 
171
        log_the_problem_somewhere();
 
172
        return false;
 
173
    }
 
174
 
 
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";
 
180
 
 
181
    if (!$lesson = get_record_sql($SQL)) {
 
182
        log_the_problem_somewhere();
 
183
        return false;
 
184
    }
 
185
 
 
186
    if (!$lessonpages = get_record('lesson_pages','id',$recordid)) {
 
187
        log_the_problem_somewhere();
 
188
        return false;
 
189
    }
 
190
    if ($globallang) {
 
191
        $fromenc = $globallang;
 
192
    } else {
 
193
        $sitelang   = $CFG->lang;
 
194
        $courselang = get_course_lang($lesson->course);  //Non existing!
 
195
        $userlang   = get_main_teacher_lang($lesson->course); //N.E.!!
 
196
 
 
197
        $fromenc = get_original_encoding($sitelang, $courselang, $userlang);
 
198
    }
 
199
 
 
200
/// We are going to use textlib facilities
 
201
    
 
202
/// Convert the text
 
203
    if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
 
204
        $result = utfconvert($lessonpages->contents, $fromenc);
 
205
 
 
206
        $newlessonpages = new object;
 
207
        $newlessonpages->id = $recordid;
 
208
        $newlessonpages->contents = $result;
 
209
        migrate2utf8_update_record('lesson_pages',$newlessonpages);
 
210
    }
 
211
/// And finally, just return the converted field
 
212
    return $result;
 
213
}
 
214
 
 
215
function migrate2utf8_lesson_pages_title($recordid){
 
216
    global $CFG, $globallang;
 
217
 
 
218
/// Some trivial checks
 
219
    if (empty($recordid)) {
 
220
        log_the_problem_somewhere();
 
221
        return false;
 
222
    }
 
223
 
 
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";
 
229
 
 
230
    if (!$lesson = get_record_sql($SQL)) {
 
231
        log_the_problem_somewhere();
 
232
        return false;
 
233
    }
 
234
    if (!$lessonpages = get_record('lesson_pages','id',$recordid)) {
 
235
        log_the_problem_somewhere();
 
236
        return false;
 
237
    }
 
238
    if ($globallang) {
 
239
        $fromenc = $globallang;
 
240
    } else {
 
241
        $sitelang   = $CFG->lang;
 
242
        $courselang = get_course_lang($lesson->course);  //Non existing!
 
243
        $userlang   = get_main_teacher_lang($lesson->course); //N.E.!!
 
244
 
 
245
        $fromenc = get_original_encoding($sitelang, $courselang, $userlang);
 
246
    }
 
247
 
 
248
/// We are going to use textlib facilities
 
249
    
 
250
/// Convert the text
 
251
    if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
 
252
        $result = utfconvert($lessonpages->title, $fromenc);
 
253
 
 
254
        $newlessonpages = new object;
 
255
        $newlessonpages->id = $recordid;
 
256
        $newlessonpages->title = $result;
 
257
        migrate2utf8_update_record('lesson_pages',$newlessonpages);
 
258
    }
 
259
/// And finally, just return the converted field
 
260
    return $result;
 
261
}
 
262
 
 
263
function migrate2utf8_lesson_name($recordid){
 
264
    global $CFG, $globallang;
 
265
 
 
266
/// Some trivial checks
 
267
    if (empty($recordid)) {
 
268
        log_the_problem_somewhere();
 
269
        return false;
 
270
    }
 
271
 
 
272
    if (!$lesson = get_record('lesson','id',$recordid)) {
 
273
        log_the_problem_somewhere();
 
274
        return false;
 
275
    }
 
276
    if ($globallang) {
 
277
        $fromenc = $globallang;
 
278
    } else {
 
279
        $sitelang   = $CFG->lang;
 
280
        $courselang = get_course_lang($lesson->course);  //Non existing!
 
281
        $userlang   = get_main_teacher_lang($lesson->course); //N.E.!!
 
282
 
 
283
        $fromenc = get_original_encoding($sitelang, $courselang, $userlang);
 
284
    }
 
285
 
 
286
/// We are going to use textlib facilities
 
287
    
 
288
/// Convert the text
 
289
    if (($fromenc != 'utf-8') && ($fromenc != 'UTF-8')) {
 
290
        $result = utfconvert($lesson->name, $fromenc);
 
291
 
 
292
        $newlesson = new object;
 
293
        $newlesson->id = $recordid;
 
294
        $newlesson->name = $result;
 
295
        migrate2utf8_update_record('lesson',$newlesson);
 
296
    }
 
297
/// And finally, just return the converted field
 
298
    return $result;
 
299
}
 
300
 
 
301
function migrate2utf8_lesson_password($recordid){
 
302
///um
 
303
}
 
304
?>