Při obnově kurzu ze zálohy ve verzi 1.9.4 systém odstraní všechny <,> z html tagů. Nemáte s tím někdo zkušenosti ? Je možné, že se jedná o nastavení zabezpećení php nebo databáze ? Děkuji za pomoc.
To je známý problém, za který nemůže Moodle ale PHP, resp. novější verze rozšíření libxml2. Podrobnosti vizte na: http://docs.moodle.org/en/Backup_and_restore_FAQ#Restoring_a_course_results_in_broken_HTML_tags._What_can_I_do.3F
Řešením je aktualizace knihovny libxml2 na verzi 2.7.3 a aktuální snapshot php (oprava existuje od 11. ledna 2009) nebo následující patch:
--- php-5.2.8/ext/xml/compat.c 2008/12/31 11:12:38 1.52
+++ php-5.2.8/ext/xml/compat.c 2009/01/11 12:00:30 1.53
@@ -482,6 +482,10 @@
parser->parser->charset = XML_CHAR_ENCODING_NONE;
#endif
+#if LIBXML_VERSION >= 20703
+ xmlCtxtUseOptions(parser->parser, XML_PARSE_OLDSAX);
+#endif
+
parser->parser->replaceEntities = 1;
parser->parser->wellFormed = 0;
if (sep != NULL) {
Nebo se vrátit k libxml2 z řady 2.6. Máme vyzkoušena obě řešení (Fedora 9 a Fedora 10).
--- php-5.2.8/ext/xml/compat.c 2008/12/31 11:12:38 1.52
+++ php-5.2.8/ext/xml/compat.c 2009/01/11 12:00:30 1.53
@@ -482,6 +482,10 @@
parser->parser->charset = XML_CHAR_ENCODING_NONE;
#endif
+#if LIBXML_VERSION >= 20703
+ xmlCtxtUseOptions(parser->parser, XML_PARSE_OLDSAX);
+#endif
+
parser->parser->replaceEntities = 1;
parser->parser->wellFormed = 0;
if (sep != NULL) {
Nebo se vrátit k libxml2 z řady 2.6. Máme vyzkoušena obě řešení (Fedora 9 a Fedora 10).