diff --git a/ChangeLog b/ChangeLog
index a7cf8a633..007de6119 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,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 1b8b88814..455670330 100644
--- a/libraries/Error.class.php
+++ b/libraries/Error.class.php
@@ -35,6 +35,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',
);
@@ -56,6 +57,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',
);
@@ -299,14 +301,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 4e4b2eab5..c6cf24ada 100644
--- a/libraries/Error_Handler.class.php
+++ b/libraries/Error_Handler.class.php
@@ -122,6 +122,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 64bcd3613..3f9d86d7b 100644
--- a/libraries/common.inc.php
+++ b/libraries/common.inc.php
@@ -39,6 +39,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
*/