这个计分板插件最开始是战队里一个学长开发的,能用是能用,但很多东西都是写死的,不够优雅,正好在整合CTFd,进行一手二次开发!
学长原始的仓库地址:https://github.com/Ephemeral1y/ctfd-matrix-scoreboard
二次开发的新的仓库地址:https://github.com/IShiraiKurokoI/CTFd-Matrix-Scoreboard
首先就是处理一下数组越界的问题,原来的插件是指定总题目数量的,如果题目增加了就需要手动修改,这样太不优雅了,修改一下:
1 |
|
然后就是解决没有学号的用户导致加分异常的问题:
1 |
|
然后就是动态切换计分板的问题,原来的插件是直接覆盖了主题的计分板模板,这样的话动态切换比较麻烦,修改为:
1 |
|
函数scoreboard_view也对应修改为:
1 |
|
改了这么多有人就要问了,你这配置写哪了,写在开头了:
1 |
|
然后页面的前端模板就不赘述了,详情参看repo:https://github.com/IShiraiKurokoI/CTFd-Matrix-Scoreboard
效果如下:
可通过后端更改开关实时变更计分板样式(主题计分板/比赛计分板)
PS:我们Scr1w战队二次开发的CTFd整合版地址:https://github.com/dlut-sss/CTFD-Public