Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function make_teams($league_id,$number_of_teams) {
- $users = $this->league_model->get_league_users($league_id);
- $skill_levels = array();
- foreach($users as $user) {
- $sorted_users[$user['user__skill_level']][] = $user;
- $skill_levels[$user['user__skill_level']] = $user['user__skill_level'];
- }
- $teams = array();
- for ($i = 1; $i <= $number_of_teams; $i++) {
- $teams[$i]['score'] = 0;
- $teams[$i]['users'] = array();
- }
- arsort($skill_levels);
- $team_with_lowest_score = 1;
- foreach($skill_levels as $skill_level) {
- echo '<h1>Skill Level: ' . $skill_level . '</h1>';
- // Figure out new pick order
- $pick_order = $this->_get_pick_order($teams);
- $pick_order_index = 0;
- echo '<p>initial pick order for round:';
- foreach($pick_order as $x) {
- echo ' | team ' . $x['team'] . ' [' . $x['score'] . 'pts]';
- }
- shuffle($sorted_users[$skill_level]);
- foreach($sorted_users[$skill_level] as $user) {
- $teams[$pick_order[$pick_order_index]['team']]['users'][] = $user;
- $teams[$pick_order[$pick_order_index]['team']]['score'] += $user['user__skill_level'];
- echo '<br />team ' . $pick_order[$pick_order_index]['team'] . ' receives: ' . $user['user__first_name'] . '';
- if($pick_order_index == $number_of_teams - 1) {
- $pick_order = $this->_get_pick_order($teams);
- echo '<p>new pick order for round:';
- foreach($pick_order as $x) {
- echo ' | team ' . $x['team'] . ' [' . $x['score'] . 'pts]';
- }
- $pick_order_index = -1;
- }
- $pick_order_index++;
- }
- }
- foreach($teams as $key=>$team) {
- echo '<h4>team ' . $key . ': ' . count($team['users']) . ' players</h4>';
- $team_total = 0;
- foreach($team['users'] as $user){
- $team_total += $user['user__skill_level'];
- }
- echo '<p>score: ' . $team_total . '</p>';
- }
- foreach($teams as $key => $team) {
- echo '<h2>Team ' . $key . '</h2>';
- echo '<p>score: ' . $team['score'] . '</p>';
- echo '<table>';
- foreach ($team['users'] as $user) {
- echo '<tr>';
- echo '<td>' . $user['user__first_name'] . '</td>';
- echo '<td>' . $user['user__last_name'] . '</td>';
- echo '<td>' . $user['user__skill_level'] . '</td>';
- echo '</tr>';
- }
- echo '</table>';
- }
- }
- function _get_pick_order($teams) {
- // Figure out new pick order
- $pick_order_x = array();
- $pick_order = array();
- foreach($teams as $key => $team) {
- $pick_order_x[$key]['team'] = $key;
- $pick_order_x[$key]['score'] = $team['score'];
- }
- $pick_order_x = subval_sort($pick_order_x,'score');
- foreach($pick_order_x as $x ) {
- $pick_order[] = $x;
- }
- return $pick_order;
- }
- function subval_sort($a, $subkey, $order='asc') {
- foreach ($a as $k => $v)
- $b[$k] = strtolower($v[$subkey]);
- if ($order === 'desc')
- arsort($b);
- else
- asort($b);
- foreach ($b as $key => $val)
- $c[$key] = $a[$key];
- return $c;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement