X-Git-Url: http://git.babelmonkeys.de/?p=socialXMPP.git;a=blobdiff_plain;f=scripts%2Fbasic.js;h=fbb8d859f5d33db21c200164c9a53856dc7f90f5;hp=4b306950714a66569ba9b888097a2b0ed55d4f51;hb=0e2c03325dce72e8a0b7baf3ba6a730e8989c59a;hpb=13b28a1b50a2a84366f5781e9434d7f46c0ceed1
diff --git a/scripts/basic.js b/scripts/basic.js
index 4b30695..fbb8d85 100644
--- a/scripts/basic.js
+++ b/scripts/basic.js
@@ -277,6 +277,33 @@ function genCaps() {
return b64_sha1(S);
}
+function handleTune(jid, tuneXML) {
+ var tune = new Tune();
+ if (tuneXML.childNodes.length > 0) {
+ tune.artist = Strophe.getText(tuneXML.getElementsByTagName('artist')[0]);
+ tune.length= Strophe.getText(tuneXML.getElementsByTagName('length')[0]);
+ tune.rating= Strophe.getText(tuneXML.getElementsByTagName('rating')[0]);
+ tune.source= Strophe.getText(tuneXML.getElementsByTagName('source')[0]);
+ tune.title= Strophe.getText(tuneXML.getElementsByTagName('title')[0]);
+ tune.track= Strophe.getText(tuneXML.getElementsByTagName('track')[0]);
+ tune.uri= Strophe.getText(tuneXML.getElementsByTagName('uri')[0]);
+ if (roster[jid2id(jid)].visible == true) {
+ if ( $('#tune').length > 0) {
+ $('#tune').empty();
+ $('#tune').append('Tune: ');
+ $('#tune').append(Strophe.xmlTextNode('Listening to '+ tune.title +
+ ' by ' + tune.artist + ' from ' + tune.source));
+ } else {
+ $('#vCard ul').append('
Tune: Listening to '+ tune.title +
+ ' by ' + tune.artist + ' from ' + tune.source + '')
+ }
+ }
+ } else {
+ $('#tune').remove();
+ }
+ roster[jid2id(jid)].tune = tune;
+}
+
function _cbPEP(e) {
var from = e.getAttribute('from');
if (Strophe.getBareJidFromJid(from) == Strophe.getBareJidFromJid(connection.jid)) {
@@ -285,30 +312,7 @@ function _cbPEP(e) {
var items = e.getElementsByTagName('items')[0];
// Handle Tune
if (items.getAttribute('node') == NS_TUNE) {
- var tune = new Tune();
- if (items.getElementsByTagName('tune')[0].childNodes.length > 0) {
- tune.artist = Strophe.getText(items.getElementsByTagName('artist')[0]);
- tune.length= Strophe.getText(items.getElementsByTagName('length')[0]);
- tune.rating= Strophe.getText(items.getElementsByTagName('rating')[0]);
- tune.source= Strophe.getText(items.getElementsByTagName('source')[0]);
- tune.title= Strophe.getText(items.getElementsByTagName('title')[0]);
- tune.track= Strophe.getText(items.getElementsByTagName('track')[0]);
- tune.uri= Strophe.getText(items.getElementsByTagName('uri')[0]);
- if (roster[jid2id(from)].visible == true) {
- if ( $('#tune').length > 0) {
- $('#tune').empty();
- $('#tune').append('Tune: ');
- $('#tune').append(Strophe.xmlTextNode('Listening to '+ tune.title +
- ' by ' + tune.artist + ' from ' + tune.source));
- } else {
- $('#vCard ul').append('Tune: Listening to '+ tune.title +
- ' by ' + tune.artist + ' from ' + tune.source + '')
- }
- }
- } else {
- $('#tune').remove();
- }
- roster[jid2id(from)].tune = tune;
+ handleTune(from, items.getElementsByTagName('tune')[0]);
}
return true;
}