]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/util.php
Ticket #2750: fixes to HTTP caching behavior across login/logout boundaries
[quix0rs-gnu-social.git] / lib / util.php
index 6d2e99b2ae72a83ebc0151f588730c80559ced34..e0457140e253955c93ff9bac74ec5c09fb39c4b7 100644 (file)
@@ -494,6 +494,29 @@ function common_is_real_login()
     return common_logged_in() && $_SESSION['real_login'];
 }
 
+/**
+ * Get a hash portion for HTTP caching Etags and such including
+ * info on the current user's session. If login/logout state changes,
+ * or we've changed accounts, or we've renamed the current user,
+ * we'll get a new hash value.
+ *
+ * This should not be considered secure information.
+ *
+ * @param User $user (optional; uses common_current_user() if left out)
+ * @return string
+ */
+function common_user_cache_hash($user=false)
+{
+    if ($user === false) {
+        $user = common_current_user();
+    }
+    if ($user) {
+        return crc32($user->id . ':' . $user->nickname);
+    } else {
+        return '0';
+    }
+}
+
 // get canonical version of nickname for comparison
 function common_canonical_nickname($nickname)
 {