$this->includeRules = array();
$doc = new DOMDocument();
- if ($doc->load(dirname(__FILE__) . '/' . $this->filename)) {
+ $oldValue = libxml_disable_entity_loader(FALSE);
+ $load = $doc->load(dirname(__FILE__) . '/' . $this->filename);
+ libxml_disable_entity_loader($oldValue);
+ if ($load) {
$regions = $doc->getElementsByTagName("region");
foreach ($regions as $region) {
$regionName = $region->getAttribute("name");
if ($fileName && file_exists($fileName)) {
// read xml file
$dom = new DomDocument();
+ $oldValue = libxml_disable_entity_loader(FALSE);
$dom->load($fileName);
+ libxml_disable_entity_loader($oldValue);
$dom->xinclude();
$fileXml = simplexml_import_dom($dom);
}
* @return SimpleXMLElement|bool
*/
public static function parse($file) {
+ $oldValue = libxml_disable_entity_loader(FALSE);
$dom = new DomDocument();
$dom->load($file);
+ libxml_disable_entity_loader($oldValue);
$dom->xinclude();
$xml = simplexml_import_dom($dom);
return $xml;
public function run($file) {
// read xml file
$dom = new DomDocument();
- if (!$dom->load($file)) {
+ $oldValue = libxml_disable_entity_loader(FALSE);
+ $load = $dom->load($file);
+ libxml_disable_entity_loader($oldValue);
+ if (!$load) {
throw new CRM_Core_Exception("Failed to parse XML file \"$file\"");
}
$dom->xinclude();