From: stronk7 Date: Sun, 25 Feb 2007 20:20:35 +0000 (+0000) Subject: Now the editor detects if the xml file has been locally modified X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=5f6435d4c019157b4b63b579f8c71afa6efdfc17;p=moodle.git Now the editor detects if the xml file has been locally modified since loading it. Second part of MDL-8264 Merged from MOODLE_18_STABLE --- diff --git a/admin/xmldb/actions/load_xml_file/load_xml_file.class.php b/admin/xmldb/actions/load_xml_file/load_xml_file.class.php index eb56ad7d87..3b5f88d2b9 100644 --- a/admin/xmldb/actions/load_xml_file/load_xml_file.class.php +++ b/admin/xmldb/actions/load_xml_file/load_xml_file.class.php @@ -95,6 +95,9 @@ class load_xml_file extends XMLDBAction { $loaded = $xmldb_file->loadXMLStructure(); if ($loaded && $xmldb_file->isLoaded()) { $dbdir->xml_loaded = true; + if (!empty($dbdir->filemtime)) { + $dbdir->filemtime = filemtime($dbdir->path . '/install.xml'); + } } $dbdir->xml_file = $xmldb_file; } else { diff --git a/admin/xmldb/actions/main_view/main_view.class.php b/admin/xmldb/actions/main_view/main_view.class.php index 5a9115d557..b290d722cb 100644 --- a/admin/xmldb/actions/main_view/main_view.class.php +++ b/admin/xmldb/actions/main_view/main_view.class.php @@ -157,6 +157,13 @@ class main_view extends XMLDBAction { !empty($dbdir->xml_loaded) && !empty($dbdir->xml_changed)) { $b .= '[' . $this->str['save'] . ']'; + /// Check if the file has been manually edited while being modified in the editor + if ($dbdir->filemtime != filemtime($key . '/install.xml')) { + /// File manually modified. Add to errors. + if ($structure =& $dbdir->xml_file->getStructure()) { + $structure->errormsg = 'Warning: File locally modified while using the XMLDB Editor. Saving will overwrite local changes'; + } + } } else { $b .= '[' . $this->str['save'] . ']'; }