diff --git a/phpBB/includes/db/dbal.php b/phpBB/includes/db/dbal.php
index 5555bf09ea..c02f6d4e92 100644
--- a/phpBB/includes/db/dbal.php
+++ b/phpBB/includes/db/dbal.php
@@ -192,14 +192,26 @@ class dbal
*/
function sql_error($sql = '')
{
+ global $auth, $user;
+
$error = $this->_sql_error();
if (!$this->return_on_error)
{
- $this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF'];
- $this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : ''));
+ $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]
' . $error['message'] . ' [' . $error['code'] . '];
- $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]
' . $error['message'] . ' [' . $error['code'] . ']
CALLING PAGE
' . htmlspecialchars($this_page) . (($sql != '') ? '
SQL
' . $sql : '') . '
';
+ // Show complete SQL error and path to administrators only
+ if ($auth->acl_get('a_'))
+ {
+ $this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF'];
+ $this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : ''));
+
+ $message .= '
CALLING PAGE
' . htmlspecialchars($this_page) . (($sql != '') ? '
SQL
' . $sql : '') . '
';
+ }
+ else
+ {
+ $message .= '
' . $user->lang['SQL_ERROR_OCCURRED'];
+ }
if ($this->transaction)
{
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index 7b03929a62..6197808a67 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -362,6 +362,7 @@ $lang = array_merge($lang, array(
'SORT_TOPIC_TITLE' => 'Topic Title',
'SORT_USERNAME' => 'Username',
'SPLIT_TOPIC' => 'Split Topic',
+ 'SQL_ERROR_OCCURRED' => 'An sql error occurred while fetching this page. Please contact an administrator if this problem persist.',
'STATISTICS' => 'Statistics',
'START_WATCHING_FORUM' => 'Subscribe Forum',
'START_WATCHING_TOPIC' => 'Subscribe Topic',