comparison avatar.js @ 3:805f24754ff1

Don’t delete avatar on error, only allow update.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Thu, 19 May 2011 16:38:36 +0200
parents ad496e8a5e66
children 8acaa0a575c7
comparison
equal deleted inserted replaced
2:ad496e8a5e66 3:805f24754ff1
192 response = new Element(stanza.name, {to: to, from: from}); 192 response = new Element(stanza.name, {to: to, from: from});
193 193
194 conn.send(makeError(response)); 194 conn.send(makeError(response));
195 } 195 }
196 196
197 var getVCard = function(jid) { 197 var getVCard = function(jid, res) {
198 var id = conn.getUniqueId(); 198 var id = conn.getUniqueId();
199 199
200 var toSend = new Element('iq', {to: jid, from: config.jid, type: 'get', id: id}) 200 var toSend = new Element('iq', {to: jid, from: config.jid, type: 'get', id: id})
201 .c('vCard', {xmlns: 'vcard-temp'}); 201 .c('vCard', {xmlns: 'vcard-temp'});
202 202
203 conn.send(toSend); 203 conn.send(toSend);
204 204
205 return id; 205 sent[id] = res;
206 } 206 }
207 207
208 var showImage = function(jid, res) { 208 var showImage = function(jid, res) {
209 var extension = jids[jid]; 209 var extension = jids[jid];
210 var file = config.directory+'/'+jid+'.'+extension; 210 var file = config.directory+'/'+jid+'.'+extension;
219 } 219 }
220 220
221 var last = new Date(stats.mtime); 221 var last = new Date(stats.mtime);
222 var now = new Date(); 222 var now = new Date();
223 223
224 if (now - last > 24*60*60*1000) { 224 if (now - last > 24*60*60*1000)
225 fs.unlink(file, function() { 225 getVCard(jid, res);
226 delete jids[jid];
227 var id = getVCard(jid);
228 sent[id] = res;
229 });
230 }
231 }); 226 });
232 return; 227 return;
233 } 228 }
234 229
235 fs.readdir('data', function(err, files) { 230 fs.readdir('data', function(err, files) {
319 if (jid in jids) { 314 if (jid in jids) {
320 showImage(jid, res); 315 showImage(jid, res);
321 return; 316 return;
322 } 317 }
323 318
324 var id = getVCard(jid); 319 getVCard(jid, res);
325
326 sent[id] = res;
327 }).listen(8032); 320 }).listen(8032);