if boolean vars are quoted they become strings
[squirrelmail.git] / functions / db_prefs.php
index a8790b9057829fc03281d08c654c83b0dddca442..2e2c12e58ade73051004d26b33a622b50cceb0f7 100644 (file)
@@ -9,10 +9,6 @@
  * This contains functions for manipulating user preferences
  * stored in a database, accessed though the Pear DB layer.
  *
- * To use this instead of the regular prefs.php, create a
- * database as described below, and replace prefs.php
- * with this file.
- *
  * Database:
  * ---------
  *
@@ -36,8 +32,8 @@ define('SMDB_UNKNOWN', 0);
 define('SMDB_MYSQL', 1);
 define('SMDB_PGSQL', 2);
 
-include_once('DB.php');
-require_once('../config/config.php');
+require_once('DB.php');
+require_once(SM_PATH . 'config/config.php');
 
 global $prefs_are_cached, $prefs_cache;
 
@@ -48,8 +44,8 @@ function cachePrefValues($username) {
         return;
     }
 
-    session_unregister('prefs_cache');
-    session_unregister('prefs_are_cached');
+    sqsession_unregister('prefs_cache');
+    sqsession_unregister('prefs_are_cached');
 
     $db = new dbPrefs;
     if(isset($db->error)) {
@@ -67,8 +63,8 @@ function cachePrefValues($username) {
 
     $prefs_are_cached = true;
 
-    session_register('prefs_cache');
-    session_register('prefs_are_cached');
+    sqsession_register($prefs_cache, 'prefs_cache');
+    sqsession_register($prefs_are_cached, 'prefs_are_cached');
 }
 
 class dbPrefs {
@@ -81,7 +77,7 @@ class dbPrefs {
     var $error = NULL;
     var $db_type = SMDB_UNKNOWN;
 
-    var $default = Array('chosen_theme' => '../themes/default_theme.php',
+    var $default = Array('theme_default' => 0,
                          'show_html_default' => '0');
 
     function open() {
@@ -397,33 +393,23 @@ function checkForPrefs($data_dir, $username) {
 
 /* Writes the Signature */
 function setSig($data_dir, $username, $number, $string) {
-    $db = new dbPrefs;
-    if(isset($db->error)) {
-        $db->failQuery();
-    }
-
     if ($number == "g") {
         $key = '___signature___';
     } else {
         $key = sprintf('___sig%s___', $number);
     }
-    $db->setKey($username, $key, $string);
+    setPref($data_dir, $username, $key, $string);
     return;
 }
 
 /* Gets the signature */
 function getSig($data_dir, $username, $number) {
-    $db = new dbPrefs;
-    if(isset($db->error)) {
-        $db->failQuery();
-    }
-
     if ($number == "g") {
         $key = '___signature___';
     } else {
         $key = sprintf('___sig%d___', $number);
     }
-    return $db->getKey($username, $key);
+    return getPref($data_dir, $username, $key);
 }
 
 ?>