moving error message to class constructor function. Prevents
authortokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 14 May 2006 14:58:10 +0000 (14:58 +0000)
committertokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 14 May 2006 14:58:10 +0000 (14:58 +0000)
output when functions/abook_database.php is loaded.

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@11132 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/abook_database.php

index db7e1a008a1cb823f83d40e388f2b587c91b44fb..03dae3a106d92f08a4b2ee09bf8eb4658b6f7b84 100644 (file)
  * @subpackage addressbook
  */
 
-/** Needs the DB functions */
-if (!include_once('DB.php')) {
-    // same error also in db_prefs.php
-    $error  = _("Could not include PEAR database functions required for the database backend.") . "<br />\n";
-    $error .= sprintf(_("Is PEAR installed, and is the include path set correctly to find %s?"),
-                        '<tt>DB.php</tt>') . "<br />\n";
-    $error .= _("Please contact your system administrator and report this error.");
-    error_box($error, $color);
-    exit;
-}
+/**
+ * Needs the DB functions
+ * Don't display errors here. Error will be set in class constructor function.
+ */
+@include_once('DB.php');
 
 /**
  * Address book in a database backend
@@ -103,6 +98,16 @@ class abook_database extends addressbook_backend {
     function abook_database($param) {
         $this->sname = _("Personal address book");
 
+        /* test if Pear DB class is available and freak out if it is not */
+        if (! class_exists('DB')) {
+            // same error also in db_prefs.php
+            $error  = _("Could not include PEAR database functions required for the database backend.") . "<br />\n";
+            $error .= sprintf(_("Is PEAR installed, and is the include path set correctly to find %s?"),
+                              '<tt>DB.php</tt>') . "<br />\n";
+            $error .= _("Please contact your system administrator and report this error.");
+            return $this->set_error($error);
+        }
+
         if (is_array($param)) {
             if (empty($param['dsn']) ||
                 empty($param['table']) ||