浏览代码

Probably the problem with php 4.1 is a register/unregister order. This
new prefs version changes that order to a more logical one and the prefs
get cached again. Should be noted for other modules. I maintain the
workaround because it is a logical check to be done.

philippe_mingo 23 年之前
父节点
当前提交
d532e5b82b
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      functions/prefs.php

+ 4 - 4
functions/prefs.php

@@ -29,7 +29,10 @@ function cachePrefValues($data_dir, $username) {
     if ($prefs_are_cached) {
         return;
     }
-
+    
+    session_unregister('prefs_cache');
+    session_unregister('prefs_are_cached');
+    
     /* Calculate the filename for the user's preference file */
     $filename = getHashedFile($username, $data_dir, "$username.pref");
 
@@ -65,11 +68,8 @@ function cachePrefValues($data_dir, $username) {
      }
      fclose($file);
 
-     session_unregister('prefs_cache');
      session_register('prefs_cache');
-       
      $prefs_are_cached = true;
-     session_unregister('prefs_are_cached');
      session_register('prefs_are_cached');
 }