Ver código fonte

db prefs: ignore cache when preference requested for specified UID (in case cached value of a different profile is stored)
prefs: show (and set) enabled plugins for default profile only

Andrew Dolgov 7 anos atrás
pai
commit
e130b283a7
2 arquivos alterados com 3 adições e 3 exclusões
  1. 1 1
      classes/db/prefs.php
  2. 2 2
      classes/pref/prefs.php

+ 1 - 1
classes/db/prefs.php

@@ -67,7 +67,7 @@ class Db_Prefs {
 			$user_id = sprintf("%d", $user_id);
 		}
 
-		if (isset($this->cache[$pref_name])) {
+		if (isset($this->cache[$pref_name]) && !$user_id) {
 			$tuple = $this->cache[$pref_name];
 			return $this->convert($tuple["value"], $tuple["type"]);
 		}

+ 2 - 2
classes/pref/prefs.php

@@ -739,7 +739,7 @@ class Pref_Prefs extends Handler_Protected {
 				<td width='10%'>".__('Author')."</td></tr>";
 
 		$system_enabled = array_map("trim", explode(",", PLUGINS));
-		$user_enabled = array_map("trim", explode(",", get_pref("_ENABLED_PLUGINS")));
+		$user_enabled = array_map("trim", explode(",", get_pref("_ENABLED_PLUGINS", $_SESSION['uid'])));
 
 		$tmppluginhost = new PluginHost();
 		$tmppluginhost->load_all($tmppluginhost::KIND_ALL, $_SESSION["uid"], true);
@@ -949,7 +949,7 @@ class Pref_Prefs extends Handler_Protected {
 		else
 			$plugins = "";
 
-		set_pref("_ENABLED_PLUGINS", $plugins);
+		set_pref("_ENABLED_PLUGINS", $plugins, $_SESSION["uid"]);
 	}
 
 	function clearplugindata() {