Avoid rendering BB code when showing PHP/MySQL errors
Signed-off-by: Michal Čihař <michal@cihar.com>
This commit is contained in:
parent
7ddcbc0de6
commit
733a5d5821
@ -175,16 +175,19 @@ class ErrorHandler
|
||||
$this->errors[$error->getHash()] = $error;
|
||||
|
||||
switch ($error->getNumber()) {
|
||||
case E_USER_NOTICE:
|
||||
case E_USER_WARNING:
|
||||
case E_STRICT:
|
||||
case E_DEPRECATED:
|
||||
case E_NOTICE:
|
||||
case E_WARNING:
|
||||
case E_CORE_WARNING:
|
||||
case E_COMPILE_WARNING:
|
||||
case E_USER_ERROR:
|
||||
case E_RECOVERABLE_ERROR:
|
||||
/* Avoid rendering BB code in PHP errors */
|
||||
$error->setBBCode(false);
|
||||
break;
|
||||
case E_USER_NOTICE:
|
||||
case E_USER_WARNING:
|
||||
case E_USER_ERROR:
|
||||
// just collect the error
|
||||
// display is called from outside
|
||||
break;
|
||||
|
||||
@ -112,6 +112,14 @@ class Message
|
||||
*/
|
||||
protected $isDisplayed = false;
|
||||
|
||||
/**
|
||||
* Whether to use BB code when displaying.
|
||||
*
|
||||
* @access protected
|
||||
* @var boolean
|
||||
*/
|
||||
protected $useBBCode = true;
|
||||
|
||||
/**
|
||||
* Unique id
|
||||
*
|
||||
@ -236,6 +244,7 @@ class Message
|
||||
{
|
||||
$r = new Message('', $type);
|
||||
$r->setMessage($message);
|
||||
$r->setBBCode(false);
|
||||
return $r;
|
||||
}
|
||||
|
||||
@ -392,6 +401,18 @@ class Message
|
||||
return $this->getNumber() === Message::ERROR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set whether we should use BB Code when rendering.
|
||||
*
|
||||
* @param boolean $useBBCode Use BB Code?
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setBBCode($useBBCode)
|
||||
{
|
||||
$this->useBBCode = $useBBCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* set raw message (overrides string)
|
||||
*
|
||||
@ -647,7 +668,9 @@ class Message
|
||||
$message = Message::format($message, $this->getParams());
|
||||
}
|
||||
|
||||
$message = Message::decodeBB($message);
|
||||
if ($this->useBBCode) {
|
||||
$message = Message::decodeBB($message);
|
||||
}
|
||||
|
||||
foreach ($this->getAddedMessages() as $add_message) {
|
||||
$message .= $add_message;
|
||||
|
||||
@ -114,7 +114,7 @@ abstract class AuthenticationPlugin
|
||||
} else {
|
||||
$dbi_error = $GLOBALS['dbi']->getError();
|
||||
if (!empty($dbi_error)) {
|
||||
return PMA_sanitize($dbi_error);
|
||||
return htmlspecialchars($dbi_error);
|
||||
} elseif (isset($GLOBALS['errno'])) {
|
||||
return '#' . $GLOBALS['errno'] . ' '
|
||||
. __('Cannot log in to the MySQL server');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user