From b51de3279f579f53069a1aee49686102bce81166 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Tue, 14 Oct 2014 09:13:49 -0400
Subject: [PATCH] Display custom error messages from plugins hooks (as documented in the API spec)

---
 index.php |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/index.php b/index.php
index 9c87f9a..04362ef 100644
--- a/index.php
+++ b/index.php
@@ -147,7 +147,7 @@
             $error_code = RCMAIL::ERROR_INVALID_REQUEST;
         }
         else {
-            $error_code = $auth['error'] ? $auth['error'] : $RCMAIL->login_error();
+            $error_code = is_numeric($auth['error']) ? $auth['error'] : $RCMAIL->login_error();
         }
 
         $error_labels = array(
@@ -157,7 +157,7 @@
             RCMAIL::ERROR_INVALID_HOST     => 'invalidhost',
         );
 
-        $error_message = $error_labels[$error_code] ? $error_labels[$error_code] : 'loginfailed';
+        $error_message = !is_numeric($auth['error']) ? $auth['error'] : ($error_labels[$error_code] ?: 'loginfailed');
 
         $OUTPUT->show_message($error_message, 'warning');
 

--
Gitblit v1.9.1