1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

better encoding

This commit is contained in:
Luke Pulverenti 2013-04-29 11:06:31 -04:00
parent 5f27709a03
commit ea917e5348
4 changed files with 41 additions and 45 deletions

View file

@ -95,9 +95,11 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
return name; return name;
}()); }());
function encodeName(name) { self.encodeName = function (name) {
return encodeURIComponent(name).replace("'", '%27');
} var val = $.param({ name: name });
return val.substring(val.indexOf('=') + 1).replace("'", '%27');
};
/** /**
* Wraps around jQuery ajax methods to add additional info to the request. * Wraps around jQuery ajax methods to add additional info to the request.
@ -874,7 +876,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
options.userId = userId; options.userId = userId;
} }
var url = self.getUrl("Studios/" + encodeName(name), options); var url = self.getUrl("Studios/" + self.encodeName(name), options);
return self.ajax({ return self.ajax({
type: "GET", type: "GET",
@ -898,7 +900,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
options.userId = userId; options.userId = userId;
} }
var url = self.getUrl("Genres/" + encodeName(name), options); var url = self.getUrl("Genres/" + self.encodeName(name), options);
return self.ajax({ return self.ajax({
type: "GET", type: "GET",
@ -922,7 +924,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
options.userId = userId; options.userId = userId;
} }
var url = self.getUrl("Artists/" + encodeName(name), options); var url = self.getUrl("Artists/" + self.encodeName(name), options);
return self.ajax({ return self.ajax({
type: "GET", type: "GET",
@ -946,7 +948,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
options.userId = userId; options.userId = userId;
} }
var url = self.getUrl("Years/" + encodeName(name), options); var url = self.getUrl("Years/" + self.encodeName(name), options);
return self.ajax({ return self.ajax({
type: "GET", type: "GET",
@ -970,7 +972,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
options.userId = userId; options.userId = userId;
} }
var url = self.getUrl("Persons/" + encodeName(name), options); var url = self.getUrl("Persons/" + self.encodeName(name), options);
return self.ajax({ return self.ajax({
type: "GET", type: "GET",
@ -1096,7 +1098,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
}; };
var url = "Persons/" + encodeName(name) + "/Images/" + options.type; var url = "Persons/" + self.encodeName(name) + "/Images/" + options.type;
if (options.index != null) { if (options.index != null) {
url += "/" + options.index; url += "/" + options.index;
@ -1166,7 +1168,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
}; };
var url = "Genres/" + encodeName(name) + "/Images/" + options.type; var url = "Genres/" + self.encodeName(name) + "/Images/" + options.type;
if (options.index != null) { if (options.index != null) {
url += "/" + options.index; url += "/" + options.index;
@ -1201,7 +1203,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
}; };
var url = "Artists/" + encodeName(name) + "/Images/" + options.type; var url = "Artists/" + self.encodeName(name) + "/Images/" + options.type;
if (options.index != null) { if (options.index != null) {
url += "/" + options.index; url += "/" + options.index;
@ -1236,7 +1238,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
}; };
var url = "Studios/" + encodeName(name) + "/Images/" + options.type; var url = "Studios/" + self.encodeName(name) + "/Images/" + options.type;
if (options.index != null) { if (options.index != null) {
url += "/" + options.index; url += "/" + options.index;
@ -1880,7 +1882,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Favorites/Artists/" + encodeName(name)); var url = self.getUrl("Users/" + userId + "/Favorites/Artists/" + self.encodeName(name));
var method = isFavorite ? "POST" : "DELETE"; var method = isFavorite ? "POST" : "DELETE";
@ -1900,7 +1902,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Favorites/Persons/" + encodeName(name)); var url = self.getUrl("Users/" + userId + "/Favorites/Persons/" + self.encodeName(name));
var method = isFavorite ? "POST" : "DELETE"; var method = isFavorite ? "POST" : "DELETE";
@ -1920,7 +1922,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Favorites/Studios/" + encodeName(name)); var url = self.getUrl("Users/" + userId + "/Favorites/Studios/" + self.encodeName(name));
var method = isFavorite ? "POST" : "DELETE"; var method = isFavorite ? "POST" : "DELETE";
@ -1940,7 +1942,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Favorites/Genres/" + encodeName(name)); var url = self.getUrl("Users/" + userId + "/Favorites/Genres/" + self.encodeName(name));
var method = isFavorite ? "POST" : "DELETE"; var method = isFavorite ? "POST" : "DELETE";
@ -1966,7 +1968,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Ratings/Artists/" + encodeName(name), { var url = self.getUrl("Users/" + userId + "/Ratings/Artists/" + self.encodeName(name), {
likes: likes likes: likes
}); });
@ -1986,7 +1988,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Ratings/Persons/" + encodeName(name), { var url = self.getUrl("Users/" + userId + "/Ratings/Persons/" + self.encodeName(name), {
likes: likes likes: likes
}); });
@ -2006,7 +2008,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Ratings/Studios/" + encodeName(name), { var url = self.getUrl("Users/" + userId + "/Ratings/Studios/" + self.encodeName(name), {
likes: likes likes: likes
}); });
@ -2026,7 +2028,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Ratings/Genres/" + encodeName(name), { var url = self.getUrl("Users/" + userId + "/Ratings/Genres/" + self.encodeName(name), {
likes: likes likes: likes
}); });
@ -2051,7 +2053,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Ratings/Artists/" + encodeName(name)); var url = self.getUrl("Users/" + userId + "/Ratings/Artists/" + self.encodeName(name));
return self.ajax({ return self.ajax({
type: "DELETE", type: "DELETE",
@ -2069,7 +2071,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Ratings/Persons/" + encodeName(name)); var url = self.getUrl("Users/" + userId + "/Ratings/Persons/" + self.encodeName(name));
return self.ajax({ return self.ajax({
type: "DELETE", type: "DELETE",
@ -2087,7 +2089,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Ratings/Studios/" + encodeName(name)); var url = self.getUrl("Users/" + userId + "/Ratings/Studios/" + self.encodeName(name));
return self.ajax({ return self.ajax({
type: "DELETE", type: "DELETE",
@ -2105,7 +2107,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Users/" + userId + "/Ratings/Genres/" + encodeName(name)); var url = self.getUrl("Users/" + userId + "/Ratings/Genres/" + self.encodeName(name));
return self.ajax({ return self.ajax({
type: "DELETE", type: "DELETE",
@ -2126,7 +2128,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Persons/" + encodeName(name) + "/Counts", { var url = self.getUrl("Persons/" + self.encodeName(name) + "/Counts", {
userId: userId userId: userId
}); });
@ -2150,7 +2152,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Genres/" + encodeName(name) + "/Counts", { var url = self.getUrl("Genres/" + self.encodeName(name) + "/Counts", {
userId: userId userId: userId
}); });
@ -2174,7 +2176,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Artists/" + encodeName(name) + "/Counts", { var url = self.getUrl("Artists/" + self.encodeName(name) + "/Counts", {
userId: userId userId: userId
}); });
@ -2198,7 +2200,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Studios/" + encodeName(name) + "/Counts", { var url = self.getUrl("Studios/" + self.encodeName(name) + "/Counts", {
userId: userId userId: userId
}); });

View file

@ -30,7 +30,7 @@
$('#itemName', page).html(name); $('#itemName', page).html(name);
if (item.AlbumArtist && item.Type == "Audio") { if (item.AlbumArtist && item.Type == "Audio") {
$('#albumArtist', page).html('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&artist=' + item.AlbumArtist + '">' + item.AlbumArtist + '</a>').show().trigger('create'); $('#albumArtist', page).html('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&artist=' + ApiClient.encodeName(item.AlbumArtist) + '">' + item.AlbumArtist + '</a>').show().trigger('create');
} }
else { else {
$('#albumArtist', page).hide(); $('#albumArtist', page).hide();
@ -45,7 +45,7 @@
} }
else if (item.AlbumArtist && item.Type == "MusicAlbum") { else if (item.AlbumArtist && item.Type == "MusicAlbum") {
$('#seriesName', page).html('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&artist=' + item.AlbumArtist + '">' + item.AlbumArtist + '</a>').show().trigger('create'); $('#albumArtist', page).html('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&artist=' + ApiClient.encodeName(item.AlbumArtist) + '">' + item.AlbumArtist + '</a>').show().trigger('create');
} }
else if (item.Album) { else if (item.Album) {

View file

@ -1,11 +1,5 @@
var LibraryBrowser = (function (window, $) { var LibraryBrowser = (function (window, $) {
function encodeName(name) {
var val = $.param({ name: name });
return val.substring(val.indexOf('=') + 1);
}
var defaultBackground = "#999;"; var defaultBackground = "#999;";
return { return {
@ -265,7 +259,7 @@
var artist = item.Artists[0]; var artist = item.Artists[0];
html += '<td><a href="itembynamedetails.html?context=music&artist=' + artist + '">' + artist + '</a></td>'; html += '<td><a href="itembynamedetails.html?context=music&artist=' + ApiClient.encodeName(artist) + '">' + artist + '</a></td>';
} else { } else {
html += '<td></td>'; html += '<td></td>';
} }
@ -314,16 +308,16 @@
return "itemdetails.html?id=" + id; return "itemdetails.html?id=" + id;
} }
if (item.Type == "Genre") { if (item.Type == "Genre") {
return "itembynamedetails.html?genre=" + encodeName(item.Name) + "&context=" + itemByNameContext; return "itembynamedetails.html?genre=" + ApiClient.encodeName(item.Name) + "&context=" + itemByNameContext;
} }
if (item.Type == "Studio") { if (item.Type == "Studio") {
return "itembynamedetails.html?studio=" + encodeName(item.Name) + "&context=" + itemByNameContext; return "itembynamedetails.html?studio=" + ApiClient.encodeName(item.Name) + "&context=" + itemByNameContext;
} }
if (item.Type == "Person") { if (item.Type == "Person") {
return "itembynamedetails.html?person=" + encodeName(item.Name) + "&context=" + itemByNameContext; return "itembynamedetails.html?person=" + ApiClient.encodeName(item.Name) + "&context=" + itemByNameContext;
} }
if (item.Type == "Artist") { if (item.Type == "Artist") {
return "itembynamedetails.html?artist=" + encodeName(item.Name) + "&context=" + (itemByNameContext || "music"); return "itembynamedetails.html?artist=" + ApiClient.encodeName(item.Name) + "&context=" + (itemByNameContext || "music");
} }
return item.IsFolder ? (id ? "itemList.html?parentId=" + id : "#") : "itemdetails.html?id=" + id; return item.IsFolder ? (id ? "itemList.html?parentId=" + id : "#") : "itemdetails.html?id=" + id;
@ -1236,7 +1230,7 @@
html += '&nbsp;&nbsp;/&nbsp;&nbsp;'; html += '&nbsp;&nbsp;/&nbsp;&nbsp;';
} }
html += '<a href="itembynamedetails.html?context=' + context + '&studio=' + encodeName(item.Studios[i]) + '">' + item.Studios[i] + '</a>'; html += '<a href="itembynamedetails.html?context=' + context + '&studio=' + ApiClient.encodeName(item.Studios[i]) + '">' + item.Studios[i] + '</a>';
} }
elem.show().html(html).trigger('create'); elem.show().html(html).trigger('create');
@ -1258,7 +1252,7 @@
html += '&nbsp;&nbsp;/&nbsp;&nbsp;'; html += '&nbsp;&nbsp;/&nbsp;&nbsp;';
} }
html += '<a href="itembynamedetails.html?context=' + context + '&genre=' + encodeName(item.Genres[i]) + '">' + item.Genres[i] + '</a>'; html += '<a href="itembynamedetails.html?context=' + context + '&genre=' + ApiClient.encodeName(item.Genres[i]) + '">' + item.Genres[i] + '</a>';
} }
elem.show().html(html).trigger('create'); elem.show().html(html).trigger('create');
@ -1450,7 +1444,7 @@
var role = cast.Role || cast.Type; var role = cast.Role || cast.Type;
html += '<a href="itembynamedetails.html?context=' + context + '&person=' + encodeName(cast.Name) + '">'; html += '<a href="itembynamedetails.html?context=' + context + '&person=' + ApiClient.encodeName(cast.Name) + '">';
html += '<div class="posterViewItem posterViewItemWithDualText">'; html += '<div class="posterViewItem posterViewItemWithDualText">';
if (cast.PrimaryImageTag) { if (cast.PrimaryImageTag) {

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.88" targetFramework="net45" /> <package id="MediaBrowser.ApiClient.Javascript" version="3.0.91" targetFramework="net45" />
<package id="ServiceStack.Common" version="3.9.43" targetFramework="net45" /> <package id="ServiceStack.Common" version="3.9.43" targetFramework="net45" />
<package id="ServiceStack.Text" version="3.9.43" targetFramework="net45" /> <package id="ServiceStack.Text" version="3.9.43" targetFramework="net45" />
</packages> </packages>