|
af80a6831b
|
feat(problem/remote): add loj
|
2023-01-24 11:51:21 +08:00 |
|
|
dc32574585
|
feat(problem/remote): rejudge
|
2023-01-22 17:56:36 +08:00 |
|
|
61545c6807
|
feat(remote_judger): add uoj
|
2023-01-22 17:36:18 +08:00 |
|
|
6e945ef711
|
feat(problem/remote): add uoj
|
2023-01-22 17:00:12 +08:00 |
|
|
6510c5bc4e
|
feat(problem/remote): add atcoder
|
2023-01-20 21:23:22 +08:00 |
|
|
155f928615
|
fix(problem/remote): gym problem title
|
2023-01-20 18:01:31 +08:00 |
|
|
2556dd7819
|
feat(problem/remote): codeforces::gym
|
2023-01-20 17:13:39 +08:00 |
|
|
3a2e3ce1db
|
feat(remote_judger): init
|
2023-01-19 21:26:59 +08:00 |
|
|
4647a8c8ba
|
refactor(problem): remove UOJProblem::type()
|
2023-01-19 16:06:42 +08:00 |
|
|
4d54fdf705
|
feat(problem): disable custom_test for remote problem
|
2023-01-19 15:40:46 +08:00 |
|
|
8cfa371af5
|
Merge branch 'master' into remotejudge-prepare
|
2023-01-19 12:40:52 +08:00 |
|
|
73f5298911
|
feat(problem): display remote problem url
|
2023-01-19 11:49:15 +08:00 |
|
|
4523109085
|
fix(problem/remote): difficulty
|
2023-01-19 11:47:35 +08:00 |
|
|
fbed1162c0
|
fix(problems/new_remote): codeforces sample
|
2023-01-19 11:05:16 +08:00 |
|
|
8041b49bd8
|
feat(problem): import remote problem
|
2023-01-18 16:20:12 +08:00 |
|
|
d6997b8475
|
feat(web): prepare remote judge
|
2023-01-18 10:21:53 +08:00 |
|
|
469fc99ca7
|
refactor(contest): not rejudge submissions after contest
|
2023-01-18 09:29:43 +08:00 |
|
|
dfb317211e
|
chore: remove card wrapping rank list
continuous-integration/drone/push Build is passing
|
2023-01-17 13:58:07 +08:00 |
|
|
dc3515353e
|
feat: bootstrap5 msg page
continuous-integration/drone/push Build is passing
|
2023-01-16 08:11:15 +08:00 |
|
|
9d66356566
|
refactor(contest): uoj_form_v2
|
2023-01-15 21:35:24 +08:00 |
|
|
e2c3a3eb4e
|
Merge branch 'master' into uoj_form_v2
|
2023-01-15 21:27:12 +08:00 |
|
|
6e5c15c925
|
feat(user): log http_x_forwarded_for in history
continuous-integration/drone/push Build is passing
|
2023-01-15 20:47:54 +08:00 |
|
|
6548c2e2b7
|
fix: username color in md mention
continuous-integration/drone/push Build is passing
|
2023-01-15 11:13:43 +08:00 |
|
|
6dcd43b914
|
feat(user): more username colors
continuous-integration/drone/push Build is passing
|
2023-01-15 09:15:30 +08:00 |
|
|
d992a07e96
|
refactor(group/manage): uoj_form_v2
|
2023-01-15 08:48:08 +08:00 |
|
|
87013054c4
|
refactor(contest/manage): uoj_form_v2
|
2023-01-15 08:05:00 +08:00 |
|
|
1ebcda02d6
|
feat(web/contest): username color
|
2023-01-14 18:24:03 +08:00 |
|
|
452c2ca12b
|
feat(web/user): username color
Co-authored-by: Wenkuo Yu <82705676+youwike@users.noreply.github.com>
Co-authored-by: Baoshuo Ren <47095648+renbaoshuo@users.noreply.github.com>
|
2023-01-14 17:20:10 +08:00 |
|
|
6a4f9a370a
|
feat(web/lists): add redirect after create list
continuous-integration/drone/push Build is passing
|
2023-01-14 08:51:00 +08:00 |
|
|
8417f362e8
|
feat(web/problem/manage/statement): allow select tags to fill
continuous-integration/drone/push Build is passing
|
2023-01-12 10:06:12 +08:00 |
|
|
2dd91d1853
|
feat: allow admins to edit usertype
continuous-integration/drone/push Build is passing
|
2023-01-11 11:17:08 +08:00 |
|
|
1ce6ddd8cb
|
feat(web): UOJForm::addCheckboxes()
|
2022-12-24 12:06:39 +08:00 |
|
|
0f4977727a
|
feat(web): UOJForm::addInput()
|
2022-12-23 22:10:14 +08:00 |
|
|
a1469a96ed
|
feat(web/problem): add 2600 to difficulties
continuous-integration/drone/push Build is passing
|
2022-12-08 13:04:44 +08:00 |
|
|
d72f178251
|
draft
|
2022-12-07 22:49:43 +08:00 |
|
|
16d20b38f4
|
fix(web): allow <img> width attr
continuous-integration/drone/push Build is passing
|
2022-12-06 16:11:25 +08:00 |
|
|
0b238485e4
|
chore(web/problem): update difficulty colors
continuous-integration/drone/push Build is passing
|
2022-12-05 19:00:23 +08:00 |
|
|
c0484d55a5
|
chore(web/problem): show ? when difficulty not set
continuous-integration/drone/push Build is passing
|
2022-12-05 17:46:40 +08:00 |
|
|
586df479f6
|
refactor(web/problem): difficulty
|
2022-12-05 17:14:43 +08:00 |
|
|
6d0a665d8e
|
refactor(web/problem): problem difficulty (#20)
continuous-integration/drone/push Build is passing
|
2022-12-04 20:45:58 +08:00 |
|
|
dbdc49e73a
|
refactor(web/problem): problem difficulty
|
2022-12-04 17:27:16 +08:00 |
|
|
678582fc47
|
chore(web): HTML::url protocol
|
2022-12-04 16:53:02 +08:00 |
|
|
4959e6da45
|
feat(web): hide realname when not logged in
continuous-integration/drone/push Build is passing
|
2022-12-03 15:09:04 +08:00 |
|
|
6e9254e008
|
revert: 387fdf968b
continuous-integration/drone/push Build is passing
|
2022-11-19 11:58:04 +08:00 |
|
|
df6024c99f
|
fix(web): set locale
continuous-integration/drone/push Build is passing
|
2022-11-18 13:41:17 +08:00 |
|
|
6ee92bc5ee
|
fix(web/problem/solution): UOJBlog::getSolutionProblemId()
continuous-integration/drone/push Build is passing
|
2022-11-16 16:53:39 +08:00 |
|
|
dbbaa12ac5
|
feat(web): tmp user
|
2022-11-12 14:29:11 +08:00 |
|
|
aeb6628314
|
fix(web/problem): not escape problem title
continuous-integration/drone/push Build is passing
|
2022-11-12 12:05:24 +08:00 |
|
|
ef01c326b2
|
feat(web/contests): upcoming contests view permission check
continuous-integration/drone/push Build is passing
|
2022-11-12 10:29:53 +08:00 |
|
|
8d87fda233
|
refactor(web/contest): remove UOJContest::queryContestsHasProblem()
use UOJProblem::findInContests() instead.
|
2022-11-12 10:25:46 +08:00 |
|
|
738b819b5f
|
feat(web/submissions): hide older submissions when a registered unfinished contest has this problem
|
2022-11-12 10:20:28 +08:00 |
|
|
e2fbd6afe9
|
fix(web/contest/submission): problem managers cannot see final score
continuous-integration/drone/push Build is passing
|
2022-11-12 10:14:54 +08:00 |
|
|
79d6cd8a38
|
fix(web/contest/problem): disable testdata download during contest
|
2022-11-12 09:59:15 +08:00 |
|
|
6eca1a3c5e
|
fix(web/group): limit of UOJGroup::getLatestGroupmatesAcceptedSubmissionIds()
continuous-integration/drone/push Build is passing
|
2022-11-12 09:32:53 +08:00 |
|
|
1c94b98efc
|
refactor(web): use UOJUser::getLink()
|
2022-11-12 07:11:49 +08:00 |
|
|
ef3f7b9e7f
|
feat(web): new user permissions (#10)
|
2022-11-12 07:10:34 +08:00 |
|
|
287889b60f
|
refactor(web/group): group_v3
|
2022-11-11 08:20:33 +08:00 |
|
|
da69cdf1b9
|
refactor(web/list): list_v3
|
2022-11-10 08:16:48 +08:00 |
|
|
3c4cc702c3
|
chore(web): remove show-text option of click-zan block
|
2022-11-09 21:37:37 +08:00 |
|
|
20c0ddd958
|
fix(web/contest): UOJContest::userCanView
continuous-integration/drone/push Build is passing
|
2022-11-07 07:33:11 +08:00 |
|
|
70e3fbb93e
|
fix(web): school default value
continuous-integration/drone/push Build is passing
|
2022-11-07 06:31:09 +08:00 |
|
|
e9a4d15dd2
|
fix(web): HTML::relative_time_str
continuous-integration/drone/push Build is passing
|
2022-11-06 17:35:22 +08:00 |
|
|
c93e5d3c46
|
fix(web/contest): manager register contest
continuous-integration/drone/push Build is passing
|
2022-11-06 15:30:15 +08:00 |
|
|
844c93da84
|
refactor: sync code from uoj.ac
|
2022-11-06 10:26:21 +08:00 |
|
|
bae26f1c16
|
fix(web): prevent warning from HTMLPurifier
continuous-integration/drone/push Build is passing
ref: http://htmlpurifier.org/docs/enduser-customize.html#optimized
|
2022-10-22 10:11:36 +08:00 |
|
|
ee6169f621
|
fix(web/group): group rank list pagination
|
2022-10-22 09:29:51 +08:00 |
|
|
92626c1193
|
chore(web): HTML::navListGroup
|
2022-10-21 11:38:19 +08:00 |
|
|
3985b97f2e
|
feat(web/user): qq avatar
|
2022-10-20 10:02:53 +08:00 |
|
|
1eb342120e
|
feat(web/user): show codeforces rating
|
2022-10-20 08:44:55 +08:00 |
|
|
e33e3ef413
|
refactor(web/user/edit): user_edit_v2
|
2022-10-19 21:59:16 +08:00 |
|
|
54b8415cf5
|
fix: 8a7930e18c
continuous-integration/drone/push Build is passing
|
2022-10-19 11:23:22 +08:00 |
|
|
652cd00b86
|
fix(web): style
continuous-integration/drone/push Build is passing
|
2022-10-18 08:55:56 +08:00 |
|
|
8a7930e18c
|
feat(web): mention a user in markdown
|
2022-10-18 08:53:57 +08:00 |
|
|
60ba1a5829
|
feat(web/user_info/motto): markdown support
|
2022-10-12 19:13:33 +08:00 |
|
|
bd5babfa29
|
chore: add upgrader for #3
continuous-integration/drone/push Build is passing
|
2022-10-11 13:34:05 +08:00 |
|
|
1279ccf711
|
refactor(web): fix table classes in backend
|
2022-10-10 07:52:30 +08:00 |
|
|
4e4e45160d
|
refactor(web): migrate to parsedown
|
2022-10-10 07:35:48 +08:00 |
|
|
e71f73d81f
|
refactor(web): add HTML::purifier_inline() function
continuous-integration/drone/push Build is passing
|
2022-10-09 21:33:13 +08:00 |
|
|
a97a05553b
|
chore: remove table-striped class
continuous-integration/drone/push Build is passing
|
2022-10-08 08:50:23 +08:00 |
|
|
354c417737
|
fix: c30374732e
continuous-integration/drone/push Build is passing
|
2022-10-04 16:44:14 +08:00 |
|
|
2af4a869f3
|
fix: style
|
2022-10-04 16:35:07 +08:00 |
|
|
8703631db8
|
fix: c30374732e
continuous-integration/drone/push Build is passing
|
2022-10-04 16:33:24 +08:00 |
|
|
8a288ceff5
|
feat: last active at
continuous-integration/drone/push Build is passing
|
2022-10-04 16:31:08 +08:00 |
|
|
c30374732e
|
feat: re-login every week
|
2022-10-04 14:58:46 +08:00 |
|
|
dec731f86f
|
fix: problem page items
continuous-integration/drone/push Build is passing
|
2022-10-03 14:28:33 +08:00 |
|
|
0704b85065
|
refactor: blog_index and blog_archive with bs5
continuous-integration/drone/push Build is passing
|
2022-10-02 17:02:17 +08:00 |
|
|
327c61a251
|
refactor: problem_statement_manage with bs5
|
2022-10-02 14:25:22 +08:00 |
|
|
83488ad7cf
|
feat: add sidebar
continuous-integration/drone/push Build is passing
|
2022-09-25 14:16:36 +08:00 |
|
|
bd79eebb44
|
refactor: submissions_list with bs5
|
2022-09-24 08:13:39 +08:00 |
|
|
0ab54aac78
|
fix: 6926a6f912
continuous-integration/drone/push Build is passing
|
2022-09-20 18:25:48 +08:00 |
|
|
52dfec62cd
|
fix: 387fdf968b
continuous-integration/drone/push Build is passing
|
2022-09-20 18:11:10 +08:00 |
|
|
6926a6f912
|
fix: pagination count table
|
2022-09-20 17:19:11 +08:00 |
|
|
387fdf968b
|
fix: HTML::url
continuous-integration/drone/push Build is passing
|
2022-09-20 16:50:29 +08:00 |
|
|
08624f88e0
|
fix: style
continuous-integration/drone/push Build is passing
|
2022-09-20 15:49:26 +08:00 |
|
|
bd09e2aae6
|
fix: path == '/'
continuous-integration/drone/push Build is passing
|
2022-09-20 15:44:04 +08:00 |
|
|
29371d550e
|
fix: blog url
continuous-integration/drone/push Build is passing
|
2022-09-20 15:30:23 +08:00 |
|
|
919c1aa21f
|
Fix
continuous-integration/drone/push Build is passing
|
2022-09-20 14:02:23 +08:00 |
|
|
bbe8110120
|
feat: paginator first_page and last_page
|
2022-09-18 21:17:52 +08:00 |
|
|
d2a07c5265
|
feat: new markdown style
|
2022-09-18 20:47:21 +08:00 |
|
|
410631075e
|
fix: style
|
2022-09-18 12:58:35 +08:00 |
|