From a883fcca3c93e866a08d69748780c65cbfde4306 Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Sun, 15 Jan 2012 19:11:25 +0100
Subject: [PATCH] add user and instance awere localstorage to prevent
 collisions when using localstorage

---
 core/js/js.js | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/core/js/js.js b/core/js/js.js
index 2bb6cff0cb..56ce87f1c2 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -130,6 +130,35 @@ OC.search.lastResults={};
 OC.addStyle.loaded=[];
 OC.addScript.loaded=[];
 
+if(typeof localStorage !='undefined'){
+	//user and instance awere localstorage
+	OC.localStorage={
+		namespace:'oc_'+OC.currentUser+'_'+OC.webroot+'_',
+		hasItem:function(name){
+			return OC.localStorage.getItem(name)!=null;
+		},
+		setItem:function(name,item){
+			return localStorage.setItem(OC.localStorage.namespace+name,JSON.stringify(item));
+		},
+		getItem:function(name){
+			return JSON.parse(localStorage.getItem(OC.localStorage.namespace+name));
+		}
+	}
+}else{
+	//dummy localstorage
+	OC.localStorage={
+		hasItem:function(name){
+			return false;
+		},
+		setItem:function(name,item){
+			return false;
+		},
+		getItem:function(name){
+			return null;
+		}
+	}
+}
+
 /**
  * implement Array.filter for browsers without native support
  */
@@ -410,3 +439,5 @@ if (!Array.prototype.map){
 $.fn.filterAttr = function(attr_name, attr_value) {  
    return this.filter(function() { return $(this).attr(attr_name) === attr_value; });
 };
+
+
-- 
GitLab