@@ -155,7 +155,7 @@ function renderPlaylistFilesHTML (files, xinfo, el, artifactType, extraFiles) {
155
155
tdBuy +
156
156
"</tr>" ) ;
157
157
var trackEl = extraFiles . children ( ) . last ( ) ;
158
- trackEl . data ( { track : file , name : name , url : IPFSUrl ( [ xinfo [ 'DHT Hash' ] , file . fname ] ) , sugPlay : file . sugPlay / priceScale , minPlay : file . minPlay / priceScale , sugBuy : file . sugBuy / priceScale , minBuy : file . minBuy / priceScale } ) ;
158
+ trackEl . data ( { track : file , name : name , url : IPFSUrl ( [ xinfo [ 'DHT Hash' ] , file . fname ] ) , sugPlay : file . sugPlay / priceScale , minPlay : file . minPlay / priceScale , sugBuy : file . sugBuy / priceScale , minBuy : file . minBuy / priceScale } ) ;
159
159
} else {
160
160
var fileRuntime = file . runtime ;
161
161
if ( ! file . runtime ) {
@@ -169,7 +169,7 @@ function renderPlaylistFilesHTML (files, xinfo, el, artifactType, extraFiles) {
169
169
tdBuy +
170
170
"</tr>" ) ;
171
171
var trackEl = el . children ( ) . last ( ) ;
172
- trackEl . data ( { track : file , name : name , url : IPFSUrl ( [ xinfo [ 'DHT Hash' ] , file . fname ] ) , sugPlay : file . sugPlay / priceScale , minPlay : file . minPlay / priceScale , sugBuy : file . sugBuy / priceScale , minBuy : file . minBuy / priceScale } ) ;
172
+ trackEl . data ( { track : file , name : name , url : IPFSUrl ( [ xinfo [ 'DHT Hash' ] , file . fname ] ) , sugPlay : file . sugPlay / priceScale , minPlay : file . minPlay / priceScale , sugBuy : file . sugBuy / priceScale , minBuy : file . minBuy / priceScale } ) ;
173
173
}
174
174
} ) ;
175
175
if ( extraFiles . children ( ) . length < 1 ) {
@@ -404,7 +404,13 @@ function watchForPin (addr, filename) {
404
404
}
405
405
406
406
function IPFSUrl ( components ) {
407
- return encodeURI ( IPFSHost + '/ipfs/' + components . join ( '/' ) ) ;
407
+ var tmpComponents = [ ] ;
408
+ for ( var i in components )
409
+ tmpComponents [ i ] = encodeURIComponent ( components [ i ] ) ;
410
+
411
+ console . log ( tmpComponents ) ;
412
+
413
+ return IPFSHost + '/ipfs/' + tmpComponents . join ( '/' ) ;
408
414
}
409
415
410
416
function showPaymentOption ( e ) {
@@ -739,6 +745,9 @@ function embedFile(mediaType, fileHash, mediaFilename, posterFrame) {
739
745
if ( mediaFilename == 'none' ) {
740
746
mediaFilename = '' ;
741
747
}
748
+
749
+ mediaFilename = encodeURIComponent ( mediaFilename ) ;
750
+
742
751
if ( mediaType == 'book' ) {
743
752
embedCode = '<object data="' + IPFSHost + '/ipfs/' + fileHash + '/' + mediaFilename + '" type="application/pdf" width="100%" height="800px" class="book-embed"><p>No PDF plugin installed. You can <a href="' + IPFSHost + '/ipfs/' + fileHash + '">click here to download the PDF file.</a></p></object>'
744
753
} else if ( ( mediaType == 'thing' ) && ( fileExt != 'htm' ) ) {
@@ -763,11 +772,13 @@ function BTCtoUSD (amount) {
763
772
764
773
function loadTrack ( name , url , fname ) {
765
774
filetype = filetype . toLowerCase ( ) ;
766
- fname = encodeURI ( fname ) . replace ( '+' , '%20' ) ;
775
+ fname = encodeURIComponent ( fname ) . replace ( '+' , '%20' ) ;
767
776
var posterurl = url ;
768
777
if ( posterFrame == 'alexandria-default-posterframe.png' ) {
769
778
posterurl = IPFSHost + '/ipfs/QmQhoySfbL9j4jbDRSsZaeu3DACVBYW1o9vgs8aZAc5bLP/' ;
770
779
}
780
+
781
+ posterFrame = encodeURIComponent ( posterFrame ) ;
771
782
if ( fname == 'none' ) {
772
783
$ ( '#audio-player' ) . hide ( ) ;
773
784
if ( $ ( '#native-player' ) ) {
@@ -875,14 +886,13 @@ function onPaymentDone (action, file) {
875
886
876
887
console . info ( file ) ;
877
888
878
- var trackPath = file . url . slice ( 0 , '-' + encodeURI ( file . track . fname ) . length ) ;
879
-
880
889
var fileType = file . track . type ;
881
890
if ( ! fileType ) {
882
891
fileType = history . state . mediaType ;
883
892
}
884
893
var fileName = file . track . fname ;
885
- var trackPath = file . url . slice ( 0 , '-' + encodeURI ( fileName ) . length ) ;
894
+ var trackPath = file . url . slice ( 0 , file . url . replace ( encodeURIComponent ( fileName ) , '' ) . length ) ;
895
+
886
896
if ( ( fileType === 'video' ) || ( fileType === 'movie' ) || ( fileType === 'music' ) ) {
887
897
var res = loadTrack ( file . track . dname , trackPath , fileName ) ;
888
898
0 commit comments