mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
utf8 migration support scripts
This commit is contained in:
parent
bbbb201364
commit
1e4d9ff6dc
36 changed files with 4767 additions and 0 deletions
110
mod/glossary/db/migrate2utf8.php
Executable file
110
mod/glossary/db/migrate2utf8.php
Executable file
|
@ -0,0 +1,110 @@
|
|||
<?
|
||||
function migrate2utf8_glossary_categories_name($recordid){
|
||||
global $CFG;
|
||||
|
||||
/// Some trivial checks
|
||||
if (empty($recordid)) {
|
||||
log_the_problem_somewhere();
|
||||
return false;
|
||||
}
|
||||
$SQL = "SELECT g.course
|
||||
FROM {$CFG->prefix}glossary g,
|
||||
{$CFG->prefix}glossary_categories gc
|
||||
WHERE g.id = gc.glossaryid
|
||||
AND gc.id = $recordid";
|
||||
|
||||
if (!$glossary = get_record_sql($SQL)) {
|
||||
log_the_problem_somewhere();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$glossarycategory = get_record_sql('glossary_categories','id',$recordid)) {
|
||||
log_the_problem_somewhere();
|
||||
return false;
|
||||
}
|
||||
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($glossary->course); //Non existing!
|
||||
$userlang = get_main_teacher_lang($glossary->course); //N.E.!!
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
|
||||
/// We are going to use textlib facilities
|
||||
$textlib = textlib_get_instance();
|
||||
/// Convert the text
|
||||
$result = $textlib->convert($glossarycategory->name, $fromenc);
|
||||
|
||||
$newglossarycategory = new object;
|
||||
$newglossarycategory->id = $recordid;
|
||||
$newglossarycategory->name = $result;
|
||||
update_record('forum',$newglossarycategory);
|
||||
/// And finally, just return the converted field
|
||||
return $result;
|
||||
}
|
||||
|
||||
function migrate2utf8_glossary_name($recordid){
|
||||
global $CFG;
|
||||
|
||||
/// Some trivial checks
|
||||
if (empty($recordid)) {
|
||||
log_the_problem_somewhere();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$glossary = get_record('glossary','id',$recordid)) {
|
||||
log_the_problem_somewhere();
|
||||
return false;
|
||||
}
|
||||
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($glossary->course); //Non existing!
|
||||
$userlang = get_main_teacher_lang($glossary->course); //N.E.!!
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
|
||||
/// We are going to use textlib facilities
|
||||
$textlib = textlib_get_instance();
|
||||
/// Convert the text
|
||||
$result = $textlib->convert($glossary->name, $fromenc);
|
||||
|
||||
$newglossary = new object;
|
||||
$newglossary->id = $recordid;
|
||||
$newglossary->name = $result;
|
||||
update_record('glossary',$newglossary);
|
||||
/// And finally, just return the converted field
|
||||
return $result;
|
||||
}
|
||||
|
||||
function migrate2utf8_glossary_intro($recordid){
|
||||
global $CFG;
|
||||
|
||||
/// Some trivial checks
|
||||
if (empty($recordid)) {
|
||||
log_the_problem_somewhere();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$glossary = get_record('glossary','id',$recordid)) {
|
||||
log_the_problem_somewhere();
|
||||
return false;
|
||||
}
|
||||
|
||||
$sitelang = $CFG->lang;
|
||||
$courselang = get_course_lang($glossary->course); //Non existing!
|
||||
$userlang = get_main_teacher_lang($glossary->course); //N.E.!!
|
||||
|
||||
$fromenc = get_original_encoding($sitelang, $courselang, $userlang);
|
||||
|
||||
/// We are going to use textlib facilities
|
||||
$textlib = textlib_get_instance();
|
||||
/// Convert the text
|
||||
$result = $textlib->convert($glossary->intro, $fromenc);
|
||||
|
||||
$newglossary = new object;
|
||||
$newglossary->id = $recordid;
|
||||
$newglossary->intro = $result;
|
||||
update_record('glossary',$newglossary);
|
||||
/// And finally, just return the converted field
|
||||
return $result;
|
||||
}
|
||||
?>
|
113
mod/glossary/db/migrate2utf8.xml
Executable file
113
mod/glossary/db/migrate2utf8.xml
Executable file
|
@ -0,0 +1,113 @@
|
|||
<DBMIGRATION type="mod/glossary" VERSION="2005120100">
|
||||
<TABLES>
|
||||
<TABLE name="glossary_entries">
|
||||
<FIELDS>
|
||||
<FIELD name="concept" method="PLAIN_SQL_UPDATE" type="varchar" length="255">
|
||||
<SQL_DETECT_USER>
|
||||
SELECT ge.userid
|
||||
FROM {$CFG->prefix}glossary_entries ge
|
||||
WHERE ge.id=RECORDID
|
||||
</SQL_DETECT_USER>
|
||||
<SQL_DETECT_COURSE>
|
||||
SELECT g.course
|
||||
FROM {$CFG->prefix}glossary g,
|
||||
{$CFG->prefix}glossary_entries ge
|
||||
WHERE g.id = ge.glossaryid
|
||||
AND ge.id = RECORDID
|
||||
</SQL_DETECT_COURSE>
|
||||
</FIELD>
|
||||
<FIELD name="definition" method="PLAIN_SQL_UPDATE" type="text" length="0">
|
||||
<SQL_DETECT_USER>
|
||||
SELECT ge.userid
|
||||
FROM {$CFG->prefix}glossary_entries ge
|
||||
WHERE ge.id=RECORDID
|
||||
</SQL_DETECT_USER>
|
||||
<SQL_DETECT_COURSE>
|
||||
SELECT g.course
|
||||
FROM {$CFG->prefix}glossary g,
|
||||
{$CFG->prefix}glossary_entries ge
|
||||
WHERE g.id = ge.glossaryid
|
||||
AND ge.id = RECORDID
|
||||
</SQL_DETECT_COURSE>
|
||||
</FIELD>
|
||||
<FIELD name="attachment" method="NO_CONV" type="varchar" length="100" />
|
||||
</FIELDS>
|
||||
</TABLE>
|
||||
<TABLE name="glossary_categories">
|
||||
<FIELDS>
|
||||
<FIELD name="name" method="PLAIN_SQL_UPDATE" type="varchar" length="255">
|
||||
<PHP_FUNCTION>
|
||||
migrate2utf8_glossary_categories(RECORDID)
|
||||
</PHP_FUNCTION>
|
||||
</FIELD>
|
||||
</FIELDS>
|
||||
</TABLE>
|
||||
<TABLE name="glossary_comments">
|
||||
<FIELDS>
|
||||
<FIELD name="comment" method="PLAIN_SQL_UPDATE" type="text" length="0">
|
||||
<SQL_DETECT_USER>
|
||||
SELECT gco.userid
|
||||
FROM {$CFG->prefix}glossary_comments gco
|
||||
WHERE gco.id=RECORDID
|
||||
</SQL_DETECT_USER>
|
||||
<SQL_DETECT_COURSE>
|
||||
SELECT g.course
|
||||
FROM {$CFG->prefix}glossary g,
|
||||
{$CFG->prefix}glossary_entries ge,
|
||||
{$CFG->prefix}glossary_comments gco
|
||||
WHERE g.id = ge.glossaryid
|
||||
AND ge.id = gco.entryid
|
||||
AND gco.id = RECORDID
|
||||
</SQL_DETECT_COURSE>
|
||||
</FIELD>
|
||||
</FIELDS>
|
||||
</TABLE>
|
||||
<TABLE name="glossary_alias">
|
||||
<FIELDS>
|
||||
<FIELD name="alias" method="PLAIN_SQL_UPDATE" type="varchar" length="255">
|
||||
<SQL_DETECT_USER>
|
||||
SELECT ge.userid
|
||||
FROM {$CFG->prefix}glossary_entries ge,
|
||||
{$CFG->prefix}glossary_alias ga
|
||||
WHERE ga.entryid = ge.id
|
||||
AND ge.id=RECORDID
|
||||
</SQL_DETECT_USER>
|
||||
<SQL_DETECT_COURSE>
|
||||
SELECT g.course
|
||||
FROM {$CFG->prefix}glossary g,
|
||||
{$CFG->prefix}glossary_entries ge,
|
||||
{$CFG->prefix}glossary_alias ga
|
||||
WHERE g.id = ge.glossaryid
|
||||
AND ge.id = ga.entryid
|
||||
AND ga.id = RECORDID
|
||||
</SQL_DETECT_COURSE>
|
||||
</FIELD>
|
||||
</FIELDS>
|
||||
</TABLE>
|
||||
<TABLE name="glossary_formats">
|
||||
<FIELDS>
|
||||
<FIELD name="name" method="NO_CONV" type="varchar" length="50" />
|
||||
<FIELD name="popupformatname" method="NO_CONV" type="varchar" length="50" />
|
||||
<FIELD name="defaultmode" method="NO_CONV" type="varchar" length="50" />
|
||||
<FIELD name="defaulthook" method="NO_CONV" type="varchar" length="50" />
|
||||
<FIELD name="sortkey" method="NO_CONV" type="varchar" length="50" />
|
||||
<FIELD name="sortorder" method="NO_CONV" type="varchar" length="50" />
|
||||
</FIELDS>
|
||||
</TABLE>
|
||||
<TABLE name="glossary">
|
||||
<FIELDS>
|
||||
<FIELD name="name" method="PHP_FUNCTION" type="varchar" length="255">
|
||||
<PHP_FUNCTION>
|
||||
migrate2utf8_glossary_name(RECORDID)
|
||||
</PHP_FUNCTION>
|
||||
</FIELD>
|
||||
<FIELD name="intro" method="PHP_FUNCTION" type="text" length="0">
|
||||
<PHP_FUNCTION>
|
||||
migrate2utf8_glossary_intro(RECORDID)
|
||||
</PHP_FUNCTION>
|
||||
</FIELD>
|
||||
<FIELD name="displayformat" method="NO_CONV" type="varchar" length="50" />
|
||||
</FIELDS>
|
||||
</TABLE>
|
||||
</TABLES>
|
||||
</DBMIGRATION>
|
Loading…
Add table
Add a link
Reference in a new issue