mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-09 07:46:20 +00:00
## About The Pull Request Ok there's a lot here, sorry bout that. - Cleaned up the permissions panel backend pretty signficantly - Added some extra security measures to said code, mostly proc call checks - Properly implemented filtering code jordie wrote years and years ago for permissions logs - Cleaned up the permissions ui generally, more bars, nicer lookin stuff, etc - Fixed the Management panel's relationship with combined roles, and renamed it to Housekeeping. Its display is expanded too. - Added tracking to rank datums on where exactly they came from - Added a new tab to the permissions panel which allows the modification and deletion of ranks - Beefed up rank modification to try and avoid accidential temp rank additions to the db I'm doing my best to avoid perms escalation issues, tho they are always possible right. Also, got mad at some query cleanup handling, did a pass on it. this isn't nearly all of em, but it's some. ## Why It's Good For The Game I realized there is no way to, in game, cleanly edit/create ranks, and that the way the existing system worked was quite opaque. I'm trying to fix that here. It does mean potentially opening up DB rank deletion/modification to bad actors, but frankly I am not overly worried about that. Admin modification has always been a vulnerability so like. Here's a video with my changes (mostly, it's lightly outdated) https://file.house/XqME7KWKk0ULj4ZUkJ5reg==.mp4 ## Changelog 🆑 refactor: Fucked with admin rank setup very slightly, please yell at me if anything is wrong. admin: Updated the permissions panel to be a good bit more user friendly, added rank management support to it. server: I've added code that gives the game modification/deletion perms for the rank table, be made aware. /🆑 --------- Co-authored-by: san7890 <the@san7890.com>
162 lines
12 KiB
Plaintext
162 lines
12 KiB
Plaintext
// Just a generic span with class
|
|
#define span_class(class, str) ("<span class='[class]'>" + str + "</span>")
|
|
|
|
// Sorted alphabetically
|
|
#define span_abductor(str) ("<span class='abductor'>" + str + "</span>")
|
|
#define span_admin(str) ("<span class='admin'>" + str + "</span>")
|
|
#define span_adminprefix(str) ("<span class='admin prefix'>" + str + "</span>")
|
|
#define span_adminhelp(str) ("<span class='adminhelp'>" + str + "</span>")
|
|
#define span_adminnotice(str) ("<span class='adminnotice'>" + str + "</span>")
|
|
#define span_adminobserverooc(str) ("<span class='adminobserverooc'>" + str + "</span>")
|
|
#define span_adminooc(str) ("<span class='adminooc'>" + str + "</span>")
|
|
#define span_adminsay(str) ("<span class='adminsay'>" + str + "</span>")
|
|
#define span_aiprivradio(str) ("<span class='aiprivradio'>" + str + "</span>")
|
|
#define span_alert(str) ("<span class='alert'>" + str + "</span>")
|
|
#define span_alertalien(str) ("<span class='alertalien'>" + str + "</span>")
|
|
#define span_alertsyndie(str) ("<span class='alertsyndie'>" + str + "</span>")
|
|
#define span_alertwarning(str) ("<span class='alertwarning'>" + str + "</span>")
|
|
#define span_alien(str) ("<span class='alien'>" + str + "</span>")
|
|
#define span_announce(str) ("<span class='announce'>" + str + "</span>")
|
|
#define span_announcement_header(str) ("<span class='announcement_header'>" + str + "</span>")
|
|
#define span_average(str) ("<span class='average'>" + str + "</span>")
|
|
#define span_bad(str) ("<span class='bad'>" + str + "</span>")
|
|
#define span_big(str) ("<span class='big'>" + str + "</span>")
|
|
#define span_bigicon(str) ("<span class='bigicon'>" + str + "</span>")
|
|
#define span_binarysay(str) ("<span class='binarysay'>" + str + "</span>")
|
|
#define span_blob(str) ("<span class='blob'>" + str + "</span>")
|
|
#define span_blobannounce(str) ("<span class='blobannounce'>" + str + "</span>")
|
|
#define span_blue(str) ("<span class='blue'>" + str + "</span>")
|
|
#define span_blueteamradio(str) ("<span class='blueteamradio'>" + str + "</span>")
|
|
#define span_bold(str) ("<span class='bold'>" + str + "</span>")
|
|
/// This span outputs to OOC, it's meant for OOC announcements
|
|
/// Use span_bolddanger for IC danger messages, it's identical to this
|
|
#define span_boldannounce(str) ("<span class='boldannounce'>" + str + "</span>")
|
|
#define span_bolddanger(str) ("<span class='bolddanger'>" + str + "</span>")
|
|
#define span_bolditalic(str) ("<span class='bolditalic'>" + str + "</span>")
|
|
#define span_boldnicegreen(str) ("<span class='boldnicegreen'>" + str + "</span>")
|
|
#define span_boldnotice(str) ("<span class='boldnotice'>" + str + "</span>")
|
|
#define span_boldwarning(str) ("<span class='boldwarning'>" + str + "</span>")
|
|
#define span_boldbig(str) ("<span class='big bold'>" + str + "</span>")
|
|
#define span_captaincast(str) ("<span class='captaincast'>" + str + "</span>")
|
|
#define span_centcomradio(str) ("<span class='centcomradio'>" + str + "</span>")
|
|
#define span_changeling(str) ("<span class='changeling'>" + str + "</span>")
|
|
#define span_clown(str) ("<span class='clown'>" + str + "</span>")
|
|
#define span_colossus(str) ("<span class='colossus'>" + str + "</span>")
|
|
#define span_command_headset(str) ("<span class='command_headset'>" + str + "</span>")
|
|
#define span_comradio(str) ("<span class='comradio'>" + str + "</span>")
|
|
#define span_cult(str) ("<span class='cult'>" + str + "</span>")
|
|
#define span_cult_bold(str) ("<span class='cult_bold'>" + str + "</span>")
|
|
#define span_cult_bold_italic(str) ("<span class='cult_bold_italic'>" + str + "</span>")
|
|
#define span_cult_italic(str) ("<span class='cult_italic'>" + str + "</span>")
|
|
#define span_cult_large(str) ("<span class='cult_large'>" + str + "</span>")
|
|
#define span_danger(str) ("<span class='danger'>" + str + "</span>")
|
|
#define span_deadsay(str) ("<span class='deadsay'>" + str + "</span>")
|
|
#define span_deconversion_message(str) ("<span class='deconversion_message'>" + str + "</span>")
|
|
#define span_drone(str) ("<span class='drone'>" + str + "</span>")
|
|
#define span_engradio(str) ("<span class='engradio'>" + str + "</span>")
|
|
#define span_extremelybig(str) ("<span class='extremelybig'>" + str + "</span>")
|
|
#define span_emote(str) ("<span class='emote'>" + str + "</span>")
|
|
#define span_enteradio(str) ("<span class='enteradio'>" + str + "</span>")
|
|
#define span_game(str) ("<span class='game'>" + str + "</span>")
|
|
#define span_game_say(str) ("<span class='game say'>" + str + "</span>")
|
|
#define span_ghostalert(str) ("<span class='ghostalert'>" + str + "</span>")
|
|
#define span_good(str) ("<span class='good'>" + str + "</span>")
|
|
#define span_green(str) ("<span class='green'>" + str + "</span>")
|
|
#define span_greenannounce(str) ("<span class='greenannounce'>" + str + "</span>")
|
|
#define span_greenteamradio(str) ("<span class='greenteamradio'>" + str + "</span>")
|
|
#define span_greentext(str) ("<span class='greentext'>" + str + "</span>")
|
|
#define span_grey(str) ("<span class='grey'>" + str + "</span>")
|
|
#define span_header(str) ("<span class='header'>" + str + "</span>")
|
|
#define span_hear(str) ("<span class='hear'>" + str + "</span>")
|
|
#define span_hidden(str) ("<span class='hidden'>" + str + "</span>")
|
|
#define span_hierophant(str) ("<span class='hierophant'>" + str + "</span>")
|
|
#define span_hierophant_warning(str) ("<span class='hierophant_warning'>" + str + "</span>")
|
|
#define span_highlight(str) ("<span class='highlight'>" + str + "</span>")
|
|
#define span_his_grace(str) ("<span class='his_grace'>" + str + "</span>")
|
|
#define span_holoparasite(str) ("<span class='holoparasite'>" + str + "</span>")
|
|
#define span_boldholoparasite(str) ("<span class='holoparasite bold'>" + str + "</span>")
|
|
#define span_hypnophrase(str) ("<span class='hypnophrase'>" + str + "</span>")
|
|
#define span_icon(str) ("<span class='icon'>" + str + "</span>")
|
|
#define span_info(str) ("<span class='info'>" + str + "</span>")
|
|
#define span_infoplain(str) ("<span class='infoplain'>" + str + "</span>")
|
|
#define span_interface(str) ("<span class='interface'>" + str + "</span>")
|
|
#define span_italics(str) ("<span class='italics'>" + str + "</span>")
|
|
#define span_linkify(str) ("<span class='linkify'>" + str + "</span>")
|
|
#define span_looc(str) ("<span class='looc'>" + str + "</span>")
|
|
#define span_major_announcement_text(str) ("<span class='major_announcement_text'>" + str + "</span>")
|
|
#define span_major_announcement_title(str) ("<span class='major_announcement_title'>" + str + "</span>")
|
|
#define span_medal(str) ("<span class='medal'>" + str + "</span>")
|
|
#define span_medradio(str) ("<span class='medradio'>" + str + "</span>")
|
|
#define span_memo(str) ("<span class='memo'>" + str + "</span>")
|
|
#define span_memoedit(str) ("<span class='memoedit'>" + str + "</span>")
|
|
#define span_message(str) ("<span class='message'>" + str + "</span>")
|
|
#define span_mind_control(str) ("<span class='mind_control'>" + str + "</span>")
|
|
#define span_minorannounce(str) ("<span class='minorannounce'>" + str + "</span>")
|
|
#define span_minoralert(str) ("<span class='minoralert'>" + str + "</span>")
|
|
#define span_monkey(str) ("<span class='monkey'>" + str + "</span>")
|
|
#define span_name(str) ("<span class='name'>" + str + "</span>")
|
|
#define span_narsie(str) ("<span class='narsie'>" + str + "</span>")
|
|
#define span_narsiesmall(str) ("<span class='narsiesmall'>" + str + "</span>")
|
|
#define span_nicegreen(str) ("<span class='nicegreen'>" + str + "</span>")
|
|
#define span_notice(str) ("<span class='notice'>" + str + "</span>")
|
|
#define span_noticealien(str) ("<span class='noticealien'>" + str + "</span>")
|
|
#define span_ooc(str) ("<span class='ooc'>" + str + "</span>")
|
|
#define span_ooc_announcement_text(str) ("<span class='ooc_announcement_text'>" + str + "</span>")
|
|
#define span_papyrus(str) ("<span class='papyrus'>" + str + "</span>")
|
|
#define span_phobia(str) ("<span class='phobia'>" + str + "</span>")
|
|
#define span_prefix(str) ("<span class='prefix'>" + str + "</span>")
|
|
#define span_priorityalert(str) ("<span class='priorityalert'>" + str + "</span>")
|
|
#define span_priorityannounce(str) ("<span class='priorityannounce'>" + str + "</span>")
|
|
#define span_prioritytitle(str) ("<span class='prioritytitle'>" + str + "</span>")
|
|
#define span_purple(str) ("<span class='purple'>" + str + "</span>")
|
|
#define span_radio(str) ("<span class='radio'>" + str + "</span>")
|
|
#define span_reallybig(str) ("<span class='reallybig'>" + str + "</span>")
|
|
#define span_red(str) ("<span class='red'>" + str + "</span>")
|
|
#define span_redteamradio(str) ("<span class='redteamradio'>" + str + "</span>")
|
|
#define span_redtext(str) ("<span class='redtext'>" + str + "</span>")
|
|
#define span_resonate(str) ("<span class='resonate'>" + str + "</span>")
|
|
#define span_revenbignotice(str) ("<span class='revenbignotice'>" + str + "</span>")
|
|
#define span_revenboldnotice(str) ("<span class='revenboldnotice'>" + str + "</span>")
|
|
#define span_revendanger(str) ("<span class='revendanger'>" + str + "</span>")
|
|
#define span_revenminor(str) ("<span class='revenminor'>" + str + "</span>")
|
|
#define span_revennotice(str) ("<span class='revennotice'>" + str + "</span>")
|
|
#define span_revenwarning(str) ("<span class='revenwarning'>" + str + "</span>")
|
|
#define span_robot(str) ("<span class='robot'>" + str + "</span>")
|
|
#define span_rose(str) ("<span class='rose'>" + str + "</span>")
|
|
#define span_sans(str) ("<span class='sans'>" + str + "</span>")
|
|
#define span_sciradio(str) ("<span class='sciradio'>" + str + "</span>")
|
|
#define span_secradio(str) ("<span class='secradio'>" + str + "</span>")
|
|
#define span_servradio(str) ("<span class='servradio'>" + str + "</span>")
|
|
#define span_singing(str) ("<span class='singing'>" + str + "</span>")
|
|
#define span_slightly_larger(str) ("<span class='slightly_larger'>" + str + "</span>")
|
|
#define span_slime(str) ("<span class='slime'>" + str + "</span>")
|
|
#define span_small(str) ("<span class='small'>" + str + "</span>")
|
|
#define span_smalldanger(str) ("<span class='smalldanger'>" + str + "</span>")
|
|
#define span_smallnotice(str) ("<span class='smallnotice'>" + str + "</span>")
|
|
#define span_smallnoticeital(str) ("<span class='smallnoticeital'>" + str + "</span>")
|
|
#define span_soapbox(str) ("<span class='soapbox'>" + str + "</span>")
|
|
#define span_spiderbreacher(str) ("<span class='spiderbreacher'>" + str + "</span>")
|
|
#define span_spiderbroodmother(str) ("<span class='spiderbroodmother'>" + str + "</span>")
|
|
#define span_spiderscout(str) ("<span class='spiderscout'>" + str + "</span>")
|
|
#define span_subheader_announcement_text(str) ("<span class='subheader_announcement_text'>" + str + "</span>")
|
|
#define span_suicide(str) ("<span class='suicide'>" + str + "</span>")
|
|
#define span_suppradio(str) ("<span class='suppradio'>" + str + "</span>")
|
|
#define span_syndradio(str) ("<span class='syndradio'>" + str + "</span>")
|
|
#define span_tape_recorder(str) ("<span class='tape_recorder'>" + str + "</span>")
|
|
#define span_tinydanger(str) ("<span class='tinydanger'>" + str + "</span>")
|
|
#define span_tinynotice(str) ("<span class='tinynotice'>" + str + "</span>")
|
|
#define span_tinynoticeital(str) ("<span class='tinynoticeital'>" + str + "</span>")
|
|
#define span_tinynicegreen(str) ("<span class='tinynicegreen'>" + str + "</span>")
|
|
#define span_unconscious(str) ("<span class='unconscious'>" + str + "</span>")
|
|
#define span_userdanger(str) ("<span class='userdanger'>" + str + "</span>")
|
|
#define span_warning(str) ("<span class='warning'>" + str + "</span>")
|
|
#define span_yell(str) ("<span class='yell'>" + str + "</span>")
|
|
#define span_yellowteamradio(str) ("<span class='yellowteamradio'>" + str + "</span>")
|
|
#define span_notice_ml(text) "<span class='notice ml-1'>[text]</span>"
|
|
#define span_danger_ml(text) "<span class='danger ml-1'>[text]</span>"
|
|
#define span_info_ml(text) "<span class='info ml-1'>[text]</span>"
|
|
|
|
// Spans that use embedded tgui components:
|
|
// Sorted alphabetically
|
|
#define span_tooltip(tip, main_text) ("<span data-component=\"Tooltip\" data-content=\"" + tip + "\" class=\"tooltip\">" + main_text + "</span>")
|