BUT at it is a file that the web server needs to write often then it might be better to place it inside the cache folder. Make sure that your module is able to create that file if does not exist. If you place it inside cache folder then there are 2 options:
<?php $param1 = $params->get('first_parameter', '');$param2 = $params->get('second_parameter', '');$param3 = $params->get('third_parameter', '');//continue for all parameters....$md5sum = md5($param1.$param2.$param3);?>
<?php if (version_compare(PHP_VERSION, '5.1.0') >= 0) { libxml_use_internal_errors(true); }$xmlDoc = simplexml_load_file('path_to_xml_file', 'SimpleXMLElement');if ($xmlDoc) { $previous_md5 = (string)$xmlDoc->md5; if ($previous_md5 != $md5sum) { //parameters changed! We must recreate the XML file } else { //parameters are the same as before. }}?>
<?php require_once($mainframe->getCfg('absolute_path').'/administrator/includes/softdisk.class.php');$row = new softdiskdb($database);$row->sdsection = 'CORE';$row->valuetype = 'STRING';$row->sdname = 'MYMODULE_MD5';$row->sdvalue = $md5sum;$row->sdsystem = '0';$row->lastmodified = time();$row->sdhidden = '0';$row->store();?>
<?php require_once($mainframe->getCfg('absolute_path').'/administrator/includes/softdisk.class.php');$softdisk = new softDisk();$previous_md5 = $softdisk->getValue('MYMODULE_MD5');?>
<?php require_once($mainframe->getCfg('absolute_path').'/administrator/includes/softdisk.class.php');$softdisk = new softDisk();$softdisk->update('MYMODULE_MD5', $md5sum);?>