diff --git a/admin/utfdbmigrate.php b/admin/utfdbmigrate.php
index 3ad5db4118e..5434f002b45 100755
--- a/admin/utfdbmigrate.php
+++ b/admin/utfdbmigrate.php
@@ -794,10 +794,12 @@ function log_the_problem_somewhere() { //Eloy: Nice function, perhaps we could
}
//only this function should be used during db migraton, because of addslashes at the end of the convertion
-function utfconvert($string, $enc) {
+function utfconvert($string, $enc, $slash=true) {
global $textlib;
if ($result = $textlib->convert($string, $enc)) {
- $result = addslashes($result);
+ if ($slash) {
+ $result = addslashes($result);
+ }
}
return $result;
}
diff --git a/blocks/db/migrate2utf8.php b/blocks/db/migrate2utf8.php
index 6cb873e3b78..5e097f038d7 100755
--- a/blocks/db/migrate2utf8.php
+++ b/blocks/db/migrate2utf8.php
@@ -26,8 +26,8 @@ function migrate2utf8_block_instance_configdata($recordid){
/// We are going to use textlib facilities
/// Convert the text
- $blah->title = utfconvert($blah->title, $fromenc);
- $blah->text = utfconvert($blah->text, $fromenc);
+ $blah->title = utfconvert($blah->title, $fromenc, false);
+ $blah->text = utfconvert($blah->text, $fromenc, false);
$blockinstance->configdata = base64_encode(serialize($blah));
@@ -53,7 +53,7 @@ function migrate2utf8_block_instance_configdata($recordid){
/// We are going to use textlib facilities
/// Convert the text
- $blah->title = utfconvert($blah->title, $fromenc);
+ $blah->title = utfconvert($blah->title, $fromenc, false);
$blockinstance->configdata = base64_encode(serialize($blah));
@@ -66,6 +66,67 @@ function migrate2utf8_block_instance_configdata($recordid){
}
function migrate2utf8_block_pinned_configdata($recordid){
+global $CFG, $globallang;
+ $blockpinned = get_record('block_pinned','id',$recordid);
+
+ //get block instance type, we only need to worry about HTML blocks... right?????????
+
+ $blocktype = get_record('block','id',$blockpinned->blockid);
+
+ if ($blocktype -> name == 'html') {
+
+ ///find course
+ if ($globallang) {
+ $fromenc = $globallang;
+ } else {
+ $sitelang = $CFG->lang;
+ $courselang = get_course_lang($blockpinned->pageid); //Non existing!
+ $userlang = get_main_teacher_lang($blockpinned->pageid); //N.E.!!
+
+ $fromenc = get_original_encoding($sitelang, $courselang, $userlang);
+ }
+
+ $blah = unserialize(base64_decode($blockpinned->configdata));
+
+ /// We are going to use textlib facilities
+
+ /// Convert the text
+ $blah->title = utfconvert($blah->title, $fromenc, false);
+ $blah->text = utfconvert($blah->text, $fromenc, false);
+
+ $blockpinned->configdata = base64_encode(serialize($blah));
+
+ migrate2utf8_update_record('blockpinned',$blockpinned);
+
+ return $blah;
+
+ } else if ($blocktype -> name == 'rss_client'){
+
+ ///find course
+ if ($globallang) {
+ $fromenc = $globallang;
+ } else {
+ $sitelang = $CFG->lang;
+ $courselang = get_course_lang($blockpinned->pageid); //Non existing!
+ $userlang = get_main_teacher_lang($blockpinned->pageid); //N.E.!!
+
+ $fromenc = get_original_encoding($sitelang, $courselang, $userlang);
+ }
+
+ $blah = unserialize(base64_decode($blockpinned->configdata));
+
+ /// We are going to use textlib facilities
+
+ /// Convert the text
+ $blah->title = utfconvert($blah->title, $fromenc, false);
+
+ $blockpinned->configdata = base64_encode(serialize($blah));
+
+ migrate2utf8_update_record('blockpinned',$blockblockpinned);
+
+ return $blah;
+
+ }
}
?>
diff --git a/blocks/db/migrate2utf8.xml b/blocks/db/migrate2utf8.xml
index d925f27d9ca..c6cbd2ff1be 100755
--- a/blocks/db/migrate2utf8.xml
+++ b/blocks/db/migrate2utf8.xml
@@ -22,7 +22,7 @@
- migrate2utf8_block_instance_configdata(RECORDID)
+ migrate2utf8_block_pinned_configdata(RECORDID)