From e6e5cb12f5aa93677fe8a373c56bd212a60a82ae Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 06 Jul 2012 03:48:32 -0400
Subject: [PATCH] Handle properly situation when PDO class doesn't exist

---
 program/include/rcube_db.php |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/program/include/rcube_db.php b/program/include/rcube_db.php
index 2ee5623..ba7b96c 100644
--- a/program/include/rcube_db.php
+++ b/program/include/rcube_db.php
@@ -137,6 +137,11 @@
 
         // Connect
         try {
+            // with this check we skip fatal error on PDO object creation
+            if (!class_exists('PDO', false)) {
+                throw new Exception('PDO extension not loaded. See http://php.net/manual/en/intro.pdo.php');
+            }
+
             $this->conn_prepare($dsn);
 
             $dbh = new PDO($dsn_string, $dsn['username'], $dsn['password'], $dsn_options);
@@ -144,7 +149,7 @@
             // don't throw exceptions or warnings
             $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
         }
-        catch (PDOException $e) {
+        catch (Exception $e) {
             $this->db_error     = true;
             $this->db_error_msg = $e->getMessage();
 

--
Gitblit v1.9.1