2009-11-24, 20:58
I'll try using this on FireFox and Chrome. I only tested with IE...Doh
Kab
Kab
Kabooga Wrote:I'll try using this on FireFox and Chrome. I only tested with IE...Doh
Kab
Kabooga Wrote:New version has been put in the google code project. v1.30
http://code.google.com/p/xbmcontrol-web/
Many changes have been made to this version.
1) Works with extremely large music databases.
Enjoy,
--- XBMControl_escaped.js 2009-11-26 01:09:37.449795279 +0100
+++ XBMControl.js 2009-11-26 01:08:39.153798731 +0100
@@ -252,7 +252,7 @@
if (genreSelected == 'All') {
storeArtist.loadData(musicArtistAll);
} else {
- var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select DISTINCT strArtist from songview WHERE strGenre=\'' + genreSelected + '\' ORDER BY strArtist)';
+ var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select DISTINCT strArtist from songview WHERE strGenre=\'' + encodeURIComponent(genreSelected) + '\' ORDER BY strArtist)';
Ext.Ajax.request({
url: inputUrl,
method: 'GET',
@@ -331,6 +331,10 @@
}
+function escapeQuotes(str) {
+ return str.replace("'", "''")
+}
+
function handleArtistRowClick(aThis, aIndex, aObj) {
var artistSelected = aThis.getStore().getAt(aIndex).data.artist; //OK, we have our record
@@ -339,13 +343,13 @@
if (artistSelected == 'All') {
var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select strGenre, strArtist, strAlbum, strPath, strTitle, strFileName, iDuration from songview)';
} else {
- var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select strGenre, strArtist, strAlbum, strPath, strTitle, strFileName, iDuration from songview WHERE strArtist =\'' + artistSelected + '\')';
+ var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select strGenre, strArtist, strAlbum, strPath, strTitle, strFileName, iDuration from songview WHERE strArtist =\'' + encodeURIComponent(escapeQuotes(artistSelected)) + '\')';
}
} else {
if (artistSelected == 'All') {
- var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select strGenre, strArtist, strAlbum, strPath, strTitle, strFileName, iDuration from songview WHERE strGenre=\'' + genreSelected + '\')';
+ var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select strGenre, strArtist, strAlbum, strPath, strTitle, strFileName, iDuration from songview WHERE strGenre=\'' + encodeURIComponent(escapeQuotes(genreSelected)) + '\')';
} else {
- var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select strGenre, strArtist, strAlbum, strPath, strTitle, strFileName, iDuration from songview WHERE strGenre=\'' + genreSelected + '\' AND strArtist =\'' + artistSelected + '\')';
+ var inputUrl = '/xbmcCmds/xbmcHttp?command=querymusicdatabase(select strGenre, strArtist, strAlbum, strPath, strTitle, strFileName, iDuration from songview WHERE strGenre=\'' + encodeURIComponent(escapeQuotes(genreSelected)) + '\' AND strArtist =\'' + encodeURIComponent(escapeQuotes(artistSelected)) + '\')';
}
}
Ext.Ajax.request({