diff --git a/ChangeLog b/ChangeLog
index 9700219e2..da73be1c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -29,6 +29,8 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
- patch #2496403 [display] Multi-row change with "]",
thanks to Virsacer - virsacer
- bug #2027720 [parser] Missing space after BINARY used as cast
+- patch #2520747 [core] E_DEPRECATED compatibility for PHP 5.3,
+ thanks to Giovanni Giacobbi - themnemonic
3.1.2.0 (2009-01-19)
- bug #1253252 [display] Can't NULL a column with relation defined
diff --git a/libraries/Error.class.php b/libraries/Error.class.php
index 6b737cb40..e1112e170 100644
--- a/libraries/Error.class.php
+++ b/libraries/Error.class.php
@@ -37,6 +37,7 @@ class PMA_Error extends PMA_Message
E_USER_WARNING => 'User Warning',
E_USER_NOTICE => 'User Notice',
E_STRICT => 'Runtime Notice',
+ E_DEPRECATED => 'Deprecation Notice',
E_RECOVERABLE_ERROR => 'Catchable Fatal Error',
);
@@ -58,6 +59,7 @@ class PMA_Error extends PMA_Message
E_USER_WARNING => 'warning',
E_USER_NOTICE => 'notice',
E_STRICT => 'notice',
+ E_DEPRECATED => 'notice',
E_RECOVERABLE_ERROR => 'error',
);
@@ -301,14 +303,14 @@ class PMA_Error extends PMA_Message
echo $step['class'] . $step['type'];
}
echo $step['function'] . '(';
- if (count($step['args']) > 1) {
+ if (isset($step['args']) && (count($step['args']) > 1)) {
echo "
\n";
foreach ($step['args'] as $arg) {
echo "\t";
$this->displayArg($arg, $step['function']);
echo ',' . "
\n";
}
- } elseif (count($step['args']) > 0) {
+ } elseif (isset($step['args']) && (count($step['args']) > 0)) {
foreach ($step['args'] as $arg) {
$this->displayArg($arg, $step['function']);
}
diff --git a/libraries/Error_Handler.class.php b/libraries/Error_Handler.class.php
index b260b2f60..a62077191 100644
--- a/libraries/Error_Handler.class.php
+++ b/libraries/Error_Handler.class.php
@@ -124,6 +124,7 @@ class PMA_Error_Handler
case E_USER_NOTICE:
case E_USER_WARNING:
case E_STRICT:
+ case E_DEPRECATED:
case E_NOTICE:
case E_WARNING:
case E_CORE_WARNING:
diff --git a/libraries/common.inc.php b/libraries/common.inc.php
index c7aa5189e..1c2035928 100644
--- a/libraries/common.inc.php
+++ b/libraries/common.inc.php
@@ -40,6 +40,13 @@ if (version_compare(PHP_VERSION, '5.2.0', 'lt')) {
die('PHP 5.2+ is required');
}
+/**
+ * Backward compatibility for PHP 5.2
+ */
+if (!defined('E_DEPRECATED')) {
+ define('E_DEPRECATED', 8192);
+}
+
/**
* the error handler
*/