|
@@ -41,9 +41,16 @@
|
|
getKey = window.getKey = function(){
|
|
getKey = window.getKey = function(){
|
|
return Key;
|
|
return Key;
|
|
},
|
|
},
|
|
|
|
+ templateHash = function(type,name){
|
|
|
|
+ for(var i in templates){
|
|
|
|
+ if(templates[i].name == name && templates[i].type == type){
|
|
|
|
+ return templates[i].hash;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return false;
|
|
|
|
+ },
|
|
template = window.template = function(type,name,template){
|
|
template = window.template = function(type,name,template){
|
|
- var d = +new Date,
|
|
+ var id = (function(type,name){
|
|
- id = (function(type,name){
|
|
|
|
for(var i in templates){
|
|
for(var i in templates){
|
|
if(templates[i].name == name && templates[i].type == type){
|
|
if(templates[i].name == name && templates[i].type == type){
|
|
return i;
|
|
return i;
|
|
@@ -57,31 +64,27 @@
|
|
templates.splice(id,1);
|
|
templates.splice(id,1);
|
|
}
|
|
}
|
|
$.localStorage('templates',templates);
|
|
$.localStorage('templates',templates);
|
|
- console.log('Dropping template for: '+name);
|
|
+ console.log('Dropping template for '+type+':'+name);
|
|
return '';
|
|
return '';
|
|
}else{
|
|
}else{
|
|
var o = {
|
|
var o = {
|
|
name: name,
|
|
name: name,
|
|
template: template,
|
|
template: template,
|
|
type: type,
|
|
type: type,
|
|
- date: Number(get('expire'))+Number(d)
|
|
+ hash: templates[id].hash
|
|
}
|
|
}
|
|
if(id===false){
|
|
if(id===false){
|
|
- console.log('Storing new template for: '+name);
|
|
+ console.log('Storing new template for '+type+':'+name);
|
|
templates.push(o);
|
|
templates.push(o);
|
|
}else{
|
|
}else{
|
|
- console.log('Replacing old template for: '+name);
|
|
+ console.log('Replacing old template for '+type+':'+name);
|
|
templates[id] = o;
|
|
templates[id] = o;
|
|
}
|
|
}
|
|
$.localStorage('templates',templates);
|
|
$.localStorage('templates',templates);
|
|
}
|
|
}
|
|
}else if(id!==false){
|
|
}else if(id!==false){
|
|
- console.log('Using cached template for: '+name);
|
|
+ console.log('Using cached template for '+type+':'+name);
|
|
var template = templates[id].template;
|
|
var template = templates[id].template;
|
|
- if(templates[id].date < d){
|
|
|
|
- delete templates[name];
|
|
|
|
- $.localStorage('templates',templates);
|
|
|
|
- }
|
|
|
|
return template;
|
|
return template;
|
|
}else{
|
|
}else{
|
|
console.log('No cached template stored for: '+type+':'+name);
|
|
console.log('No cached template stored for: '+type+':'+name);
|
|
@@ -647,21 +650,20 @@
|
|
id: type
|
|
id: type
|
|
},function(d){
|
|
},function(d){
|
|
if(!exists(d.error)){
|
|
if(!exists(d.error)){
|
|
- var count = d.manifest.length,
|
|
+ var count = d.manifest.length;
|
|
- m = +new Date;
|
|
|
|
for(var i in d.manifest){
|
|
for(var i in d.manifest){
|
|
- console.log('Loading template('+(Number(i)+1)+'/'+d.manifest.length+'): '+d.manifest[i]);
|
|
+ console.log('Loading template('+(Number(i)+1)+'/'+d.manifest.length+'): '+d.manifest[i].name);
|
|
- if(template(type,d.manifest[i]) === ''){
|
|
+ if(templateHash(type,d.manifest[i].name) !== d.manifest[i].hash){
|
|
$.get('api.php',{
|
|
$.get('api.php',{
|
|
type: 'template',
|
|
type: 'template',
|
|
id: type,
|
|
id: type,
|
|
- name: d.manifest[i]
|
|
+ name: d.manifest[i].name
|
|
},function(d){
|
|
},function(d){
|
|
templates.push({
|
|
templates.push({
|
|
name: d.name,
|
|
name: d.name,
|
|
template: d.template,
|
|
template: d.template,
|
|
type: d.type,
|
|
type: d.type,
|
|
- date: Number(get('expire'))+Number(m)
|
|
+ hash: d.hash
|
|
});
|
|
});
|
|
$.localStorage('templates',templates);
|
|
$.localStorage('templates',templates);
|
|
count--;
|
|
count--;
|