Improved sanatization for server-side templating.
This commit is contained in:
parent
35fd81e1b2
commit
08fe051269
30 changed files with 151 additions and 104 deletions
|
|
@ -19,13 +19,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. %>
|
|||
<span class="channel-info-span" id="channel-info-thumbnail-span">
|
||||
<p class="channel-info-label">Thumbnail:</p>
|
||||
<div>
|
||||
<input value="<%= channel.thumbnail %>" placeholder="Thumbnail URL" style="display: none;" id="channel-info-thumbnail-prompt">
|
||||
<img class="interactive" src="<%= channel.thumbnail %> " id="channel-info-thumbnail">
|
||||
<input value="<%= encodeURI(unescape(channel.thumbnail)) %>" placeholder="Thumbnail URL" style="display: none;" id="channel-info-thumbnail-prompt">
|
||||
<img class="interactive" src="<%= encodeURI(unescape(channel.thumbnail)) %> " id="channel-info-thumbnail">
|
||||
</div>
|
||||
</span>
|
||||
<span class="channel-info-span" id="channel-info-description-span">
|
||||
<p class="channel-info-label">Description:</p>
|
||||
<p class="interactive" id="channel-info-description"><%= channel.description %></p>
|
||||
<p class="interactive" id="channel-info-description"><%= unescape(channel.description) %></p>
|
||||
<span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -20,10 +20,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. %>
|
|||
<% Object.keys(channel.permissions.toObject()).forEach((key)=>{ %>
|
||||
<% if(key != "channelOverrides"){ %>
|
||||
<span class="admin-list-field-container">
|
||||
<label class="admin-list-label admin-perm-list" for="admin-perm-list-rank-select-<%- key %>"><%- key %>: </label>
|
||||
<select data-key="<%- key %>" name="admin-perm-list-rank-select-<%- key %>" class="channel-perm-select admin-list-select admin-perm-list-rank-select">
|
||||
<%# These strings are generated internally server-side. There really isn't much of a reason to sanatize them.%>
|
||||
<label class="admin-list-label admin-perm-list" for="admin-perm-list-rank-select-<%= key %>"><%= key %>: </label>
|
||||
<select data-key="<%= key %>" name="admin-perm-list-rank-select-<%= key %>" class="channel-perm-select admin-list-select admin-perm-list-rank-select">
|
||||
<%rankEnum.slice().reverse().forEach((rank)=>{ %>
|
||||
<option <%if(channel.permissions.toObject()[key] == rank){%> selected <%}%> value="<%- rank %>"><%- rank %></option>
|
||||
<option <%if(channel.permissions.toObject()[key] == rank){%> selected <%}%> value="<%= rank %>"><%= rank %></option>
|
||||
<% }); %>
|
||||
</select>
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -19,13 +19,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. %>
|
|||
<form action="javascript:" class="admin-list-field">
|
||||
<% Object.keys(channel.settings).forEach((key) => { %>
|
||||
<span class="admin-list-field-container">
|
||||
<label class="admin-list-label"><%- key %>:</label>
|
||||
<label class="admin-list-label"><%= key %>:</label>
|
||||
<% switch(typeof channel.settings[key]){
|
||||
case "string": %>
|
||||
<input data-key="<%- key %>" class="channel-preference-list-item" value="<%- channel.settings[key] %>">
|
||||
<input data-key="<%= key %>" class="channel-preference-list-item" value="<%= channel.settings[key] %>">
|
||||
<% break;
|
||||
default: %>
|
||||
<input data-key="<%- key %>" class="channel-preference-list-item" type="checkbox" <% if(channel.settings[key]){ %> checked <% } %>>
|
||||
<input data-key="<%= key %>" class="channel-preference-list-item" type="checkbox" <% if(channel.settings[key]){ %> checked <% } %>>
|
||||
<% break;
|
||||
} %>
|
||||
</span>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue