Skip to content

Commit

Permalink
Bug fixes for PermissionsViewer (#284)
Browse files Browse the repository at this point in the history
* Bug fixes for PermissionsViewer

* Update PermissionsViewer.plugin.js

* Update PermissionsViewer.plugin.js

* update source file

* update source file
  • Loading branch information
Allvaa committed Sep 29, 2020
1 parent eabe328 commit 43b8828
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 10 deletions.
11 changes: 6 additions & 5 deletions Plugins/PermissionsViewer/PermissionsViewer.plugin.js
Expand Up @@ -31,7 +31,7 @@
@else@*/

module.exports = (() => {
const config = {info:{name:"PermissionsViewer",authors:[{name:"Zerebos",discord_id:"249746236008169473",github_username:"rauenzi",twitter_username:"ZackRauen"}],version:"0.1.15",description:"Allows you to view a user's permissions. Thanks to Noodlebox for the idea!",github:"https://github.com/rauenzi/BetterDiscordAddons/tree/master/Plugins/PermissionsViewer",github_raw:"https://raw.githubusercontent.com/rauenzi/BetterDiscordAddons/master/Plugins/PermissionsViewer/PermissionsViewer.plugin.js"},changelog:[{title:"Fixes",type:"fixed",items:["Role names are displayed once again.","That weird white box shouldn't show up in the user popout anymore.","`Stream` should now use the local Discord translation for `Video`."]}],defaultConfig:[{type:"switch",id:"contextMenus",name:"Context Menus",value:true},{type:"switch",id:"popouts",name:"Popouts",value:true}],strings:{es:{contextMenuLabel:"Permisos",popoutLabel:"Permisos",modal:{header:"Permisos de ${name}",rolesLabel:"Roles",permissionsLabel:"Permisos",owner:"@propietario"},settings:{popouts:{name:"Mostrar en Popouts",note:"Mostrar los permisos de usuario en popouts como los roles."},contextMenus:{name:"Botón de menú contextual",note:"Añadir un botón para ver permisos en los menús contextuales."}}},pt:{contextMenuLabel:"Permissões",popoutLabel:"Permissões",modal:{header:"Permissões de ${name}",rolesLabel:"Cargos",permissionsLabel:"Permissões",owner:"@dono"},settings:{popouts:{name:"Mostrar em Popouts",note:"Mostrar as permissões em popouts como os cargos."},contextMenus:{name:"Botão do menu de contexto",note:"Adicionar um botão parar ver permissões ao menu de contexto."}}},de:{contextMenuLabel:"Berechtigungen",popoutLabel:"Berechtigungen",modal:{header:"${name}s Berechtigungen",rolesLabel:"Rollen",permissionsLabel:"Berechtigungen",owner:"@eigentümer"},settings:{popouts:{name:"In Popouts anzeigen",note:"Zeigt die Gesamtberechtigungen eines Benutzers in seinem Popup ähnlich den Rollen an."},contextMenus:{name:"Kontextmenü-Schaltfläche",note:"Fügt eine Schaltfläche hinzu, um die Berechtigungen mithilfe von Kontextmenüs anzuzeigen."}}},en:{contextMenuLabel:"Permissions",popoutLabel:"Permissions",modal:{header:"${name}'s Permissions",rolesLabel:"Roles",permissionsLabel:"Permissions",owner:"@owner"},settings:{popouts:{name:"Show In Popouts",note:"Shows a user's total permissions in their popout similar to roles."},contextMenus:{name:"Context Menu Button",note:"Adds a button to view the permissions modal to select context menus."}}},ru:{contextMenuLabel:"Полномочия",popoutLabel:"Полномочия",modal:{header:"Полномочия ${name}",rolesLabel:"Роли",permissionsLabel:"Полномочия",owner:"Владелец"},settings:{popouts:{name:"Показать во всплывающих окнах",note:"Отображает полномочия пользователя в их всплывающем окне, аналогичном ролям."},contextMenus:{name:"Кнопка контекстного меню",note:"Добавить кнопку для отображения полномочий с помощью контекстных меню."}}}},main:"index.js"};
const config = {info:{name:"PermissionsViewer",authors:[{name:"Zerebos",discord_id:"249746236008169473",github_username:"rauenzi",twitter_username:"ZackRauen"}],version:"0.1.16",description:"Allows you to view a user's permissions. Thanks to Noodlebox for the idea!",github:"https://github.com/rauenzi/BetterDiscordAddons/tree/master/Plugins/PermissionsViewer",github_raw:"https://raw.githubusercontent.com/rauenzi/BetterDiscordAddons/master/Plugins/PermissionsViewer/PermissionsViewer.plugin.js"},changelog:[{title:"Fixes",type:"fixed",items:["Fixed some characters in the role name are replaced by HTML entities", "All `@owner` permissions are now check marked"]}],defaultConfig:[{type:"switch",id:"contextMenus",name:"Context Menus",value:true},{type:"switch",id:"popouts",name:"Popouts",value:true}],strings:{es:{contextMenuLabel:"Permisos",popoutLabel:"Permisos",modal:{header:"Permisos de ${name}",rolesLabel:"Roles",permissionsLabel:"Permisos",owner:"@propietario"},settings:{popouts:{name:"Mostrar en Popouts",note:"Mostrar los permisos de usuario en popouts como los roles."},contextMenus:{name:"Botón de menú contextual",note:"Añadir un botón para ver permisos en los menús contextuales."}}},pt:{contextMenuLabel:"Permissões",popoutLabel:"Permissões",modal:{header:"Permissões de ${name}",rolesLabel:"Cargos",permissionsLabel:"Permissões",owner:"@dono"},settings:{popouts:{name:"Mostrar em Popouts",note:"Mostrar as permissões em popouts como os cargos."},contextMenus:{name:"Botão do menu de contexto",note:"Adicionar um botão parar ver permissões ao menu de contexto."}}},de:{contextMenuLabel:"Berechtigungen",popoutLabel:"Berechtigungen",modal:{header:"${name}s Berechtigungen",rolesLabel:"Rollen",permissionsLabel:"Berechtigungen",owner:"@eigentümer"},settings:{popouts:{name:"In Popouts anzeigen",note:"Zeigt die Gesamtberechtigungen eines Benutzers in seinem Popup ähnlich den Rollen an."},contextMenus:{name:"Kontextmenü-Schaltfläche",note:"Fügt eine Schaltfläche hinzu, um die Berechtigungen mithilfe von Kontextmenüs anzuzeigen."}}},en:{contextMenuLabel:"Permissions",popoutLabel:"Permissions",modal:{header:"${name}'s Permissions",rolesLabel:"Roles",permissionsLabel:"Permissions",owner:"@owner"},settings:{popouts:{name:"Show In Popouts",note:"Shows a user's total permissions in their popout similar to roles."},contextMenus:{name:"Context Menu Button",note:"Adds a button to view the permissions modal to select context menus."}}},ru:{contextMenuLabel:"Полномочия",popoutLabel:"Полномочия",modal:{header:"Полномочия ${name}",rolesLabel:"Роли",permissionsLabel:"Полномочия",owner:"Владелец"},settings:{popouts:{name:"Показать во всплывающих окнах",note:"Отображает полномочия пользователя в их всплывающем окне, аналогичном ролям."},contextMenus:{name:"Кнопка контекстного меню",note:"Добавить кнопку для отображения полномочий с помощью контекстных меню."}}}},main:"index.js"};

return !global.ZeresPluginLibrary ? class {
constructor() {this._config = config;}
Expand Down Expand Up @@ -609,8 +609,9 @@ module.exports = (() => {
userRoles.sort((a, b) => {return guildRoles[b].position - guildRoles[a].position;});

if (user.userId == guild.ownerId) {
const ALL_PERMISSIONS = Object.values(DiscordModules.DiscordConstants.Permissions).map(x => Number(x.data)).reduce((all, p) => all | p);
userRoles.push(user.userId);
guildRoles[user.userId] = {name: this.strings.modal.owner, permissions: DiscordModules.Permissions.ALL};
guildRoles[user.userId] = {name: this.strings.modal.owner, permissions: ALL_PERMISSIONS};
}
return this.createModal(name, userRoles, guildRoles);
}
Expand All @@ -635,8 +636,8 @@ module.exports = (() => {
const item = DOMTools.createElement(!isOverride || displayRoles[role].type == 0 ? this.modalButton : Utilities.formatTString(this.modalButtonUser, {avatarUrl: user.avatarURL}));
if (!isOverride || displayRoles[role].type == 0) item.style.color = referenceRoles[role].colorString;
else item.style.color = member.colorString;
if (isOverride) item.querySelector(".role-name").textContent = escapeHTML(displayRoles[role].type == 0 ? referenceRoles[role].name : user.username);
else item.querySelector(".role-name").textContent = escapeHTML(referenceRoles[role].name);
if (isOverride) item.querySelector(".role-name").innerHTML = escapeHTML(displayRoles[role].type == 0 ? referenceRoles[role].name : user.username);
else item.querySelector(".role-name").innerHTML = escapeHTML(referenceRoles[role].name);
modal.querySelector(".role-scroller").append(item);
item.addEventListener("click", () => {
modal.querySelectorAll(".role-item.selected").forEach(e => e.removeClass("selected"));
Expand Down Expand Up @@ -695,4 +696,4 @@ module.exports = (() => {
return plugin(Plugin, Api);
})(global.ZeresPluginLibrary.buildPlugin(config));
})();
/*@end@*/
/*@end@*/
4 changes: 2 additions & 2 deletions src/plugins/PermissionsViewer/config.json
Expand Up @@ -7,13 +7,13 @@
"github_username": "rauenzi",
"twitter_username": "ZackRauen"
}],
"version": "0.1.15",
"version": "0.1.16",
"description": "Allows you to view a user's permissions. Thanks to Noodlebox for the idea!",
"github": "https://github.com/rauenzi/BetterDiscordAddons/tree/master/Plugins/PermissionsViewer",
"github_raw": "https://raw.githubusercontent.com/rauenzi/BetterDiscordAddons/master/Plugins/PermissionsViewer/PermissionsViewer.plugin.js"
},
"changelog": [
{"title": "Fixes", "type": "fixed", "items": ["Role names are displayed once again.", "That weird white box shouldn't show up in the user popout anymore.", "`Stream` should now use the local Discord translation for `Video`."]}
{"title": "Fixes", "type": "fixed", "items": ["Fixed some characters in the role name are replaced by HTML entities", "All `@owner` permissions are now check marked"]}
],
"defaultConfig": [
{
Expand Down
7 changes: 4 additions & 3 deletions src/plugins/PermissionsViewer/index.js
Expand Up @@ -212,8 +212,9 @@ module.exports = (Plugin, Api) => {
userRoles.sort((a, b) => {return guildRoles[b].position - guildRoles[a].position;});

if (user.userId == guild.ownerId) {
const ALL_PERMISSIONS = Object.values(DiscordModules.DiscordConstants.Permissions).map(x => Number(x.data)).reduce((all, p) => all | p);
userRoles.push(user.userId);
guildRoles[user.userId] = {name: this.strings.modal.owner, permissions: DiscordModules.Permissions.ALL};
guildRoles[user.userId] = {name: this.strings.modal.owner, permissions: ALL_PERMISSIONS};
}
return this.createModal(name, userRoles, guildRoles);
}
Expand All @@ -238,8 +239,8 @@ module.exports = (Plugin, Api) => {
const item = DOMTools.createElement(!isOverride || displayRoles[role].type == 0 ? this.modalButton : Utilities.formatTString(this.modalButtonUser, {avatarUrl: user.avatarURL}));
if (!isOverride || displayRoles[role].type == 0) item.style.color = referenceRoles[role].colorString;
else item.style.color = member.colorString;
if (isOverride) item.querySelector(".role-name").textContent = escapeHTML(displayRoles[role].type == 0 ? referenceRoles[role].name : user.username);
else item.querySelector(".role-name").textContent = escapeHTML(referenceRoles[role].name);
if (isOverride) item.querySelector(".role-name").innerHTML = escapeHTML(displayRoles[role].type == 0 ? referenceRoles[role].name : user.username);
else item.querySelector(".role-name").innerHTML = escapeHTML(referenceRoles[role].name);
modal.querySelector(".role-scroller").append(item);
item.addEventListener("click", () => {
modal.querySelectorAll(".role-item.selected").forEach(e => e.removeClass("selected"));
Expand Down

0 comments on commit 43b8828

Please sign in to comment.