From 905c85813a24f02050421df8a7b1bf7ffbf4d987 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 01 Nov 2014 23:52:41 +0000
Subject: [PATCH] [core] Zablokowanie przetwarzania XML External Entities

---
 class/std.php |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/class/std.php b/class/std.php
index 2f98c9f..884d2df 100644
--- a/class/std.php
+++ b/class/std.php
@@ -13,28 +13,29 @@
 		$class = substr($class, 0, -9);
 	}
 	
-	if(!defined('BOT_TOPDIR')) {
-		define('BOT_TOPDIR', dirname(__FILE__).'/../');
-	}
-	
 	if(is_file(BOT_TOPDIR.'/class/legacy/'.$class.'.php')) {
 		require_once(BOT_TOPDIR.'/class/legacy/'.$class.'.php');
 	}
-	else
-	{
+	elseif(is_file(BOT_TOPDIR.'/class/'.$class.'.php')) {
 		require_once(BOT_TOPDIR.'/class/'.$class.'.php');
 	}
+}
+
+if(!defined('BOT_TOPDIR')) {
+	define('BOT_TOPDIR', dirname(__FILE__).'/../');
 }
 
 function errorToException($errno, $errstr, $errfile, $errline) {
 	throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
 }
 
-error_reporting(E_COMPILE_ERROR|E_PARSE);
+if(!defined('PHPUNIT')) {
+	error_reporting(E_COMPILE_ERROR|E_PARSE);
+	set_error_handler('errorToException', E_ALL & ~E_NOTICE);
+}
 
 setlocale(LC_CTYPE, 'pl_PL.utf8', 'pl_PL', 'polish', 'plk');
 mb_internal_encoding('UTF-8');
 libxml_use_internal_errors();
+libxml_disable_entity_loader(true);
 spl_autoload_register('botAutoload');
-set_error_handler('errorToException', E_ALL & ~E_NOTICE);
-?>
\ No newline at end of file

--
Gitblit v1.9.1