@@ -70,9 +70,15 @@ public function indexAction(): Response
70
70
->groupBy ('p.probid ' )
71
71
->getQuery ()->getResult ();
72
72
73
+ $ badgeTitle = '' ;
74
+ $ currentContest = $ this ->dj ->getCurrentContest ();
75
+ if ($ currentContest !== null ) {
76
+ $ badgeTitle = 'in ' . $ currentContest ->getShortname ();
77
+ }
73
78
$ table_fields = [
74
79
'probid ' => ['title ' => 'ID ' , 'sort ' => true , 'default_sort ' => true ],
75
80
'name ' => ['title ' => 'name ' , 'sort ' => true ],
81
+ 'badges ' => ['title ' => $ badgeTitle , 'sort ' => false ],
76
82
'num_contests ' => ['title ' => '# contests ' , 'sort ' => true ],
77
83
'timelimit ' => ['title ' => 'time limit ' , 'sort ' => true ],
78
84
'memlimit ' => ['title ' => 'memory limit ' , 'sort ' => true ],
@@ -165,22 +171,41 @@ public function indexAction(): Response
165
171
}
166
172
$ problemactions [] = $ deleteAction ;
167
173
}
174
+ $ default_memlimit = $ this ->config ->get ('memory_limit ' );
175
+ $ default_output_limit = $ this ->config ->get ('output_limit ' );
168
176
169
177
// Add formatted {mem,output}limit row data for the table.
170
178
foreach (['memlimit ' , 'outputlimit ' ] as $ col ) {
171
179
$ orig_value = @$ problemdata [$ col ]['value ' ];
172
180
if (!isset ($ orig_value )) {
181
+ $ value = 'default ' ;
182
+ if ($ col == 'memlimit ' && !empty ($ default_memlimit )) {
183
+ $ value .= ' ( ' . Utils::printsize (1024 * $ default_memlimit ) . ') ' ;
184
+ }
185
+ if ($ col == 'outputlimit ' && !empty ($ default_output_limit )) {
186
+ $ value .= ' ( ' . Utils::printsize (1024 * $ default_output_limit ) . ') ' ;
187
+ }
173
188
$ problemdata [$ col ] = [
174
- 'value ' => ' default ' ,
189
+ 'value ' => $ value ,
175
190
'cssclass ' => 'disabled ' ,
176
191
];
177
192
} else {
178
193
$ problemdata [$ col ] = [
179
194
'value ' => Utils::printsize (1024 * $ orig_value ),
180
195
'sortvalue ' => $ orig_value ,
196
+ 'cssclass ' => 'right ' ,
181
197
];
182
198
}
183
199
}
200
+ $ problemdata ['timelimit ' ]['value ' ] = @$ problemdata ['timelimit ' ]['value ' ] . 's ' ;
201
+ $ problemdata ['timelimit ' ]['cssclass ' ] = 'right ' ;
202
+
203
+ $ contestProblems = $ p ->getContestProblems ()->toArray ();
204
+ $ badges = [];
205
+ if ($ this ->dj ->getCurrentContest () !== null ) {
206
+ $ badges = array_filter ($ contestProblems , fn ($ cp ) => $ cp ->getCid () === $ this ->dj ->getCurrentContest ()->getCid ());
207
+ }
208
+ $ problemdata ['badges ' ] = ['value ' => $ badges ];
184
209
185
210
// merge in the rest of the data
186
211
$ problemdata = array_merge ($ problemdata , [
0 commit comments