Files
moodle/mod/wiki/db/migration/lib.php
T
2010-05-02 11:28:11 +00:00

67 lines
2.3 KiB
PHP

<?php
function wiki_ewiki_2_html($oldentry, $oldpage, $oldwiki) {
global $CFG, $wiki_entry, $moodle_disable_camel_case, $ewiki_plugins, $ewiki_config, $moodle_format;
$wiki_entry = $oldentry;
$moodle_disable_camel_case = ($oldwiki->disablecamelcase == 1);
// Block of dinamic ewiki defines
wiki_set_define("EWIKI_NAME", $wiki_entry->pagename);
wiki_set_define("EWIKI_DEFAULT_LANG", current_language());
if ($moodle_disable_camel_case) {
wiki_set_define("EWIKI_CHARS_L", "");
wiki_set_define("EWIKI_CHARS_U", "");
} else {
wiki_set_define("EWIKI_CHARS_L", "a-z_µ¤$\337-\377");
wiki_set_define("EWIKI_CHARS_U", "A-Z0-9\300-\336");
}
wiki_set_define("EWIKI_CHARS", wiki_get_define('EWIKI_CHARS_L') . wiki_get_define('EWIKI_CHARS_U'));
require_once($CFG->dirroot . '/mod/wiki/db/migration/wiki/ewikimoodlelib.php');
require_once($CFG->dirroot . '/mod/wiki/db/migration/wiki/ewiki/ewiki.php');
if ($oldwiki->htmlmode == 0) {
# No HTML
$ewiki_config["htmlentities"] = array(); // HTML is managed by moodle
$moodle_format = FORMAT_TEXT;
}
if ($oldwiki->htmlmode == 1) {
# Safe HTML
include_once($CFG->dirroot . "/mod/wiki/db/migration/wiki/ewiki/plugins/moodle/moodle_rescue_html.php");
$moodle_format = FORMAT_HTML;
}
if ($oldwiki->htmlmode == 2) {
# HTML Only
$moodle_format = FORMAT_HTML;
$ewiki_use_editor = 1;
$ewiki_config["htmlentities"] = array(); // HTML is allowed
$ewiki_config["wiki_link_regex"] = "\007 [!~]?(
\#?\[[^<>\[\]\n]+\] |
\^[-" .
wiki_get_define('EWIKI_CHARS_U') . wiki_get_define('EWIKI_CHARS_L') . "]{3,} |
\b([\w]{3,}:)*([" .
wiki_get_define('EWIKI_CHARS_U') . "]+[" . wiki_get_define('EWIKI_CHARS_L') . "]+){2,}\#?[\w\d]* |
\w[-_.+\w]+@(\w[-_\w]+[.])+\w{2,} ) \007x";
}
$content = ewiki_format($oldpage->content);
return format_text($content, $moodle_format);
}
function wiki_set_define($key, $value) {
global $ewikidefines;
$ewikidefines[$key] = $value;
}
function wiki_get_define($key) {
global $ewikidefines;
return $ewikidefines[$key];
}