id; $quotas = Quota::getQuotas(); $roundCount=Round::getCount(); //Quotas fuer Season wegwerfen falls vorhanden und default Wert reinschreiben if (sizeof($quotas)==0) { Quota::createDefaultQuota(); $quotas = Quota::getQuotas(); } $active_user_count = sizeof(User::getActives()); $euro_pott = $active_user_count * $quotas["Einsatz"]; $euro_tagessieg_sum = intval ($euro_pott * ( $quotas["Tagessieg"] / 100 ) ); $euro_tagessieg = Quota::get6Divisor( intval($euro_tagessieg_sum / $roundCount)); $euro_gruenes_trikot = intval($euro_pott * (($quotas["Gruenes Trikot"] / 100))); $euro_gruenes_trikot = Quota::get6Divisor($euro_gruenes_trikot); $euro_pokal= intval ($euro_pott * (($quotas["Pokal"] / 100))); $euro_cleague = intval ($euro_pott * (($quotas["Champions-League"] / 100))); $euro_pokal= Quota::get6Divisor($euro_pokal); $euro_platzierung = intval ( $euro_pott * (($quotas["Platzierung"] / 100))); $tagessieg_rest = $euro_tagessieg_sum - ($euro_tagessieg * $roundCount); //Log::info("Tagessieg Rest=".$tagessieg_rest." €"); $euro_platzierung += $tagessieg_rest; $euro_platz1 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 1"] / 100)))); //Log::info("Platz 1=".$euro_platz1); $euro_platz2 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 2"] / 100)))); $euro_platz3 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 3"] / 100)))); $euro_platz4 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 4"] / 100)))); $euro_platz5 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 5"] / 100)))); $euro_platz6 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 6"] / 100)))); $euro_platz7 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 7"] / 100)))); $euro_platz8 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 8"] / 100)))); $euro_platz9 = Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 9"] / 100)))); $euro_platz10= Quota::get6Divisor(intval( $euro_platzierung * (( $quotas["Platz 10"] / 100)))); $euro_liga=intval($euro_pott *(($quotas["Liga-Wertung"] / 100))); $euro_liga_platz1 = Quota::get6Divisor(intval($euro_liga*(($quotas["Liga Platz 1"] / 100)))); $euro_liga_platz2 = Quota::get6Divisor(intval($euro_liga*(($quotas["Liga Platz 2"] / 100)))); $euro_liga_platz3 = Quota::get6Divisor(intval($euro_liga*(($quotas["Liga Platz 3"] / 100)))); $euro_liga_platz2_1 = Quota::get6Divisor(intval($euro_liga*(($quotas["Liga Platz 2_1"] / 100)))); $euro_liga_platz3_1 = Quota::get6Divisor(intval($euro_liga*(($quotas["Liga Platz 3_1"] / 100)))); $finaler_rest = $euro_pott - ( $roundCount*$euro_tagessieg + $euro_gruenes_trikot + $euro_pokal + $euro_platz1 + $euro_platz2 + $euro_platz3+ $euro_platz4 + $euro_platz5 + $euro_platz6 + $euro_platz7 + $euro_platz8 + $euro_platz9 + $euro_platz10 + $euro_liga_platz1 + $euro_liga_platz2 + $euro_liga_platz3 + $euro_liga_platz2_1 + $euro_liga_platz3_1); //dd("Euro-Pott: ".$euro_pott); //dd("Gruenes Trikot: ".$euro_gruenes_trikot); //dd("P"); //dd("Liga 2_1=".$euro_liga_platz2_1.", Liga 3_1=".$euro_liga_platz3_1.", Finaler Rest: ".$finaler_rest); $euro_platz1 = $euro_platz1 + $finaler_rest; //Log::info("PLatz 1 mit Rest(".$finaler_rest.") = ".$euro_platz1); $payouts=array(); $payouts['tagessieg'] = $euro_tagessieg; $payouts['platz1'] = $euro_platz1; $payouts['platz2'] = $euro_platz2; $payouts['platz3'] = $euro_platz3; $payouts['platz4'] = $euro_platz4; $payouts['platz5'] = $euro_platz5; $payouts['platz6'] = $euro_platz6; $payouts['platz7'] = $euro_platz7; $payouts['platz8'] = $euro_platz8; $payouts['platz9'] = $euro_platz9; $payouts['platz10'] = $euro_platz10; $payouts['liga_platz1'] = $euro_liga_platz1; $payouts['liga_platz2'] = $euro_liga_platz2; $payouts['liga_platz3'] = $euro_liga_platz3; $payouts['liga_platz2_1'] = $euro_liga_platz3; $payouts['liga_platz3_1'] = $euro_liga_platz3; $payouts['gruenes_trikot'] = $euro_gruenes_trikot; $payouts['Champions-League'] = $euro_cleague; $payouts['pokal'] = $euro_pokal; return $payouts; } // Subfunction of setQuotas public static function setQuota($name, $value) { $season_id = Season::getCurrent()->id; $quota = Quota::all()->where('season_id','=',$season_id)->where('name','=',$name)->first(); if (!$quota) { $quota = new Quota(); } $quota->season_id = $season_id; $quota->name = $name; $quota->prc = $value; $quota->save(); } public static function getQuota($quota_name) { $season_id=Season::getCurrent()->id; $quota=Quota::all()->where('season_id','=', $season_id)->where('name','=', $quota_name)->first(); return $quota['prc']; } public static function getQuotas() { $season_id = Season::getCurrent()->id; $quotas=Quota::all()->where('season_id','=', $season_id); $arr=array(); foreach($quotas as $quota) { $arr[$quota['name']]=$quota['prc']; } return $arr; } public static function setQuotas($quotas) { $season_id = Season::getCurrent()->id; foreach ($quotas as $key => $quota) { setQuota($key, $quota, $season_id); } } public static function createDefaultQuota() { $season_id = Season::getCurrent()->id; Log::info('Creating default quotas'); DB::table('quotas')->where('season_id', '=', $season_id)->delete(); $roundCount=Season::getCurrent()->rounds; Log::info("Creating new Quota"); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Einsatz"; $quota->prc = 40; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Tagessieg"; $quota->prc = 45; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platzierung"; $quota->prc = 45; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Gruenes Trikot"; $quota->prc = 10; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Liga-Wertung"; $quota->prc = 20; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Pokal"; $quota->prc = 15; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Champions-League"; $quota->prc = 10; $quota->save(); /// ####################################### // Sub-Quotas für den Spielmodus 'Tagessieg' $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 1"; $quota->order = 1; $quota->prc = 21; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 2"; $quota->order = 2; $quota->prc = 17; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 3"; $quota->order = 3; $quota->prc = 13; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 4"; $quota->order = 4; $quota->prc = 10; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 5"; $quota->order = 5; $quota->prc = 9; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 6"; $quota->order = 6; $quota->prc = 8; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 7"; $quota->order = 7; $quota->prc = 7; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 8"; $quota->order = 8; $quota->prc = 6; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 9"; $quota->order = 9; $quota->prc = 5; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Platz 10"; $quota->order = 10; $quota->prc = 4; $quota->save(); /////////////////////////////////// $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Liga Platz 1"; $quota->order = 10; $quota->prc = 50; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Liga Platz 2"; $quota->order = 10; $quota->prc = 20; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Liga Platz 3"; $quota->order = 10; $quota->prc = 17; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Liga Platz 2_1"; $quota->order = 10; $quota->prc = 8; $quota->save(); $quota = new Quota; $quota->season_id = $season_id; $quota->name = "Liga Platz 3_1"; $quota->order = 10; $quota->prc = 5; $quota->save(); } // Senkt die Zahl solange, bis sie durch 6 teilbar ist, // Abrundungsvorgabe für Ausschüttungs-Grundbeträge. public static function get6Divisor($number) { // Eine Zahl ist durch 6 teilbar, wenn sie durch 2 und 3 teilbar ist. while ($number % 2 or $number %3 ) { $number--; } return $number; } }