diff --git a/pfosten/app/Http/Controllers/UsersController.php b/pfosten/app/Http/Controllers/UsersController.php index acd06a71..7ab7ab42 100755 --- a/pfosten/app/Http/Controllers/UsersController.php +++ b/pfosten/app/Http/Controllers/UsersController.php @@ -515,46 +515,8 @@ class UsersController extends Controller } - $response = Tipp::getRoundTipps(); - $roundtipps = $response['roundtipps']; - $roundData = $response['roundData']; - $user_ids = $response['user_ids']; - $round_ids = $response['round_ids']; + $sortedPayout = Quota::getPayoutPerUser(); - $payoutTotal = array(); - $cnt=0; - foreach($round_ids as $round_id) { - foreach($user_ids as $user_id) { - $key=$round_id."_".$user_id; - - $payout = str_replace(",",".",$roundtipps[$key]['payout']); - if (strlen($payout)==0) { $payout=0; } - - if (!array_key_exists($user_id, $payoutTotal)) { - $payoutTotal[$user_id]['amount']=0; - $payoutTotal[$user_id]['name']=$roundtipps[$key]['user_name']; - $payoutTotal[$user_id]['user_id']=$roundtipps[$key]['user_id']; - } - - $payoutTotal[$user_id]['amount'] += $payout; - - $payout_ranking = $roundtipps[$key]['ranking_payout']; - $payoutTotal[$user_id]['amount'] += $payout_ranking; - } - } - - $sortedPayout=array(); - foreach($payoutTotal as $payout) { - $payment=array(); - $payment['user_id']=$payout['user_id']; - $payment['name']=$payout['name']; - $payment['amount']=$payout['amount']; - array_push($sortedPayout,$payment); - } - - usort($sortedPayout,array($this,'cmpPayment')); - - //dd($sortedPayout); return view ('users.payout_ranking_index',compact('sortedPayout')); } @@ -641,41 +603,19 @@ class UsersController extends Controller return view('users.no_payment'); } - $response = Tipp::getRoundTipps(); - $roundtipps = $response['roundtipps']; - //$roundData = $response['roundData']; - //$user_ids = $response['user_ids']; - $round_ids = $response['round_ids']; - $payouts = array(); - $cnt=0; - foreach($round_ids as $round_id) { - $key=$round_id."_".$user_id; - $payout = $roundtipps[$key]['payout']; + $payouts = Quota::getPayoutPerUserDetails($user_id); - if (strlen( $payout )>0) { - $round = Round::where('id','=',$round_id)->first(); - $item=array(); - $item['roundname']=$round->name . " (Tagessieg)"; - $item['payout'] =$payout; - array_push($payouts,$item); - } - - if ($roundtipps[$key]['ranking_payout']>0) { - $item=array(); - $item['roundname']="Platzierungssieg Rang ".$roundtipps[$key]['rank']; - $item['payout']=$roundtipps[$key]['ranking_payout']; - array_push($payouts,$item); - } - } $user = User::where('id','=',$user_id)->first(); return view ('users.payout_ranking_detail',compact('payouts','user')); } + + public function gshirt_ranking() { if (Auth::guest()) { return redirect("/"); } diff --git a/pfosten/app/Quota.php b/pfosten/app/Quota.php index de2d8078..94b7960c 100644 --- a/pfosten/app/Quota.php +++ b/pfosten/app/Quota.php @@ -313,4 +313,92 @@ class Quota extends Model return $number; } + + + public static function getPayoutPerUserDetails($userId) { + $response = Tipp::getRoundTipps(); + $roundtipps = $response['roundtipps']; + $round_ids = $response['round_ids']; + + $payouts = array(); + $cnt=0; + foreach($round_ids as $round_id) { + + $key=$round_id."_".$userId; + $payout = $roundtipps[$key]['payout']; + + if (strlen( $payout )>0) { + $round = Round::where('id','=',$round_id)->first(); + + $item=array(); + $item['roundname']=$round->name . " (Tagessieg)"; + $item['payout'] =$payout; + array_push($payouts,$item); + } + + if ($roundtipps[$key]['ranking_payout']>0) { + $item=array(); + $item['roundname']="Platzierungssieg Rang ".$roundtipps[$key]['rank']; + $item['payout']=$roundtipps[$key]['ranking_payout']; + array_push($payouts,$item); + } + } + + //TODO: Manuelle Payouts hinzufügen + return $payouts; + } + + public static function getPayoutPerUser($seasonId=-1) + { + $season = Season::get($seasonId); + + $response = Tipp::getRoundTipps(); + $roundtipps = $response['roundtipps']; + $user_ids = $response['user_ids']; + $round_ids = $response['round_ids']; + + $payoutTotal = array(); + $cnt = 0; + foreach ($round_ids as $round_id) { + foreach ($user_ids as $user_id) { + $key = $round_id . "_" . $user_id; + + $payout = str_replace(",", ".", $roundtipps[$key]['payout']); + if (strlen($payout) == 0) { + $payout = 0; + } + + if (!array_key_exists($user_id, $payoutTotal)) { + $payoutTotal[$user_id]['amount'] = 0; + $payoutTotal[$user_id]['name'] = $roundtipps[$key]['user_name']; + $payoutTotal[$user_id]['user_id'] = $roundtipps[$key]['user_id']; + } + + $payoutTotal[$user_id]['amount'] += $payout; + + $payout_ranking = $roundtipps[$key]['ranking_payout']; + $payoutTotal[$user_id]['amount'] += $payout_ranking; + } + } + + $sortedPayout = array(); + foreach ($payoutTotal as $payout) { + $payment = array(); + $payment['user_id'] = $payout['user_id']; + $payment['name'] = $payout['name']; + $payment['amount'] = $payout['amount']; + array_push($sortedPayout, $payment); + } + + + usort($sortedPayout,array('App\Quota','cmpPayment')); + + //TODO: Manuelle Payouts hinzufügen + + return $sortedPayout; + } + + public static function cmpPayment($payment1, $payment2) { + return ($payment1['amount'] < $payment2['amount']); + } } diff --git a/pfosten/app/Season.php b/pfosten/app/Season.php index beb1b22d..3dffc11d 100644 --- a/pfosten/app/Season.php +++ b/pfosten/app/Season.php @@ -49,6 +49,13 @@ class Season extends Model return $seasons[1]; } + public static function get($seasonId) { + if ($seasonId==-1) return Season::getCurrent(); + $season=Season::where('id','=',$seasonId)->first(); + return $season; + } + + public static function hasQualifications($seasonId=-1) { return Season::hasLeagueType($seasonId,League::RANK_QUALIFICATION); }