@@ -58,10 +58,10 @@ discard block |
||
| 58 | 58 | foreach ($trending_groups as &$t) { |
| 59 | 59 | $t["members"]=$this->countGroupMembers($t["gid"]); |
| 60 | 60 | } |
| 61 | - usort($trending_groups, function ($a, $b) { |
|
| 61 | + usort($trending_groups, function($a, $b) { |
|
| 62 | 62 | return $b["members"]<=>$a["members"]; |
| 63 | 63 | }); |
| 64 | - Cache::tags(['group'])->put('trending', array_slice($trending_groups,0,12), 3600*24); |
|
| 64 | + Cache::tags(['group'])->put('trending', array_slice($trending_groups, 0, 12), 3600 * 24); |
|
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | public function userGroups($uid) |
@@ -101,13 +101,13 @@ discard block |
||
| 101 | 101 | |
| 102 | 102 | public function changeGroupName($gid, $GroupName) |
| 103 | 103 | { |
| 104 | - return DB::table("group")->where('gid',$gid)->update([ |
|
| 104 | + return DB::table("group")->where('gid', $gid)->update([ |
|
| 105 | 105 | "name"=>$GroupName |
| 106 | 106 | ]); |
| 107 | 107 | } |
| 108 | 108 | |
| 109 | - public function changeJoinPolicy($gid, $JoinPolicy){ |
|
| 110 | - return DB::table("group")->where('gid',$gid)->update([ |
|
| 109 | + public function changeJoinPolicy($gid, $JoinPolicy) { |
|
| 110 | + return DB::table("group")->where('gid', $gid)->update([ |
|
| 111 | 111 | "join_policy"=>$JoinPolicy |
| 112 | 112 | ]); |
| 113 | 113 | } |
@@ -115,7 +115,7 @@ discard block |
||
| 115 | 115 | public function details($gcode) |
| 116 | 116 | { |
| 117 | 117 | $basic_info=DB::table($this->tableName)->where(["gcode"=>$gcode])->first(); |
| 118 | - if(empty($basic_info)) return []; |
|
| 118 | + if (empty($basic_info)) return []; |
|
| 119 | 119 | $basic_info["members"]=$this->countGroupMembers($basic_info["gid"]); |
| 120 | 120 | $basic_info["tags"]=$this->getGroupTags($basic_info["gid"]); |
| 121 | 121 | $basic_info["create_time_foramt"]=date_format(date_create($basic_info["create_time"]), 'M jS, Y'); |
@@ -132,10 +132,10 @@ discard block |
||
| 132 | 132 | public function userProfile($uid, $gid) |
| 133 | 133 | { |
| 134 | 134 | $info=DB::table("group_member") |
| 135 | - ->join('users','users.id','=','group_member.uid') |
|
| 135 | + ->join('users', 'users.id', '=', 'group_member.uid') |
|
| 136 | 136 | ->where(["gid"=>$gid, "uid"=>$uid]) |
| 137 | 137 | ->where("role", ">", 0) |
| 138 | - ->select('avatar','describes','email','gid','uid','name','nick_name','professional_rate','role','sub_group') |
|
| 138 | + ->select('avatar', 'describes', 'email', 'gid', 'uid', 'name', 'nick_name', 'professional_rate', 'role', 'sub_group') |
|
| 139 | 139 | ->first(); |
| 140 | 140 | if (!empty($info)) { |
| 141 | 141 | $info["role_parsed"]=$this->role[$info["role"]]; |
@@ -163,7 +163,7 @@ discard block |
||
| 163 | 163 | foreach ($user_list as &$u) { |
| 164 | 164 | $u["role_parsed"]=$this->role[$u["role"]]; |
| 165 | 165 | $u["role_color"]=$this->role_color[$u["role"]]; |
| 166 | - if(is_null($u["sub_group"])) $u["sub_group"]="None"; |
|
| 166 | + if (is_null($u["sub_group"])) $u["sub_group"]="None"; |
|
| 167 | 167 | } |
| 168 | 168 | return $user_list; |
| 169 | 169 | } |
@@ -224,16 +224,16 @@ discard block |
||
| 224 | 224 | ])->where("role", ">", 0)->count(); |
| 225 | 225 | } |
| 226 | 226 | |
| 227 | - public function problemTags($gid,$pid = -1) |
|
| 227 | + public function problemTags($gid, $pid=-1) |
|
| 228 | 228 | { |
| 229 | - if($pid == -1){ |
|
| 230 | - $tags = DB::table('group_problem_tag') |
|
| 229 | + if ($pid==-1) { |
|
| 230 | + $tags=DB::table('group_problem_tag') |
|
| 231 | 231 | ->select('tag') |
| 232 | - ->where('gid',$gid) |
|
| 232 | + ->where('gid', $gid) |
|
| 233 | 233 | ->distinct() |
| 234 | 234 | ->get()->all(); |
| 235 | - }else{ |
|
| 236 | - $tags = DB::table('group_problem_tag') |
|
| 235 | + } else { |
|
| 236 | + $tags=DB::table('group_problem_tag') |
|
| 237 | 237 | ->select('tag') |
| 238 | 238 | ->where('gid', $gid) |
| 239 | 239 | ->where('pid', $pid) |
@@ -241,10 +241,10 @@ discard block |
||
| 241 | 241 | ->get()->all(); |
| 242 | 242 | } |
| 243 | 243 | |
| 244 | - $tags_arr = []; |
|
| 245 | - if(!empty($tags)){ |
|
| 244 | + $tags_arr=[]; |
|
| 245 | + if (!empty($tags)) { |
|
| 246 | 246 | foreach ($tags as $value) { |
| 247 | - array_push($tags_arr,$value['tag']); |
|
| 247 | + array_push($tags_arr, $value['tag']); |
|
| 248 | 248 | } |
| 249 | 249 | } |
| 250 | 250 | return $tags_arr; |
@@ -252,28 +252,28 @@ discard block |
||
| 252 | 252 | |
| 253 | 253 | public function problems($gid) |
| 254 | 254 | { |
| 255 | - $contestModel = new ContestModel(); |
|
| 256 | - $problems = DB::table('contest_problem') |
|
| 257 | - ->join('contest','contest_problem.cid', '=', 'contest.cid') |
|
| 258 | - ->join('problem','contest_problem.pid', '=', 'problem.pid' ) |
|
| 255 | + $contestModel=new ContestModel(); |
|
| 256 | + $problems=DB::table('contest_problem') |
|
| 257 | + ->join('contest', 'contest_problem.cid', '=', 'contest.cid') |
|
| 258 | + ->join('problem', 'contest_problem.pid', '=', 'problem.pid') |
|
| 259 | 259 | ->select('contest_problem.cid as cid', 'problem.pid as pid', 'pcode', 'title') |
| 260 | - ->where('contest.gid',$gid) |
|
| 261 | - ->where('contest.practice',1) |
|
| 262 | - ->orderBy('contest.create_time','desc') |
|
| 260 | + ->where('contest.gid', $gid) |
|
| 261 | + ->where('contest.practice', 1) |
|
| 262 | + ->orderBy('contest.create_time', 'desc') |
|
| 263 | 263 | ->distinct() |
| 264 | 264 | ->get()->all(); |
| 265 | - $user_id = Auth::user()->id; |
|
| 266 | - foreach($problems as $key => $value){ |
|
| 267 | - if($contestModel->judgeClearance($value['cid'],$user_id) != 3){ |
|
| 265 | + $user_id=Auth::user()->id; |
|
| 266 | + foreach ($problems as $key => $value) { |
|
| 267 | + if ($contestModel->judgeClearance($value['cid'], $user_id)!=3) { |
|
| 268 | 268 | unset($problems[$key]); |
| 269 | - }else{ |
|
| 270 | - $problems[$key]['tags'] = $this->problemTags($gid,$value['pid']); |
|
| 269 | + } else { |
|
| 270 | + $problems[$key]['tags']=$this->problemTags($gid, $value['pid']); |
|
| 271 | 271 | } |
| 272 | 272 | } |
| 273 | 273 | return $problems; |
| 274 | 274 | } |
| 275 | 275 | |
| 276 | - public function problemAddTag($gid,$pid,$tag) |
|
| 276 | + public function problemAddTag($gid, $pid, $tag) |
|
| 277 | 277 | { |
| 278 | 278 | return DB::table("group_problem_tag")->insert([ |
| 279 | 279 | "gid"=>$gid, |
@@ -282,7 +282,7 @@ discard block |
||
| 282 | 282 | ]); |
| 283 | 283 | } |
| 284 | 284 | |
| 285 | - public function problemRemoveTag($gid,$pid,$tag) |
|
| 285 | + public function problemRemoveTag($gid, $pid, $tag) |
|
| 286 | 286 | { |
| 287 | 287 | return DB::table("group_problem_tag")->where([ |
| 288 | 288 | "gid"=>$gid, |
@@ -327,7 +327,7 @@ discard block |
||
| 327 | 327 | public function judgeEmailClearance($gid, $email) |
| 328 | 328 | { |
| 329 | 329 | $user=DB::table("users")->where(["email"=>$email])->first(); |
| 330 | - if(empty($user)) return -4; |
|
| 330 | + if (empty($user)) return -4; |
|
| 331 | 331 | $ret=DB::table("group_member")->where([ |
| 332 | 332 | "gid"=>$gid, |
| 333 | 333 | "uid"=>$user["id"], |
@@ -408,20 +408,20 @@ discard block |
||
| 408 | 408 | |
| 409 | 409 | public function groupMemberPracticeContestStat($gid) |
| 410 | 410 | { |
| 411 | - $contestModel = new ContestModel(); |
|
| 411 | + $contestModel=new ContestModel(); |
|
| 412 | 412 | |
| 413 | - $allPracticeContest = DB::table('contest') |
|
| 413 | + $allPracticeContest=DB::table('contest') |
|
| 414 | 414 | ->where([ |
| 415 | 415 | 'gid' => $gid, |
| 416 | 416 | 'practice' => 1, |
| 417 | 417 | ]) |
| 418 | - ->select('cid','name') |
|
| 418 | + ->select('cid', 'name') |
|
| 419 | 419 | ->get()->all(); |
| 420 | - $user_list = $this->userList($gid); |
|
| 420 | + $user_list=$this->userList($gid); |
|
| 421 | 421 | |
| 422 | - $memberData = []; |
|
| 422 | + $memberData=[]; |
|
| 423 | 423 | foreach ($user_list as $u) { |
| 424 | - $memberData[$u['uid']] = [ |
|
| 424 | + $memberData[$u['uid']]=[ |
|
| 425 | 425 | 'name' => $u['name'], |
| 426 | 426 | 'nick_name' => $u['nick_name'], |
| 427 | 427 | 'elo' => $u['ranking'], |
@@ -432,24 +432,24 @@ discard block |
||
| 432 | 432 | ]; |
| 433 | 433 | } |
| 434 | 434 | foreach ($allPracticeContest as $c) { |
| 435 | - $contestRankRaw = $contestModel->contestRank($c['cid']); |
|
| 436 | - foreach($contestRankRaw as $key => $contestRank){ |
|
| 437 | - if(isset($contestRank['remote']) && $contestRank['remote']){ |
|
| 435 | + $contestRankRaw=$contestModel->contestRank($c['cid']); |
|
| 436 | + foreach ($contestRankRaw as $key => $contestRank) { |
|
| 437 | + if (isset($contestRank['remote']) && $contestRank['remote']) { |
|
| 438 | 438 | unset($contestRankRaw[$key]); |
| 439 | 439 | } |
| 440 | 440 | } |
| 441 | - $contestRank = array_values($contestRankRaw); |
|
| 442 | - $problemsCount = DB::table('contest_problem') |
|
| 443 | - ->where('cid',$c['cid']) |
|
| 441 | + $contestRank=array_values($contestRankRaw); |
|
| 442 | + $problemsCount=DB::table('contest_problem') |
|
| 443 | + ->where('cid', $c['cid']) |
|
| 444 | 444 | ->count(); |
| 445 | - $rank = 0; |
|
| 445 | + $rank=0; |
|
| 446 | 446 | foreach ($contestRank as $cr) { |
| 447 | 447 | $rank++; |
| 448 | - if(in_array($cr['uid'],array_keys($memberData))) { |
|
| 449 | - $memberData[$cr['uid']]['solved_all'] += $cr['solved']; |
|
| 450 | - $memberData[$cr['uid']]['problem_all'] += $problemsCount; |
|
| 451 | - $memberData[$cr['uid']]['penalty'] += $cr['penalty']; |
|
| 452 | - $memberData[$cr['uid']]['contest_detial'][$c['cid']] = [ |
|
| 448 | + if (in_array($cr['uid'], array_keys($memberData))) { |
|
| 449 | + $memberData[$cr['uid']]['solved_all']+=$cr['solved']; |
|
| 450 | + $memberData[$cr['uid']]['problem_all']+=$problemsCount; |
|
| 451 | + $memberData[$cr['uid']]['penalty']+=$cr['penalty']; |
|
| 452 | + $memberData[$cr['uid']]['contest_detial'][$c['cid']]=[ |
|
| 453 | 453 | 'rank' => $rank, |
| 454 | 454 | 'solved' => $cr['solved'], |
| 455 | 455 | 'problems' => $problemsCount, |
@@ -458,22 +458,22 @@ discard block |
||
| 458 | 458 | } |
| 459 | 459 | } |
| 460 | 460 | } |
| 461 | - $new_memberData = []; |
|
| 461 | + $new_memberData=[]; |
|
| 462 | 462 | foreach ($memberData as $uid => $data) { |
| 463 | - $contest_count = 0; |
|
| 464 | - $rank_sum = 0; |
|
| 463 | + $contest_count=0; |
|
| 464 | + $rank_sum=0; |
|
| 465 | 465 | foreach ($data['contest_detial'] as $cid => $c) { |
| 466 | - $rank_sum += $c['rank']; |
|
| 467 | - $contest_count += 1; |
|
| 466 | + $rank_sum+=$c['rank']; |
|
| 467 | + $contest_count+=1; |
|
| 468 | 468 | } |
| 469 | - $temp = $data; |
|
| 470 | - $temp['uid'] = $uid; |
|
| 471 | - if($contest_count != 0){ |
|
| 472 | - $temp['rank_ave'] = $rank_sum/$contest_count; |
|
| 469 | + $temp=$data; |
|
| 470 | + $temp['uid']=$uid; |
|
| 471 | + if ($contest_count!=0) { |
|
| 472 | + $temp['rank_ave']=$rank_sum / $contest_count; |
|
| 473 | 473 | } |
| 474 | - array_push($new_memberData,$temp); |
|
| 474 | + array_push($new_memberData, $temp); |
|
| 475 | 475 | } |
| 476 | - $ret = [ |
|
| 476 | + $ret=[ |
|
| 477 | 477 | 'contest_list' => $allPracticeContest, |
| 478 | 478 | 'member_data' => $new_memberData |
| 479 | 479 | ]; |
@@ -482,58 +482,58 @@ discard block |
||
| 482 | 482 | |
| 483 | 483 | public function groupMemberPracticeTagStat($gid) |
| 484 | 484 | { |
| 485 | - $tags = $this->problemTags($gid); |
|
| 486 | - $tag_problems = []; |
|
| 485 | + $tags=$this->problemTags($gid); |
|
| 486 | + $tag_problems=[]; |
|
| 487 | 487 | |
| 488 | - $user_list = $this->userList($gid); |
|
| 488 | + $user_list=$this->userList($gid); |
|
| 489 | 489 | foreach ($tags as $tag) { |
| 490 | - $tag_problems[$tag] = DB::table('problem') |
|
| 491 | - ->join('group_problem_tag','problem.pid','=','group_problem_tag.pid') |
|
| 490 | + $tag_problems[$tag]=DB::table('problem') |
|
| 491 | + ->join('group_problem_tag', 'problem.pid', '=', 'group_problem_tag.pid') |
|
| 492 | 492 | ->where([ |
| 493 | 493 | 'group_problem_tag.gid' => $gid, |
| 494 | 494 | 'tag' => $tag |
| 495 | 495 | ]) |
| 496 | - ->select('group_problem_tag.pid as pid','pcode','title') |
|
| 496 | + ->select('group_problem_tag.pid as pid', 'pcode', 'title') |
|
| 497 | 497 | ->get()->all(); |
| 498 | 498 | } |
| 499 | - $all_problems = []; |
|
| 499 | + $all_problems=[]; |
|
| 500 | 500 | foreach ($tag_problems as &$tag_problem_set) { |
| 501 | 501 | foreach ($tag_problem_set as $problem) { |
| 502 | - $all_problems[$problem['pid']] = $problem; |
|
| 502 | + $all_problems[$problem['pid']]=$problem; |
|
| 503 | 503 | } |
| 504 | - $tag_problem_set = array_column($tag_problem_set,'pid'); |
|
| 504 | + $tag_problem_set=array_column($tag_problem_set, 'pid'); |
|
| 505 | 505 | } |
| 506 | - $submission_data = DB::table('submission') |
|
| 507 | - ->whereIn('pid',array_keys($all_problems)) |
|
| 508 | - ->whereIn('uid',array_column($user_list,'uid')) |
|
| 509 | - ->where('verdict','Accepted') |
|
| 510 | - ->select('pid','uid') |
|
| 506 | + $submission_data=DB::table('submission') |
|
| 507 | + ->whereIn('pid', array_keys($all_problems)) |
|
| 508 | + ->whereIn('uid', array_column($user_list, 'uid')) |
|
| 509 | + ->where('verdict', 'Accepted') |
|
| 510 | + ->select('pid', 'uid') |
|
| 511 | 511 | ->get()->all(); |
| 512 | 512 | |
| 513 | - $memberData = []; |
|
| 513 | + $memberData=[]; |
|
| 514 | 514 | foreach ($user_list as $member) { |
| 515 | - $completion = []; |
|
| 516 | - foreach($tag_problems as $tag => $problems) { |
|
| 517 | - $completion[$tag] = []; |
|
| 515 | + $completion=[]; |
|
| 516 | + foreach ($tag_problems as $tag => $problems) { |
|
| 517 | + $completion[$tag]=[]; |
|
| 518 | 518 | foreach ($problems as $problem) { |
| 519 | - $is_accepted = 0; |
|
| 519 | + $is_accepted=0; |
|
| 520 | 520 | foreach ($submission_data as $sd) { |
| 521 | - if($sd['pid'] == $problem && $sd['uid'] == $member['uid']){ |
|
| 522 | - $is_accepted = 1; |
|
| 521 | + if ($sd['pid']==$problem && $sd['uid']==$member['uid']) { |
|
| 522 | + $is_accepted=1; |
|
| 523 | 523 | break; |
| 524 | 524 | } |
| 525 | 525 | } |
| 526 | - $completion[$tag][$problem] = $is_accepted; |
|
| 526 | + $completion[$tag][$problem]=$is_accepted; |
|
| 527 | 527 | } |
| 528 | 528 | } |
| 529 | - array_push($memberData,[ |
|
| 529 | + array_push($memberData, [ |
|
| 530 | 530 | 'uid' => $member['uid'], |
| 531 | 531 | 'name' => $member['name'], |
| 532 | 532 | 'nick_name' => $member['nick_name'], |
| 533 | 533 | 'completion' => $completion, |
| 534 | 534 | ]); |
| 535 | 535 | } |
| 536 | - $ret = [ |
|
| 536 | + $ret=[ |
|
| 537 | 537 | 'all_problems' => $all_problems, |
| 538 | 538 | 'tag_problems' => $tag_problems, |
| 539 | 539 | 'member_data' => $memberData |
@@ -544,29 +544,29 @@ discard block |
||
| 544 | 544 | public function refreshElo($gid) |
| 545 | 545 | { |
| 546 | 546 | DB::table('group_rated_change_log') |
| 547 | - ->where('gid',$gid) |
|
| 547 | + ->where('gid', $gid) |
|
| 548 | 548 | ->delete(); |
| 549 | 549 | DB::table('group_member') |
| 550 | - ->where('gid',$gid) |
|
| 550 | + ->where('gid', $gid) |
|
| 551 | 551 | ->update([ |
| 552 | 552 | 'ranking' => 1500 |
| 553 | 553 | ]); |
| 554 | - $contests = DB::table('contest') |
|
| 554 | + $contests=DB::table('contest') |
|
| 555 | 555 | ->where([ |
| 556 | 556 | 'gid' => $gid, |
| 557 | 557 | 'practice' => 1 |
| 558 | 558 | ]) |
| 559 | - ->where('end_time','<',date("Y-m-d H:i:s")) |
|
| 559 | + ->where('end_time', '<', date("Y-m-d H:i:s")) |
|
| 560 | 560 | ->select('cid') |
| 561 | 561 | ->orderBy('end_time') |
| 562 | 562 | ->get()->all(); |
| 563 | 563 | |
| 564 | - if(empty($contests)) { |
|
| 564 | + if (empty($contests)) { |
|
| 565 | 565 | return true; |
| 566 | 566 | } |
| 567 | 567 | |
| 568 | 568 | foreach ($contests as $contest) { |
| 569 | - $calc = new GroupRatingCalculator($contest['cid']); |
|
| 569 | + $calc=new GroupRatingCalculator($contest['cid']); |
|
| 570 | 570 | $calc->calculate(); |
| 571 | 571 | $calc->storage(); |
| 572 | 572 | } |