@@ -21,22 +21,22 @@ discard block |
||
21 | 21 | 'cid' => 'required|integer', |
22 | 22 | 'uid' => 'required|integer' |
23 | 23 | ]); |
24 | - $cid = $request->input('cid'); |
|
25 | - $uid = $request->input('uid'); |
|
24 | + $cid=$request->input('cid'); |
|
25 | + $uid=$request->input('uid'); |
|
26 | 26 | |
27 | - $groupModel = new GroupModel(); |
|
28 | - $contestModel = new ContestModel(); |
|
27 | + $groupModel=new GroupModel(); |
|
28 | + $contestModel=new ContestModel(); |
|
29 | 29 | |
30 | - $contest_info = $contestModel->basic($cid); |
|
31 | - if($contestModel->judgeClearance($cid,Auth::user()->id) != 3){ |
|
30 | + $contest_info=$contestModel->basic($cid); |
|
31 | + if ($contestModel->judgeClearance($cid, Auth::user()->id)!=3) { |
|
32 | 32 | return ResponseModel::err(2001); |
33 | 33 | } |
34 | 34 | |
35 | - if($groupModel->judgeClearance($contest_info['gid'],$uid) < 2){ |
|
35 | + if ($groupModel->judgeClearance($contest_info['gid'], $uid)<2) { |
|
36 | 36 | return ResponseModel::err(7004); |
37 | 37 | } |
38 | 38 | |
39 | - $contestModel->assignMember($cid,$uid); |
|
39 | + $contestModel->assignMember($cid, $uid); |
|
40 | 40 | return ResponseModel::success(200); |
41 | 41 | } |
42 | 42 | |
@@ -45,30 +45,30 @@ discard block |
||
45 | 45 | $request->validate([ |
46 | 46 | 'cid' => 'required|integer', |
47 | 47 | ]); |
48 | - $cid = $request->input('cid'); |
|
48 | + $cid=$request->input('cid'); |
|
49 | 49 | |
50 | - $contestModel = new ContestModel(); |
|
51 | - $groupModel = new GroupModel(); |
|
50 | + $contestModel=new ContestModel(); |
|
51 | + $groupModel=new GroupModel(); |
|
52 | 52 | |
53 | - $contest_problems = $contestModel->problems($cid); |
|
54 | - $contest_detail = $contestModel->basic($cid); |
|
55 | - $contest_detail['problems'] = $contest_problems; |
|
56 | - $assign_uid = $contest_detail['assign_uid']; |
|
57 | - $clearance = $contestModel->judgeClearance($cid,Auth::user()->id); |
|
58 | - if($clearance != 3){ |
|
53 | + $contest_problems=$contestModel->problems($cid); |
|
54 | + $contest_detail=$contestModel->basic($cid); |
|
55 | + $contest_detail['problems']=$contest_problems; |
|
56 | + $assign_uid=$contest_detail['assign_uid']; |
|
57 | + $clearance=$contestModel->judgeClearance($cid, Auth::user()->id); |
|
58 | + if ($clearance!=3) { |
|
59 | 59 | return ResponseModel::err(2001); |
60 | 60 | } |
61 | - if($assign_uid != 0){ |
|
62 | - $assignee = $groupModel->userProfile($assign_uid,$contest_detail['gid']); |
|
63 | - }else{ |
|
64 | - $assignee = null; |
|
61 | + if ($assign_uid!=0) { |
|
62 | + $assignee=$groupModel->userProfile($assign_uid, $contest_detail['gid']); |
|
63 | + } else { |
|
64 | + $assignee=null; |
|
65 | 65 | } |
66 | - $ret = [ |
|
66 | + $ret=[ |
|
67 | 67 | 'contest_info' => $contest_detail, |
68 | 68 | 'assignee' => $assignee, |
69 | - 'is_admin' => $clearance == 3, |
|
69 | + 'is_admin' => $clearance==3, |
|
70 | 70 | ]; |
71 | - return ResponseModel::success(200,null,$ret); |
|
71 | + return ResponseModel::success(200, null, $ret); |
|
72 | 72 | } |
73 | 73 | |
74 | 74 | public function fetchClarification(Request $request) |
@@ -101,7 +101,7 @@ discard block |
||
101 | 101 | $all_data=$request->all(); |
102 | 102 | |
103 | 103 | $contestModel=new ContestModel(); |
104 | - return $contestModel->updateProfessionalRate($all_data["cid"])?ResponseModel::success(200):ResponseModel::err(1001); |
|
104 | + return $contestModel->updateProfessionalRate($all_data["cid"]) ?ResponseModel::success(200) : ResponseModel::err(1001); |
|
105 | 105 | } |
106 | 106 | |
107 | 107 | public function requestClarification(Request $request) |
@@ -158,16 +158,16 @@ discard block |
||
158 | 158 | $groupModel=new GroupModel(); |
159 | 159 | $basic=$contestModel->basic($all_data["cid"]); |
160 | 160 | |
161 | - if(!$basic["registration"]){ |
|
161 | + if (!$basic["registration"]) { |
|
162 | 162 | return ResponseModel::err(4003); |
163 | 163 | } |
164 | - if(strtotime($basic["registration_due"])<time()){ |
|
164 | + if (strtotime($basic["registration_due"])<time()) { |
|
165 | 165 | return ResponseModel::err(4004); |
166 | 166 | } |
167 | - if(!$basic["registant_type"]){ |
|
167 | + if (!$basic["registant_type"]) { |
|
168 | 168 | return ResponseModel::err(4005); |
169 | 169 | } |
170 | - if($basic["registant_type"]==1 && !$groupModel->isMember($basic["gid"], Auth::user()->id)){ |
|
170 | + if ($basic["registant_type"]==1 && !$groupModel->isMember($basic["gid"], Auth::user()->id)) { |
|
171 | 171 | return ResponseModel::err(4005); |
172 | 172 | } |
173 | 173 | |
@@ -186,15 +186,15 @@ discard block |
||
186 | 186 | 'end_time' => 'required|date|after:begin_time', |
187 | 187 | 'description' => 'string' |
188 | 188 | ]); |
189 | - $all_data = $request->all(); |
|
190 | - $cid = $all_data['cid']; |
|
189 | + $all_data=$request->all(); |
|
190 | + $cid=$all_data['cid']; |
|
191 | 191 | |
192 | - $contestModel = new ContestModel(); |
|
193 | - if($contestModel->judgeClearance($all_data['cid'],Auth::user()->id) != 3){ |
|
192 | + $contestModel=new ContestModel(); |
|
193 | + if ($contestModel->judgeClearance($all_data['cid'], Auth::user()->id)!=3) { |
|
194 | 194 | return ResponseModel::err(2001); |
195 | 195 | } |
196 | 196 | |
197 | - if($contestModel->remainingTime($cid) > 0){ |
|
197 | + if ($contestModel->remainingTime($cid)>0) { |
|
198 | 198 | $problems=explode(",", $all_data["problems"]); |
199 | 199 | if (count($problems)>26) { |
200 | 200 | return ResponseModel::err(4002); |
@@ -211,32 +211,32 @@ discard block |
||
211 | 211 | ]; |
212 | 212 | } |
213 | 213 | } |
214 | - $allow_update = ['name','description','begin_time','end_time']; |
|
214 | + $allow_update=['name', 'description', 'begin_time', 'end_time']; |
|
215 | 215 | |
216 | - foreach($all_data as $key => $value){ |
|
217 | - if(!in_array($key,$allow_update)){ |
|
216 | + foreach ($all_data as $key => $value) { |
|
217 | + if (!in_array($key, $allow_update)) { |
|
218 | 218 | unset($all_data[$key]); |
219 | 219 | } |
220 | 220 | } |
221 | - $contestModel->contestUpdate($cid,$all_data,$problemSet); |
|
221 | + $contestModel->contestUpdate($cid, $all_data, $problemSet); |
|
222 | 222 | return ResponseModel::success(200); |
223 | - }else{ |
|
224 | - $allow_update = ['name','description']; |
|
223 | + } else { |
|
224 | + $allow_update=['name', 'description']; |
|
225 | 225 | |
226 | - foreach($all_data as $key => $value){ |
|
227 | - if(!in_array($key,$allow_update)){ |
|
226 | + foreach ($all_data as $key => $value) { |
|
227 | + if (!in_array($key, $allow_update)) { |
|
228 | 228 | unset($all_data[$key]); |
229 | 229 | } |
230 | 230 | } |
231 | - $contestModel->contestUpdate($cid,$all_data,false); |
|
232 | - return ResponseModel::success(200,' |
|
231 | + $contestModel->contestUpdate($cid, $all_data, false); |
|
232 | + return ResponseModel::success(200, ' |
|
233 | 233 | Successful! However, only the name and description of the match can be changed for the match that has been finished. |
234 | 234 | '); |
235 | 235 | } |
236 | 236 | |
237 | 237 | } |
238 | 238 | |
239 | - public function issueAnnouncement(Request $request){ |
|
239 | + public function issueAnnouncement(Request $request) { |
|
240 | 240 | $request->validate([ |
241 | 241 | 'cid' => 'required|integer', |
242 | 242 | 'title' => 'required|string|max:250', |
@@ -256,7 +256,7 @@ discard block |
||
256 | 256 | } |
257 | 257 | } |
258 | 258 | |
259 | - public function replyClarification(Request $request){ |
|
259 | + public function replyClarification(Request $request) { |
|
260 | 260 | $request->validate([ |
261 | 261 | 'cid' => 'required|integer', |
262 | 262 | 'ccid' => 'required|integer', |
@@ -276,7 +276,7 @@ discard block |
||
276 | 276 | } |
277 | 277 | } |
278 | 278 | |
279 | - public function setClarificationPublic(Request $request){ |
|
279 | + public function setClarificationPublic(Request $request) { |
|
280 | 280 | $request->validate([ |
281 | 281 | 'cid' => 'required|integer', |
282 | 282 | 'ccid' => 'required|integer', |
@@ -309,7 +309,7 @@ discard block |
||
309 | 309 | $groupModel=new GroupModel(); |
310 | 310 | $contestModel=new ContestModel(); |
311 | 311 | $verified=$contestModel->isVerified($all_data["cid"]); |
312 | - if(!$verified){ |
|
312 | + if (!$verified) { |
|
313 | 313 | return ResponseModel::err(2001); |
314 | 314 | } |
315 | 315 | $gid=$contestModel->gid($all_data["cid"]); |
@@ -331,13 +331,13 @@ discard block |
||
331 | 331 | $request->validate([ |
332 | 332 | 'cid' => 'required|integer' |
333 | 333 | ]); |
334 | - $cid = $request->input('cid'); |
|
334 | + $cid=$request->input('cid'); |
|
335 | 335 | |
336 | 336 | $contestModel=new ContestModel(); |
337 | 337 | $clearance=$contestModel->judgeClearance($cid, Auth::user()->id); |
338 | - if ($clearance < 1) { |
|
338 | + if ($clearance<1) { |
|
339 | 339 | return ResponseModel::err(7002); |
340 | 340 | } |
341 | - return ResponseModel::success(200,null,$contestModel->praticeAnalysis($cid)); |
|
341 | + return ResponseModel::success(200, null, $contestModel->praticeAnalysis($cid)); |
|
342 | 342 | } |
343 | 343 | } |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | } |
61 | 61 | if($assign_uid != 0){ |
62 | 62 | $assignee = $groupModel->userProfile($assign_uid,$contest_detail['gid']); |
63 | - }else{ |
|
63 | + } else{ |
|
64 | 64 | $assignee = null; |
65 | 65 | } |
66 | 66 | $ret = [ |
@@ -220,7 +220,7 @@ discard block |
||
220 | 220 | } |
221 | 221 | $contestModel->contestUpdate($cid,$all_data,$problemSet); |
222 | 222 | return ResponseModel::success(200); |
223 | - }else{ |
|
223 | + } else{ |
|
224 | 224 | $allow_update = ['name','description']; |
225 | 225 | |
226 | 226 | foreach($all_data as $key => $value){ |
@@ -14,14 +14,14 @@ discard block |
||
14 | 14 | * |
15 | 15 | * @var string |
16 | 16 | */ |
17 | - protected $signature = 'babel:rerank {extension : The package name of the extension} {--vcid= : The target contest of the Crawler} {--gid=1 : The holding group} {--cid= : The NOJ contest}'; |
|
17 | + protected $signature='babel:rerank {extension : The package name of the extension} {--vcid= : The target contest of the Crawler} {--gid=1 : The holding group} {--cid= : The NOJ contest}'; |
|
18 | 18 | |
19 | 19 | /** |
20 | 20 | * The console command description. |
21 | 21 | * |
22 | 22 | * @var string |
23 | 23 | */ |
24 | - protected $description = 'Refresh Rank from a remote contest'; |
|
24 | + protected $description='Refresh Rank from a remote contest'; |
|
25 | 25 | |
26 | 26 | /** |
27 | 27 | * Create a new command instance. |
@@ -40,18 +40,18 @@ discard block |
||
40 | 40 | */ |
41 | 41 | public function handle() |
42 | 42 | { |
43 | - $extension = $this->argument('extension'); |
|
44 | - $vcid = $this->option('vcid'); |
|
45 | - $gid = $this->option('gid'); |
|
46 | - $cid = $this->option('cid'); |
|
47 | - $className = "App\\Babel\\Extension\\$extension\\Synchronizer"; |
|
48 | - $all_data = [ |
|
43 | + $extension=$this->argument('extension'); |
|
44 | + $vcid=$this->option('vcid'); |
|
45 | + $gid=$this->option('gid'); |
|
46 | + $cid=$this->option('cid'); |
|
47 | + $className="App\\Babel\\Extension\\$extension\\Synchronizer"; |
|
48 | + $all_data=[ |
|
49 | 49 | 'oj'=>$extension, |
50 | 50 | 'vcid'=>$vcid, |
51 | 51 | 'gid'=>$gid, |
52 | 52 | 'cid'=>$cid, |
53 | 53 | ]; |
54 | - $Sync = new $className($all_data); |
|
54 | + $Sync=new $className($all_data); |
|
55 | 55 | $Sync->crawlRank(); |
56 | 56 | } |
57 | 57 | } |
@@ -33,7 +33,7 @@ discard block |
||
33 | 33 | */ |
34 | 34 | protected function schedule(Schedule $schedule) |
35 | 35 | { |
36 | - $schedule->call(function () { |
|
36 | + $schedule->call(function() { |
|
37 | 37 | $babel=new Babel(); |
38 | 38 | for ($i=1; $i<=12; $i++) { |
39 | 39 | $babel->judge(); |
@@ -42,42 +42,42 @@ discard block |
||
42 | 42 | // file_put_contents(storage_path('app/task-schedule.output'),"Successfully Synced Judger"); |
43 | 43 | })->everyMinute()->description("Sync Judger"); |
44 | 44 | |
45 | - $schedule->call(function () { |
|
45 | + $schedule->call(function() { |
|
46 | 46 | $rankModel=new RankModel(); |
47 | 47 | $rankModel->rankList(); |
48 | 48 | // file_put_contents(storage_path('app/task-schedule.output'),"Successfully Updated Rank"); |
49 | 49 | })->dailyAt('02:00')->description("Update Rank"); |
50 | 50 | |
51 | - $schedule->call(function () { |
|
51 | + $schedule->call(function() { |
|
52 | 52 | $siteMapModel=new SiteMapModel(); |
53 | 53 | // file_put_contents(storage_path('app/task-schedule.output'),"Successfully Updated SiteMap"); |
54 | 54 | })->dailyAt('02:00')->description("Update SiteMap"); |
55 | 55 | |
56 | - $schedule->call(function () { |
|
56 | + $schedule->call(function() { |
|
57 | 57 | $groupModel=new GroupModel(); |
58 | 58 | $groupModel->cacheTrendingGroups(); |
59 | 59 | // file_put_contents(storage_path('app/task-schedule.output'),"Successfully Cached Trending Groups"); |
60 | 60 | })->dailyAt('03:00')->description("Update Trending Groups"); |
61 | 61 | |
62 | 62 | $schedule->call(function() { |
63 | - $contestModel = new ContestModel(); |
|
64 | - $syncList = $contestModel->runningContest(); |
|
65 | - foreach($syncList as $syncContest) { |
|
66 | - if(!isset($syncContest['vcid'])) { |
|
63 | + $contestModel=new ContestModel(); |
|
64 | + $syncList=$contestModel->runningContest(); |
|
65 | + foreach ($syncList as $syncContest) { |
|
66 | + if (!isset($syncContest['vcid'])) { |
|
67 | 67 | $contestRankRaw=$contestModel->contestRankCache($syncContest['cid']); |
68 | 68 | $cid=$syncContest['cid']; |
69 | 69 | Cache::tags(['contest', 'rank'])->put($cid, $contestRankRaw); |
70 | 70 | Cache::tags(['contest', 'rank'])->put("contestAdmin$cid", $contestRankRaw); |
71 | - continue ; |
|
71 | + continue; |
|
72 | 72 | } |
73 | - $className = "App\\Babel\\Extension\\hdu\\Synchronizer"; // TODO Add OJ judgement. |
|
74 | - $all_data = [ |
|
73 | + $className="App\\Babel\\Extension\\hdu\\Synchronizer"; // TODO Add OJ judgement. |
|
74 | + $all_data=[ |
|
75 | 75 | 'oj'=>"hdu", |
76 | 76 | 'vcid'=>$syncContest['vcid'], |
77 | 77 | 'gid'=>$syncContest['gid'], |
78 | 78 | 'cid'=>$syncContest['cid'], |
79 | 79 | ]; |
80 | - $hduSync = new $className($all_data); |
|
80 | + $hduSync=new $className($all_data); |
|
81 | 81 | $hduSync->crawlRank(); |
82 | 82 | $hduSync->crawlClarification(); |
83 | 83 | } |
@@ -85,19 +85,19 @@ discard block |
||
85 | 85 | })->everyMinute()->description("Sync Remote Rank and Clarification"); |
86 | 86 | |
87 | 87 | $schedule->call(function() { |
88 | - $contestModel = new ContestModel(); |
|
89 | - $syncList = $contestModel->runningContest(); |
|
90 | - foreach($syncList as $syncContest) { |
|
91 | - if(isset($syncContest['crawled'])) { |
|
92 | - if(!$syncContest['crawled']) { |
|
93 | - $className = "App\\Babel\\Extension\\hdu\\Synchronizer"; |
|
94 | - $all_data = [ |
|
88 | + $contestModel=new ContestModel(); |
|
89 | + $syncList=$contestModel->runningContest(); |
|
90 | + foreach ($syncList as $syncContest) { |
|
91 | + if (isset($syncContest['crawled'])) { |
|
92 | + if (!$syncContest['crawled']) { |
|
93 | + $className="App\\Babel\\Extension\\hdu\\Synchronizer"; |
|
94 | + $all_data=[ |
|
95 | 95 | 'oj'=>"hdu", |
96 | 96 | 'vcid'=>$syncContest['vcid'], |
97 | 97 | 'gid'=>$syncContest['gid'], |
98 | 98 | 'cid'=>$syncContest['cid'], |
99 | 99 | ]; |
100 | - $hduSync = new $className($all_data); |
|
100 | + $hduSync=new $className($all_data); |
|
101 | 101 | $hduSync->scheduleCrawl(); |
102 | 102 | $contestModel->updateCrawlStatus($syncContest['cid']); |
103 | 103 | } |
@@ -105,7 +105,7 @@ discard block |
||
105 | 105 | } |
106 | 106 | })->everyMinute()->description("Sync Contest Problem"); |
107 | 107 | |
108 | - $schedule->call(function () { |
|
108 | + $schedule->call(function() { |
|
109 | 109 | $judgerModel=new JudgerModel(); |
110 | 110 | $judgerModel->updateServerStatus(1); |
111 | 111 | // file_put_contents(storage_path('app/task-schedule.output'),"Successfully Updated Judge Server Status"); |
@@ -32,12 +32,12 @@ discard block |
||
32 | 32 | |
33 | 33 | foreach ($result as $row) { |
34 | 34 | $ocode=$row["ocode"]; |
35 | - if(!isset($this->judger[$ocode]) || is_null($this->judger[$ocode])) { |
|
35 | + if (!isset($this->judger[$ocode]) || is_null($this->judger[$ocode])) { |
|
36 | 36 | $this->judger[$ocode]=self::create($ocode); |
37 | 37 | } |
38 | 38 | try { |
39 | 39 | $this->judger[$ocode]->judge($row); |
40 | - }catch(Exception $e){ |
|
40 | + } catch (Exception $e) { |
|
41 | 41 | Log::alert("Exception Occurs While Processing $ocode's Submission {$row['sid']}\n".$e->getMessage()."\nAt ".$e->getFile().":".$e->getLine()); |
42 | 42 | } |
43 | 43 | } |
@@ -49,11 +49,11 @@ discard block |
||
49 | 49 | try { |
50 | 50 | $BabelConfig=json_decode(file_get_contents(babel_path("Extension/$ocode/babel.json")), true); |
51 | 51 | $judgerProvider=$BabelConfig["provider"]["judger"]; |
52 | - } catch(ErrorException $e) { |
|
53 | - } catch(Exception $e) { |
|
52 | + } catch (ErrorException $e) { |
|
53 | + } catch (Exception $e) { |
|
54 | 54 | } |
55 | - $className = "App\\Babel\\Extension\\$name\\$judgerProvider"; |
|
56 | - if(class_exists($className)) { |
|
55 | + $className="App\\Babel\\Extension\\$name\\$judgerProvider"; |
|
56 | + if (class_exists($className)) { |
|
57 | 57 | return new $className(); |
58 | 58 | } else { |
59 | 59 | return null; |
@@ -37,7 +37,7 @@ |
||
37 | 37 | } |
38 | 38 | try { |
39 | 39 | $this->judger[$ocode]->judge($row); |
40 | - }catch(Exception $e){ |
|
40 | + } catch(Exception $e){ |
|
41 | 41 | Log::alert("Exception Occurs While Processing $ocode's Submission {$row['sid']}\n".$e->getMessage()."\nAt ".$e->getFile().":".$e->getLine()); |
42 | 42 | } |
43 | 43 | } |
@@ -57,10 +57,10 @@ discard block |
||
57 | 57 | foreach ($trending_groups as &$t) { |
58 | 58 | $t["members"]=$this->countGroupMembers($t["gid"]); |
59 | 59 | } |
60 | - usort($trending_groups, function ($a, $b) { |
|
60 | + usort($trending_groups, function($a, $b) { |
|
61 | 61 | return $b["members"]<=>$a["members"]; |
62 | 62 | }); |
63 | - Cache::tags(['group'])->put('trending', array_slice($trending_groups,0,12), 3600*24); |
|
63 | + Cache::tags(['group'])->put('trending', array_slice($trending_groups, 0, 12), 3600 * 24); |
|
64 | 64 | } |
65 | 65 | |
66 | 66 | public function userGroups($uid) |
@@ -100,13 +100,13 @@ discard block |
||
100 | 100 | |
101 | 101 | public function changeGroupName($gid, $GroupName) |
102 | 102 | { |
103 | - return DB::table("group")->where('gid',$gid)->update([ |
|
103 | + return DB::table("group")->where('gid', $gid)->update([ |
|
104 | 104 | "name"=>$GroupName |
105 | 105 | ]); |
106 | 106 | } |
107 | 107 | |
108 | - public function changeJoinPolicy($gid, $JoinPolicy){ |
|
109 | - return DB::table("group")->where('gid',$gid)->update([ |
|
108 | + public function changeJoinPolicy($gid, $JoinPolicy) { |
|
109 | + return DB::table("group")->where('gid', $gid)->update([ |
|
110 | 110 | "join_policy"=>$JoinPolicy |
111 | 111 | ]); |
112 | 112 | } |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | public function details($gcode) |
115 | 115 | { |
116 | 116 | $basic_info=DB::table($this->tableName)->where(["gcode"=>$gcode])->first(); |
117 | - if(empty($basic_info)) return []; |
|
117 | + if (empty($basic_info)) return []; |
|
118 | 118 | $basic_info["members"]=$this->countGroupMembers($basic_info["gid"]); |
119 | 119 | $basic_info["tags"]=$this->getGroupTags($basic_info["gid"]); |
120 | 120 | $basic_info["create_time_foramt"]=date_format(date_create($basic_info["create_time"]), 'M jS, Y'); |
@@ -131,10 +131,10 @@ discard block |
||
131 | 131 | public function userProfile($uid, $gid) |
132 | 132 | { |
133 | 133 | $info=DB::table("group_member") |
134 | - ->join('users','users.id','=','group_member.uid') |
|
134 | + ->join('users', 'users.id', '=', 'group_member.uid') |
|
135 | 135 | ->where(["gid"=>$gid, "uid"=>$uid]) |
136 | 136 | ->where("role", ">", 0) |
137 | - ->select('avatar','describes','email','gid','uid','name','nick_name','professional_rate','role','sub_group') |
|
137 | + ->select('avatar', 'describes', 'email', 'gid', 'uid', 'name', 'nick_name', 'professional_rate', 'role', 'sub_group') |
|
138 | 138 | ->first(); |
139 | 139 | if (!empty($info)) { |
140 | 140 | $info["role_parsed"]=$this->role[$info["role"]]; |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | foreach ($user_list as &$u) { |
163 | 163 | $u["role_parsed"]=$this->role[$u["role"]]; |
164 | 164 | $u["role_color"]=$this->role_color[$u["role"]]; |
165 | - if(is_null($u["sub_group"])) $u["sub_group"]="None"; |
|
165 | + if (is_null($u["sub_group"])) $u["sub_group"]="None"; |
|
166 | 166 | } |
167 | 167 | return $user_list; |
168 | 168 | } |
@@ -223,16 +223,16 @@ discard block |
||
223 | 223 | ])->where("role", ">", 0)->count(); |
224 | 224 | } |
225 | 225 | |
226 | - public function problemTags($gid,$pid = -1) |
|
226 | + public function problemTags($gid, $pid=-1) |
|
227 | 227 | { |
228 | - if($pid == -1){ |
|
229 | - $tags = DB::table('group_problem_tag') |
|
228 | + if ($pid==-1) { |
|
229 | + $tags=DB::table('group_problem_tag') |
|
230 | 230 | ->select('tag') |
231 | - ->where('gid',$gid) |
|
231 | + ->where('gid', $gid) |
|
232 | 232 | ->distinct() |
233 | 233 | ->get()->all(); |
234 | - }else{ |
|
235 | - $tags = DB::table('group_problem_tag') |
|
234 | + } else { |
|
235 | + $tags=DB::table('group_problem_tag') |
|
236 | 236 | ->select('tag') |
237 | 237 | ->where('gid', $gid) |
238 | 238 | ->where('pid', $pid) |
@@ -240,10 +240,10 @@ discard block |
||
240 | 240 | ->get()->all(); |
241 | 241 | } |
242 | 242 | |
243 | - $tags_arr = []; |
|
244 | - if(!empty($tags)){ |
|
243 | + $tags_arr=[]; |
|
244 | + if (!empty($tags)) { |
|
245 | 245 | foreach ($tags as $value) { |
246 | - array_push($tags_arr,$value['tag']); |
|
246 | + array_push($tags_arr, $value['tag']); |
|
247 | 247 | } |
248 | 248 | } |
249 | 249 | return $tags_arr; |
@@ -251,28 +251,28 @@ discard block |
||
251 | 251 | |
252 | 252 | public function problems($gid) |
253 | 253 | { |
254 | - $contestModel = new ContestModel(); |
|
255 | - $problems = DB::table('contest_problem') |
|
256 | - ->join('contest','contest_problem.cid', '=', 'contest.cid') |
|
257 | - ->join('problem','contest_problem.pid', '=', 'problem.pid' ) |
|
254 | + $contestModel=new ContestModel(); |
|
255 | + $problems=DB::table('contest_problem') |
|
256 | + ->join('contest', 'contest_problem.cid', '=', 'contest.cid') |
|
257 | + ->join('problem', 'contest_problem.pid', '=', 'problem.pid') |
|
258 | 258 | ->select('contest_problem.cid as cid', 'problem.pid as pid', 'pcode', 'title') |
259 | - ->where('contest.gid',$gid) |
|
260 | - ->where('contest.practice',1) |
|
261 | - ->orderBy('contest.create_time','desc') |
|
259 | + ->where('contest.gid', $gid) |
|
260 | + ->where('contest.practice', 1) |
|
261 | + ->orderBy('contest.create_time', 'desc') |
|
262 | 262 | ->distinct() |
263 | 263 | ->get()->all(); |
264 | - $user_id = Auth::user()->id; |
|
265 | - foreach($problems as $key => $value){ |
|
266 | - if($contestModel->judgeClearance($value['cid'],$user_id) != 3){ |
|
264 | + $user_id=Auth::user()->id; |
|
265 | + foreach ($problems as $key => $value) { |
|
266 | + if ($contestModel->judgeClearance($value['cid'], $user_id)!=3) { |
|
267 | 267 | unset($problems[$key]); |
268 | - }else{ |
|
269 | - $problems[$key]['tags'] = $this->problemTags($gid,$value['pid']); |
|
268 | + } else { |
|
269 | + $problems[$key]['tags']=$this->problemTags($gid, $value['pid']); |
|
270 | 270 | } |
271 | 271 | } |
272 | 272 | return $problems; |
273 | 273 | } |
274 | 274 | |
275 | - public function problemAddTag($gid,$pid,$tag) |
|
275 | + public function problemAddTag($gid, $pid, $tag) |
|
276 | 276 | { |
277 | 277 | return DB::table("group_problem_tag")->insert([ |
278 | 278 | "gid"=>$gid, |
@@ -281,7 +281,7 @@ discard block |
||
281 | 281 | ]); |
282 | 282 | } |
283 | 283 | |
284 | - public function problemRemoveTag($gid,$pid,$tag) |
|
284 | + public function problemRemoveTag($gid, $pid, $tag) |
|
285 | 285 | { |
286 | 286 | return DB::table("group_problem_tag")->where([ |
287 | 287 | "gid"=>$gid, |
@@ -326,7 +326,7 @@ discard block |
||
326 | 326 | public function judgeEmailClearance($gid, $email) |
327 | 327 | { |
328 | 328 | $user=DB::table("users")->where(["email"=>$email])->first(); |
329 | - if(empty($user)) return -4; |
|
329 | + if (empty($user)) return -4; |
|
330 | 330 | $ret=DB::table("group_member")->where([ |
331 | 331 | "gid"=>$gid, |
332 | 332 | "uid"=>$user["id"], |
@@ -407,20 +407,20 @@ discard block |
||
407 | 407 | |
408 | 408 | public function groupMemberPracticeContestStat($gid) |
409 | 409 | { |
410 | - $contestModel = new ContestModel(); |
|
410 | + $contestModel=new ContestModel(); |
|
411 | 411 | |
412 | - $allPracticeContest = DB::table('contest') |
|
412 | + $allPracticeContest=DB::table('contest') |
|
413 | 413 | ->where([ |
414 | 414 | 'gid' => $gid, |
415 | 415 | 'practice' => 1, |
416 | 416 | ]) |
417 | - ->select('cid','name') |
|
417 | + ->select('cid', 'name') |
|
418 | 418 | ->get()->all(); |
419 | - $user_list = $this->userList($gid); |
|
419 | + $user_list=$this->userList($gid); |
|
420 | 420 | |
421 | - $memberData = []; |
|
421 | + $memberData=[]; |
|
422 | 422 | foreach ($user_list as $u) { |
423 | - $memberData[$u['uid']] = [ |
|
423 | + $memberData[$u['uid']]=[ |
|
424 | 424 | 'name' => $u['name'], |
425 | 425 | 'nick_name' => $u['nick_name'], |
426 | 426 | 'elo' => $u['ranking'], |
@@ -432,18 +432,18 @@ discard block |
||
432 | 432 | |
433 | 433 | } |
434 | 434 | foreach ($allPracticeContest as $c) { |
435 | - $contestRank = $contestModel->contestRank($c['cid'],0); |
|
436 | - $problemsCount = DB::table('contest_problem') |
|
437 | - ->where('cid',$c['cid']) |
|
435 | + $contestRank=$contestModel->contestRank($c['cid'], 0); |
|
436 | + $problemsCount=DB::table('contest_problem') |
|
437 | + ->where('cid', $c['cid']) |
|
438 | 438 | ->count(); |
439 | - $rank = 0; |
|
439 | + $rank=0; |
|
440 | 440 | foreach ($contestRank as $cr) { |
441 | 441 | $rank++; |
442 | - if(in_array($cr['uid'],array_keys($memberData))) { |
|
443 | - $memberData[$cr['uid']]['solved_all'] += $cr['solved']; |
|
444 | - $memberData[$cr['uid']]['problem_all'] += $problemsCount; |
|
445 | - $memberData[$cr['uid']]['penalty'] += $cr['penalty']; |
|
446 | - $memberData[$cr['uid']]['contest_detial'][$c['cid']] = [ |
|
442 | + if (in_array($cr['uid'], array_keys($memberData))) { |
|
443 | + $memberData[$cr['uid']]['solved_all']+=$cr['solved']; |
|
444 | + $memberData[$cr['uid']]['problem_all']+=$problemsCount; |
|
445 | + $memberData[$cr['uid']]['penalty']+=$cr['penalty']; |
|
446 | + $memberData[$cr['uid']]['contest_detial'][$c['cid']]=[ |
|
447 | 447 | 'rank' => $rank, |
448 | 448 | 'solved' => $cr['solved'], |
449 | 449 | 'problems' => $problemsCount, |
@@ -452,22 +452,22 @@ discard block |
||
452 | 452 | } |
453 | 453 | } |
454 | 454 | } |
455 | - $new_memberData = []; |
|
455 | + $new_memberData=[]; |
|
456 | 456 | foreach ($memberData as $uid => $data) { |
457 | - $contest_count = 0; |
|
458 | - $rank_sum = 0; |
|
457 | + $contest_count=0; |
|
458 | + $rank_sum=0; |
|
459 | 459 | foreach ($data['contest_detial'] as $cid => $c) { |
460 | - $rank_sum += $c['rank']; |
|
461 | - $contest_count += 1; |
|
460 | + $rank_sum+=$c['rank']; |
|
461 | + $contest_count+=1; |
|
462 | 462 | } |
463 | - $temp = $data; |
|
464 | - $temp['uid'] = $uid; |
|
465 | - if($contest_count != 0){ |
|
466 | - $temp['rank_ave'] = $rank_sum/$contest_count; |
|
463 | + $temp=$data; |
|
464 | + $temp['uid']=$uid; |
|
465 | + if ($contest_count!=0) { |
|
466 | + $temp['rank_ave']=$rank_sum / $contest_count; |
|
467 | 467 | } |
468 | - array_push($new_memberData,$temp); |
|
468 | + array_push($new_memberData, $temp); |
|
469 | 469 | } |
470 | - $ret = [ |
|
470 | + $ret=[ |
|
471 | 471 | 'contest_list' => $allPracticeContest, |
472 | 472 | 'member_data' => $new_memberData |
473 | 473 | ]; |
@@ -476,58 +476,58 @@ discard block |
||
476 | 476 | |
477 | 477 | public function groupMemberPracticeTagStat($gid) |
478 | 478 | { |
479 | - $tags = $this->problemTags($gid); |
|
480 | - $tag_problems = []; |
|
479 | + $tags=$this->problemTags($gid); |
|
480 | + $tag_problems=[]; |
|
481 | 481 | |
482 | - $user_list = $this->userList($gid); |
|
482 | + $user_list=$this->userList($gid); |
|
483 | 483 | foreach ($tags as $tag) { |
484 | - $tag_problems[$tag] = DB::table('problem') |
|
485 | - ->join('group_problem_tag','problem.pid','=','group_problem_tag.pid') |
|
484 | + $tag_problems[$tag]=DB::table('problem') |
|
485 | + ->join('group_problem_tag', 'problem.pid', '=', 'group_problem_tag.pid') |
|
486 | 486 | ->where([ |
487 | 487 | 'group_problem_tag.gid' => $gid, |
488 | 488 | 'tag' => $tag |
489 | 489 | ]) |
490 | - ->select('group_problem_tag.pid as pid','pcode','title') |
|
490 | + ->select('group_problem_tag.pid as pid', 'pcode', 'title') |
|
491 | 491 | ->get()->all(); |
492 | 492 | } |
493 | - $all_problems = []; |
|
493 | + $all_problems=[]; |
|
494 | 494 | foreach ($tag_problems as &$tag_problem_set) { |
495 | 495 | foreach ($tag_problem_set as $problem) { |
496 | - $all_problems[$problem['pid']] = $problem; |
|
496 | + $all_problems[$problem['pid']]=$problem; |
|
497 | 497 | } |
498 | - $tag_problem_set = array_column($tag_problem_set,'pid'); |
|
498 | + $tag_problem_set=array_column($tag_problem_set, 'pid'); |
|
499 | 499 | } |
500 | - $submission_data = DB::table('submission') |
|
501 | - ->whereIn('pid',array_keys($all_problems)) |
|
502 | - ->whereIn('uid',array_column($user_list,'uid')) |
|
503 | - ->where('verdict','Accepted') |
|
504 | - ->select('pid','uid') |
|
500 | + $submission_data=DB::table('submission') |
|
501 | + ->whereIn('pid', array_keys($all_problems)) |
|
502 | + ->whereIn('uid', array_column($user_list, 'uid')) |
|
503 | + ->where('verdict', 'Accepted') |
|
504 | + ->select('pid', 'uid') |
|
505 | 505 | ->get()->all(); |
506 | 506 | |
507 | - $memberData = []; |
|
507 | + $memberData=[]; |
|
508 | 508 | foreach ($user_list as $member) { |
509 | - $completion = []; |
|
510 | - foreach($tag_problems as $tag => $problems) { |
|
511 | - $completion[$tag] = []; |
|
509 | + $completion=[]; |
|
510 | + foreach ($tag_problems as $tag => $problems) { |
|
511 | + $completion[$tag]=[]; |
|
512 | 512 | foreach ($problems as $problem) { |
513 | - $is_accepted = 0; |
|
513 | + $is_accepted=0; |
|
514 | 514 | foreach ($submission_data as $sd) { |
515 | - if($sd['pid'] == $problem && $sd['uid'] == $member['uid']){ |
|
516 | - $is_accepted = 1; |
|
515 | + if ($sd['pid']==$problem && $sd['uid']==$member['uid']) { |
|
516 | + $is_accepted=1; |
|
517 | 517 | break; |
518 | 518 | } |
519 | 519 | } |
520 | - $completion[$tag][$problem] = $is_accepted; |
|
520 | + $completion[$tag][$problem]=$is_accepted; |
|
521 | 521 | } |
522 | 522 | } |
523 | - array_push($memberData,[ |
|
523 | + array_push($memberData, [ |
|
524 | 524 | 'uid' => $member['uid'], |
525 | 525 | 'name' => $member['name'], |
526 | 526 | 'nick_name' => $member['nick_name'], |
527 | 527 | 'completion' => $completion, |
528 | 528 | ]); |
529 | 529 | } |
530 | - $ret = [ |
|
530 | + $ret=[ |
|
531 | 531 | 'all_problems' => $all_problems, |
532 | 532 | 'tag_problems' => $tag_problems, |
533 | 533 | 'member_data' => $memberData |
@@ -538,14 +538,14 @@ discard block |
||
538 | 538 | public function refreshElo($gid) |
539 | 539 | { |
540 | 540 | DB::table('group_rated_change_log') |
541 | - ->where('gid',$gid) |
|
541 | + ->where('gid', $gid) |
|
542 | 542 | ->delete(); |
543 | 543 | DB::table('group_member') |
544 | - ->where('gid',$gid) |
|
544 | + ->where('gid', $gid) |
|
545 | 545 | ->update([ |
546 | 546 | 'ranking' => 1500 |
547 | 547 | ]); |
548 | - $contests = DB::table('contest') |
|
548 | + $contests=DB::table('contest') |
|
549 | 549 | ->where([ |
550 | 550 | 'gid' => $gid, |
551 | 551 | 'practice' => 1 |
@@ -556,12 +556,12 @@ discard block |
||
556 | 556 | ->orderBy('end_time') |
557 | 557 | ->get()->all(); |
558 | 558 | |
559 | - if(empty($contests)) { |
|
559 | + if (empty($contests)) { |
|
560 | 560 | return true; |
561 | 561 | } |
562 | 562 | |
563 | 563 | foreach ($contests as $contest) { |
564 | - $calc = new GroupRatingCalculator($contest['cid']); |
|
564 | + $calc=new GroupRatingCalculator($contest['cid']); |
|
565 | 565 | $calc->calculate(); |
566 | 566 | $calc->storage(); |
567 | 567 | } |
@@ -114,7 +114,9 @@ discard block |
||
114 | 114 | public function details($gcode) |
115 | 115 | { |
116 | 116 | $basic_info=DB::table($this->tableName)->where(["gcode"=>$gcode])->first(); |
117 | - if(empty($basic_info)) return []; |
|
117 | + if(empty($basic_info)) { |
|
118 | + return []; |
|
119 | + } |
|
118 | 120 | $basic_info["members"]=$this->countGroupMembers($basic_info["gid"]); |
119 | 121 | $basic_info["tags"]=$this->getGroupTags($basic_info["gid"]); |
120 | 122 | $basic_info["create_time_foramt"]=date_format(date_create($basic_info["create_time"]), 'M jS, Y'); |
@@ -162,7 +164,9 @@ discard block |
||
162 | 164 | foreach ($user_list as &$u) { |
163 | 165 | $u["role_parsed"]=$this->role[$u["role"]]; |
164 | 166 | $u["role_color"]=$this->role_color[$u["role"]]; |
165 | - if(is_null($u["sub_group"])) $u["sub_group"]="None"; |
|
167 | + if(is_null($u["sub_group"])) { |
|
168 | + $u["sub_group"]="None"; |
|
169 | + } |
|
166 | 170 | } |
167 | 171 | return $user_list; |
168 | 172 | } |
@@ -231,7 +235,7 @@ discard block |
||
231 | 235 | ->where('gid',$gid) |
232 | 236 | ->distinct() |
233 | 237 | ->get()->all(); |
234 | - }else{ |
|
238 | + } else{ |
|
235 | 239 | $tags = DB::table('group_problem_tag') |
236 | 240 | ->select('tag') |
237 | 241 | ->where('gid', $gid) |
@@ -265,7 +269,7 @@ discard block |
||
265 | 269 | foreach($problems as $key => $value){ |
266 | 270 | if($contestModel->judgeClearance($value['cid'],$user_id) != 3){ |
267 | 271 | unset($problems[$key]); |
268 | - }else{ |
|
272 | + } else{ |
|
269 | 273 | $problems[$key]['tags'] = $this->problemTags($gid,$value['pid']); |
270 | 274 | } |
271 | 275 | } |
@@ -326,7 +330,9 @@ discard block |
||
326 | 330 | public function judgeEmailClearance($gid, $email) |
327 | 331 | { |
328 | 332 | $user=DB::table("users")->where(["email"=>$email])->first(); |
329 | - if(empty($user)) return -4; |
|
333 | + if(empty($user)) { |
|
334 | + return -4; |
|
335 | + } |
|
330 | 336 | $ret=DB::table("group_member")->where([ |
331 | 337 | "gid"=>$gid, |
332 | 338 | "uid"=>$user["id"], |
@@ -43,7 +43,7 @@ discard block |
||
43 | 43 | $groupModel=new GroupModel(); |
44 | 44 | $contestModel=new ContestModel(); |
45 | 45 | $basic_info=$groupModel->details($gcode); |
46 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
46 | + if (empty($basic_info)) return Redirect::route('group.index'); |
|
47 | 47 | $my_profile=$groupModel->userProfile(Auth::user()->id, $basic_info["gid"]); |
48 | 48 | $clearance=$groupModel->judgeClearance($basic_info["gid"], Auth::user()->id); |
49 | 49 | $member_list=$groupModel->userList($basic_info["gid"]); |
@@ -88,7 +88,7 @@ discard block |
||
88 | 88 | */ |
89 | 89 | public function settings($gcode) |
90 | 90 | { |
91 | - return Redirect::route('group.settings.general', ['gcode' => $gcode]);; |
|
91 | + return Redirect::route('group.settings.general', ['gcode' => $gcode]); ; |
|
92 | 92 | } |
93 | 93 | |
94 | 94 | /** |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | */ |
99 | 99 | public function settingsReturn($gcode) |
100 | 100 | { |
101 | - return Redirect::route('group.detail', ['gcode' => $gcode]);; |
|
101 | + return Redirect::route('group.detail', ['gcode' => $gcode]); ; |
|
102 | 102 | } |
103 | 103 | |
104 | 104 | /** |
@@ -110,7 +110,7 @@ discard block |
||
110 | 110 | { |
111 | 111 | $groupModel=new GroupModel(); |
112 | 112 | $basic_info=$groupModel->details($gcode); |
113 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
113 | + if (empty($basic_info)) return Redirect::route('group.index'); |
|
114 | 114 | $clearance=$groupModel->judgeClearance($basic_info["gid"], Auth::user()->id); |
115 | 115 | $member_list=$groupModel->userList($basic_info["gid"]); |
116 | 116 | return view('group.settings.general', [ |
@@ -128,10 +128,10 @@ discard block |
||
128 | 128 | * |
129 | 129 | * @return Response |
130 | 130 | */ |
131 | - public function problems($gcode){ |
|
132 | - $groupModel = new GroupModel(); |
|
133 | - $group_info = $groupModel->details($gcode); |
|
134 | - $problems = $groupModel->problems($group_info['gid']); |
|
131 | + public function problems($gcode) { |
|
132 | + $groupModel=new GroupModel(); |
|
133 | + $group_info=$groupModel->details($gcode); |
|
134 | + $problems=$groupModel->problems($group_info['gid']); |
|
135 | 135 | $basic_info=$groupModel->details($gcode); |
136 | 136 | return view('group.settings.problems', [ |
137 | 137 | 'page_title'=>"Group Problems", |
@@ -152,7 +152,7 @@ discard block |
||
152 | 152 | { |
153 | 153 | $groupModel=new GroupModel(); |
154 | 154 | $basic_info=$groupModel->details($gcode); |
155 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
155 | + if (empty($basic_info)) return Redirect::route('group.index'); |
|
156 | 156 | return view('group.settings.danger', [ |
157 | 157 | 'page_title'=>"Group Setting danger", |
158 | 158 | 'site_title'=>config("app.name"), |
@@ -166,9 +166,9 @@ discard block |
||
166 | 166 | * |
167 | 167 | * @return Response |
168 | 168 | */ |
169 | - public function analysis($gcode){ |
|
170 | - $groupModel = new GroupModel(); |
|
171 | - $group_info = $groupModel->details($gcode); |
|
169 | + public function analysis($gcode) { |
|
170 | + $groupModel=new GroupModel(); |
|
171 | + $group_info=$groupModel->details($gcode); |
|
172 | 172 | return view('group.settings.analysis', [ |
173 | 173 | 'page_title'=>"Group Analysis", |
174 | 174 | 'site_title'=>"NOJ", |
@@ -188,7 +188,7 @@ discard block |
||
188 | 188 | $groupModel=new GroupModel(); |
189 | 189 | $contestModel=new ContestModel(); |
190 | 190 | $basic_info=$groupModel->details($gcode); |
191 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
191 | + if (empty($basic_info)) return Redirect::route('group.index'); |
|
192 | 192 | $clearance=$groupModel->judgeClearance($basic_info["gid"], Auth::user()->id); |
193 | 193 | $member_list=$groupModel->userList($basic_info["gid"]); |
194 | 194 | $group_notice=$groupModel->detailNotice($gcode); |
@@ -208,7 +208,7 @@ discard block |
||
208 | 208 | $groupModel=new GroupModel(); |
209 | 209 | $contestModel=new ContestModel(); |
210 | 210 | $basic_info=$groupModel->details($gcode); |
211 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
211 | + if (empty($basic_info)) return Redirect::route('group.index'); |
|
212 | 212 | $clearance=$groupModel->judgeClearance($basic_info["gid"], Auth::user()->id); |
213 | 213 | $contest_list=$contestModel->listForSetting($basic_info["gid"]); |
214 | 214 | $member_list=$groupModel->userList($basic_info["gid"]); |
@@ -223,13 +223,13 @@ discard block |
||
223 | 223 | ]); |
224 | 224 | } |
225 | 225 | |
226 | - public function analysisDownload($gcode,Request $request){ |
|
227 | - $all_data = $request->all(); |
|
228 | - $groupModel = new GroupModel(); |
|
229 | - $group_info = $groupModel->details($gcode); |
|
230 | - $mode = $all_data['mode'] ?? 'contest'; |
|
231 | - if($mode == 'contest'){ |
|
232 | - $data = $groupModel->groupMemberPracticeContestStat($group_info['gid']); |
|
226 | + public function analysisDownload($gcode, Request $request) { |
|
227 | + $all_data=$request->all(); |
|
228 | + $groupModel=new GroupModel(); |
|
229 | + $group_info=$groupModel->details($gcode); |
|
230 | + $mode=$all_data['mode'] ?? 'contest'; |
|
231 | + if ($mode=='contest') { |
|
232 | + $data=$groupModel->groupMemberPracticeContestStat($group_info['gid']); |
|
233 | 233 | return Excel::download( |
234 | 234 | new GroupAnalysisExport( |
235 | 235 | [ |
@@ -242,10 +242,10 @@ discard block |
||
242 | 242 | 'percent' => $all_data['percent'] ?? false, |
243 | 243 | ] |
244 | 244 | ), |
245 | - $gcode . '_Group_Contest_Analysis.xlsx' |
|
245 | + $gcode.'_Group_Contest_Analysis.xlsx' |
|
246 | 246 | ); |
247 | - }else{ |
|
248 | - $data = $groupModel->groupMemberPracticeTagStat($group_info['gid']); |
|
247 | + } else { |
|
248 | + $data=$groupModel->groupMemberPracticeTagStat($group_info['gid']); |
|
249 | 249 | return Excel::download( |
250 | 250 | new GroupAnalysisExport( |
251 | 251 | [ |
@@ -258,7 +258,7 @@ discard block |
||
258 | 258 | 'percent' => $all_data['percent'] ?? false, |
259 | 259 | ] |
260 | 260 | ), |
261 | - $gcode . '_Group_Tag_Analysis.xlsx' |
|
261 | + $gcode.'_Group_Tag_Analysis.xlsx' |
|
262 | 262 | ); |
263 | 263 | } |
264 | 264 | } |
@@ -43,7 +43,9 @@ discard block |
||
43 | 43 | $groupModel=new GroupModel(); |
44 | 44 | $contestModel=new ContestModel(); |
45 | 45 | $basic_info=$groupModel->details($gcode); |
46 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
46 | + if(empty($basic_info)) { |
|
47 | + return Redirect::route('group.index'); |
|
48 | + } |
|
47 | 49 | $my_profile=$groupModel->userProfile(Auth::user()->id, $basic_info["gid"]); |
48 | 50 | $clearance=$groupModel->judgeClearance($basic_info["gid"], Auth::user()->id); |
49 | 51 | $member_list=$groupModel->userList($basic_info["gid"]); |
@@ -110,7 +112,9 @@ discard block |
||
110 | 112 | { |
111 | 113 | $groupModel=new GroupModel(); |
112 | 114 | $basic_info=$groupModel->details($gcode); |
113 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
115 | + if(empty($basic_info)) { |
|
116 | + return Redirect::route('group.index'); |
|
117 | + } |
|
114 | 118 | $clearance=$groupModel->judgeClearance($basic_info["gid"], Auth::user()->id); |
115 | 119 | $member_list=$groupModel->userList($basic_info["gid"]); |
116 | 120 | return view('group.settings.general', [ |
@@ -152,7 +156,9 @@ discard block |
||
152 | 156 | { |
153 | 157 | $groupModel=new GroupModel(); |
154 | 158 | $basic_info=$groupModel->details($gcode); |
155 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
159 | + if(empty($basic_info)) { |
|
160 | + return Redirect::route('group.index'); |
|
161 | + } |
|
156 | 162 | return view('group.settings.danger', [ |
157 | 163 | 'page_title'=>"Group Setting danger", |
158 | 164 | 'site_title'=>config("app.name"), |
@@ -188,7 +194,9 @@ discard block |
||
188 | 194 | $groupModel=new GroupModel(); |
189 | 195 | $contestModel=new ContestModel(); |
190 | 196 | $basic_info=$groupModel->details($gcode); |
191 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
197 | + if(empty($basic_info)) { |
|
198 | + return Redirect::route('group.index'); |
|
199 | + } |
|
192 | 200 | $clearance=$groupModel->judgeClearance($basic_info["gid"], Auth::user()->id); |
193 | 201 | $member_list=$groupModel->userList($basic_info["gid"]); |
194 | 202 | $group_notice=$groupModel->detailNotice($gcode); |
@@ -208,7 +216,9 @@ discard block |
||
208 | 216 | $groupModel=new GroupModel(); |
209 | 217 | $contestModel=new ContestModel(); |
210 | 218 | $basic_info=$groupModel->details($gcode); |
211 | - if(empty($basic_info)) return Redirect::route('group.index'); |
|
219 | + if(empty($basic_info)) { |
|
220 | + return Redirect::route('group.index'); |
|
221 | + } |
|
212 | 222 | $clearance=$groupModel->judgeClearance($basic_info["gid"], Auth::user()->id); |
213 | 223 | $contest_list=$contestModel->listForSetting($basic_info["gid"]); |
214 | 224 | $member_list=$groupModel->userList($basic_info["gid"]); |
@@ -244,7 +254,7 @@ discard block |
||
244 | 254 | ), |
245 | 255 | $gcode . '_Group_Contest_Analysis.xlsx' |
246 | 256 | ); |
247 | - }else{ |
|
257 | + } else{ |
|
248 | 258 | $data = $groupModel->groupMemberPracticeTagStat($group_info['gid']); |
249 | 259 | return Excel::download( |
250 | 260 | new GroupAnalysisExport( |
@@ -413,7 +413,7 @@ discard block |
||
413 | 413 | ->where(['verdict'=>'Waiting']) |
414 | 414 | ->get() |
415 | 415 | ->all(); |
416 | - foreach($ret as &$r){ |
|
416 | + foreach ($ret as &$r) { |
|
417 | 417 | $r["ocode"]=DB::table("oj")->where(["oid"=>$r["oid"]])->first()["ocode"]; |
418 | 418 | } |
419 | 419 | return $ret; |
@@ -431,15 +431,15 @@ discard block |
||
431 | 431 | if (isset($sub['verdict'])) { |
432 | 432 | $sub["color"]=$this->colorScheme[$sub['verdict']]; |
433 | 433 | } |
434 | - $result = DB::table($this->tableName)->where(['sid'=>$sid])->update($sub); |
|
435 | - $contestModel = new ContestModel(); |
|
436 | - $submission_info = DB::table($this->tableName) -> where(['sid'=>$sid]) -> get() -> first(); |
|
437 | - if ($result==1 && $submission_info['cid'] && $contestModel->isContestRunning($submission_info['cid'])){ |
|
438 | - $sub['pid'] = $submission_info['pid']; |
|
439 | - $sub['uid'] = $submission_info['uid']; |
|
440 | - $sub['cid'] = $submission_info['cid']; |
|
441 | - $sub['sid'] = $sid; |
|
442 | - $contestModel->updateContestRankTable($submission_info['cid'],$sub); |
|
434 | + $result=DB::table($this->tableName)->where(['sid'=>$sid])->update($sub); |
|
435 | + $contestModel=new ContestModel(); |
|
436 | + $submission_info=DB::table($this->tableName) -> where(['sid'=>$sid]) -> get() -> first(); |
|
437 | + if ($result==1 && $submission_info['cid'] && $contestModel->isContestRunning($submission_info['cid'])) { |
|
438 | + $sub['pid']=$submission_info['pid']; |
|
439 | + $sub['uid']=$submission_info['uid']; |
|
440 | + $sub['cid']=$submission_info['cid']; |
|
441 | + $sub['sid']=$sid; |
|
442 | + $contestModel->updateContestRankTable($submission_info['cid'], $sub); |
|
443 | 443 | } |
444 | 444 | return $result; |
445 | 445 | } |
@@ -510,15 +510,15 @@ discard block |
||
510 | 510 | 'desc' |
511 | 511 | ); |
512 | 512 | |
513 | - if($filter["pcode"]){ |
|
513 | + if ($filter["pcode"]) { |
|
514 | 514 | $paginator=$paginator->where(["pcode"=>$filter["pcode"]]); |
515 | 515 | } |
516 | 516 | |
517 | - if($filter["result"]){ |
|
517 | + if ($filter["result"]) { |
|
518 | 518 | $paginator=$paginator->where(["verdict"=>$filter["result"]]); |
519 | 519 | } |
520 | 520 | |
521 | - if($filter["account"]){ |
|
521 | + if ($filter["account"]) { |
|
522 | 522 | $paginator=$paginator->where(["name"=>$filter["account"]]); |
523 | 523 | } |
524 | 524 |
@@ -14,14 +14,14 @@ discard block |
||
14 | 14 | * |
15 | 15 | * @var string |
16 | 16 | */ |
17 | - protected $signature = 'babel:syncpro {extension : The package name of the extension} {--vcid= : The target contest of the Crawler} {--gid= : The holding group} {--cid= : The contest in NOJ}'; |
|
17 | + protected $signature='babel:syncpro {extension : The package name of the extension} {--vcid= : The target contest of the Crawler} {--gid= : The holding group} {--cid= : The contest in NOJ}'; |
|
18 | 18 | |
19 | 19 | /** |
20 | 20 | * The console command description. |
21 | 21 | * |
22 | 22 | * @var string |
23 | 23 | */ |
24 | - protected $description = 'Crawl contests for a given Babel Extension to NOJ'; |
|
24 | + protected $description='Crawl contests for a given Babel Extension to NOJ'; |
|
25 | 25 | |
26 | 26 | /** |
27 | 27 | * Create a new command instance. |
@@ -40,18 +40,18 @@ discard block |
||
40 | 40 | */ |
41 | 41 | public function handle() |
42 | 42 | { |
43 | - $extension = $this->argument('extension'); |
|
44 | - $vcid = $this->option('vcid'); |
|
45 | - $gid = $this->option('gid'); |
|
46 | - $cid = $this->option('cid'); |
|
47 | - $className = "App\\Babel\\Extension\\$extension\\Synchronizer"; |
|
48 | - $all_data = [ |
|
43 | + $extension=$this->argument('extension'); |
|
44 | + $vcid=$this->option('vcid'); |
|
45 | + $gid=$this->option('gid'); |
|
46 | + $cid=$this->option('cid'); |
|
47 | + $className="App\\Babel\\Extension\\$extension\\Synchronizer"; |
|
48 | + $all_data=[ |
|
49 | 49 | 'oj'=>$extension, |
50 | 50 | 'vcid'=>$vcid, |
51 | 51 | 'gid'=>$gid, |
52 | 52 | 'cid'=>$cid, |
53 | 53 | ]; |
54 | - $Sync = new $className($all_data); |
|
54 | + $Sync=new $className($all_data); |
|
55 | 55 | $Sync->scheduleCrawl(); |
56 | 56 | } |
57 | 57 | } |
58 | 58 | \ No newline at end of file |