In stead of just crashing, give a proper error when PEAR DB functions could
[squirrelmail.git] / functions / db_prefs.php
index 5b204e59567ef44a9d0981759ddc96405a35723f..981177b8feec1796590a015421a7837bb25077de 100644 (file)
@@ -25,7 +25,7 @@
  * Configuration of databasename, username and password is done
  * by using conf.pl or the administrator plugin
  *
- * $Id$
+ * @version $Id$
  * @package squirrelmail
  */
 
@@ -36,11 +36,20 @@ define('SMDB_MYSQL', 1);
 /** PostgreSQL */
 define('SMDB_PGSQL', 2);
 
-require_once('DB.php');
 require_once(SM_PATH . 'config/config.php');
+if (!include_once('DB.php')) {
+    // same error also in abook_database.php
+    require_once(SM_PATH . 'functions/display_messages.php');
+    $error  = _("Could not include PEAR database functions required for the database backend.") . "<br />\n";
+    $error .= _("Please contact your system administrator and report this error.");
+    error_box($error, $color);
+}
 
 global $prefs_are_cached, $prefs_cache;
 
+/**
+ * @ignore
+ */
 function cachePrefValues($username) {
     global $prefs_are_cached, $prefs_cache;
 
@@ -278,7 +287,10 @@ class dbPrefs {
 } /* end class dbPrefs */
 
 
-/* returns the value for the pref $string */
+/**
+ * returns the value for the pref $string
+ * @ignore
+ */
 function getPref($data_dir, $username, $string, $default = '') {
     $db = new dbPrefs;
     if(isset($db->error)) {
@@ -290,7 +302,10 @@ function getPref($data_dir, $username, $string, $default = '') {
     return $db->getKey($username, $string, $default);
 }
 
-/* Remove the pref $string */
+/**
+ * Remove the pref $string
+ * @ignore
+ */
 function removePref($data_dir, $username, $string) {
     global $prefs_cache;
     $db = new dbPrefs;
@@ -308,7 +323,10 @@ function removePref($data_dir, $username, $string) {
     return;
 }
 
-/* sets the pref, $string, to $set_to */
+/**
+ * sets the pref, $string, to $set_to
+ * @ignore
+ */
 function setPref($data_dir, $username, $string, $set_to) {
     global $prefs_cache;
 
@@ -335,7 +353,10 @@ function setPref($data_dir, $username, $string, $set_to) {
     return;
 }
 
-/* This checks if the prefs are available */
+/**
+ * This checks if the prefs are available
+ * @ignore
+ */
 function checkForPrefs($data_dir, $username) {
     $db = new dbPrefs;
     if(isset($db->error)) {
@@ -343,7 +364,10 @@ function checkForPrefs($data_dir, $username) {
     }
 }
 
-/* Writes the Signature */
+/**
+ * Writes the Signature
+ * @ignore
+ */
 function setSig($data_dir, $username, $number, $string) {
     if ($number == "g") {
         $key = '___signature___';
@@ -354,7 +378,10 @@ function setSig($data_dir, $username, $number, $string) {
     return;
 }
 
-/* Gets the signature */
+/**
+ * Gets the signature
+ * @ignore
+ */
 function getSig($data_dir, $username, $number) {
     if ($number == "g") {
         $key = '___signature___';
@@ -364,4 +391,5 @@ function getSig($data_dir, $username, $number) {
     return getPref($data_dir, $username, $key);
 }
 
+// vim: et ts=4
 ?>