const cheerio = require('cheerio'); const {defaultSettings, limit: {rcgcdw: rcgcdwLimit}} = require('../util/default.json'); const Lang = require('../util/i18n.js'); const allLangs = Lang.allLangs(true); const Wiki = require('../util/wiki.js'); const {got, db, sendMsg, createNotice, hasPerm} = require('./util.js'); const display_types = [ 'compact', 'embed', 'image', 'diff' ]; const fieldset = { channel: '' + '', wiki: '' + '' + '' + '' + '
', //+ '' //+ '
' //+ 'Wiki search' //+ '
', lang: '' + '' + '', display: 'Display mode:' + '
' + '' + '' + '
' + '' + '' + '
' + '' + '' + '
' + '' + '' + '
', feeds: '' + '' + '
' + '' + '' + '
', save: '', delete: '' }; /** * Create a settings form * @param {import('cheerio')} $ - The response body * @param {String} header - The form header * @param {Object} settings - The current settings * @param {Boolean} settings.patreon * @param {String} [settings.channel] * @param {String} settings.wiki * @param {String} settings.lang * @param {Number} settings.display * @param {Number} [settings.wikiid] * @param {Number} [settings.rcid] * @param {Object[]} guildChannels - The guild channels * @param {String} guildChannels.id * @param {String} guildChannels.name * @param {Number} guildChannels.userPermissions * @param {Number} guildChannels.botPermissions * @param {String[]} allWikis - The guild wikis */ function createForm($, header, settings, guildChannels, allWikis) { var readonly = ( process.env.READONLY ? true : false ); var curChannel = guildChannels.find( guildChannel => settings.channel === guildChannel.id ); var fields = []; let channel = $('
').append(fieldset.channel); if ( !settings.channel || ( curChannel && hasPerm(curChannel.botPermissions, 'MANAGE_WEBHOOKS') && hasPerm(curChannel.userPermissions, 'VIEW_CHANNEL', 'MANAGE_WEBHOOKS') ) ) { channel.find('#wb-settings-channel').append( ...guildChannels.filter( guildChannel => { return ( hasPerm(guildChannel.userPermissions, 'VIEW_CHANNEL', 'MANAGE_WEBHOOKS') && hasPerm(guildChannel.botPermissions, 'MANAGE_WEBHOOKS') ); } ).map( guildChannel => { var optionChannel = $(`