From c075143bfc4fb9c9198fd0529dc9a9bff32e9d89 Mon Sep 17 00:00:00 2001 From: football Date: Sat, 9 Sep 2017 10:58:32 +0200 Subject: [PATCH] Version 0.9.9b1 -replace icons with font awesome icons -display icons on tabs and hide it on mobile access -new block last results -new config values for last users, last results -replace config value football_host_timezone with football_time_shift -fixed errors on php 7 -remove unnecessary sql_freeresult calls -fixed non-numeric value errors --- .gitignore | 23 + acp/all_bets_module.php | 7 +- acp/bank_module.php | 3 + acp/bets_module.php | 6 +- acp/extra_module.php | 4 +- acp/football_module.php | 18 +- acp/leagues_module.php | 1 - acp/matchdays_module.php | 4 +- acp/matches_module.php | 4 +- acp/results_module.php | 4 +- acp/update_module.php | 8 +- block/all_bets.php | 14 +- block/bank.php | 462 ++++--- block/bet.php | 1062 ++++++++--------- block/bet_popup.php | 781 ++++++------ block/delivery.php | 2 +- block/dload_bank.php | 267 ++--- block/dload_bank_open.php | 173 +-- block/hist_popup.php | 17 +- block/last_results.php | 150 +++ block/last_users.php | 130 +- block/my_bets.php | 654 +++++----- block/my_chart.php | 671 ++++++----- block/my_koeff.php | 11 +- block/my_points.php | 400 +++---- block/my_rank.php | 350 +++--- block/my_table.php | 858 +++++++------ block/odds.php | 414 ++++--- block/ranks_matchday.php | 529 ++++---- block/ranks_total.php | 32 +- block/results.php | 859 +++++++------ block/side_table.php | 288 ++--- block/stat_points.php | 332 +++--- block/stat_results.php | 284 +++-- block/table.php | 884 +++++++------- composer.json | 4 +- controller/main.php | 16 +- images/arrow_down.gif | Bin 187 -> 0 bytes images/arrow_up.gif | Bin 188 -> 0 bytes images/no_change.gif | Bin 188 -> 0 bytes includes/export.php | 542 ++++----- includes/functions.php | 17 +- language/de/football.php | 1 + language/de/info_acp_football.php | 8 +- language/en/football.php | 1 + language/en/info_acp_football.php | 8 +- migrations/v099_beta1.php | 34 + styles/prosilver/template/bet.html | 440 +++---- styles/prosilver/template/delivery.html | 22 +- .../overall_footer_breadcrumb_prepend.html | 2 +- .../overall_header_breadcrumb_prepend.html | 2 +- .../event/overall_header_head_append.html | 17 +- .../overall_header_navigation_prepend.html | 98 +- .../overall_header_page_body_before.html | 42 +- styles/prosilver/template/football_body.html | 60 +- styles/prosilver/template/football_print.html | 233 ++-- styles/prosilver/template/last_results.html | 13 + styles/prosilver/template/last_users.html | 8 +- .../template/mobile_football_body.html | 46 +- styles/prosilver/template/odds.html | 134 +-- styles/prosilver/template/rank_matchday.html | 64 +- styles/prosilver/template/rank_total.html | 68 +- styles/prosilver/template/ranks.html | 221 ++-- styles/prosilver/template/side_table.html | 72 +- styles/prosilver/theme/football.css | 80 +- .../prosilver/theme/images/icon_allbets.gif | Bin 1009 -> 0 bytes styles/prosilver/theme/images/icon_ball.gif | Bin 1022 -> 0 bytes styles/prosilver/theme/images/icon_ball2.gif | Bin 1039 -> 0 bytes styles/prosilver/theme/images/icon_bet.gif | Bin 231 -> 0 bytes .../prosilver/theme/images/icon_bookmark.gif | Bin 218 -> 0 bytes .../prosilver/theme/images/icon_download.gif | Bin 1030 -> 0 bytes styles/prosilver/theme/images/icon_info.gif | Bin 77 -> 0 bytes styles/prosilver/theme/images/icon_list.gif | Bin 148 -> 0 bytes styles/prosilver/theme/images/icon_mark.gif | Bin 1013 -> 0 bytes styles/prosilver/theme/images/icon_odds.gif | Bin 616 -> 0 bytes styles/prosilver/theme/images/icon_points.gif | Bin 998 -> 0 bytes styles/prosilver/theme/images/icon_print.gif | Bin 1003 -> 0 bytes styles/prosilver/theme/images/icon_rank.gif | Bin 254 -> 0 bytes .../prosilver/theme/images/icon_results.gif | Bin 216 -> 0 bytes styles/prosilver/theme/images/icon_rules.gif | Bin 389 -> 0 bytes .../prosilver/theme/images/icon_statistic.gif | Bin 1465 -> 0 bytes .../theme/images/icon_statistics.gif | Bin 1027 -> 0 bytes styles/prosilver/theme/images/icon_xml.gif | Bin 214 -> 0 bytes styles/prosilver/theme/images/left_arrow.png | Bin 389 -> 0 bytes styles/prosilver/theme/images/right_arrow.png | Bin 395 -> 0 bytes 85 files changed, 6027 insertions(+), 5932 deletions(-) create mode 100644 block/last_results.php delete mode 100644 images/arrow_down.gif delete mode 100644 images/arrow_up.gif delete mode 100644 images/no_change.gif create mode 100644 migrations/v099_beta1.php create mode 100644 styles/prosilver/template/last_results.html delete mode 100644 styles/prosilver/theme/images/icon_allbets.gif delete mode 100644 styles/prosilver/theme/images/icon_ball.gif delete mode 100644 styles/prosilver/theme/images/icon_ball2.gif delete mode 100644 styles/prosilver/theme/images/icon_bet.gif delete mode 100644 styles/prosilver/theme/images/icon_bookmark.gif delete mode 100644 styles/prosilver/theme/images/icon_download.gif delete mode 100644 styles/prosilver/theme/images/icon_info.gif delete mode 100644 styles/prosilver/theme/images/icon_list.gif delete mode 100644 styles/prosilver/theme/images/icon_mark.gif delete mode 100644 styles/prosilver/theme/images/icon_odds.gif delete mode 100644 styles/prosilver/theme/images/icon_points.gif delete mode 100644 styles/prosilver/theme/images/icon_print.gif delete mode 100644 styles/prosilver/theme/images/icon_rank.gif delete mode 100644 styles/prosilver/theme/images/icon_results.gif delete mode 100644 styles/prosilver/theme/images/icon_rules.gif delete mode 100644 styles/prosilver/theme/images/icon_statistic.gif delete mode 100644 styles/prosilver/theme/images/icon_statistics.gif delete mode 100644 styles/prosilver/theme/images/icon_xml.gif delete mode 100644 styles/prosilver/theme/images/left_arrow.png delete mode 100644 styles/prosilver/theme/images/right_arrow.png diff --git a/.gitignore b/.gitignore index 6a130e6..c0f2e53 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,26 @@ Icon # Files that might appear on external disk .Spotlight-V100 .Trashes +/styles/prosilver/theme/images/right_arrow.png +/styles/prosilver/theme/images/icon_allbets.gif +/styles/prosilver/theme/images/icon_ball.gif +/styles/prosilver/theme/images/icon_ball2.gif +/styles/prosilver/theme/images/icon_bet.gif +/styles/prosilver/theme/images/icon_bookmark.gif +/styles/prosilver/theme/images/icon_download.gif +/styles/prosilver/theme/images/icon_info.gif +/styles/prosilver/theme/images/icon_list.gif +/styles/prosilver/theme/images/icon_mark.gif +/styles/prosilver/theme/images/icon_odds.gif +/styles/prosilver/theme/images/icon_points.gif +/styles/prosilver/theme/images/icon_print.gif +/styles/prosilver/theme/images/icon_rank.gif +/styles/prosilver/theme/images/icon_results.gif +/styles/prosilver/theme/images/icon_rules.gif +/styles/prosilver/theme/images/icon_statistic.gif +/styles/prosilver/theme/images/icon_statistics.gif +/styles/prosilver/theme/images/icon_xml.gif +/styles/prosilver/theme/images/left_arrow.png +/images/no_change.gif +/images/arrow_down.gif +/images/arrow_up.gif diff --git a/acp/all_bets_module.php b/acp/all_bets_module.php index dc4268b..69a6276 100644 --- a/acp/all_bets_module.php +++ b/acp/all_bets_module.php @@ -219,7 +219,6 @@ class all_bets_module $split_after = $count_matches; $splits = 1; } - $db->sql_freeresult($result); // Make sure $start is set to the last page if it exceeds the amount if ($start < 0 || $start >= $total_users) @@ -311,7 +310,7 @@ class all_bets_module $total = 0; } $bet_index++; - $total += $user_bet['points']; + $total += ($user_bet['points'] == '') ? 0 : $user_bet['points']; if ($user_bet['status'] < 3) { $colorstyle_total = ' color_provisionally'; @@ -419,7 +418,7 @@ class all_bets_module $total = 0; } $bet_index++; - $total += $user_bet['points']; + $total += ($user_bet['points'] == '') ? 0 : $user_bet['points']; if ($user_bet['status'] < 3) { $colorstyle_total = ' color_provisionally'; @@ -573,7 +572,9 @@ class all_bets_module ) ); } + $db->sql_freeresult($result_bet); } + $db->sql_freeresult($result); $legend = delivery($season, $league, $matchday); diff --git a/acp/bank_module.php b/acp/bank_module.php index af79a1d..35db83a 100644 --- a/acp/bank_module.php +++ b/acp/bank_module.php @@ -184,6 +184,7 @@ class bank_module AND points_type IN (" . POINTS_MATCHDAY . ',' . POINTS_SEASON . ',' . POINTS_MOST_HITS . ',' . POINTS_MOST_HITS_AWAY . ')'; $result = $db->sql_query($sql); $count_updates += $db->sql_affectedrows(); + $db->sql_freeresult($result); } else { @@ -199,6 +200,7 @@ class bank_module HAVING win > 0"; $result = $db->sql_query($sql); $points_ary = $db->sql_fetchrowset($result); + $db->sql_freeresult($result); if (!$default_matchday) { $matchday = (curr_matchday($season, $league) > 0) ? curr_matchday($season, $league) : 1; @@ -351,6 +353,7 @@ class bank_module AND points_type = $type"; $result = $db->sql_query($sql); $count_updates += $db->sql_affectedrows(); + $db->sql_freeresult($result); } $back_link = $this->u_action . '&action=list&s=' . $season . '&l=' . $league . '&t=' . $type . '&start=' . $start; trigger_error(sprintf($user->lang['LEAGUE_' . $points_var . ($count_updates == 1 ? '' : 'S')], $count_updates) . adm_back_link($back_link)); diff --git a/acp/bets_module.php b/acp/bets_module.php index c0e1e81..f2b26e1 100644 --- a/acp/bets_module.php +++ b/acp/bets_module.php @@ -325,6 +325,7 @@ class bets_module } } } + $db->sql_freeresult($resultopen); if ($count_updates > 0) { if ($same AND ($count_matches > 6) AND $this->config['football_same_allowed'] == 0) @@ -358,7 +359,6 @@ class bets_module { $success[] = sprintf($user->lang['NO_BETS_SAVED']); } - $db->sql_freeresult($resultopen); // extra bets $sql = 'SELECT * FROM ' . FOOTB_EXTRA . " WHERE season = $season AND league = $league AND matchday = $matchday"; @@ -418,6 +418,7 @@ class bets_module } } } + $db->sql_freeresult($resultextra); if ($count_extra_updates) { $success[] = sprintf($user->lang['EXTRA_BET' . (($count_extra_updates == 1) ? '' : 'S') . '_SAVED'], $count_extra_updates); @@ -582,7 +583,8 @@ class bets_module ) ); } - + $db->sql_freeresult($resultopen); + // Calculate extra bets of matchday // Start select team $sql = 'SELECT diff --git a/acp/extra_module.php b/acp/extra_module.php index 7cd2ab0..d07a2e7 100644 --- a/acp/extra_module.php +++ b/acp/extra_module.php @@ -151,8 +151,6 @@ class extra_module $existing_extra = sizeof($extra_row); $db->sql_freeresult($result); } - - $db->sql_freeresult($result); // Which page? switch ($action) @@ -265,7 +263,7 @@ class extra_module $matchday_eval_options .= ''; } } - + $db->sql_freeresult($result); $question_type_options = ''; for($i = 1; $i<= 5; $i++) { diff --git a/acp/football_module.php b/acp/football_module.php index 6e3a91c..935cf55 100644 --- a/acp/football_module.php +++ b/acp/football_module.php @@ -107,7 +107,7 @@ class football_module 'football_header_enable' => array('lang' => 'FOOTBALL_HEADER_ENABLE','validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_guest_view' => array('lang' => 'GUEST_VIEW', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_user_view' => array('lang' => 'USER_VIEW', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), - 'football_host_timezone' => array('lang' => 'HOST_TIMEZONE', 'validate' => 'string', 'type' => 'select', 'function' => 'phpbb_timezone_select', 'params' => array($template, $user, '{CONFIG_VALUE}', true), 'explain' => true), + 'football_time_shift' => array('lang' => 'TIME_SHIFT', 'validate' => 'int', 'type' => 'select', 'method' => 'time_shift_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => true), 'football_info_display' => array('lang' => 'FOOTBALL_INFO', 'validate' => 'bool', 'type' => 'custom', 'method' => 'football_info', 'explain' => true), 'football_info' => false, 'football_win_name' => array('lang' => 'WIN_NAME', 'validate' => 'string', 'type' => 'text:6:6', 'explain' => true), @@ -120,6 +120,8 @@ class football_module 'legend2' => 'GENERAL_SETTINGS', 'football_left_column_width' => array('lang' => 'LEFT_COLUMN', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true), 'football_right_column_width' => array('lang' => 'RIGHT_COLUMN', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true), + 'football_display_last_users' => array('lang' => 'DISPLAY_LAST_USERS', 'validate' => 'int','type' => 'text:3:3', 'explain' => true), + 'football_display_last_results' => array('lang' => 'DISPLAY_LAST_RESULTS', 'validate' => 'int','type' => 'text:3:3', 'explain' => true), 'football_display_ranks' => array('lang' => 'DISPLAY_RANKS', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true), 'football_users_per_page' => array('lang' => 'USERS_PAGE', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true), @@ -362,7 +364,7 @@ class football_module } /** - * Adjust Cronjob EMail remember next un + * Adjust Cronjob EMail remember next run */ function next_run($value, $key = '') { @@ -419,6 +421,18 @@ class football_module $year_options . ' ' . $user->lang['HOURS'] . ': ' . $hour_options . ' ' . $user->lang['MINUTES'] . ': ' . $minute_options; } + + function time_shift_select($default = 0) + { + $time_shift_options = ""; + for ($i = -23; $i < 24; $i++) + { + $selected = ($i == $default) ? ' selected="selected"' : ''; + $time_shift_options .= ''; + } + return $time_shift_options; + } + } ?> \ No newline at end of file diff --git a/acp/leagues_module.php b/acp/leagues_module.php index 8cd554e..5312f1c 100644 --- a/acp/leagues_module.php +++ b/acp/leagues_module.php @@ -153,7 +153,6 @@ class leagues_module $result = $db->sql_query($sql); if (!($row = $db->sql_fetchrow($result))) { - $db->sql_freeresult($result); trigger_error($user->lang['NO_MEMBERS_SELECTED'] . adm_back_link($this->u_action . "&action=list&s=$season&l=$league"), E_USER_WARNING); } diff --git a/acp/matchdays_module.php b/acp/matchdays_module.php index 1a9c48f..0895fb5 100644 --- a/acp/matchdays_module.php +++ b/acp/matchdays_module.php @@ -323,6 +323,7 @@ class matchdays_module ORDER BY matchday ASC, number ASC"; $result = $db->sql_query($sql); $rows_matchdays = $db->sql_fetchrowset($result); + $db->sql_freeresult($result); $row_number = 0; foreach ($rows_matchdays as $row_matchday) { @@ -710,7 +711,7 @@ class matchdays_module if ($data['dday1_day'] <> '--' and $data['dday1_month'] <> '--' and $data['dday1_year'] <> '--') { $delivery_timestamp = mktime($data['dday1_hour'], $data['dday1_min'], 0, $data['dday1_month'], $data['dday1_day'], $data['dday1_year']); - $local_board_time = time() + (($this->config['board_timezone'] - $this->config['football_host_timezone']) * 3600); + $local_board_time = time() + ($this->config['football_time_shift'] * 3600); if ($delivery_timestamp > $local_board_time AND $matchday_row['status'] == 0) { // check if delivery is before all open matches @@ -764,6 +765,7 @@ class matchdays_module // reopen matchday $matchday_row['status'] = 0; } + $db->sql_freeresult($result); } } else diff --git a/acp/matches_module.php b/acp/matches_module.php index 0522a50..3ecd9fe 100644 --- a/acp/matches_module.php +++ b/acp/matches_module.php @@ -413,7 +413,7 @@ class matches_module if ($data['mday_day'] <> '--' and $data['mday_month'] <> '--' and $data['mday_year'] <> '--') { $match_timestamp = mktime($data['mday_hour'], $data['mday_min'], 0, $data['mday_month'], $data['mday_day'], $data['mday_year']); - $local_board_time = time() + (($this->config['board_timezone'] - $this->config['football_host_timezone']) * 3600); + $local_board_time = time() + ($this->config['football_time_shift'] * 3600); if ($match_timestamp > $local_board_time AND $match_row['status'] < 3 AND $league_info['bet_in_time'] == 1) { // Bet in time and match moved to future @@ -627,7 +627,7 @@ class matches_module $selected_home = ($home_id && $row['team_id'] == $home_id) ? ' selected="selected"' : ''; $team_home_options .= ''; } - + $db->sql_freeresult($result); $u_back = $this->u_action . "&s=$season&l=$league&m=$matchday"; $template->assign_vars(array( diff --git a/acp/results_module.php b/acp/results_module.php index 7569fd9..976733d 100644 --- a/acp/results_module.php +++ b/acp/results_module.php @@ -192,7 +192,7 @@ class results_module { trigger_error(sprintf($user->lang['NO_MATCHDAY'], $league_info['league_name'], $season) . adm_back_link($this->u_action . "&s=$season&l=$league"), E_USER_WARNING); } - $local_board_time = time() + (($this->config['board_timezone'] - $this->config['football_host_timezone']) * 3600); + $local_board_time = time() + ($this->config['football_time_shift'] * 3600); // Which page? switch ($action) @@ -382,6 +382,7 @@ class results_module } } } + $db->sql_freeresult($resultextra); if ($count_extra_updates) { $success[] = sprintf($user->lang['EXTRA_RESULT' . (($count_extra_updates == 1) ? '' : 'S') . '_SAVED'], $count_extra_updates); @@ -768,6 +769,7 @@ class results_module ); } } + $db->sql_freeresult($result); switch ($league_info['bet_ko_type']) { diff --git a/acp/update_module.php b/acp/update_module.php index 725e12d..e8ca43a 100644 --- a/acp/update_module.php +++ b/acp/update_module.php @@ -397,6 +397,7 @@ class update_module { $error[] = sprintf($user->lang['MISMATCH_MATCHDAYS'], $row['matchdays']); } + $db->sql_freeresult($result); $sql = 'SELECT COUNT(match_no) as matches FROM ' . FOOTB_MATCHES . " @@ -414,6 +415,7 @@ class update_module { $error[] = sprintf($user->lang['MISMATCH_MATCHES'], $row['matches']); } + $db->sql_freeresult($result); if (!sizeof($error)) { @@ -547,6 +549,7 @@ class update_module $count_updates++; $effected_matchdays = ($effected_matchdays == '') ? $row['matchday'] : $effected_matchdays . ', ' . $row['matchday']; } + $db->sql_freeresult($result); if ($effected_matchdays <> '') { $sql = 'REPLACE INTO ' . FOOTB_MATCHDAYS . ' (season, league, matchday, status, delivery_date, delivery_date_2, delivery_date_3, matchday_name, matches) @@ -591,6 +594,7 @@ class update_module $count_updates++; $effected_matchdays = ($effected_matchdays == '') ? $row['matchday'] : $effected_matchdays . ', ' . $row['matchday']; } + $db->sql_freeresult($result); if ($effected_matchdays <> '') { $sql = 'REPLACE INTO ' . FOOTB_MATCHDAYS . ' (season, league, matchday, status, delivery_date, delivery_date_2, delivery_date_3, matchday_name, matches) @@ -635,6 +639,7 @@ class update_module $count_updates++; $effected_matchdays = ($effected_matchdays == '') ? $row['matchday'] : $effected_matchdays . ', ' . $row['matchday']; } + $db->sql_freeresult($result); if ($effected_matchdays <> '') { $sql = 'REPLACE INTO ' . FOOTB_MATCHDAYS . ' (season, league, matchday, status, delivery_date, delivery_date_2, delivery_date_3, matchday_name, matches) @@ -662,7 +667,7 @@ class update_module } // check status of matchdays - $local_board_time = time() + (($this->config['board_timezone'] - $this->config['football_host_timezone']) * 3600); + $local_board_time = time() + ($this->config['football_time_shift'] * 3600); $sql = $sql = 'UPDATE ' . FOOTB_MATCHDAYS . " AS target INNER JOIN ( @@ -1382,6 +1387,7 @@ class update_module } } } + $db->sql_freeresult($result); return $count_updates; } diff --git a/block/all_bets.php b/block/all_bets.php index a3b06a5..edc3445 100644 --- a/block/all_bets.php +++ b/block/all_bets.php @@ -78,7 +78,6 @@ else $splits = 1; } } -$db->sql_freeresult($result); // Make sure $start is set to the last page if it exceeds the amount if ($start < 0 || $start >= $total_users) @@ -183,7 +182,7 @@ foreach ($matches AS $match) $total = 0; } $bet_index++; - $total += $user_bet['points']; + $total += ($user_bet['points'] == '') ? 0 : $user_bet['points']; if ($user_bet['status'] < 3) { $colorstyle_total = ' color_provisionally'; @@ -306,7 +305,7 @@ if ($count_matches > 0) $total = 0; } $bet_index++; - $total += $user_bet['points']; + $total += ($user_bet['points'] == '') ? 0 : $user_bet['points']; if ($user_bet['status'] < 3) { $colorstyle_total = ' color_provisionally'; @@ -479,19 +478,14 @@ while ($row = $db->sql_fetchrow($result)) ) ); } + $db->sql_freeresult($result_bet); } - +$db->sql_freeresult($result); $sidename = sprintf($user->lang['ALL_BETS']); $template->assign_vars(array( 'S_DISPLAY_ALL_BETS' => true, 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['BET']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'results', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['RESULTS']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_BET']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_RESULTS']), 'S_MATCHES_ON_MATCHDAY' => $matches_on_matchday, 'S_SPALTEN' => ($count_matches * 2) + 2, 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), diff --git a/block/bank.php b/block/bank.php index fb820cd..79a8a42 100644 --- a/block/bank.php +++ b/block/bank.php @@ -1,235 +1,229 @@ -auth->acl_get('u_use_football') ) -{ - trigger_error('NO_AUTH_VIEW'); - -} - -global $phpbb_extension_manager; -if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints')) -{ - $this->user->add_lang_ext('dmzx/ultimatepoints', 'common'); - // Get an instance of the ultimatepoints functions_points - $functions_points = $phpbb_container->get('dmzx.ultimatepoints.core.functions.points'); -} -else -{ - // Get an instance of the football functions_points - $functions_points = $phpbb_container->get('football.football.core.functions.points'); -} - -if (!$user_sel) -{ - if (user_is_member($user->data['user_id'], $season, $league) or $league == 0) - { - $user_sel = $user->data['user_id']; - } -} - -$username = ''; -$member = true; -if ($this->auth->acl_get('a_football_points')) -{ - $where_user = ''; - $multi_view = true; -} -else -{ - $multi_view = false; - if (user_is_member($user->data['user_id'], $season, $league)) - { - $where_user = ' AND b.user_id = ' . $user->data['user_id'] . ' '; - $user_sel = $user->data['user_id']; - } - else - { - if ($league) - { - $member = false; - } - } -} -$where_league = ''; -if ($league) -{ - $where_league = " AND b.league = $league"; -} - -$data = false; -// Select user -$total_users = 0; -$sql = 'SELECT DISTINCT - u.user_id, - u.username - FROM ' . FOOTB_BETS . ' AS b - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) - WHERE season = $season - $where_league - $where_user - ORDER BY LOWER(u.username) ASC"; - -$result = $db->sql_query($sql); - -while($row = $db->sql_fetchrow($result)) -{ - $total_users++; - if ($user_sel == $row['user_id'] OR !$user_sel) - { - $selectid = ' selected="selected"'; - $username = $row['username']; - $user_sel = $row['user_id']; - } - else - { - $selectid = ''; - } - $template->assign_block_vars('form_user', array( - 'S_USER' => $row['user_id'], - 'S_USERNAME' => $row['username'], - 'S_SELECTEDID' => $selectid, - ) - ); -} -$db->sql_freeresult($result); - -$where_season = ''; -if ($season) -{ - $where_season = " AND fp.season = $season"; -} - -$where_league = ''; -$order_by = 'ORDER BY fp.points_type ASC, fp.matchday ASC, fp.league ASC'; - -if ($league) -{ - $where_league = " AND fp.league = $league"; - $order_by = 'ORDER BY fp.league ASC, fp.matchday ASC, fp.points_type ASC'; -} - -// The different book types -$types = array( - 0 => '--', - 1 => sprintf($user->lang['FOOTBALL_BET_POINTS']), - 2 => $user->lang['FOOTBALL_DEPOSIT'], - 3 => sprintf($user->lang['FOOTBALL_WIN']), - 4 => $user->lang['FOOTBALL_WIN'], - 5 => $user->lang['FOOTBALL_WIN'], - 6 => $user->lang['FOOTBALL_WIN'], - 7 => $user->lang['FOOTBALL_PAYOUT'], -); - -// Grab the football points -$sql = 'SELECT fp.season, - s.season_name, - s.season_name_short, - fp.league, - l.league_name, - l.league_name_short, - fp.matchday, - md.matchday_name, - fp.points_type, - fp.points, - fp.points_comment, - fp.cash - FROM ' . FOOTB_POINTS . ' AS fp - INNER JOIN ' . FOOTB_SEASONS . ' AS s ON (s.season = fp.season) - INNER JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = fp.season AND l.league = fp.league) - INNER JOIN ' . FOOTB_MATCHDAYS . ' AS md ON (md.season = fp.season AND md.league = fp.league AND md.matchday = fp.matchday) - WHERE user_id = ' . (int) $user_sel . " - $where_season - $where_league - $order_by"; -$result = $db->sql_query($sql); - -$current_balance = 0.00; -$count = 0; -// Start looping all the football points -while ($row = $db->sql_fetchrow($result)) -{ - $count = $count + 1; - if ($row['points_type'] == POINTS_BET OR $row['points_type'] == POINTS_PAID) - { - $points_sign = '-'; - $points_style = " color: red;"; - $current_balance -= $row['points']; - } - else - { - $points_sign = '+'; - $points_style = " color: green;"; - $current_balance += $row['points']; - } - // Add the items to the template - $template->assign_block_vars('football', array( - 'SEASON' => $season, - 'SEASON_NAME' => $season_name, - 'LEAGUE' => $row['league'], - 'LEAGUE_NAME' => $row['league_name'], - 'LEAGUE_SHORT' => $row['league_name_short'], - 'MATCHDAY' => $row['matchday'], - 'MATCHDAY_NAME' => ($row['matchday_name'] == '') ? $row['matchday'] . '.' . sprintf($user->lang['FOOTBALL_MATCHDAY']) : $row['matchday_name'], - 'MATCHDAY_SHORT'=> $row['matchday'] . '.' . sprintf($user->lang['MATCHDAY_SHORT']), - 'POINTS_SIGN' => $points_sign, - 'POINTS_STYLE' => $points_style, - 'POINTS_TYPE' => $types[$row['points_type']], - 'S_CASH' => $row['cash'], - 'POINTS' => $functions_points->number_format_points($row['points']), - 'COMMENT' => nl2br($row['points_comment']), - )); -} -$db->sql_freeresult($result); - -if ($current_balance < 0) -{ - $points_style = " color: red;"; -} -else -{ - $points_style = " color: green;"; -} - -$template->assign_block_vars('football', array( - 'SEASON' => $season, - 'SEASON_NAME' => '', - 'LEAGUE' => $league, - 'LEAGUE_NAME' => '', - 'MATCHDAY' => '', - 'MATCHDAY_NAME' => '', - 'POINTS_SIGN' => '', - 'POINTS_STYLE' => $points_style, - 'POINTS_TYPE' => '', - 'S_CASH' => 1, - 'POINTS' => $functions_points->number_format_points($current_balance), - 'COMMENT' => ($league == 0) ? sprintf($user->lang['FOOTBALL_BALANCES']) : sprintf($user->lang['FOOTBALL_BALANCE']), -)); - -$sidename = sprintf($user->lang['FOOTBALL_BANK']); -$template->assign_vars(array( - 'S_DISPLAY_BANK' => true, - 'S_MATCHDAY_HIDE' => true, - 'S_MEMBER' => $member, - 'S_SIDENAME' => $sidename, - 'S_MULTI_VIEW' => $multi_view, - 'L_TOTAL_ENTRIES' => ($count == 1) ? $count . ' ' .sprintf($user->lang['FOOTBALL_RECORD']) : $count . ' ' .sprintf($user->lang['FOOTBALL_RECORDS']), - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'ranks_total', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['RANK_TOTAL']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['MY_BETS']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_RANK_TOTAL']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_BETS']), - 'USERNAME' => $username, - 'POINTS' => $config['football_win_name'], - ) -); - +auth->acl_get('u_use_football') ) +{ + trigger_error('NO_AUTH_VIEW'); + +} + +global $phpbb_extension_manager; +if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints')) +{ + $this->user->add_lang_ext('dmzx/ultimatepoints', 'common'); + // Get an instance of the ultimatepoints functions_points + $functions_points = $phpbb_container->get('dmzx.ultimatepoints.core.functions.points'); +} +else +{ + // Get an instance of the football functions_points + $functions_points = $phpbb_container->get('football.football.core.functions.points'); +} + +if (!$user_sel) +{ + if (user_is_member($user->data['user_id'], $season, $league) or $league == 0) + { + $user_sel = $user->data['user_id']; + } +} + +$username = ''; +$member = true; +if ($this->auth->acl_get('a_football_points')) +{ + $where_user = ''; + $multi_view = true; +} +else +{ + $multi_view = false; + if (user_is_member($user->data['user_id'], $season, $league)) + { + $where_user = ' AND b.user_id = ' . $user->data['user_id'] . ' '; + $user_sel = $user->data['user_id']; + } + else + { + if ($league) + { + $member = false; + } + } +} +$where_league = ''; +if ($league) +{ + $where_league = " AND b.league = $league"; +} + +$data = false; +// Select user +$total_users = 0; +$sql = 'SELECT DISTINCT + u.user_id, + u.username + FROM ' . FOOTB_BETS . ' AS b + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) + WHERE season = $season + $where_league + $where_user + ORDER BY LOWER(u.username) ASC"; + +$result = $db->sql_query($sql); + +while($row = $db->sql_fetchrow($result)) +{ + $total_users++; + if ($user_sel == $row['user_id'] OR !$user_sel) + { + $selectid = ' selected="selected"'; + $username = $row['username']; + $user_sel = $row['user_id']; + } + else + { + $selectid = ''; + } + $template->assign_block_vars('form_user', array( + 'S_USER' => $row['user_id'], + 'S_USERNAME' => $row['username'], + 'S_SELECTEDID' => $selectid, + ) + ); +} +$db->sql_freeresult($result); + +$where_season = ''; +if ($season) +{ + $where_season = " AND fp.season = $season"; +} + +$where_league = ''; +$order_by = 'ORDER BY fp.points_type ASC, fp.matchday ASC, fp.league ASC'; + +if ($league) +{ + $where_league = " AND fp.league = $league"; + $order_by = 'ORDER BY fp.league ASC, fp.matchday ASC, fp.points_type ASC'; +} + +// The different book types +$types = array( + 0 => '--', + 1 => sprintf($user->lang['FOOTBALL_BET_POINTS']), + 2 => $user->lang['FOOTBALL_DEPOSIT'], + 3 => sprintf($user->lang['FOOTBALL_WIN']), + 4 => $user->lang['FOOTBALL_WIN'], + 5 => $user->lang['FOOTBALL_WIN'], + 6 => $user->lang['FOOTBALL_WIN'], + 7 => $user->lang['FOOTBALL_PAYOUT'], +); + +// Grab the football points +$sql = 'SELECT fp.season, + s.season_name, + s.season_name_short, + fp.league, + l.league_name, + l.league_name_short, + fp.matchday, + md.matchday_name, + fp.points_type, + fp.points, + fp.points_comment, + fp.cash + FROM ' . FOOTB_POINTS . ' AS fp + INNER JOIN ' . FOOTB_SEASONS . ' AS s ON (s.season = fp.season) + INNER JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = fp.season AND l.league = fp.league) + INNER JOIN ' . FOOTB_MATCHDAYS . ' AS md ON (md.season = fp.season AND md.league = fp.league AND md.matchday = fp.matchday) + WHERE user_id = ' . (int) $user_sel . " + $where_season + $where_league + $order_by"; +$result = $db->sql_query($sql); + +$current_balance = 0.00; +$count = 0; +// Start looping all the football points +while ($row = $db->sql_fetchrow($result)) +{ + $count = $count + 1; + if ($row['points_type'] == POINTS_BET OR $row['points_type'] == POINTS_PAID) + { + $points_sign = '-'; + $points_style = " color: red;"; + $current_balance -= $row['points']; + } + else + { + $points_sign = '+'; + $points_style = " color: green;"; + $current_balance += $row['points']; + } + // Add the items to the template + $template->assign_block_vars('football', array( + 'SEASON' => $season, + 'SEASON_NAME' => $season_name, + 'LEAGUE' => $row['league'], + 'LEAGUE_NAME' => $row['league_name'], + 'LEAGUE_SHORT' => $row['league_name_short'], + 'MATCHDAY' => $row['matchday'], + 'MATCHDAY_NAME' => ($row['matchday_name'] == '') ? $row['matchday'] . '.' . sprintf($user->lang['FOOTBALL_MATCHDAY']) : $row['matchday_name'], + 'MATCHDAY_SHORT'=> $row['matchday'] . '.' . sprintf($user->lang['MATCHDAY_SHORT']), + 'POINTS_SIGN' => $points_sign, + 'POINTS_STYLE' => $points_style, + 'POINTS_TYPE' => $types[$row['points_type']], + 'S_CASH' => $row['cash'], + 'POINTS' => $functions_points->number_format_points($row['points']), + 'COMMENT' => nl2br($row['points_comment']), + )); +} +$db->sql_freeresult($result); + +if ($current_balance < 0) +{ + $points_style = " color: red;"; +} +else +{ + $points_style = " color: green;"; +} + +$template->assign_block_vars('football', array( + 'SEASON' => $season, + 'SEASON_NAME' => '', + 'LEAGUE' => $league, + 'LEAGUE_NAME' => '', + 'MATCHDAY' => '', + 'MATCHDAY_NAME' => '', + 'POINTS_SIGN' => '', + 'POINTS_STYLE' => $points_style, + 'POINTS_TYPE' => '', + 'S_CASH' => 1, + 'POINTS' => $functions_points->number_format_points($current_balance), + 'COMMENT' => ($league == 0) ? sprintf($user->lang['FOOTBALL_BALANCES']) : sprintf($user->lang['FOOTBALL_BALANCE']), +)); + +$sidename = sprintf($user->lang['FOOTBALL_BANK']); +$template->assign_vars(array( + 'S_DISPLAY_BANK' => true, + 'S_MATCHDAY_HIDE' => true, + 'S_MEMBER' => $member, + 'S_SIDENAME' => $sidename, + 'S_MULTI_VIEW' => $multi_view, + 'L_TOTAL_ENTRIES' => ($count == 1) ? $count . ' ' .sprintf($user->lang['FOOTBALL_RECORD']) : $count . ' ' .sprintf($user->lang['FOOTBALL_RECORDS']), + 'USERNAME' => $username, + 'POINTS' => $config['football_win_name'], + ) +); + ?> \ No newline at end of file diff --git a/block/bet.php b/block/bet.php index dce1b52..56124e9 100644 --- a/block/bet.php +++ b/block/bet.php @@ -1,534 +1,530 @@ -data['user_id']; -$lang_dates = $user->lang['datetime']; -$user_is_member = user_is_member($userid, $season, $league); -$display_rating = false; - -// Calculate multiple delivery -$display_delivery2 = false; -$display_delivery3 = false; -$delivery2 = ''; -$delivery3 = ''; -$sql = "SELECT - delivery_date_2, - delivery_date_3, - CONCAT( - CASE DATE_FORMAT(delivery_date_2,'%w') - WHEN 0 THEN '" . $lang_dates['Sun'] . "' - WHEN 1 THEN '" . $lang_dates['Mon'] . "' - WHEN 2 THEN '" . $lang_dates['Tue'] . "' - WHEN 3 THEN '" . $lang_dates['Wed'] . "' - WHEN 4 THEN '" . $lang_dates['Thu'] . "' - WHEN 5 THEN '" . $lang_dates['Fri'] . "' - WHEN 6 THEN '" . $lang_dates['Sat'] . "' - ELSE 'Error' END, - DATE_FORMAT(delivery_date_2,' %d.%m.%Y %H:%i') - ) as deliverytime2, - CONCAT( - CASE DATE_FORMAT(delivery_date_3,'%w') - WHEN 0 THEN '" . $lang_dates['Sun'] . "' - WHEN 1 THEN '" . $lang_dates['Mon'] . "' - WHEN 2 THEN '" . $lang_dates['Tue'] . "' - WHEN 3 THEN '" . $lang_dates['Wed'] . "' - WHEN 4 THEN '" . $lang_dates['Thu'] . "' - WHEN 5 THEN '" . $lang_dates['Fri'] . "' - WHEN 6 THEN '" . $lang_dates['Sat'] . "' - ELSE 'Error' END, - DATE_FORMAT(delivery_date_3,' %d.%m.%Y %H:%i') - ) as deliverytime3 - FROM " . FOOTB_MATCHDAYS . " - WHERE season = $season - AND league = $league - AND matchday = $matchday"; - -$result = $db->sql_query($sql); - -if ($row = $db->sql_fetchrow($result)) -{ - if ($row['delivery_date_2'] <> '') - { - $display_delivery2 = true; - $delivery2 = $row['deliverytime2']; - } - if ($row['delivery_date_3'] <> '') - { - $display_delivery3 = true; - $delivery3 = $row['deliverytime3']; - } -} -$db->sql_freeresult($result); - -// Calculate matches and bets of matchday -$sql = "SELECT - m.league, - m.match_no, - m.matchday, - m.status, - m.group_id, - m.formula_home, - m.formula_guest, - t1.team_symbol AS home_symbol, - t2.team_symbol AS guest_symbol, - t1.team_id AS home_id, - t2.team_id AS guest_id, - t1.team_name AS home_name, - t2.team_name AS guest_name, - t1.team_name_short AS home_short, - t2.team_name_short AS guest_short, - b.goals_home AS bet_home, - b.goals_guest AS bet_guest, - m.goals_home, - m.goals_guest, - m.trend, - m.odd_1, - m.odd_x, - m.odd_2, - m.rating, - CONCAT( - CASE DATE_FORMAT(m.match_datetime,'%w') - WHEN 0 THEN '" . $lang_dates['Sun'] . "' - WHEN 1 THEN '" . $lang_dates['Mon'] . "' - WHEN 2 THEN '" . $lang_dates['Tue'] . "' - WHEN 3 THEN '" . $lang_dates['Wed'] . "' - WHEN 4 THEN '" . $lang_dates['Thu'] . "' - WHEN 5 THEN '" . $lang_dates['Fri'] . "' - WHEN 6 THEN '" . $lang_dates['Sat'] . "' - ELSE 'Error' END, - DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') - ) AS match_time, - " . select_points() . ' - FROM ' . FOOTB_MATCHES . ' AS m - INNER JOIN ' . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no AND b.user_id = $userid) - LEFT JOIN " . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) - LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) - WHERE m.season = $season - AND m.league = $league - AND m.matchday = $matchday - GROUP BY m.match_no - ORDER BY m.match_datetime ASC, m.match_no ASC"; - -$result = $db->sql_query($sql); -$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); - -while ($row = $db->sql_fetchrow($result)) -{ - $data_bet = true; - $matchnumber++ ; - $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $display_link = true; - $display_rating = ($display_rating || ($row['rating'] <> '0.00')); - - if (0 == $row['home_id']) - { - $display_link = false; - $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); - $home_in_array = explode("#",$home_info); - $homelogo = $home_in_array[0]; - $homeid = $home_in_array[1]; - $homename = $home_in_array[2]; - $homeshort = $home_in_array[2]; - } - else - { - $homelogo = $row['home_symbol']; - $homeid = $row['home_id']; - $homename = $row['home_name']; - $homeshort = $row['home_short']; - } - - if (0 == $row['guest_id']) - { - $display_link = false; - $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); - $guest_in_array = explode("#",$guest_info); - $guestlogo = $guest_in_array[0]; - $guestid = $guest_in_array[1]; - $guestname = $guest_in_array[2]; - $guestshort = $guest_in_array[2]; - } - else - { - $guestlogo = $row['guest_symbol']; - $guestid = $row['guest_id']; - $guestname = $row['guest_name']; - $guestshort = $row['guest_short']; - } - if ($homelogo <> '') - { - $logoH = "\""" ; - } - else - { - $logoH = "\"\"" ; - } - - if ($guestlogo <> '') - { - $logoG = "\""" ; - } - else - { - $logoG = "\"\"" ; - } - - if ($row['status'] == -1) - { - $delivertag = "*"; - } - else - { - if ($row['status'] == -2) - { - $delivertag = "**"; - } - else - { - $delivertag = ''; - } - } - - if ($row['group_id'] == '') - { - $group_id = ' '; - } - else - { - $data_group = true; - $group_id = $row['group_id']; - } - - if ($row['status'] <= 0) - { - $edit_mode = true; - $template->assign_block_vars('bet_edit', array( - 'ROW_CLASS' => $row_class, - 'LEAGUE_ID' => $row['league'], - 'MATCH_NUMBER' => $row['match_no'], - 'MATCHDAY' => $row['matchday'], - 'STATUS' => $row['status'], - 'MATCH_TIME' => $row['match_time'], - 'GROUP' => $group_id, - 'HOME_ID' => $homeid, - 'GUEST_ID' => $guestid, - 'LOGO_HOME' => $logoH, - 'LOGO_GUEST' => $logoG, - 'HOME_NAME' => $homename, - 'GUEST_NAME' => $guestname, - 'HOME_SHORT' => $homeshort, - 'GUEST_SHORT' => $guestshort, - 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $homeid, 'mode' => 'all')), - 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $guestid, 'mode' => 'all')), - 'BET_HOME' => $row['bet_home'], - 'BET_GUEST' => $row['bet_guest'], - 'DELIVERTAG' => $delivertag, - 'GOALS_HOME' => ($row['goals_home'] == '') ? ' ' : $row['goals_home'], - 'GOALS_GUEST' => ($row['goals_guest'] == '') ? ' ' : $row['goals_guest'], - 'POINTS' => ($row['points'] == '') ? ' ' : $row['points'], - 'U_MATCH_STATS' => $this->helper->route('football_football_popup', array('popside' => 'hist_popup', 's' => $season, 'l' => $row['league'], - 'hid' => $homeid, 'gid' => $guestid, 'm' => $row['matchday'], - 'mn' => $row['match_no'], 'gr' => $row['group_id'])), - 'DATA_RESULTS' => $data_bet_results, - 'DISPLAY_LINK' => $display_link, - 'TREND' => $row['trend'], - 'ODDS' => ($row['odd_1'] == '') ? '' : $row['odd_1'] . '|' . $row['odd_x'] . '|' . $row['odd_2'], - 'RATING' => $row['rating'], - ) - ); - } - else - { - $data_bet_results = true; - $colorstyle = color_style($row['status']); - - $template->assign_block_vars('bet_view', array( - 'ROW_CLASS' => $row_class, - 'LEAGUE_ID' => $row['league'], - 'MATCH_NUMBER' => $row['match_no'], - 'MATCHDAY' => $row['matchday'], - 'STATUS' => $row['status'], - 'MATCH_TIME' => $row['match_time'], - 'GROUP' => $group_id, - 'HOME_ID' => $homeid, - 'GUEST_ID' => $guestid, - 'LOGO_HOME' => $logoH, - 'LOGO_GUEST' => $logoG, - 'HOME_NAME' => $homename, - 'GUEST_NAME' => $guestname, - 'HOME_SHORT' => $homeshort, - 'GUEST_SHORT' => $guestshort, - 'BET_HOME' => ($row['bet_home'] == '') ? ' ' : $row['bet_home'], - 'BET_GUEST' => ($row['bet_guest'] == '') ? ' ' : $row['bet_guest'], - 'GOALS_HOME' => ($row['goals_home'] == '') ? ' ' : $row['goals_home'], - 'GOALS_GUEST' => ($row['goals_guest'] == '') ? ' ' : $row['goals_guest'], - 'POINTS' => ($row['points'] == '') ? ' ' : $row['points'], - 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $homeid, 'mode' => 'all')), - 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $guestid, 'mode' => 'all')), - 'U_MATCH_STATS' => $this->helper->route('football_football_popup', array('popside' => 'hist_popup', 's' => $season, 'l' => $row['league'], - 'hid' => $homeid, 'gid' => $guestid, 'm' => $row['matchday'], - 'mn' => $row['match_no'], 'gr' => $row['group_id'])), - 'COLOR_STYLE' => $colorstyle, - 'DISPLAY_LINK' => $display_link, - 'TREND' => $row['trend'], - 'ODDS' => ($row['odd_1'] == '') ? '' : $row['odd_1'] . '|' . $row['odd_x'] . '|' . $row['odd_2'], - 'RATING' => $row['rating'], - ) - ); - } -} -$db->sql_freeresult($result); - -// Calculate extra bets of matchday -// Start select team -$sql = 'SELECT - team_id AS option_value, - team_name AS option_name - FROM ' . FOOTB_TEAMS . " - WHERE season = $season - AND league = $league - ORDER BY team_name ASC"; - -$result = $db->sql_query($sql); -$option_rows = $db->sql_fetchrowset($result); -$db->sql_freeresult($result); - -$sql = "SELECT e.*, - eb.bet, - eb.bet_points, - t1.team_name AS result_team, - t2.team_name AS bet_team - FROM " . FOOTB_EXTRA . ' AS e - LEFT JOIN ' . FOOTB_EXTRA_BETS . " AS eb ON (eb.season = e.season AND eb.league = e.league AND eb.extra_no = e.extra_no AND eb.user_id = $userid) - LEFT JOIN " . FOOTB_TEAMS . ' AS t1 ON (t1.season = e.season AND t1.league = e.league AND t1.team_id = e.result) - LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = e.season AND t2.league = e.league AND t2.team_id = eb.bet) - WHERE e.season = $season - AND e.league = $league - AND e.matchday = $matchday - ORDER BY e.extra_no ASC"; - -$result = $db->sql_query($sql); - -$extra_bet = false; -$extra_edit = false; -$extra_results = false; -$extranumber = 0; - -while ($row = $db->sql_fetchrow($result)) -{ - $extra_bet = true; - $extranumber++ ; - $row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - - switch($row['question_type']) - { - case '1': - { - $display_type = 1; - $eval_title = sprintf($user->lang['EXTRA_HIT']); - } - break; - case '2': - { - $display_type = 1; - $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); - } - break; - case '3': - { - $display_type = 2; - $eval_title = sprintf($user->lang['EXTRA_HIT']); - } - break; - case '4': - { - $display_type = 2; - $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); - } - break; - case '5': - { - $display_type = 2; - $eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']); - } - break; - default : - { - $display_type = 2; - $eval_title = ''; - } - break; - } - - if ($row['extra_status'] <= 0) - { - // edit extra bets - $extra_edit = true; - $bet_extra = ($row['bet_team'] == NULL) ? '' : $row['bet_team']; - - switch($row['question_type']) - { - case '3': - case '4': - { - $option_arr = array(); - for ($i = 65; $i <= 72; $i++) - { - if (strstr($row['question'], chr($i) . ':')) - { - $option_arr[] = array( - 'option_value' => chr($i), - 'option_name' => chr($i), - ); - } - } - if (sizeof($option_arr) > 1) - { - $display_type = 1; - $option_rows = $option_arr; - $bet_extra = $row['bet']; - } - } - break; - } - - $template->assign_block_vars('extra_edit', array( - 'ROW_CLASS' => $row_class, - 'EXTRA_NO' => $row['extra_no'], - 'QUESTION' => $row['question'], - 'EXTRA_POINTS' => $row['extra_points'], - 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), - 'EVALUATION_TITLE' => $eval_title, - 'BET' => ($display_type == 1) ? $bet_extra : $row['bet'], - 'S_DISPLAY_TYPE' => $display_type, - ) - ); - - if ($display_type == 1) - { - $selected = ($row['bet'] == '') ? ' selected="selected"' : ''; - - $template->assign_block_vars('extra_edit.extra_option', array( - 'OPTION_VALUE' => '', - 'OPTION_NAME' => sprintf($user->lang['SELECT']), - 'S_SELECTED' => $selected)); - - foreach ($option_rows as $option_row) - { - $selected = ($row['bet'] && $option_row['option_value'] == $row['bet']) ? ' selected="selected"' : ''; - $template->assign_block_vars('extra_edit.extra_option', array( - 'OPTION_VALUE' => $option_row['option_value'], - 'OPTION_NAME' => $option_row['option_name'], - 'S_SELECTED' => $selected)); - } - } - } - else - { - // view extra bets - $extra_results = true; - $extra_colorstyle = color_style($row['extra_status']); - $extra_result = ($row['result'] == '') ? ' ' : $row['result']; - $result_extra = ($row['result_team'] == NULL) ? ' ' : $row['result_team']; - $bet = ($row['bet'] == '') ? ' ' : $row['bet']; - $bet_extra = ($row['bet_team'] == NULL) ? ' ' : $row['bet_team']; - - $template->assign_block_vars('extra_view', array( - 'ROW_CLASS' => $row_class, - 'QUESTION' => $row['question'], - 'EXTRA_POINTS' => $row['extra_points'], - 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), - 'EVALUATION_TITLE' => $eval_title, - 'RESULT' => ($display_type == 1) ? $result_extra : $extra_result, - 'BET' => ($display_type == 1) ? $bet_extra : $bet, - 'BET_POINTS' => $row['bet_points'], - 'COLOR_STYLE' => $extra_colorstyle, - ) - ); - } -} -$league_info = league_info($season, $league); -$bet_explain = ''; -switch ($league_info['bet_ko_type']) -{ - case BET_KO_90: - $bet_explain = sprintf($user->lang['MIN90']); - break; - case BET_KO_EXTRATIME: - $bet_explain = sprintf($user->lang['EXTRATIME_SHORT']); - break; - case BET_KO_PENALTY: - $bet_explain = sprintf($user->lang['PENALTY']); - break; - default: - $bet_explain = sprintf($user->lang['MIN90']); - break; -} - -$link_rules = ''; -if (!$data_bet AND join_allowed($season, $league) AND $user->data['user_id'] != ANONYMOUS) -{ - if ($league_info["rules_post_id"]) - { - $join_league = true; - $link_rules = append_sid($phpbb_root_path . "viewtopic.$phpEx?p=" . $league_info["rules_post_id"]); - } - else - { - $link_rules = ''; - } -} - -$sidename = sprintf($user->lang['BET']); -$template->assign_vars(array( - 'S_DISPLAY_BET' => true, - 'S_SIDENAME' => $sidename, - 'BET_EXPLAIN' => $bet_explain, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'stat_results', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['STAT_RESULTS']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'all_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['ALL_BETS']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_STAT_RESULTS']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_ALL_BETS']), - 'JOIN_LEAGUE' => ($link_rules == '') ? '' : sprintf($user->lang['JOIN_LEAGUE'], $link_rules), - 'S_FORM_ACTION_BET' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday, 'action' => 'bet')), - 'S_FORM_ACTION_JOIN' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday, 'action' => 'join')), - 'S_USER_IS_MEMBER' => $user_is_member, - 'S_DATA_BET' => $data_bet, - 'S_DATA_GROUP' => $data_group, - 'S_DATA_BET_RESULTS' => $data_bet_results, - 'S_EDIT_MODE' => $edit_mode, - 'S_DISPLAY_DELIVERY2' => $display_delivery2, - 'S_DISPLAY_DELIVERY3' => $display_delivery3, - 'S_DELIVERY2' => $delivery2, - 'S_DELIVERY3' => $delivery3, - 'S_JOIN_LEAGUE' => $join_league, - 'S_EXTRA_BET' => $extra_bet, - 'S_EXTRA_RESULTS' => $extra_results, - 'S_EXTRA_EDIT' => $extra_edit, - 'S_DISPLAY_RATING' => $display_rating, - ) -); - +data['user_id']; +$lang_dates = $user->lang['datetime']; +$user_is_member = user_is_member($userid, $season, $league); +$display_rating = false; + +// Calculate multiple delivery +$display_delivery2 = false; +$display_delivery3 = false; +$delivery2 = ''; +$delivery3 = ''; +$sql = "SELECT + delivery_date_2, + delivery_date_3, + CONCAT( + CASE DATE_FORMAT(delivery_date_2,'%w') + WHEN 0 THEN '" . $lang_dates['Sun'] . "' + WHEN 1 THEN '" . $lang_dates['Mon'] . "' + WHEN 2 THEN '" . $lang_dates['Tue'] . "' + WHEN 3 THEN '" . $lang_dates['Wed'] . "' + WHEN 4 THEN '" . $lang_dates['Thu'] . "' + WHEN 5 THEN '" . $lang_dates['Fri'] . "' + WHEN 6 THEN '" . $lang_dates['Sat'] . "' + ELSE 'Error' END, + DATE_FORMAT(delivery_date_2,' %d.%m.%Y %H:%i') + ) as deliverytime2, + CONCAT( + CASE DATE_FORMAT(delivery_date_3,'%w') + WHEN 0 THEN '" . $lang_dates['Sun'] . "' + WHEN 1 THEN '" . $lang_dates['Mon'] . "' + WHEN 2 THEN '" . $lang_dates['Tue'] . "' + WHEN 3 THEN '" . $lang_dates['Wed'] . "' + WHEN 4 THEN '" . $lang_dates['Thu'] . "' + WHEN 5 THEN '" . $lang_dates['Fri'] . "' + WHEN 6 THEN '" . $lang_dates['Sat'] . "' + ELSE 'Error' END, + DATE_FORMAT(delivery_date_3,' %d.%m.%Y %H:%i') + ) as deliverytime3 + FROM " . FOOTB_MATCHDAYS . " + WHERE season = $season + AND league = $league + AND matchday = $matchday"; + +$result = $db->sql_query($sql); + +if ($row = $db->sql_fetchrow($result)) +{ + if ($row['delivery_date_2'] <> '') + { + $display_delivery2 = true; + $delivery2 = $row['deliverytime2']; + } + if ($row['delivery_date_3'] <> '') + { + $display_delivery3 = true; + $delivery3 = $row['deliverytime3']; + } +} +$db->sql_freeresult($result); + +// Calculate matches and bets of matchday +$sql = "SELECT + m.league, + m.match_no, + m.matchday, + m.status, + m.group_id, + m.formula_home, + m.formula_guest, + t1.team_symbol AS home_symbol, + t2.team_symbol AS guest_symbol, + t1.team_id AS home_id, + t2.team_id AS guest_id, + t1.team_name AS home_name, + t2.team_name AS guest_name, + t1.team_name_short AS home_short, + t2.team_name_short AS guest_short, + b.goals_home AS bet_home, + b.goals_guest AS bet_guest, + m.goals_home, + m.goals_guest, + m.trend, + m.odd_1, + m.odd_x, + m.odd_2, + m.rating, + CONCAT( + CASE DATE_FORMAT(m.match_datetime,'%w') + WHEN 0 THEN '" . $lang_dates['Sun'] . "' + WHEN 1 THEN '" . $lang_dates['Mon'] . "' + WHEN 2 THEN '" . $lang_dates['Tue'] . "' + WHEN 3 THEN '" . $lang_dates['Wed'] . "' + WHEN 4 THEN '" . $lang_dates['Thu'] . "' + WHEN 5 THEN '" . $lang_dates['Fri'] . "' + WHEN 6 THEN '" . $lang_dates['Sat'] . "' + ELSE 'Error' END, + DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') + ) AS match_time, + " . select_points() . ' + FROM ' . FOOTB_MATCHES . ' AS m + INNER JOIN ' . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no AND b.user_id = $userid) + LEFT JOIN " . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) + LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) + WHERE m.season = $season + AND m.league = $league + AND m.matchday = $matchday + GROUP BY m.match_no + ORDER BY m.match_datetime ASC, m.match_no ASC"; + +$result = $db->sql_query($sql); +$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); + +while ($row = $db->sql_fetchrow($result)) +{ + $data_bet = true; + $matchnumber++ ; + $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $display_link = true; + $display_rating = ($display_rating || ($row['rating'] <> '0.00')); + + if (0 == $row['home_id']) + { + $display_link = false; + $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); + $home_in_array = explode("#",$home_info); + $homelogo = $home_in_array[0]; + $homeid = $home_in_array[1]; + $homename = $home_in_array[2]; + $homeshort = $home_in_array[2]; + } + else + { + $homelogo = $row['home_symbol']; + $homeid = $row['home_id']; + $homename = $row['home_name']; + $homeshort = $row['home_short']; + } + + if (0 == $row['guest_id']) + { + $display_link = false; + $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); + $guest_in_array = explode("#",$guest_info); + $guestlogo = $guest_in_array[0]; + $guestid = $guest_in_array[1]; + $guestname = $guest_in_array[2]; + $guestshort = $guest_in_array[2]; + } + else + { + $guestlogo = $row['guest_symbol']; + $guestid = $row['guest_id']; + $guestname = $row['guest_name']; + $guestshort = $row['guest_short']; + } + if ($homelogo <> '') + { + $logoH = "\""" ; + } + else + { + $logoH = "\"\"" ; + } + + if ($guestlogo <> '') + { + $logoG = "\""" ; + } + else + { + $logoG = "\"\"" ; + } + + if ($row['status'] == -1) + { + $delivertag = "*"; + } + else + { + if ($row['status'] == -2) + { + $delivertag = "**"; + } + else + { + $delivertag = ''; + } + } + + if ($row['group_id'] == '') + { + $group_id = ' '; + } + else + { + $data_group = true; + $group_id = $row['group_id']; + } + + if ($row['status'] <= 0) + { + $edit_mode = true; + $template->assign_block_vars('bet_edit', array( + 'ROW_CLASS' => $row_class, + 'LEAGUE_ID' => $row['league'], + 'MATCH_NUMBER' => $row['match_no'], + 'MATCHDAY' => $row['matchday'], + 'STATUS' => $row['status'], + 'MATCH_TIME' => $row['match_time'], + 'GROUP' => $group_id, + 'HOME_ID' => $homeid, + 'GUEST_ID' => $guestid, + 'LOGO_HOME' => $logoH, + 'LOGO_GUEST' => $logoG, + 'HOME_NAME' => $homename, + 'GUEST_NAME' => $guestname, + 'HOME_SHORT' => $homeshort, + 'GUEST_SHORT' => $guestshort, + 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $homeid, 'mode' => 'all')), + 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $guestid, 'mode' => 'all')), + 'BET_HOME' => $row['bet_home'], + 'BET_GUEST' => $row['bet_guest'], + 'DELIVERTAG' => $delivertag, + 'GOALS_HOME' => ($row['goals_home'] == '') ? ' ' : $row['goals_home'], + 'GOALS_GUEST' => ($row['goals_guest'] == '') ? ' ' : $row['goals_guest'], + 'POINTS' => ($row['points'] == '') ? ' ' : $row['points'], + 'U_MATCH_STATS' => $this->helper->route('football_football_popup', array('popside' => 'hist_popup', 's' => $season, 'l' => $row['league'], + 'hid' => $homeid, 'gid' => $guestid, 'm' => $row['matchday'], + 'mn' => $row['match_no'], 'gr' => $row['group_id'])), + 'DATA_RESULTS' => $data_bet_results, + 'DISPLAY_LINK' => $display_link, + 'TREND' => $row['trend'], + 'ODDS' => ($row['odd_1'] == '') ? '' : $row['odd_1'] . '|' . $row['odd_x'] . '|' . $row['odd_2'], + 'RATING' => $row['rating'], + ) + ); + } + else + { + $data_bet_results = true; + $colorstyle = color_style($row['status']); + + $template->assign_block_vars('bet_view', array( + 'ROW_CLASS' => $row_class, + 'LEAGUE_ID' => $row['league'], + 'MATCH_NUMBER' => $row['match_no'], + 'MATCHDAY' => $row['matchday'], + 'STATUS' => $row['status'], + 'MATCH_TIME' => $row['match_time'], + 'GROUP' => $group_id, + 'HOME_ID' => $homeid, + 'GUEST_ID' => $guestid, + 'LOGO_HOME' => $logoH, + 'LOGO_GUEST' => $logoG, + 'HOME_NAME' => $homename, + 'GUEST_NAME' => $guestname, + 'HOME_SHORT' => $homeshort, + 'GUEST_SHORT' => $guestshort, + 'BET_HOME' => ($row['bet_home'] == '') ? ' ' : $row['bet_home'], + 'BET_GUEST' => ($row['bet_guest'] == '') ? ' ' : $row['bet_guest'], + 'GOALS_HOME' => ($row['goals_home'] == '') ? ' ' : $row['goals_home'], + 'GOALS_GUEST' => ($row['goals_guest'] == '') ? ' ' : $row['goals_guest'], + 'POINTS' => ($row['points'] == '') ? ' ' : $row['points'], + 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $homeid, 'mode' => 'all')), + 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $guestid, 'mode' => 'all')), + 'U_MATCH_STATS' => $this->helper->route('football_football_popup', array('popside' => 'hist_popup', 's' => $season, 'l' => $row['league'], + 'hid' => $homeid, 'gid' => $guestid, 'm' => $row['matchday'], + 'mn' => $row['match_no'], 'gr' => $row['group_id'])), + 'COLOR_STYLE' => $colorstyle, + 'DISPLAY_LINK' => $display_link, + 'TREND' => $row['trend'], + 'ODDS' => ($row['odd_1'] == '') ? '' : $row['odd_1'] . '|' . $row['odd_x'] . '|' . $row['odd_2'], + 'RATING' => $row['rating'], + ) + ); + } +} +$db->sql_freeresult($result); + +// Calculate extra bets of matchday +// Start select team +$sql = 'SELECT + team_id AS option_value, + team_name AS option_name + FROM ' . FOOTB_TEAMS . " + WHERE season = $season + AND league = $league + ORDER BY team_name ASC"; + +$result = $db->sql_query($sql); +$option_rows = $db->sql_fetchrowset($result); +$db->sql_freeresult($result); + +$sql = "SELECT e.*, + eb.bet, + eb.bet_points, + t1.team_name AS result_team, + t2.team_name AS bet_team + FROM " . FOOTB_EXTRA . ' AS e + LEFT JOIN ' . FOOTB_EXTRA_BETS . " AS eb ON (eb.season = e.season AND eb.league = e.league AND eb.extra_no = e.extra_no AND eb.user_id = $userid) + LEFT JOIN " . FOOTB_TEAMS . ' AS t1 ON (t1.season = e.season AND t1.league = e.league AND t1.team_id = e.result) + LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = e.season AND t2.league = e.league AND t2.team_id = eb.bet) + WHERE e.season = $season + AND e.league = $league + AND e.matchday = $matchday + ORDER BY e.extra_no ASC"; + +$result = $db->sql_query($sql); + +$extra_bet = false; +$extra_edit = false; +$extra_results = false; +$extranumber = 0; + +while ($row = $db->sql_fetchrow($result)) +{ + $extra_bet = true; + $extranumber++ ; + $row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + + switch($row['question_type']) + { + case '1': + { + $display_type = 1; + $eval_title = sprintf($user->lang['EXTRA_HIT']); + } + break; + case '2': + { + $display_type = 1; + $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); + } + break; + case '3': + { + $display_type = 2; + $eval_title = sprintf($user->lang['EXTRA_HIT']); + } + break; + case '4': + { + $display_type = 2; + $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); + } + break; + case '5': + { + $display_type = 2; + $eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']); + } + break; + default : + { + $display_type = 2; + $eval_title = ''; + } + break; + } + + if ($row['extra_status'] <= 0) + { + // edit extra bets + $extra_edit = true; + $bet_extra = ($row['bet_team'] == NULL) ? '' : $row['bet_team']; + + switch($row['question_type']) + { + case '3': + case '4': + { + $option_arr = array(); + for ($i = 65; $i <= 72; $i++) + { + if (strstr($row['question'], chr($i) . ':')) + { + $option_arr[] = array( + 'option_value' => chr($i), + 'option_name' => chr($i), + ); + } + } + if (sizeof($option_arr) > 1) + { + $display_type = 1; + $option_rows = $option_arr; + $bet_extra = $row['bet']; + } + } + break; + } + + $template->assign_block_vars('extra_edit', array( + 'ROW_CLASS' => $row_class, + 'EXTRA_NO' => $row['extra_no'], + 'QUESTION' => $row['question'], + 'EXTRA_POINTS' => $row['extra_points'], + 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), + 'EVALUATION_TITLE' => $eval_title, + 'BET' => ($display_type == 1) ? $bet_extra : $row['bet'], + 'S_DISPLAY_TYPE' => $display_type, + ) + ); + + if ($display_type == 1) + { + $selected = ($row['bet'] == '') ? ' selected="selected"' : ''; + + $template->assign_block_vars('extra_edit.extra_option', array( + 'OPTION_VALUE' => '', + 'OPTION_NAME' => sprintf($user->lang['SELECT']), + 'S_SELECTED' => $selected)); + + foreach ($option_rows as $option_row) + { + $selected = ($row['bet'] && $option_row['option_value'] == $row['bet']) ? ' selected="selected"' : ''; + $template->assign_block_vars('extra_edit.extra_option', array( + 'OPTION_VALUE' => $option_row['option_value'], + 'OPTION_NAME' => $option_row['option_name'], + 'S_SELECTED' => $selected)); + } + } + } + else + { + // view extra bets + $extra_results = true; + $extra_colorstyle = color_style($row['extra_status']); + $extra_result = ($row['result'] == '') ? ' ' : $row['result']; + $result_extra = ($row['result_team'] == NULL) ? ' ' : $row['result_team']; + $bet = ($row['bet'] == '') ? ' ' : $row['bet']; + $bet_extra = ($row['bet_team'] == NULL) ? ' ' : $row['bet_team']; + + $template->assign_block_vars('extra_view', array( + 'ROW_CLASS' => $row_class, + 'QUESTION' => $row['question'], + 'EXTRA_POINTS' => $row['extra_points'], + 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), + 'EVALUATION_TITLE' => $eval_title, + 'RESULT' => ($display_type == 1) ? $result_extra : $extra_result, + 'BET' => ($display_type == 1) ? $bet_extra : $bet, + 'BET_POINTS' => $row['bet_points'], + 'COLOR_STYLE' => $extra_colorstyle, + ) + ); + } +} +$db->sql_freeresult($result); + +$league_info = league_info($season, $league); +$bet_explain = ''; +switch ($league_info['bet_ko_type']) +{ + case BET_KO_90: + $bet_explain = sprintf($user->lang['MIN90']); + break; + case BET_KO_EXTRATIME: + $bet_explain = sprintf($user->lang['EXTRATIME_SHORT']); + break; + case BET_KO_PENALTY: + $bet_explain = sprintf($user->lang['PENALTY']); + break; + default: + $bet_explain = sprintf($user->lang['MIN90']); + break; +} + +$link_rules = ''; +if (!$data_bet AND join_allowed($season, $league) AND $user->data['user_id'] != ANONYMOUS) +{ + if ($league_info["rules_post_id"]) + { + $join_league = true; + $link_rules = append_sid($phpbb_root_path . "viewtopic.$phpEx?p=" . $league_info["rules_post_id"]); + } + else + { + $link_rules = ''; + } +} + +$sidename = sprintf($user->lang['BET']); +$template->assign_vars(array( + 'S_DISPLAY_BET' => true, + 'S_SIDENAME' => $sidename, + 'BET_EXPLAIN' => $bet_explain, + 'JOIN_LEAGUE' => ($link_rules == '') ? '' : sprintf($user->lang['JOIN_LEAGUE'], $link_rules), + 'S_FORM_ACTION_BET' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday, 'action' => 'bet')), + 'S_FORM_ACTION_JOIN' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday, 'action' => 'join')), + 'S_USER_IS_MEMBER' => $user_is_member, + 'S_DATA_BET' => $data_bet, + 'S_DATA_GROUP' => $data_group, + 'S_DATA_BET_RESULTS' => $data_bet_results, + 'S_EDIT_MODE' => $edit_mode, + 'S_DISPLAY_DELIVERY2' => $display_delivery2, + 'S_DISPLAY_DELIVERY3' => $display_delivery3, + 'S_DELIVERY2' => $delivery2, + 'S_DELIVERY3' => $delivery3, + 'S_JOIN_LEAGUE' => $join_league, + 'S_EXTRA_BET' => $extra_bet, + 'S_EXTRA_RESULTS' => $extra_results, + 'S_EXTRA_EDIT' => $extra_edit, + 'S_DISPLAY_RATING' => $display_rating, + ) +); + ?> \ No newline at end of file diff --git a/block/bet_popup.php b/block/bet_popup.php index f892cd5..8b82199 100644 --- a/block/bet_popup.php +++ b/block/bet_popup.php @@ -1,391 +1,392 @@ -data['user_id'] == ANONYMOUS) - { - trigger_error('NO_GUEST_VIEW'); - } -} -if (!$config['football_user_view']) -{ - // Only Prediction League member should see this page - // Check Prediction League authorisation - if ( !$this->auth->acl_get('u_use_football') ) - { - trigger_error('NO_AUTH_VIEW'); - } -} - -// Football disabled? -if ($config['football_disable']) -{ - $message = (!empty($config['football_disable_msg'])) ? $config['football_disable_msg'] : 'FOOTBALL_DISABLED'; - trigger_error($message); -} - -$userid = $this->request->variable('u', 0); -$season = $this->request->variable('s', 0); -$league = $this->request->variable('l', 0); -$matchday = $this->request->variable('m', 0); - -$error_message = ''; -$username = '?'; -if (!$userid OR !$season OR !$league OR !$matchday) -{ - $data_bet = false; - if (!$userid) - { - $error_message .= sprintf($user->lang['NO_USERID']) . '
'; - } - if (!$season) - { - $error_message .= sprintf($user->lang['NO_SEASON']) . '
'; - } - if (!$league) - { - $error_message .= sprintf($user->lang['NO_LEAGUE']) . '
'; - } - if (!$matchday) - { - $error_message .= sprintf($user->lang['NO_MATCHDAY']) . '
'; - } -} -else -{ - $season_info = season_info($season); - if (sizeof($season_info)) - { - $league_info = league_info($season, $league); - if (sizeof($league_info)) - { - // Get username - $sql = 'SELECT username - FROM ' . USERS_TABLE . " - WHERE user_id = $userid "; - $result = $db->sql_query($sql); - if ($row = $db->sql_fetchrow($result)) - { - $username = $row['username']; - } - else - { - $data_bet = false; - $error_message .= sprintf($user->lang['NO_USERID']) . '
'; - } - $db->sql_freeresult($result); - - $display_group = false; - $lang_dates = $user->lang['datetime']; - // Required for select_points function: - $league_info = league_info($season, $league); - - // Calculate matches and bets of matchday - $sql = "SELECT - m.league, - m.match_no, - m.matchday, - m.status, - m.group_id, - m.formula_home, - m.formula_guest, - t1.team_symbol AS home_symbol, - t2.team_symbol AS guest_symbol, - t1.team_id AS home_id, - t2.team_id AS guest_id, - t1.team_name AS home_name, - t2.team_name AS guest_name, - b.goals_home AS bet_home, - b.goals_guest AS bet_guest, - m.goals_home, - m.goals_guest, - CONCAT( - CASE DATE_FORMAT(m.match_datetime,'%w') - WHEN 0 THEN '" . $lang_dates['Sun'] . "' - WHEN 1 THEN '" . $lang_dates['Mon'] . "' - WHEN 2 THEN '" . $lang_dates['Tue'] . "' - WHEN 3 THEN '" . $lang_dates['Wed'] . "' - WHEN 4 THEN '" . $lang_dates['Thu'] . "' - WHEN 5 THEN '" . $lang_dates['Fri'] . "' - WHEN 6 THEN '" . $lang_dates['Sat'] . "' - ELSE 'Error' END, - DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') - ) AS match_time, - " . select_points() . " - FROM " . FOOTB_MATCHES . ' AS m - INNER JOIN ' . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no AND b.user_id = $userid) - LEFT JOIN " . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) - LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) - WHERE m.season = $season - AND m.league = $league - AND m.matchday = $matchday - GROUP BY m.match_no - ORDER BY m.match_datetime ASC, m.match_no ASC"; - - $result = $db->sql_query($sql); - if ($row = $db->sql_fetchrow($result)) - { - $data_bet = true; - $matchnumber = 0; - $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); - do - { - $matchnumber++ ; - $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $display_link = true; - if (0 == $row['home_id']) - { - $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); - $home_in_array = explode("#",$home_info); - $homelogo = $home_in_array[0]; - $homeid = $home_in_array[1]; - $homename = $home_in_array[2]; - } - else - { - $homelogo = $row['home_symbol']; - $homeid = $row['home_id']; - $homename = $row['home_name']; - } - if (0 == $row['guest_id']) - { - $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); - $guest_in_array = explode("#",$guest_info); - $guestlogo = $guest_in_array[0]; - $guestid = $guest_in_array[1]; - $guestname = $guest_in_array[2]; - } - else - { - $guestlogo = $row['guest_symbol']; - $guestid = $row['guest_id']; - $guestname = $row['guest_name']; - } - if ($homelogo <> '') - { - $logoH = "\""" ; - } - else - { - $logoH = "\"\"" ; - } - if ($guestlogo <> '') - { - $logoG = "\""" ; - } - else - { - $logoG = "\"\"" ; - } - - if ($row['group_id'] == '') - { - $group_id = ' '; - } - else - { - $display_group = true; - $group_id = $row['group_id']; - } - - - if ($row['status'] < 1 && !$config['football_view_bets']) - { - // hide bets - $bet_home = ($row['bet_home'] == '') ? ' ' : '?'; - $bet_guest = ($row['bet_guest'] == '') ? ' ' : '?'; - } - else - { - $bet_home = ($row['bet_home'] == '') ? ' ' : $row['bet_home']; - $bet_guest = ($row['bet_guest'] == '') ? ' ' : $row['bet_guest']; - } - - $colorstyle = color_style($row['status']); - $template->assign_block_vars('bet_view', array( - 'ROW_CLASS' => $row_class, - 'LEAGUE_ID' => $row['league'], - 'MATCH_NUMBER' => $row['match_no'], - 'MATCHDAY' => $row['matchday'], - 'STATUS' => $row['status'], - 'MATCH_TIME' => $row['match_time'], - 'GROUP' => $group_id, - 'HOME_ID' => $homeid, - 'GUEST_ID' => $guestid, - 'LOGO_HOME' => $logoH, - 'LOGO_GUEST' => $logoG, - 'HOME_NAME' => $homename, - 'GUEST_NAME' => $guestname, - 'BET_HOME' => $bet_home, - 'BET_GUEST' => $bet_guest, - 'GOALS_HOME' => ($row['goals_home'] == '') ? ' ' : $row['goals_home'], - 'GOALS_GUEST' => ($row['goals_guest'] == '') ? ' ' : $row['goals_guest'], - 'POINTS' => ($row['points'] == '') ? ' ' : $row['points'], - 'COLOR_STYLE' => $colorstyle, - ) - ); - } - while ($row = $db->sql_fetchrow($result)); - $db->sql_freeresult($result); - } - else - { - $data_bet = false; - $error_message .= sprintf($user->lang['NO_BETS']) . '
'; - } - } - else - { - $data_bet = false; - $error_message .= sprintf($user->lang['NO_LEAGUE']) . '
'; - } - } - else - { - $data_bet = false; - $error_message .= sprintf($user->lang['NO_SEASON']) . '
'; - } -} - -// Calculate extra bets of matchday -$sql = "SELECT e.*, - eb.bet, - eb.bet_points, - t1.team_name AS result_team, - t2.team_name AS bet_team - FROM " . FOOTB_EXTRA . ' AS e - LEFT JOIN ' . FOOTB_EXTRA_BETS . " AS eb ON (eb.season = e.season AND eb.league = e.league AND eb.extra_no = e.extra_no AND eb.user_id = $userid) - LEFT JOIN " . FOOTB_TEAMS . ' AS t1 ON (t1.season = e.season AND t1.league = e.league AND t1.team_id = e.result) - LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = e.season AND t2.league = e.league AND t2.team_id = eb.bet) - WHERE e.season = $season - AND e.league = $league - AND e.matchday = $matchday - ORDER BY e.extra_no ASC"; - -$result = $db->sql_query($sql); - -$extra_bet = false; -$extranumber = 0; - -while ($row = $db->sql_fetchrow($result)) -{ - $extra_bet = true; - $extranumber++ ; - $row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - - if ($row['extra_status'] < 1 && !$config['football_view_bets']) - { - // hide bets - $bet = ($row['bet'] == '') ? ' ' : '?'; - $bet_team = ($row['bet_team'] == NULL) ? ' ' : '?'; - } - else - { - $bet = ($row['bet'] == '') ? ' ' : $row['bet']; - $bet_team = ($row['bet_team'] == NULL) ? ' ' : $row['bet_team']; - } - $extra_colorstyle = color_style($row['extra_status']); - - switch($row['question_type']) - { - case '1': - { - $display_type = 1; - $eval_title = sprintf($user->lang['EXTRA_HIT']); - } - break; - case '2': - { - $display_type = 1; - $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); - } - break; - case '3': - { - $display_type = 2; - $eval_title = sprintf($user->lang['EXTRA_HIT']); - } - break; - case '4': - { - $display_type = 2; - $eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']); - } - break; - case '5': - { - $display_type = 2; - $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); - } - break; - default : - { - $display_type = 2; - $eval_title = ''; - } - break; - } - - $template->assign_block_vars('extra_view', array( - 'ROW_CLASS' => $row_class, - 'QUESTION' => $row['question'], - 'EXTRA_POINTS' => $row['extra_points'], - 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), - 'EVALUATION_TITLE' => $eval_title, - 'RESULT' => ($display_type == 1) ? $row['result_team'] : $row['result'], - 'BET' => ($display_type == 1) ? $bet_team : $bet, - 'BET_POINTS' => $row['bet_points'], - 'COLOR_STYLE' => $extra_colorstyle, - ) - ); -} - -$sidename = sprintf($user->lang['BET']); -if ($data_bet) -{ - $template->assign_vars(array( - 'S_SIDENAME' => $sidename, - 'S_USER_NAME' => $username, - 'S_ERROR_MESSAGE' => $error_message, - 'S_FROM' => sprintf($user->lang['FROM_DAY_SEASON'], $matchday, $season), - 'S_FOOTBALL_COPY' => sprintf($user->lang['FOOTBALL_COPY'], $config['football_version'], $phpbb_root_path . 'football/'), - 'S_DATA_BET' => $data_bet, - 'S_DISPLAY_GROUP' => $display_group, - 'S_EXTRA_BET' => $extra_bet, - ) - ); - - // output page - page_header(sprintf($user->lang['BETS_OF']) . ' ' . $username); -} -else -{ - $template->assign_vars(array( - 'S_SIDENAME' => $sidename, - 'S_USER_NAME' => '', - 'S_ERROR_MESSAGE' => $error_message, - 'S_FROM' => '', - 'S_FOOTBALL_COPY' => sprintf($user->lang['FOOTBALL_COPY'], $config['football_version'], $phpbb_root_path . 'football/'), - 'S_DATA_BET' => $data_bet, - 'S_DISPLAY_GROUP' => false, - ) - ); - - // output page - page_header(sprintf($user->lang['BETS_OF'])); -} - -$template->set_filenames(array( - 'body' => 'bet_popup.html') -); - -page_footer(); +data['user_id'] == ANONYMOUS) + { + trigger_error('NO_GUEST_VIEW'); + } +} +if (!$config['football_user_view']) +{ + // Only Prediction League member should see this page + // Check Prediction League authorisation + if ( !$this->auth->acl_get('u_use_football') ) + { + trigger_error('NO_AUTH_VIEW'); + } +} + +// Football disabled? +if ($config['football_disable']) +{ + $message = (!empty($config['football_disable_msg'])) ? $config['football_disable_msg'] : 'FOOTBALL_DISABLED'; + trigger_error($message); +} + +$userid = $this->request->variable('u', 0); +$season = $this->request->variable('s', 0); +$league = $this->request->variable('l', 0); +$matchday = $this->request->variable('m', 0); + +$error_message = ''; +$username = '?'; +if (!$userid OR !$season OR !$league OR !$matchday) +{ + $data_bet = false; + if (!$userid) + { + $error_message .= sprintf($user->lang['NO_USERID']) . '
'; + } + if (!$season) + { + $error_message .= sprintf($user->lang['NO_SEASON']) . '
'; + } + if (!$league) + { + $error_message .= sprintf($user->lang['NO_LEAGUE']) . '
'; + } + if (!$matchday) + { + $error_message .= sprintf($user->lang['NO_MATCHDAY']) . '
'; + } +} +else +{ + $season_info = season_info($season); + if (sizeof($season_info)) + { + $league_info = league_info($season, $league); + if (sizeof($league_info)) + { + // Get username + $sql = 'SELECT username + FROM ' . USERS_TABLE . " + WHERE user_id = $userid "; + $result = $db->sql_query($sql); + if ($row = $db->sql_fetchrow($result)) + { + $username = $row['username']; + } + else + { + $data_bet = false; + $error_message .= sprintf($user->lang['NO_USERID']) . '
'; + } + $db->sql_freeresult($result); + + $display_group = false; + $lang_dates = $user->lang['datetime']; + // Required for select_points function: + $league_info = league_info($season, $league); + + // Calculate matches and bets of matchday + $sql = "SELECT + m.league, + m.match_no, + m.matchday, + m.status, + m.group_id, + m.formula_home, + m.formula_guest, + t1.team_symbol AS home_symbol, + t2.team_symbol AS guest_symbol, + t1.team_id AS home_id, + t2.team_id AS guest_id, + t1.team_name AS home_name, + t2.team_name AS guest_name, + b.goals_home AS bet_home, + b.goals_guest AS bet_guest, + m.goals_home, + m.goals_guest, + CONCAT( + CASE DATE_FORMAT(m.match_datetime,'%w') + WHEN 0 THEN '" . $lang_dates['Sun'] . "' + WHEN 1 THEN '" . $lang_dates['Mon'] . "' + WHEN 2 THEN '" . $lang_dates['Tue'] . "' + WHEN 3 THEN '" . $lang_dates['Wed'] . "' + WHEN 4 THEN '" . $lang_dates['Thu'] . "' + WHEN 5 THEN '" . $lang_dates['Fri'] . "' + WHEN 6 THEN '" . $lang_dates['Sat'] . "' + ELSE 'Error' END, + DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') + ) AS match_time, + " . select_points() . " + FROM " . FOOTB_MATCHES . ' AS m + INNER JOIN ' . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no AND b.user_id = $userid) + LEFT JOIN " . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) + LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) + WHERE m.season = $season + AND m.league = $league + AND m.matchday = $matchday + GROUP BY m.match_no + ORDER BY m.match_datetime ASC, m.match_no ASC"; + + $result = $db->sql_query($sql); + if ($row = $db->sql_fetchrow($result)) + { + $data_bet = true; + $matchnumber = 0; + $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); + do + { + $matchnumber++ ; + $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $display_link = true; + if (0 == $row['home_id']) + { + $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); + $home_in_array = explode("#",$home_info); + $homelogo = $home_in_array[0]; + $homeid = $home_in_array[1]; + $homename = $home_in_array[2]; + } + else + { + $homelogo = $row['home_symbol']; + $homeid = $row['home_id']; + $homename = $row['home_name']; + } + if (0 == $row['guest_id']) + { + $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); + $guest_in_array = explode("#",$guest_info); + $guestlogo = $guest_in_array[0]; + $guestid = $guest_in_array[1]; + $guestname = $guest_in_array[2]; + } + else + { + $guestlogo = $row['guest_symbol']; + $guestid = $row['guest_id']; + $guestname = $row['guest_name']; + } + if ($homelogo <> '') + { + $logoH = "\""" ; + } + else + { + $logoH = "\"\"" ; + } + if ($guestlogo <> '') + { + $logoG = "\""" ; + } + else + { + $logoG = "\"\"" ; + } + + if ($row['group_id'] == '') + { + $group_id = ' '; + } + else + { + $display_group = true; + $group_id = $row['group_id']; + } + + + if ($row['status'] < 1 && !$config['football_view_bets']) + { + // hide bets + $bet_home = ($row['bet_home'] == '') ? ' ' : '?'; + $bet_guest = ($row['bet_guest'] == '') ? ' ' : '?'; + } + else + { + $bet_home = ($row['bet_home'] == '') ? ' ' : $row['bet_home']; + $bet_guest = ($row['bet_guest'] == '') ? ' ' : $row['bet_guest']; + } + + $colorstyle = color_style($row['status']); + $template->assign_block_vars('bet_view', array( + 'ROW_CLASS' => $row_class, + 'LEAGUE_ID' => $row['league'], + 'MATCH_NUMBER' => $row['match_no'], + 'MATCHDAY' => $row['matchday'], + 'STATUS' => $row['status'], + 'MATCH_TIME' => $row['match_time'], + 'GROUP' => $group_id, + 'HOME_ID' => $homeid, + 'GUEST_ID' => $guestid, + 'LOGO_HOME' => $logoH, + 'LOGO_GUEST' => $logoG, + 'HOME_NAME' => $homename, + 'GUEST_NAME' => $guestname, + 'BET_HOME' => $bet_home, + 'BET_GUEST' => $bet_guest, + 'GOALS_HOME' => ($row['goals_home'] == '') ? ' ' : $row['goals_home'], + 'GOALS_GUEST' => ($row['goals_guest'] == '') ? ' ' : $row['goals_guest'], + 'POINTS' => ($row['points'] == '') ? ' ' : $row['points'], + 'COLOR_STYLE' => $colorstyle, + ) + ); + } + while ($row = $db->sql_fetchrow($result)); + $db->sql_freeresult($result); + } + else + { + $data_bet = false; + $error_message .= sprintf($user->lang['NO_BETS']) . '
'; + } + } + else + { + $data_bet = false; + $error_message .= sprintf($user->lang['NO_LEAGUE']) . '
'; + } + } + else + { + $data_bet = false; + $error_message .= sprintf($user->lang['NO_SEASON']) . '
'; + } +} + +// Calculate extra bets of matchday +$sql = "SELECT e.*, + eb.bet, + eb.bet_points, + t1.team_name AS result_team, + t2.team_name AS bet_team + FROM " . FOOTB_EXTRA . ' AS e + LEFT JOIN ' . FOOTB_EXTRA_BETS . " AS eb ON (eb.season = e.season AND eb.league = e.league AND eb.extra_no = e.extra_no AND eb.user_id = $userid) + LEFT JOIN " . FOOTB_TEAMS . ' AS t1 ON (t1.season = e.season AND t1.league = e.league AND t1.team_id = e.result) + LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = e.season AND t2.league = e.league AND t2.team_id = eb.bet) + WHERE e.season = $season + AND e.league = $league + AND e.matchday = $matchday + ORDER BY e.extra_no ASC"; + +$result = $db->sql_query($sql); + +$extra_bet = false; +$extranumber = 0; + +while ($row = $db->sql_fetchrow($result)) +{ + $extra_bet = true; + $extranumber++ ; + $row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + + if ($row['extra_status'] < 1 && !$config['football_view_bets']) + { + // hide bets + $bet = ($row['bet'] == '') ? ' ' : '?'; + $bet_team = ($row['bet_team'] == NULL) ? ' ' : '?'; + } + else + { + $bet = ($row['bet'] == '') ? ' ' : $row['bet']; + $bet_team = ($row['bet_team'] == NULL) ? ' ' : $row['bet_team']; + } + $extra_colorstyle = color_style($row['extra_status']); + + switch($row['question_type']) + { + case '1': + { + $display_type = 1; + $eval_title = sprintf($user->lang['EXTRA_HIT']); + } + break; + case '2': + { + $display_type = 1; + $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); + } + break; + case '3': + { + $display_type = 2; + $eval_title = sprintf($user->lang['EXTRA_HIT']); + } + break; + case '4': + { + $display_type = 2; + $eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']); + } + break; + case '5': + { + $display_type = 2; + $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); + } + break; + default : + { + $display_type = 2; + $eval_title = ''; + } + break; + } + + $template->assign_block_vars('extra_view', array( + 'ROW_CLASS' => $row_class, + 'QUESTION' => $row['question'], + 'EXTRA_POINTS' => $row['extra_points'], + 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), + 'EVALUATION_TITLE' => $eval_title, + 'RESULT' => ($display_type == 1) ? $row['result_team'] : $row['result'], + 'BET' => ($display_type == 1) ? $bet_team : $bet, + 'BET_POINTS' => $row['bet_points'], + 'COLOR_STYLE' => $extra_colorstyle, + ) + ); +} +$db->sql_freeresult($result); + +$sidename = sprintf($user->lang['BET']); +if ($data_bet) +{ + $template->assign_vars(array( + 'S_SIDENAME' => $sidename, + 'S_USER_NAME' => $username, + 'S_ERROR_MESSAGE' => $error_message, + 'S_FROM' => sprintf($user->lang['FROM_DAY_SEASON'], $matchday, $season), + 'S_FOOTBALL_COPY' => sprintf($user->lang['FOOTBALL_COPY'], $config['football_version'], $phpbb_root_path . 'football/'), + 'S_DATA_BET' => $data_bet, + 'S_DISPLAY_GROUP' => $display_group, + 'S_EXTRA_BET' => $extra_bet, + ) + ); + + // output page + page_header(sprintf($user->lang['BETS_OF']) . ' ' . $username); +} +else +{ + $template->assign_vars(array( + 'S_SIDENAME' => $sidename, + 'S_USER_NAME' => '', + 'S_ERROR_MESSAGE' => $error_message, + 'S_FROM' => '', + 'S_FOOTBALL_COPY' => sprintf($user->lang['FOOTBALL_COPY'], $config['football_version'], $phpbb_root_path . 'football/'), + 'S_DATA_BET' => $data_bet, + 'S_DISPLAY_GROUP' => false, + ) + ); + + // output page + page_header(sprintf($user->lang['BETS_OF'])); +} + +$template->set_filenames(array( + 'body' => 'bet_popup.html') +); + +page_footer(); ?> \ No newline at end of file diff --git a/block/delivery.php b/block/delivery.php index b9d4299..7ce3dfa 100644 --- a/block/delivery.php +++ b/block/delivery.php @@ -15,7 +15,7 @@ $data_delivery = false; $user_id = $user->data['user_id']; $lang_dates = $user->lang['datetime']; $index = 0; -$local_board_time = time() + (($config['board_timezone'] - $config['football_host_timezone']) * 3600); +$local_board_time = time() + ($config['football_time_shift'] * 3600); $sql = "SELECT m.season, m.league, diff --git a/block/dload_bank.php b/block/dload_bank.php index 7745db3..715ac24 100644 --- a/block/dload_bank.php +++ b/block/dload_bank.php @@ -1,134 +1,135 @@ -user->add_lang_ext('football/football', 'info_acp_bank'); - -// Check Prediction League authorisation -if ( !$this->auth->acl_get('u_use_football') ) -{ - trigger_error('NO_AUTH_VIEW'); -} - -$action=''; - $phpbb_root_path = './../../'; - -if (!$season OR !$league) -{ - redirect($this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league))); -} -else -{ - $season_info = season_info($season); - if (!sizeof($season_info)) - { - $error_message = sprintf($user->lang['NO_SEASON']); - trigger_error($error_message); - } - else - { - $league_info = league_info($season, $league); - if (!sizeof($league_info)) - { - $error_message = sprintf($user->lang['NO_LEAGUE']); - trigger_error($error_message); - } - else - { - $bet_points = $league_info['bet_points']; - $league_name =$league_info['league_name']; - $league_short =$league_info['league_name_short']; - - $user_points = ''; - global $phpbb_extension_manager; - if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints') && $config['points_enable']) - { - $user_points = 'u.user_points,'; - } - else - { - $user_points = "0.00 AS user_points,"; - } - - // Grab the members points - $sql = "SELECT - b.user_id, - u.username, - $user_points - $bet_points AS bet_points, - SUM(IF(p.points_type = " . POINTS_BET . ', IF(p.cash = 0, p.points, 0.00), 0.00)) AS no_cash_bet_points, - SUM(IF(p.points_type = ' . POINTS_DEPOSITED . ', IF(p.cash = 0, p.points, 0.00), 0.00)) AS no_cash_deposit, - SUM(IF(p.points_type IN (' . POINTS_MATCHDAY . ',' . POINTS_SEASON . ',' . POINTS_MOST_HITS . ',' . POINTS_MOST_HITS_AWAY . '), - IF(p.cash = 0, p.points, 0.00), - 0.00)) AS no_cash_wins, - SUM(IF(p.points_type = ' . POINTS_PAID . ', IF(p.cash = 0, p.points, 0.00), 0.00)) AS no_cash_paid, - SUM(IF(p.points_type = ' . POINTS_DEPOSITED . ', p.points, 0.00)) AS deposit, - IF(SUM(IF(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points, p.points * -1.0)) > 0, - SUM(IF(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points, p.points * -1.0)), 0.00) AS new_deposit, - SUM(IF(p.points_type IN (' . POINTS_MATCHDAY . ',' . POINTS_SEASON . ',' . POINTS_MOST_HITS . ',' . POINTS_MOST_HITS_AWAY . '), - p.points, 0.00)) AS wins, - SUM(IF(p.points_type = ' . POINTS_PAID . ', p.points, 0.00)) AS paid, - IF(SUM(IF(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points * -1.0, p.points)) > 0, - SUM(IF(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points * -1.0, p.points)), 0.00) AS new_pay - FROM ' . FOOTB_BETS . ' AS b - JOIN ' . USERS_TABLE . ' AS u ON (u.user_id = b.user_id) - LEFT JOIN ' . FOOTB_POINTS . " AS p ON (p.season = $season AND p.league = $league AND p.user_id = b.user_id) - WHERE b.season = $season - AND b.league = $league - AND b.match_no = 1 - GROUP BY b.user_id - ORDER BY u.username ASC"; - - if(!$result = $db->sql_query($sql)) - { - trigger_error('NO_LEAGUE'); - } - $user_rows = $db->sql_fetchrowset($result); - $export_file = $league_short . '_' . $season . '_bank.csv'; - $newline = "\r\n"; - header('Pragma: no-cache'); - header("Content-Type: text/csv; name=\"$export_file\""); - header("Content-disposition: attachment; filename=$export_file"); - $export= ''; - $export .= $league_name . ' ' . sprintf($user->lang['SEASON']) . ' ' . $season. $newline; - $export .= sprintf($user->lang['NAME']) . ';' . $config['football_win_name'] . ';' . sprintf($user->lang['BET_POINTS']) . ';' . - sprintf($user->lang['DEPOSITED']) . ';' . sprintf($user->lang['DEPOSIT']) . ';' . sprintf($user->lang['WINS']) . ';' . - sprintf($user->lang['PAID']) . ';' . sprintf($user->lang['PAYOUT']) . ';' . $newline; - - $curr_season = curr_season(); - foreach ($user_rows as $user_row) - { - if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints') && $config['points_enable'] && $season == $curr_season) - { - $no_cash_bet_points = ($user_row['no_cash_bet_points'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_bet_points']) . ')'; - $no_cash_deposit = ($user_row['no_cash_deposit'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_deposit']) . ')'; - $no_cash_wins = ($user_row['no_cash_wins'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_wins']) . ')'; - $no_cash_paid = ($user_row['no_cash_paid'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_paid']) . ')'; - } - else - { - $no_cash_bet_points = ''; - $no_cash_deposit = ''; - $no_cash_wins = ''; - $no_cash_paid = ''; - } - $export .= str_replace("\"", "\"\"", $user_row['username']) . ';' . - str_replace('.', ',', $user_row['user_points']) . ';' . - str_replace('.', ',', $user_row['bet_points']) . $no_cash_bet_points . ';' . - str_replace('.', ',', $user_row['deposit']) . $no_cash_deposit . ';' . - str_replace('.', ',', $user_row['new_deposit']) . ';' . - str_replace('.', ',', $user_row['wins']) . $no_cash_wins . ';' . - str_replace('.', ',', $user_row['paid']) . $no_cash_paid . ';' . - str_replace('.', ',', $user_row['new_pay']) . ';' . $newline; - } - echo utf8_decode($export); - exit; - } - } -} +user->add_lang_ext('football/football', 'info_acp_bank'); + +// Check Prediction League authorisation +if ( !$this->auth->acl_get('u_use_football') ) +{ + trigger_error('NO_AUTH_VIEW'); +} + +$action=''; + $phpbb_root_path = './../../'; + +if (!$season OR !$league) +{ + redirect($this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league))); +} +else +{ + $season_info = season_info($season); + if (!sizeof($season_info)) + { + $error_message = sprintf($user->lang['NO_SEASON']); + trigger_error($error_message); + } + else + { + $league_info = league_info($season, $league); + if (!sizeof($league_info)) + { + $error_message = sprintf($user->lang['NO_LEAGUE']); + trigger_error($error_message); + } + else + { + $bet_points = $league_info['bet_points']; + $league_name =$league_info['league_name']; + $league_short =$league_info['league_name_short']; + + $user_points = ''; + global $phpbb_extension_manager; + if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints') && $config['points_enable']) + { + $user_points = 'u.user_points,'; + } + else + { + $user_points = "0.00 AS user_points,"; + } + + // Grab the members points + $sql = "SELECT + b.user_id, + u.username, + $user_points + $bet_points AS bet_points, + SUM(IF(p.points_type = " . POINTS_BET . ', IF(p.cash = 0, p.points, 0.00), 0.00)) AS no_cash_bet_points, + SUM(IF(p.points_type = ' . POINTS_DEPOSITED . ', IF(p.cash = 0, p.points, 0.00), 0.00)) AS no_cash_deposit, + SUM(IF(p.points_type IN (' . POINTS_MATCHDAY . ',' . POINTS_SEASON . ',' . POINTS_MOST_HITS . ',' . POINTS_MOST_HITS_AWAY . '), + IF(p.cash = 0, p.points, 0.00), + 0.00)) AS no_cash_wins, + SUM(IF(p.points_type = ' . POINTS_PAID . ', IF(p.cash = 0, p.points, 0.00), 0.00)) AS no_cash_paid, + SUM(IF(p.points_type = ' . POINTS_DEPOSITED . ', p.points, 0.00)) AS deposit, + IF(SUM(IF(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points, p.points * -1.0)) > 0, + SUM(IF(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points, p.points * -1.0)), 0.00) AS new_deposit, + SUM(IF(p.points_type IN (' . POINTS_MATCHDAY . ',' . POINTS_SEASON . ',' . POINTS_MOST_HITS . ',' . POINTS_MOST_HITS_AWAY . '), + p.points, 0.00)) AS wins, + SUM(IF(p.points_type = ' . POINTS_PAID . ', p.points, 0.00)) AS paid, + IF(SUM(IF(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points * -1.0, p.points)) > 0, + SUM(IF(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points * -1.0, p.points)), 0.00) AS new_pay + FROM ' . FOOTB_BETS . ' AS b + JOIN ' . USERS_TABLE . ' AS u ON (u.user_id = b.user_id) + LEFT JOIN ' . FOOTB_POINTS . " AS p ON (p.season = $season AND p.league = $league AND p.user_id = b.user_id) + WHERE b.season = $season + AND b.league = $league + AND b.match_no = 1 + GROUP BY b.user_id + ORDER BY u.username ASC"; + + if(!$result = $db->sql_query($sql)) + { + trigger_error('NO_LEAGUE'); + } + $user_rows = $db->sql_fetchrowset($result); + $db->sql_freeresult($result); + $export_file = $league_short . '_' . $season . '_bank.csv'; + $newline = "\r\n"; + header('Pragma: no-cache'); + header("Content-Type: text/csv; name=\"$export_file\""); + header("Content-disposition: attachment; filename=$export_file"); + $export= ''; + $export .= $league_name . ' ' . sprintf($user->lang['SEASON']) . ' ' . $season. $newline; + $export .= sprintf($user->lang['NAME']) . ';' . $config['football_win_name'] . ';' . sprintf($user->lang['BET_POINTS']) . ';' . + sprintf($user->lang['DEPOSITED']) . ';' . sprintf($user->lang['DEPOSIT']) . ';' . sprintf($user->lang['WINS']) . ';' . + sprintf($user->lang['PAID']) . ';' . sprintf($user->lang['PAYOUT']) . ';' . $newline; + + $curr_season = curr_season(); + foreach ($user_rows as $user_row) + { + if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints') && $config['points_enable'] && $season == $curr_season) + { + $no_cash_bet_points = ($user_row['no_cash_bet_points'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_bet_points']) . ')'; + $no_cash_deposit = ($user_row['no_cash_deposit'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_deposit']) . ')'; + $no_cash_wins = ($user_row['no_cash_wins'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_wins']) . ')'; + $no_cash_paid = ($user_row['no_cash_paid'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_paid']) . ')'; + } + else + { + $no_cash_bet_points = ''; + $no_cash_deposit = ''; + $no_cash_wins = ''; + $no_cash_paid = ''; + } + $export .= str_replace("\"", "\"\"", $user_row['username']) . ';' . + str_replace('.', ',', $user_row['user_points']) . ';' . + str_replace('.', ',', $user_row['bet_points']) . $no_cash_bet_points . ';' . + str_replace('.', ',', $user_row['deposit']) . $no_cash_deposit . ';' . + str_replace('.', ',', $user_row['new_deposit']) . ';' . + str_replace('.', ',', $user_row['wins']) . $no_cash_wins . ';' . + str_replace('.', ',', $user_row['paid']) . $no_cash_paid . ';' . + str_replace('.', ',', $user_row['new_pay']) . ';' . $newline; + } + echo utf8_decode($export); + exit; + } + } +} ?> \ No newline at end of file diff --git a/block/dload_bank_open.php b/block/dload_bank_open.php index a4acc2e..502969a 100644 --- a/block/dload_bank_open.php +++ b/block/dload_bank_open.php @@ -1,87 +1,88 @@ -user->add_lang_ext('football/football', 'info_acp_bank'); - -// Check Prediction League authorisation -if ( !$this->auth->acl_get('u_use_football') ) -{ - trigger_error('NO_AUTH_VIEW'); -} - -$action=''; - -if (!$season) -{ - redirect($this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season))); -} -else -{ - $season_info = season_info($season); - if (!sizeof($season_info)) - { - $error_message = sprintf($user->lang['NO_SEASON']); - trigger_error($error_message); - } - else - { - // Grab the members points - $sql = 'SELECT - u.username, - p.season, - p.league, - round(sum(if(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points * -1.0, p.points)),2) as saldo - FROM ' . FOOTB_POINTS . ' AS p - JOIN ' . USERS_TABLE . " AS u ON (u.user_id = p.user_id) - WHERE p.season <= $season - GROUP BY p.season, p.league, u.username - HAVING saldo <> 0.00 - ORDER BY u.username, p.season, p.league"; - - if(!$result = $db->sql_query($sql)) - { - trigger_error('NO_SEASON'); - } - $user_rows = $db->sql_fetchrowset($result); - $export_file = $season. '_bank.csv'; - $newline = "\r\n"; - header('Pragma: no-cache'); - header("Content-Type: text/csv; name=\"$export_file\""); - header("Content-disposition: attachment; filename=$export_file"); - $export= ''; - $export .= sprintf($user->lang['SEASON']) . ' ' . $season. $newline; - $export .= sprintf($user->lang['NAME']) . ';' . sprintf($user->lang['SEASON']) . ';' . sprintf($user->lang['LEAGUE']) . ';Saldo;' . $newline; - - $last_username = ''; - $sum_saldo = 0.0; - foreach ($user_rows as $user_row) - { - if ($last_username != '' AND $last_username != $user_row['username']) - { - $export .= str_replace("\"", "\"\"", $last_username) . ';Summe;;' . - str_replace('.', ',', $sum_saldo) . ';' . $newline; - $sum_saldo = 0.0; - } - $export .= str_replace("\"", "\"\"", $user_row['username']) . ';' . - $user_row['season'] . ';' . - $user_row['league'] . ';' . - str_replace('.', ',', $user_row['saldo']) . ';' . $newline; - $sum_saldo += $user_row['saldo']; - $last_username = $user_row['username']; - } - if ($last_username != '') - { - $export .= str_replace("\"", "\"\"", $last_username) . ';Summe;;' . - str_replace('.', ',', $sum_saldo) . ';' . $newline; - } - echo utf8_decode($export); - exit; - } -} +user->add_lang_ext('football/football', 'info_acp_bank'); + +// Check Prediction League authorisation +if ( !$this->auth->acl_get('u_use_football') ) +{ + trigger_error('NO_AUTH_VIEW'); +} + +$action=''; + +if (!$season) +{ + redirect($this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season))); +} +else +{ + $season_info = season_info($season); + if (!sizeof($season_info)) + { + $error_message = sprintf($user->lang['NO_SEASON']); + trigger_error($error_message); + } + else + { + // Grab the members points + $sql = 'SELECT + u.username, + p.season, + p.league, + round(sum(if(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points * -1.0, p.points)),2) as saldo + FROM ' . FOOTB_POINTS . ' AS p + JOIN ' . USERS_TABLE . " AS u ON (u.user_id = p.user_id) + WHERE p.season <= $season + GROUP BY p.season, p.league, u.username + HAVING saldo <> 0.00 + ORDER BY u.username, p.season, p.league"; + + if(!$result = $db->sql_query($sql)) + { + trigger_error('NO_SEASON'); + } + $user_rows = $db->sql_fetchrowset($result); + $db->sql_freeresult($result); + $export_file = $season. '_bank.csv'; + $newline = "\r\n"; + header('Pragma: no-cache'); + header("Content-Type: text/csv; name=\"$export_file\""); + header("Content-disposition: attachment; filename=$export_file"); + $export= ''; + $export .= sprintf($user->lang['SEASON']) . ' ' . $season. $newline; + $export .= sprintf($user->lang['NAME']) . ';' . sprintf($user->lang['SEASON']) . ';' . sprintf($user->lang['LEAGUE']) . ';Saldo;' . $newline; + + $last_username = ''; + $sum_saldo = 0.0; + foreach ($user_rows as $user_row) + { + if ($last_username != '' AND $last_username != $user_row['username']) + { + $export .= str_replace("\"", "\"\"", $last_username) . ';Summe;;' . + str_replace('.', ',', $sum_saldo) . ';' . $newline; + $sum_saldo = 0.0; + } + $export .= str_replace("\"", "\"\"", $user_row['username']) . ';' . + $user_row['season'] . ';' . + $user_row['league'] . ';' . + str_replace('.', ',', $user_row['saldo']) . ';' . $newline; + $sum_saldo += $user_row['saldo']; + $last_username = $user_row['username']; + } + if ($last_username != '') + { + $export .= str_replace("\"", "\"\"", $last_username) . ';Summe;;' . + str_replace('.', ',', $sum_saldo) . ';' . $newline; + } + echo utf8_decode($export); + exit; + } +} ?> \ No newline at end of file diff --git a/block/hist_popup.php b/block/hist_popup.php index 50e8e9b..732d782 100644 --- a/block/hist_popup.php +++ b/block/hist_popup.php @@ -91,6 +91,10 @@ else $data_last_home = false; $data_last_away = false; $form_from = $matchday-5; + $percent_home = 0; + $percent_draw = 0; + $percent_guest = 0; + $stat_hist = ''; $value_h = 0; $value_g = 0; $value_hg = 0; @@ -115,7 +119,6 @@ else { $logo[$home_id] = "\"\"" ; } - $db->sql_freeresult($result); } else { @@ -142,7 +145,6 @@ else { $logo[$guest_id] = "\"\"" ; } - $db->sql_freeresult($result); } else { @@ -245,7 +247,6 @@ else ) ); } - $db->sql_freeresult($result); // Statistic and forecast-points for historie $sql = "SELECT @@ -322,10 +323,6 @@ else } } - $stat_hist = ''; - $percent_home = 0; - $percent_draw = 0; - $percent_guest = 0; if (sizeof($row)) { if ($history_count <= 2) @@ -1003,7 +1000,6 @@ else ); } } - $db->sql_freeresult($result); //last matches home hometeam $sql = '(SELECT @@ -1074,7 +1070,6 @@ else ); } } - $db->sql_freeresult($result); //last game guestteam $sql = "(SELECT @@ -1158,7 +1153,6 @@ else ); } } - $db->sql_freeresult($result); //last matches away guestteam $sql = '(SELECT @@ -1226,7 +1220,6 @@ else ); } } - $db->sql_freeresult($result); if ($history_count == 0 and !($data_home and $data_guest)) { @@ -1266,7 +1259,7 @@ else $sql = 'UPDATE ' . FOOTB_MATCHES . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE season = $season AND league = $league AND match_no = $matchnumber"; $result = $db->sql_query($sql); - + $db->sql_freeresult($result); $forecast_value = 0; diff --git a/block/last_results.php b/block/last_results.php new file mode 100644 index 0000000..d79892d --- /dev/null +++ b/block/last_results.php @@ -0,0 +1,150 @@ +data['user_id'], $season, $league); +$edit_mode = false; +$display_group = false; +$display_ko = false; +$data_lastresults = false; +$curr_year = date("Y"); +$matchnumber = 0; +$match_date = ""; + +$local_board_time = time() + ($config['football_time_shift'] * 3600); +$sql = 'SELECT * FROM ' . FOOTB_MATCHDAYS . " WHERE status = 0 AND delivery_date < FROM_UNIXTIME('$local_board_time')"; + +// Calculate matches AND results of matchday +$sql = "SELECT + m.season, + m.league, + m.matchday, + m.status, + m.match_datetime, + LEFT(m.match_datetime, 10) AS match_date, + l.league_name, + t1.team_symbol AS home_symbol, + t2.team_symbol AS guest_symbol, + t1.team_name AS home_name, + t2.team_name AS guest_name, + t1.team_name_short AS home_short, + t2.team_name_short AS guest_short, + m.goals_home, + m.goals_guest, + m.ko_match AS ko_match, + m.goals_overtime_home AS kogoals_home, + m.goals_overtime_guest AS kogoals_guest, + CONCAT( + CASE DATE_FORMAT(m.match_datetime,'%w') + WHEN 0 THEN '" . $lang_dates['Sun'] . "' + WHEN 1 THEN '" . $lang_dates['Mon'] . "' + WHEN 2 THEN '" . $lang_dates['Tue'] . "' + WHEN 3 THEN '" . $lang_dates['Wed'] . "' + WHEN 4 THEN '" . $lang_dates['Thu'] . "' + WHEN 5 THEN '" . $lang_dates['Fri'] . "' + WHEN 6 THEN '" . $lang_dates['Sat'] . "' + ELSE 'Error' END, + DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') + ) AS match_time + FROM " . FOOTB_MATCHES . ' AS m + LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = m.season AND l.league = m.league) + LEFT JOIN ' . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) + LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) + WHERE m.match_datetime < FROM_UNIXTIME('$local_board_time') + ORDER BY m.match_datetime DESC, m.league ASC + LIMIT 100"; + +$result = $db->sql_query($sql); +$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); +while($row = $db->sql_fetchrow($result)) +{ + $data_lastresults = true; + $matchnumber++ ; + $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + + if ($match_date <> $row['match_date']) + { + $match_date = ($match_date == "") ? $row['match_date'] : $match_date; + if ($matchnumber > $config['football_display_last_results'] ) + { + break; + } + } + $homelogo = $row['home_symbol']; + $homename = $row['home_name']; + $homeshort = $row['home_short']; + + $guestlogo = $row['guest_symbol']; + $guestname = $row['guest_name']; + $guestshort = $row['guest_short']; + + if ($homelogo <> '') + { + $logoH = "\""" ; + } + else + { + $logoH = "\"\"" ; + } + if ($guestlogo <> '') + { + $logoG = "\""" ; + } + else + { + $logoG = "\"\"" ; + } + + + $goals_home = ($row['goals_home'] == '') ? '- ' : $row['goals_home']; + $goals_guest = ($row['goals_guest'] == '') ? ' -' : $row['goals_guest']; + $kogoals_home = ($row['kogoals_home'] == '') ? '- ' : $row['kogoals_home']; + $kogoals_guest = ($row['kogoals_guest'] == '') ? ' -' : $row['kogoals_guest']; + $colorstyle = color_style($row['status']); + + $template->assign_block_vars('last_results', array( + 'ROW_CLASS' => $row_class, + 'U_RESULTS_LINK'=> $this->helper->route('football_main_controller', array('side' => 'results', 's' => $row['season'], 'l' => $row['league'], 'm' => $row['matchday'])), + 'MATCH_DATE' => $row['match_date'], + 'MATCH_TIME' => $row['match_time'], + 'LEAGUE_NAME' => $row['league_name'], + 'LOGO_HOME' => $logoH, + 'LOGO_GUEST' => $logoG, + 'HOME_NAME' => $homename, + 'GUEST_NAME' => $guestname, + 'HOME_SHORT' => $homeshort, + 'GUEST_SHORT' => $guestshort, + 'GOALS_HOME' => $goals_home, + 'GOALS_GUEST' => $goals_guest, + 'COLOR_STYLE' => color_style($row['status']), + 'KOGOALS_HOME' => $kogoals_home, + 'KOGOALS_GUEST' => $kogoals_guest, + 'COLOR_STYLE' => $colorstyle, + ) + ); +} +$db->sql_freeresult($result); + + + +$sidename = sprintf($user->lang['LAST_RESULTS']); + +$template->assign_vars(array( + 'S_DISPLAY_LAST_RESULTS' => true, + 'S_SIDENAME' => $sidename, + 'S_DATA_LAST_RESULTS' => $data_lastresults, + 'S_USER_IS_MEMBER' => $user_is_member, + ) +); + +?> \ No newline at end of file diff --git a/block/last_users.php b/block/last_users.php index f77bfd5..36e233b 100644 --- a/block/last_users.php +++ b/block/last_users.php @@ -1,66 +1,66 @@ - u.user_lastvisit, MAX(s.session_time), u.user_lastvisit) AS lastvisit - , IF(MAX(s.session_time) > u.user_lastvisit, MAX(CONCAT(s.session_time,s.session_browser)), "") AS session_browser - FROM ' . USERS_TABLE . ' AS u - LEFT JOIN ' . SESSIONS_TABLE . ' AS s ON (u.user_id = s.session_user_id) - WHERE u.user_lastvisit > 0 - AND u.user_type IN (0,3) - GROUP BY u.user_id - ORDER BY lastvisit DESC'; - -$result = $db->sql_query_limit($sql, 5); -$first = true; -while ($row = $db->sql_fetchrow($result)) -{ - if (!$row['lastvisit'] && $first == true) - { - $display_last_users = false; - } - else - { - $display_last_users = true; - if($row['lastvisit'] > 0) - { - $browser = ''; - if (preg_match('/iPad|iPhone|iOS|Opera Mobi|BlackBerry|Android|IEMobile|Symbian/', $row['session_browser'], $match_browser)) - { - $browser = ' (' . $match_browser[0] . ')'; - } - $template->assign_block_vars('last_users', array( - 'USER_NAME' => get_username_string('full', '', $row['username'], $row['user_colour']) . $browser, - 'LAST_VISIT_DATE' => $user->format_date($row['lastvisit']), - )); - } - } - $first = false; -} -$db->sql_freeresult($result); - -// Assign specific vars -$template->assign_vars(array( - 'LAST_USERS' => sprintf($user->lang['LAST_VISITORS'], 5), - 'S_DISPLAY_LAST_USERS' => $display_last_users, - 'S_LAST_USERS' => true, -)); - + u.user_lastvisit, MAX(s.session_time), u.user_lastvisit) AS lastvisit + , IF(MAX(s.session_time) > u.user_lastvisit, MAX(CONCAT(s.session_time,s.session_browser)), "") AS session_browser + FROM ' . USERS_TABLE . ' AS u + LEFT JOIN ' . SESSIONS_TABLE . ' AS s ON (u.user_id = s.session_user_id) + WHERE u.user_lastvisit > 0 + AND u.user_type IN (0,3) + GROUP BY u.user_id + ORDER BY lastvisit DESC'; + +$result = $db->sql_query_limit($sql, $config['football_display_last_users']); +$first = true; +while ($row = $db->sql_fetchrow($result)) +{ + if (!$row['lastvisit'] && $first == true) + { + $display_last_users = false; + } + else + { + $display_last_users = true; + if($row['lastvisit'] > 0) + { + $browser = ''; + if (preg_match('/iPad|iPhone|iOS|Opera Mobi|BlackBerry|Android|IEMobile|Symbian/', $row['session_browser'], $match_browser)) + { + $browser = ' (' . $match_browser[0] . ')'; + } + $template->assign_block_vars('last_users', array( + 'USER_NAME' => get_username_string('full', '', $row['username'], $row['user_colour']) . $browser, + 'LAST_VISIT_DATE' => $user->format_date($row['lastvisit']), + )); + } + } + $first = false; +} +$db->sql_freeresult($result); + +// Assign specific vars +$template->assign_vars(array( + 'LAST_USERS' => sprintf($user->lang['LAST_VISITORS'], $config['football_display_last_users']), + 'S_DISPLAY_LAST_USERS' => $display_last_users, + 'S_LAST_USERS' => true, +)); + ?> \ No newline at end of file diff --git a/block/my_bets.php b/block/my_bets.php index 8e528a6..17ce719 100644 --- a/block/my_bets.php +++ b/block/my_bets.php @@ -1,332 +1,324 @@ -data['user_id'], $season, $league)) - { - $user_sel = $user->data['user_id']; - } -} -$username = ''; - -$data = false; -// select user -$sql = 'SELECT DISTINCT - u.user_id, - u.username - FROM ' . FOOTB_BETS . ' AS b - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) - WHERE season = $season AND league = $league - ORDER BY LOWER(u.username) ASC"; - -$numb_users = 0; -$result = $db->sql_query($sql); -while($row = $db->sql_fetchrow($result)) -{ - $numb_users++; - $data = true; - if ($user_sel == $row['user_id'] OR !$user_sel) - { - $selectid = ' selected="selected"'; - $username = $row['username']; - $user_sel = $row['user_id']; - } - else - { - $selectid = ''; - } - $template->assign_block_vars('form_user', array( - 'S_USER' => $row['user_id'], - 'S_USERNAME' => $row['username'], - 'S_SELECTEDID' => $selectid, - ) - ); -} -$db->sql_freeresult($result); - -// All bets of selected user group by bet -$rank = 0; -$bets_home_win = 0; -$bets_draw = 0; -$bets_guest_win = 0; -$win_home_win = 0; -$win_draw = 0; -$win_guest_win = 0; -$points_home_win = 0; -$points_draw = 0; -$points_guest_win = 0; - -$sql = 'SELECT - COUNT(b.match_no) AS bets, - b.goals_home, - b.goals_guest, - SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) - OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) - OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) - ) - ) AS hits, - SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) - OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) - OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) - ) - ) AS tendencies, - ' . select_points('m',true) . ' - FROM ' . FOOTB_BETS . ' AS b - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = b.season AND m.league = b.league AND m.match_no = b.match_no) - WHERE b.season = $season - AND b.league = $league - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND m.status = 3 - AND b.user_id = $user_sel - AND m.matchday <= $matchday - GROUP by b.goals_home, b.goals_guest - ORDER by bets DESC"; - -$result = $db->sql_query($sql); - -while($row = $db->sql_fetchrow($result)) -{ - if ($row['goals_home'] > $row['goals_guest']) - { - $bets_home_win += $row['bets']; - $win_home_win += $row['hits'] + $row['tendencies']; - $points_home_win += $row['points']; - } - if ($row['goals_home'] == $row['goals_guest']) - { - $bets_draw += $row['bets']; - $win_draw += $row['hits'] + $row['tendencies']; - $points_draw += $row['points']; - } - if ($row['goals_home'] < $row['goals_guest']) - { - $bets_guest_win += $row['bets']; - $win_guest_win += $row['hits'] + $row['tendencies']; - $points_guest_win += $row['points']; - } - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $template->assign_block_vars('bets', array( - 'ROW_CLASS' => $row_class, - 'GOALSHOME' => $row['goals_home'], - 'GOALSGUEST' => $row['goals_guest'], - 'COUNT' => $row['bets'], - 'DIRECTHITS' => $row['hits'], - 'TENDENCIES' => $row['tendencies'], - 'TOTAL' => $row['hits'] + $row['tendencies'], - 'POINTS' => $row['points'], - 'AVERAGE' => round($row['points'] / $row['bets'],1), - ) - ); -} -$db->sql_freeresult($result); - -// Tendencies of all results -$sql = "SELECT - SUM(IF(goals_home + 0 > goals_guest,1,0)) AS SUM_HOME_WIN, - SUM(IF(goals_home = goals_guest,1,0)) AS SUM_DRAW, - SUM(IF(goals_home + 0 < goals_guest,1,0)) AS SUM_GUEST_WIN - FROM " . FOOTB_MATCHES . " - WHERE season = $season - AND league = $league - AND status = 3 - AND matchday <= $matchday"; - -$result = $db->sql_query($sql); - -while($row = $db->sql_fetchrow($result)) -{ - $template->assign_block_vars('bets_wdl', array( - 'ROW_CLASS' => 'bg2 row_dark', - 'SCORE' => sprintf($user->lang['PLAYED']), - 'HOMEWIN' => $row['SUM_HOME_WIN'], - 'DRAW' => $row['SUM_DRAW'], - 'GUESTWIN' => $row['SUM_GUEST_WIN'], - ) - ); - // Muliply with user of this league - $template->assign_block_vars('bets_wdl_all', array( - 'ROW_CLASS' => 'bg2 row_dark', - 'SCORE' => sprintf($user->lang['PLAYED']), - 'HOMEWIN' => $row['SUM_HOME_WIN'] * $numb_users, - 'DRAW' => $row['SUM_DRAW'] * $numb_users, - 'GUESTWIN' => $row['SUM_GUEST_WIN'] * $numb_users, - ) - ); -} -$db->sql_freeresult($result); - -// Count tendencies (bets of selected user) -$template->assign_block_vars('bets_wdl', array( - 'ROW_CLASS' => 'bg1 row_light', - 'SCORE' => sprintf($user->lang['GUESSED']), - 'HOMEWIN' => $bets_home_win, - 'DRAW' => $bets_draw, - 'GUESTWIN' => $bets_guest_win, - ) -); -// Scored with tendency (bets of selected user) -$template->assign_block_vars('bets_wdl', array( - 'ROW_CLASS' => 'bg2 row_dark', - 'SCORE' => sprintf($user->lang['SCORED']), - 'HOMEWIN' => $win_home_win, - 'DRAW' => $win_draw, - 'GUESTWIN' => $win_guest_win, - ) -); -// Points with tendency (bets of selected user) -$template->assign_block_vars('bets_wdl', array( - 'ROW_CLASS' => 'bg1 row_light', - 'SCORE' => sprintf($user->lang['POINTS']), - 'HOMEWIN' => $points_home_win, - 'DRAW' => $points_draw, - 'GUESTWIN' => $points_guest_win, - ) -); - -// All bets of all users group by bet -$rank = 0; -$bets_home_win = 0; -$bets_draw = 0; -$bets_guest_win = 0; -$win_home_win = 0; -$win_draw = 0; -$win_guest_win = 0; -$points_home_win = 0; -$points_draw = 0; -$points_guest_win = 0; - -$sql = 'SELECT - COUNT(b.match_no) AS bets, - b.goals_home, - b.goals_guest, - SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) - OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) - OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) - ) - ) AS hits, - SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) - OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) - OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) - ) - ) AS tendencies, - ' . select_points('m',true) . ' - FROM ' . FOOTB_BETS . ' AS b - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = b.season AND m.league = b.league AND m.match_no = b.match_no) - WHERE b.season = $season - AND b.league = $league - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND m.status = 3 - AND m.matchday <= $matchday - GROUP by b.goals_home, b.goals_guest - ORDER by bets DESC"; - -$result = $db->sql_query($sql); - -while($row = $db->sql_fetchrow($result)) -{ - if ($row['goals_home'] > $row['goals_guest']) - { - $bets_home_win += $row['bets']; - $win_home_win += $row['hits'] + $row['tendencies']; - $points_home_win += $row['points']; - } - if ($row['goals_home'] == $row['goals_guest']) - { - $bets_draw += $row['bets']; - $win_draw += $row['hits'] + $row['tendencies']; - $points_draw += $row['points']; - } - if ($row['goals_home'] < $row['goals_guest']) - { - $bets_guest_win += $row['bets']; - $win_guest_win += $row['hits'] + $row['tendencies']; - $points_guest_win += $row['points']; - } - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $template->assign_block_vars('allbets', array( - 'ROW_CLASS' => $row_class, - 'GOALSHOME' => $row['goals_home'], - 'GOALSGUEST' => $row['goals_guest'], - 'COUNT' => $row['bets'], - 'DIRECTHITS' => $row['hits'], - 'TENDENCIES' => $row['tendencies'], - 'TOTAL' => $row['hits'] + $row['tendencies'], - 'POINTS' => $row['points'], - 'AVERAGE' => round($row['points'] / $row['bets'],1), - ) - ); -} -$db->sql_freeresult($result); - -// Count tendencies (bets of all user) -$template->assign_block_vars('bets_wdl_all', array( - 'ROW_CLASS' => 'bg2 row_dark', - 'SCORE' => sprintf($user->lang['GUESSED']), - 'HOMEWIN' => $bets_home_win, - 'DRAW' => $bets_draw, - 'GUESTWIN' => $bets_guest_win, - ) -); -// Scored with tendency (bets of all user) -$template->assign_block_vars('bets_wdl_all', array( - 'ROW_CLASS' => 'bg1 row_light', - 'SCORE' => sprintf($user->lang['SCORED']), - 'HOMEWIN' => $win_home_win, - 'DRAW' => $win_draw, - 'GUESTWIN' => $win_guest_win, - ) -); -// Points with tendency (bets of all user) -$template->assign_block_vars('bets_wdl_all', array( - 'ROW_CLASS' => 'bg2 row_dark', - 'SCORE' => sprintf($user->lang['POINTS']), - 'HOMEWIN' => $points_home_win, - 'DRAW' => $points_draw, - 'GUESTWIN' => $points_guest_win, - ) -); - -$sidename = sprintf($user->lang['MY_BETS']); -$template->assign_vars(array( - 'S_DISPLAY_MY_BETS' => true, - 'S_SIDENAME' => $sidename, - 'U_LEFT' => ($config['football_bank']) ? $this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league, 'm' => $matchday)) : - $this->helper->route('football_main_controller', array('side' => 'ranks_total', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => ($config['football_bank']) ? '< ' . sprintf($user->lang['FOOTBALL_BANK']) : - '< ' . sprintf($user->lang['RANK_TOTAL']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_points', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['MY_POINTS']) . ' >', - 'LEFT_TITLE' => ($config['football_bank']) ? sprintf($user->lang['TITLE_FOOTBALL_BANK']) : sprintf($user->lang['TITLE_RANK_TOTAL']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_POINTS']), - 'S_DATA_MY_BETS' => $data, - 'SEASON' => $season, - 'LEAGUE' => $league, - 'USERNAME' => $username, - ) -); - +data['user_id'], $season, $league)) + { + $user_sel = $user->data['user_id']; + } +} +$username = ''; + +$data = false; +// select user +$sql = 'SELECT DISTINCT + u.user_id, + u.username + FROM ' . FOOTB_BETS . ' AS b + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) + WHERE season = $season AND league = $league + ORDER BY LOWER(u.username) ASC"; + +$numb_users = 0; +$result = $db->sql_query($sql); +while($row = $db->sql_fetchrow($result)) +{ + $numb_users++; + $data = true; + if ($user_sel == $row['user_id'] OR !$user_sel) + { + $selectid = ' selected="selected"'; + $username = $row['username']; + $user_sel = $row['user_id']; + } + else + { + $selectid = ''; + } + $template->assign_block_vars('form_user', array( + 'S_USER' => $row['user_id'], + 'S_USERNAME' => $row['username'], + 'S_SELECTEDID' => $selectid, + ) + ); +} +$db->sql_freeresult($result); + +// All bets of selected user group by bet +$rank = 0; +$bets_home_win = 0; +$bets_draw = 0; +$bets_guest_win = 0; +$win_home_win = 0; +$win_draw = 0; +$win_guest_win = 0; +$points_home_win = 0; +$points_draw = 0; +$points_guest_win = 0; + +$sql = 'SELECT + COUNT(b.match_no) AS bets, + b.goals_home, + b.goals_guest, + SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) + OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) + OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) + ) + ) AS hits, + SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) + OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) + OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) + ) + ) AS tendencies, + ' . select_points('m',true) . ' + FROM ' . FOOTB_BETS . ' AS b + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = b.season AND m.league = b.league AND m.match_no = b.match_no) + WHERE b.season = $season + AND b.league = $league + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND m.status = 3 + AND b.user_id = $user_sel + AND m.matchday <= $matchday + GROUP by b.goals_home, b.goals_guest + ORDER by bets DESC"; + +$result = $db->sql_query($sql); + +while($row = $db->sql_fetchrow($result)) +{ + if ($row['goals_home'] > $row['goals_guest']) + { + $bets_home_win += $row['bets']; + $win_home_win += $row['hits'] + $row['tendencies']; + $points_home_win += $row['points']; + } + if ($row['goals_home'] == $row['goals_guest']) + { + $bets_draw += $row['bets']; + $win_draw += $row['hits'] + $row['tendencies']; + $points_draw += $row['points']; + } + if ($row['goals_home'] < $row['goals_guest']) + { + $bets_guest_win += $row['bets']; + $win_guest_win += $row['hits'] + $row['tendencies']; + $points_guest_win += $row['points']; + } + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $template->assign_block_vars('bets', array( + 'ROW_CLASS' => $row_class, + 'GOALSHOME' => $row['goals_home'], + 'GOALSGUEST' => $row['goals_guest'], + 'COUNT' => $row['bets'], + 'DIRECTHITS' => $row['hits'], + 'TENDENCIES' => $row['tendencies'], + 'TOTAL' => $row['hits'] + $row['tendencies'], + 'POINTS' => $row['points'], + 'AVERAGE' => round($row['points'] / $row['bets'],1), + ) + ); +} +$db->sql_freeresult($result); + +// Tendencies of all results +$sql = "SELECT + SUM(IF(goals_home + 0 > goals_guest,1,0)) AS SUM_HOME_WIN, + SUM(IF(goals_home = goals_guest,1,0)) AS SUM_DRAW, + SUM(IF(goals_home + 0 < goals_guest,1,0)) AS SUM_GUEST_WIN + FROM " . FOOTB_MATCHES . " + WHERE season = $season + AND league = $league + AND status = 3 + AND matchday <= $matchday"; + +$result = $db->sql_query($sql); + +while($row = $db->sql_fetchrow($result)) +{ + $template->assign_block_vars('bets_wdl', array( + 'ROW_CLASS' => 'bg2 row_dark', + 'SCORE' => sprintf($user->lang['PLAYED']), + 'HOMEWIN' => $row['SUM_HOME_WIN'], + 'DRAW' => $row['SUM_DRAW'], + 'GUESTWIN' => $row['SUM_GUEST_WIN'], + ) + ); + // Muliply with user of this league + $template->assign_block_vars('bets_wdl_all', array( + 'ROW_CLASS' => 'bg2 row_dark', + 'SCORE' => sprintf($user->lang['PLAYED']), + 'HOMEWIN' => $row['SUM_HOME_WIN'] * $numb_users, + 'DRAW' => $row['SUM_DRAW'] * $numb_users, + 'GUESTWIN' => $row['SUM_GUEST_WIN'] * $numb_users, + ) + ); +} +$db->sql_freeresult($result); + +// Count tendencies (bets of selected user) +$template->assign_block_vars('bets_wdl', array( + 'ROW_CLASS' => 'bg1 row_light', + 'SCORE' => sprintf($user->lang['GUESSED']), + 'HOMEWIN' => $bets_home_win, + 'DRAW' => $bets_draw, + 'GUESTWIN' => $bets_guest_win, + ) +); +// Scored with tendency (bets of selected user) +$template->assign_block_vars('bets_wdl', array( + 'ROW_CLASS' => 'bg2 row_dark', + 'SCORE' => sprintf($user->lang['SCORED']), + 'HOMEWIN' => $win_home_win, + 'DRAW' => $win_draw, + 'GUESTWIN' => $win_guest_win, + ) +); +// Points with tendency (bets of selected user) +$template->assign_block_vars('bets_wdl', array( + 'ROW_CLASS' => 'bg1 row_light', + 'SCORE' => sprintf($user->lang['POINTS']), + 'HOMEWIN' => $points_home_win, + 'DRAW' => $points_draw, + 'GUESTWIN' => $points_guest_win, + ) +); + +// All bets of all users group by bet +$rank = 0; +$bets_home_win = 0; +$bets_draw = 0; +$bets_guest_win = 0; +$win_home_win = 0; +$win_draw = 0; +$win_guest_win = 0; +$points_home_win = 0; +$points_draw = 0; +$points_guest_win = 0; + +$sql = 'SELECT + COUNT(b.match_no) AS bets, + b.goals_home, + b.goals_guest, + SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) + OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) + OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) + ) + ) AS hits, + SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) + OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) + OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) + ) + ) AS tendencies, + ' . select_points('m',true) . ' + FROM ' . FOOTB_BETS . ' AS b + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = b.season AND m.league = b.league AND m.match_no = b.match_no) + WHERE b.season = $season + AND b.league = $league + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND m.status = 3 + AND m.matchday <= $matchday + GROUP by b.goals_home, b.goals_guest + ORDER by bets DESC"; + +$result = $db->sql_query($sql); + +while($row = $db->sql_fetchrow($result)) +{ + if ($row['goals_home'] > $row['goals_guest']) + { + $bets_home_win += $row['bets']; + $win_home_win += $row['hits'] + $row['tendencies']; + $points_home_win += $row['points']; + } + if ($row['goals_home'] == $row['goals_guest']) + { + $bets_draw += $row['bets']; + $win_draw += $row['hits'] + $row['tendencies']; + $points_draw += $row['points']; + } + if ($row['goals_home'] < $row['goals_guest']) + { + $bets_guest_win += $row['bets']; + $win_guest_win += $row['hits'] + $row['tendencies']; + $points_guest_win += $row['points']; + } + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $template->assign_block_vars('allbets', array( + 'ROW_CLASS' => $row_class, + 'GOALSHOME' => $row['goals_home'], + 'GOALSGUEST' => $row['goals_guest'], + 'COUNT' => $row['bets'], + 'DIRECTHITS' => $row['hits'], + 'TENDENCIES' => $row['tendencies'], + 'TOTAL' => $row['hits'] + $row['tendencies'], + 'POINTS' => $row['points'], + 'AVERAGE' => round($row['points'] / $row['bets'],1), + ) + ); +} +$db->sql_freeresult($result); + +// Count tendencies (bets of all user) +$template->assign_block_vars('bets_wdl_all', array( + 'ROW_CLASS' => 'bg2 row_dark', + 'SCORE' => sprintf($user->lang['GUESSED']), + 'HOMEWIN' => $bets_home_win, + 'DRAW' => $bets_draw, + 'GUESTWIN' => $bets_guest_win, + ) +); +// Scored with tendency (bets of all user) +$template->assign_block_vars('bets_wdl_all', array( + 'ROW_CLASS' => 'bg1 row_light', + 'SCORE' => sprintf($user->lang['SCORED']), + 'HOMEWIN' => $win_home_win, + 'DRAW' => $win_draw, + 'GUESTWIN' => $win_guest_win, + ) +); +// Points with tendency (bets of all user) +$template->assign_block_vars('bets_wdl_all', array( + 'ROW_CLASS' => 'bg2 row_dark', + 'SCORE' => sprintf($user->lang['POINTS']), + 'HOMEWIN' => $points_home_win, + 'DRAW' => $points_draw, + 'GUESTWIN' => $points_guest_win, + ) +); + +$sidename = sprintf($user->lang['MY_BETS']); +$template->assign_vars(array( + 'S_DISPLAY_MY_BETS' => true, + 'S_SIDENAME' => $sidename, + 'S_DATA_MY_BETS' => $data, + 'SEASON' => $season, + 'LEAGUE' => $league, + 'USERNAME' => $username, + ) +); + ?> \ No newline at end of file diff --git a/block/my_chart.php b/block/my_chart.php index 9bce108..7ef19fd 100644 --- a/block/my_chart.php +++ b/block/my_chart.php @@ -1,339 +1,334 @@ -sql_query($sql); -$current_ranks = $db->sql_fetchrowset($result); -$total_users = sizeof($current_ranks); -if ($total_users > 3 AND $total_users <= 50) -{ - $data = true; - $middle = round($total_users / 2,0); - // If user = leader then first = seconde - $user_first = $current_ranks[0]['user_id']; - if ($user_first == $user->data['user_id']) - $user_first = $current_ranks[1]['user_id']; - // If user = middle then middle = middle - 1 - $user_middle = $current_ranks[$middle-1]['user_id']; - if ($user_middle == $user->data['user_id']) - $user_middle = $current_ranks[$middle]['user_id']; - // If user = last then last = last but one - $user_last = $current_ranks[$total_users - 1]['user_id']; - if ($user_last == $user->data['user_id']) - $user_last = $current_ranks[$total_users - 2]['user_id']; - - if (user_is_member($user->data['user_id'], $season, $league)) - { - // Take user, leader, middle and last - $user1 = $this->request->variable('user1', $user->data['user_id']); - $user2 = $this->request->variable('user2', $user_first); - $user3 = $this->request->variable('user3', $user_middle); - $user4 = $this->request->variable('user4', $user_last); - } - else - { - // Only take leader, middle and last - $user1 = $this->request->variable('user1', $user_first); - $user2 = $this->request->variable('user2', $user_middle); - $user3 = $this->request->variable('user3', $user_last); - $user4 = $this->request->variable('user4', 0); - } - - // Add empty choice - $template->assign_block_vars('form_user2', array( - 'S_USERNAME' => sprintf($user->lang['OPTION_USER']), - 'S_USERID' => 0, - 'S_SELECTEDID2' => '', - ) - ); - $template->assign_block_vars('form_user3', array( - 'S_USERNAME' => sprintf($user->lang['OPTION_USER']), - 'S_USERID' => 0, - 'S_SELECTEDID3' => '', - ) - ); - $template->assign_block_vars('form_user4', array( - 'S_USERNAME' => sprintf($user->lang['OPTION_USER']), - 'S_USERID' => 0, - 'S_SELECTEDID4' => '', - ) - ); - - // Start select user - foreach ($current_ranks as $rank_user) - { - $curr_userid =$rank_user['user_id']; - if ($user1 == $curr_userid) - { - $selectid1 = ' selected="selected"'; - $username = $rank_user['username']; - } - else - { - $selectid1 = ''; - } - if ($user2 == $curr_userid) - { - $selectid2 = ' selected="selected"'; - $username2 = $rank_user['username']; - } - else - { - $selectid2 = ''; - } - if ($user3 == $curr_userid) - { - $selectid3 = ' selected="selected"'; - $username3 = $rank_user['username']; - } - else - { - $selectid3 = ''; - } - if ($user4 == $curr_userid) - { - $selectid4 = ' selected="selected"'; - $username4 = $rank_user['username']; - } - else - { - $selectid4 = ''; - } - if ($curr_userid != $user2 AND $curr_userid != $user3 AND $curr_userid != $user4) - $template->assign_block_vars('form_user1', array( - 'S_USERNAME' => $rank_user['username'], - 'S_USERID' => $curr_userid, - 'S_SELECTEDID' => $selectid1)); - if ($curr_userid != $user1 AND $curr_userid != $user3 AND $curr_userid != $user4) - $template->assign_block_vars('form_user2', array( - 'S_USERNAME' => $rank_user['username'], - 'S_USERID' => $curr_userid, - 'S_SELECTEDID' => $selectid2)); - if ($curr_userid != $user1 AND $curr_userid != $user2 AND $curr_userid != $user4) - $template->assign_block_vars('form_user3', array( - 'S_USERNAME' => $rank_user['username'], - 'S_USERID' => $curr_userid, - 'S_SELECTEDID' => $selectid3)); - if ($curr_userid != $user1 AND $curr_userid != $user2 AND $curr_userid != $user3) - $template->assign_block_vars('form_user4', array( - 'S_USERNAME' => $rank_user['username'], - 'S_USERID' => $curr_userid, - 'S_SELECTEDID' => $selectid4)); - } - - $ranks_total_1 = ''; - $ranks_dayl_1 = ''; - $points_1 = ''; - $sql = 'SELECT * - FROM ' . FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND matchday <= $matchday - AND user_id = $user1 - ORDER BY matchday ASC"; - - $result = $db->sql_query($sql); - - while($row = $db->sql_fetchrow($result)) - { - $points_1 = $points_1. $row['points']. ','; - $ranks_total_1 = $ranks_total_1. $row['rank_total']. ','; - $ranks_dayl_1 = $ranks_dayl_1. $row['rank']. ','; - } - $points_1 = substr($points_1, 0, strlen($points_1) - 1); - $ranks_total_1 = substr($ranks_total_1, 0, strlen($ranks_total_1) - 1); - $ranks_dayl_1 = substr($ranks_dayl_1, 0, strlen($ranks_dayl_1) - 1); - $db->sql_freeresult($result); - - $ranks_total_2 = ''; - $ranks_dayl_2 = ''; - $points_2 = ''; - if ($user2 != 0) - { - $sql = 'SELECT * - FROM ' . FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND matchday <= $matchday - AND user_id = $user2 - ORDER BY matchday ASC"; - - $result = $db->sql_query($sql); - - while($row = $db->sql_fetchrow($result)) - { - $points_2 = $points_2 . $row['points']. ','; - $ranks_total_2 = $ranks_total_2 . $row['rank_total']. ','; - $ranks_dayl_2 = $ranks_dayl_2 . $row['rank']. ','; - } - $points_2 = substr($points_2, 0, strlen($points_2) - 1); - $ranks_total_2 = substr($ranks_total_2, 0, strlen($ranks_total_2) - 1); - $ranks_dayl_2 = substr($ranks_dayl_2, 0, strlen($ranks_dayl_2) - 1); - $db->sql_freeresult($result); - } - - $ranks_total_3 = ''; - $ranks_dayl_3 = ''; - $points_3 = ''; - if ($user3 != 0) - { - $sql = 'SELECT * - FROM ' . FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND matchday <= $matchday - AND user_id = $user3 - ORDER BY matchday ASC"; - - $result = $db->sql_query($sql); - - while($row = $db->sql_fetchrow($result)) - { - $points_3 = $points_3. $row['points']. ','; - $ranks_total_3 = $ranks_total_3. $row['rank_total']. ','; - $ranks_dayl_3 = $ranks_dayl_3. $row['rank']. ','; - } - $points_3 = substr($points_3,0,strlen($points_3)-1); - $ranks_total_3 = substr($ranks_total_3,0,strlen($ranks_total_3)-1); - $ranks_dayl_3 = substr($ranks_dayl_3,0,strlen($ranks_dayl_3)-1); - $db->sql_freeresult($result); - } - - $ranks_total_4 = ''; - $ranks_dayl_4 = ''; - $points_4 = ''; - if ($user4 != 0) - { - $sql = 'SELECT * - FROM ' . FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND matchday <= $matchday - AND user_id = $user4 - ORDER BY matchday ASC"; - - $result = $db->sql_query($sql); - - while($row = $db->sql_fetchrow($result)) - { - $points_4 = $points_4. $row['points']. ','; - $sptagplatz = $row['rank']; - $ranks_total_4 = $ranks_total_4. $row['rank_total']. ','; - $ranks_dayl_4 = $ranks_dayl_4. $row['rank']. ','; - } - $points_4 = substr($points_4,0,strlen($points_4)-1); - $ranks_total_4 = substr($ranks_total_4,0,strlen($ranks_total_4)-1); - $ranks_dayl_4 = substr($ranks_dayl_4,0,strlen($ranks_dayl_4)-1); - $db->sql_freeresult($result); - } - - $min = ''; - $max = ''; - if ($user1 != 0) - { - $sql = 'SELECT - MIN(points) As points_min, - MAX(points) As points_max - FROM ' . FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND matchday <= $matchday - GROUP BY matchday - ORDER BY matchday ASC"; - - $result = $db->sql_query($sql); - - while($row = $db->sql_fetchrow($result)) - { - $min = $min. $row['points_min']. ','; - $max = $max. $row['points_max']. ','; - } - $min = substr($min,0,strlen($min)-1); - $max = substr($max,0,strlen($max)-1); - $db->sql_freeresult($result); - } - // Create and display charts - $chart= "football_root_path - . "includes/chart_rank.php?t=$total_users&m=$matchday&v1=$ranks_total_1&v2=$ranks_total_2&v3=$ranks_total_3&v4=$ranks_total_4&c=" - . sprintf($user->lang['PLACE']) . "' alt='" - . sprintf($user->lang['CHART_TOTAL']) - . "'/>"; - $template->assign_block_vars('chart_rank', array( - 'CHARTIMAGE' => $chart, - ) - ); - $chart= "football_root_path - . "includes/chart_rank.php?t=$total_users&m=$matchday&v1=$ranks_dayl_1&v2=$ranks_dayl_2&v3=$ranks_dayl_3&v4=$ranks_dayl_4&c=" - . sprintf($user->lang['PLACE']) . "' alt='" - . sprintf($user->lang['CHART_MATCHDAY']) - . "'/>"; - $template->assign_block_vars('chart_matchtdays', array( - 'CHARTIMAGE' => $chart, - ) - ); - $chart= "football_root_path - . "includes/chart_points.php?m=$matchday&v1=$points_1&v2=$points_2&v3=$points_3&v4=$points_4&min=$min&max=$max&c=" - . sprintf($user->lang['POINTS']) . ',' . sprintf($user->lang['BANDWIDTH']) . "' alt='" - . sprintf($user->lang['CHART_POINTS']) - . "'/>"; - $template->assign_block_vars('chart_points', array( - 'CHARTIMAGE' => $chart, - ) - ); -} -$sidename = sprintf($user->lang['MY_CHART']); -$template->assign_vars(array( - 'S_DISPLAY_MY_CHART' => true, - 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_rank', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['MY_RANK']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_koeff', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['MY_KOEFF']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_RANKS']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_KOEFF']), - 'S_DATA_MY_CHART' => $data, - 'SEASON' => $season, - 'LEAGUE' => $league, - 'S_USER1' => $user1, - 'S_USER2' => $user2, - 'S_USER3' => $user3, - 'S_USER4' => $user4, - 'USERNAME1' => $username, - 'USERNAME2' => $username2, - 'USERNAME3' => $username3, - 'USERNAME4' => $username4, - ) -); +sql_query($sql); +$current_ranks = $db->sql_fetchrowset($result); +$db->sql_freeresult($result); +$total_users = sizeof($current_ranks); +if ($total_users > 3 AND $total_users <= 50) +{ + $data = true; + $middle = round($total_users / 2,0); + // If user = leader then first = seconde + $user_first = $current_ranks[0]['user_id']; + if ($user_first == $user->data['user_id']) + $user_first = $current_ranks[1]['user_id']; + // If user = middle then middle = middle - 1 + $user_middle = $current_ranks[$middle-1]['user_id']; + if ($user_middle == $user->data['user_id']) + $user_middle = $current_ranks[$middle]['user_id']; + // If user = last then last = last but one + $user_last = $current_ranks[$total_users - 1]['user_id']; + if ($user_last == $user->data['user_id']) + $user_last = $current_ranks[$total_users - 2]['user_id']; + + if (user_is_member($user->data['user_id'], $season, $league)) + { + // Take user, leader, middle and last + $user1 = $this->request->variable('user1', $user->data['user_id']); + $user2 = $this->request->variable('user2', $user_first); + $user3 = $this->request->variable('user3', $user_middle); + $user4 = $this->request->variable('user4', $user_last); + } + else + { + // Only take leader, middle and last + $user1 = $this->request->variable('user1', $user_first); + $user2 = $this->request->variable('user2', $user_middle); + $user3 = $this->request->variable('user3', $user_last); + $user4 = $this->request->variable('user4', 0); + } + + // Add empty choice + $template->assign_block_vars('form_user2', array( + 'S_USERNAME' => sprintf($user->lang['OPTION_USER']), + 'S_USERID' => 0, + 'S_SELECTEDID2' => '', + ) + ); + $template->assign_block_vars('form_user3', array( + 'S_USERNAME' => sprintf($user->lang['OPTION_USER']), + 'S_USERID' => 0, + 'S_SELECTEDID3' => '', + ) + ); + $template->assign_block_vars('form_user4', array( + 'S_USERNAME' => sprintf($user->lang['OPTION_USER']), + 'S_USERID' => 0, + 'S_SELECTEDID4' => '', + ) + ); + + // Start select user + foreach ($current_ranks as $rank_user) + { + $curr_userid =$rank_user['user_id']; + if ($user1 == $curr_userid) + { + $selectid1 = ' selected="selected"'; + $username = $rank_user['username']; + } + else + { + $selectid1 = ''; + } + if ($user2 == $curr_userid) + { + $selectid2 = ' selected="selected"'; + $username2 = $rank_user['username']; + } + else + { + $selectid2 = ''; + } + if ($user3 == $curr_userid) + { + $selectid3 = ' selected="selected"'; + $username3 = $rank_user['username']; + } + else + { + $selectid3 = ''; + } + if ($user4 == $curr_userid) + { + $selectid4 = ' selected="selected"'; + $username4 = $rank_user['username']; + } + else + { + $selectid4 = ''; + } + if ($curr_userid != $user2 AND $curr_userid != $user3 AND $curr_userid != $user4) + $template->assign_block_vars('form_user1', array( + 'S_USERNAME' => $rank_user['username'], + 'S_USERID' => $curr_userid, + 'S_SELECTEDID' => $selectid1)); + if ($curr_userid != $user1 AND $curr_userid != $user3 AND $curr_userid != $user4) + $template->assign_block_vars('form_user2', array( + 'S_USERNAME' => $rank_user['username'], + 'S_USERID' => $curr_userid, + 'S_SELECTEDID' => $selectid2)); + if ($curr_userid != $user1 AND $curr_userid != $user2 AND $curr_userid != $user4) + $template->assign_block_vars('form_user3', array( + 'S_USERNAME' => $rank_user['username'], + 'S_USERID' => $curr_userid, + 'S_SELECTEDID' => $selectid3)); + if ($curr_userid != $user1 AND $curr_userid != $user2 AND $curr_userid != $user3) + $template->assign_block_vars('form_user4', array( + 'S_USERNAME' => $rank_user['username'], + 'S_USERID' => $curr_userid, + 'S_SELECTEDID' => $selectid4)); + } + + $ranks_total_1 = ''; + $ranks_dayl_1 = ''; + $points_1 = ''; + $sql = 'SELECT * + FROM ' . FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND matchday <= $matchday + AND user_id = $user1 + ORDER BY matchday ASC"; + + $result = $db->sql_query($sql); + + while($row = $db->sql_fetchrow($result)) + { + $points_1 = $points_1. $row['points']. ','; + $ranks_total_1 = $ranks_total_1. $row['rank_total']. ','; + $ranks_dayl_1 = $ranks_dayl_1. $row['rank']. ','; + } + $points_1 = substr($points_1, 0, strlen($points_1) - 1); + $ranks_total_1 = substr($ranks_total_1, 0, strlen($ranks_total_1) - 1); + $ranks_dayl_1 = substr($ranks_dayl_1, 0, strlen($ranks_dayl_1) - 1); + $db->sql_freeresult($result); + + $ranks_total_2 = ''; + $ranks_dayl_2 = ''; + $points_2 = ''; + if ($user2 != 0) + { + $sql = 'SELECT * + FROM ' . FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND matchday <= $matchday + AND user_id = $user2 + ORDER BY matchday ASC"; + + $result = $db->sql_query($sql); + + while($row = $db->sql_fetchrow($result)) + { + $points_2 = $points_2 . $row['points']. ','; + $ranks_total_2 = $ranks_total_2 . $row['rank_total']. ','; + $ranks_dayl_2 = $ranks_dayl_2 . $row['rank']. ','; + } + $points_2 = substr($points_2, 0, strlen($points_2) - 1); + $ranks_total_2 = substr($ranks_total_2, 0, strlen($ranks_total_2) - 1); + $ranks_dayl_2 = substr($ranks_dayl_2, 0, strlen($ranks_dayl_2) - 1); + $db->sql_freeresult($result); + } + + $ranks_total_3 = ''; + $ranks_dayl_3 = ''; + $points_3 = ''; + if ($user3 != 0) + { + $sql = 'SELECT * + FROM ' . FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND matchday <= $matchday + AND user_id = $user3 + ORDER BY matchday ASC"; + + $result = $db->sql_query($sql); + + while($row = $db->sql_fetchrow($result)) + { + $points_3 = $points_3. $row['points']. ','; + $ranks_total_3 = $ranks_total_3. $row['rank_total']. ','; + $ranks_dayl_3 = $ranks_dayl_3. $row['rank']. ','; + } + $points_3 = substr($points_3,0,strlen($points_3)-1); + $ranks_total_3 = substr($ranks_total_3,0,strlen($ranks_total_3)-1); + $ranks_dayl_3 = substr($ranks_dayl_3,0,strlen($ranks_dayl_3)-1); + $db->sql_freeresult($result); + } + + $ranks_total_4 = ''; + $ranks_dayl_4 = ''; + $points_4 = ''; + if ($user4 != 0) + { + $sql = 'SELECT * + FROM ' . FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND matchday <= $matchday + AND user_id = $user4 + ORDER BY matchday ASC"; + + $result = $db->sql_query($sql); + + while($row = $db->sql_fetchrow($result)) + { + $points_4 = $points_4. $row['points']. ','; + $sptagplatz = $row['rank']; + $ranks_total_4 = $ranks_total_4. $row['rank_total']. ','; + $ranks_dayl_4 = $ranks_dayl_4. $row['rank']. ','; + } + $points_4 = substr($points_4,0,strlen($points_4)-1); + $ranks_total_4 = substr($ranks_total_4,0,strlen($ranks_total_4)-1); + $ranks_dayl_4 = substr($ranks_dayl_4,0,strlen($ranks_dayl_4)-1); + $db->sql_freeresult($result); + } + + $min = ''; + $max = ''; + if ($user1 != 0) + { + $sql = 'SELECT + MIN(points) As points_min, + MAX(points) As points_max + FROM ' . FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND matchday <= $matchday + GROUP BY matchday + ORDER BY matchday ASC"; + + $result = $db->sql_query($sql); + + while($row = $db->sql_fetchrow($result)) + { + $min = $min. $row['points_min']. ','; + $max = $max. $row['points_max']. ','; + } + $min = substr($min,0,strlen($min)-1); + $max = substr($max,0,strlen($max)-1); + $db->sql_freeresult($result); + } + // Create and display charts + $chart= "football_root_path + . "includes/chart_rank.php?t=$total_users&m=$matchday&v1=$ranks_total_1&v2=$ranks_total_2&v3=$ranks_total_3&v4=$ranks_total_4&c=" + . sprintf($user->lang['PLACE']) . "' alt='" + . sprintf($user->lang['CHART_TOTAL']) + . "'/>"; + $template->assign_block_vars('chart_rank', array( + 'CHARTIMAGE' => $chart, + ) + ); + $chart= "football_root_path + . "includes/chart_rank.php?t=$total_users&m=$matchday&v1=$ranks_dayl_1&v2=$ranks_dayl_2&v3=$ranks_dayl_3&v4=$ranks_dayl_4&c=" + . sprintf($user->lang['PLACE']) . "' alt='" + . sprintf($user->lang['CHART_MATCHDAY']) + . "'/>"; + $template->assign_block_vars('chart_matchtdays', array( + 'CHARTIMAGE' => $chart, + ) + ); + $chart= "football_root_path + . "includes/chart_points.php?m=$matchday&v1=$points_1&v2=$points_2&v3=$points_3&v4=$points_4&min=$min&max=$max&c=" + . sprintf($user->lang['POINTS']) . ',' . sprintf($user->lang['BANDWIDTH']) . "' alt='" + . sprintf($user->lang['CHART_POINTS']) + . "'/>"; + $template->assign_block_vars('chart_points', array( + 'CHARTIMAGE' => $chart, + ) + ); +} +$sidename = sprintf($user->lang['MY_CHART']); +$template->assign_vars(array( + 'S_DISPLAY_MY_CHART' => true, + 'S_SIDENAME' => $sidename, + 'S_DATA_MY_CHART' => $data, + 'SEASON' => $season, + 'LEAGUE' => $league, + 'S_USER1' => $user1, + 'S_USER2' => $user2, + 'S_USER3' => $user3, + 'S_USER4' => $user4, + 'USERNAME1' => $username, + 'USERNAME2' => $username2, + 'USERNAME3' => $username3, + 'USERNAME4' => $username4, + ) +); ?> \ No newline at end of file diff --git a/block/my_koeff.php b/block/my_koeff.php index 7540173..52e1cc7 100644 --- a/block/my_koeff.php +++ b/block/my_koeff.php @@ -98,7 +98,6 @@ else $split_after = $count_matches; $splits = 1; } -$db->sql_freeresult($result); // Make sure $start is set to the last page if it exceeds the amount if ($start < 0 || $start >= $total_users) @@ -192,7 +191,7 @@ foreach ($matches AS $match) $total = 0; } $bet_index++; - $total += $user_bet['points']; + $total += ($user_bet['points'] == '') ? 0 : $user_bet['points']; if ($user_bet['status'] < 1 && !$config['football_view_bets']) { // hide bets @@ -310,7 +309,7 @@ if ($count_matches > 0) $total = 0; } $bet_index++; - $total += $user_bet['points']; + $total += ($user_bet['points'] == '') ? 0 : $user_bet['points']; if ($user_bet['status'] < 1) { if ($user_bet['bet_home'] == '') @@ -376,12 +375,6 @@ $sidename = sprintf($user->lang['MY_KOEFF']); $template->assign_vars(array( 'S_DISPLAY_MY_KOEFF' => true, 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_chart', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['MY_CHART']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'stat_points', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['STAT_POINTS']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_CHART']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_STAT_POINTS']), 'S_MATCHES_ON_MATCHDAY' => $matches_on_matchday, 'S_SPALTEN' => ($count_matches * 2) + 2, 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), diff --git a/block/my_points.php b/block/my_points.php index 5d8afca..64b3b03 100644 --- a/block/my_points.php +++ b/block/my_points.php @@ -1,204 +1,198 @@ -data['user_id'], $season, $league)) - { - $user_sel = $user->data['user_id']; - } -} -$username = ''; -$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); - -$data = false; -// Select user -$sql = 'SELECT DISTINCT - u.user_id, - u.username - FROM ' . FOOTB_BETS . ' AS b - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) - WHERE season = $season - AND league = $league - ORDER BY LOWER(u.username) ASC"; - -$result = $db->sql_query($sql); -while($row = $db->sql_fetchrow($result)) -{ - $data = true; - if ($user_sel == $row['user_id'] OR !$user_sel) - { - $selectid = ' selected="selected"'; - $username = $row['username']; - $user_sel = $row['user_id']; - } - else - { - $selectid = ''; - } - $template->assign_block_vars('form_user', array( - 'S_USER' => $row['user_id'], - 'S_USERNAME' => $row['username'], - 'S_SELECTEDID' => $selectid, - ) - ); -} -$db->sql_freeresult($result); - -$rank = 0; -// Select sum of users points group by team -$sql = "SELECT - t.*, - SUM(1) AS bets, - SUM(IF((m.team_id_home = t.team_id), - IF(b.goals_home + 0 > b.goals_guest, 1, 0), - IF(b.goals_home + 0 < b.goals_guest, 1, 0) - ) - ) AS win, - SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, - SUM(IF((m.team_id_home = t.team_id), - IF(b.goals_home + 0 < b.goals_guest, 1, 0), - IF(b.goals_home + 0 > b.goals_guest, 1, 0) - ) - ) AS lost, - SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) - OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) - OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest=m.goals_guest), - 0,1 - ) - ) - )AS tendencies, - SUM(IF((b.goals_home = m.goals_home) AND (b.goals_guest=m.goals_guest),1,0))AS hits, - " . select_points('m',true) . " - FROM " . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league - AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id)) - LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no=m.match_no) - WHERE t.season = $season - AND t.league = $league - AND m.status IN (3,6) - AND b.user_id = $user_sel - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND m.matchday <= $matchday - GROUP BY t.team_id - ORDER BY points DESC"; - -$result = $db->sql_query($sql); - -while($row = $db->sql_fetchrow($result)) -{ - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $logo = "\""" ; - $template->assign_block_vars('points', array( - 'ROW_CLASS' => $row_class, - 'RANK' => $rank, - 'LOGO' => $logo, - 'TEAM' => $row['team_name_short'], - 'COUNT' => $row['bets'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'DIRECTHITS' => $row['hits'], - 'TENDENCIES' => $row['tendencies'], - 'TOTAL' => $row['hits'] + $row['tendencies'], - 'POINTS' => $row['points'], - ) - ); -} -$db->sql_freeresult($result); - -$rank = 0; -// Select sum of all users points group by team -$sql = "SELECT - t.*, - SUM(1) AS bets, - SUM(IF((m.team_id_home = t.team_id), - IF(b.goals_home + 0 > b.goals_guest, 1, 0), - IF(b.goals_home + 0 < b.goals_guest, 1, 0) - ) - ) AS win, - SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, - SUM(IF((m.team_id_home = t.team_id), - IF(b.goals_home + 0 < b.goals_guest, 1, 0), - IF(b.goals_home + 0 > b.goals_guest, 1, 0) - ) - ) AS lost, - SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) - OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) - OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) - ) - )AS tendencies, - SUM(IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0)) AS hits, - " . select_points('m',true) . " - FROM " . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league - AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id)) - LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no=m.match_no) - WHERE t.season = $season - AND t.league = $league - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND m.status IN (3,6) - AND m.matchday <= $matchday - GROUP BY t.team_id - ORDER BY points DESC"; - -$result = $db->sql_query($sql); - -while($row = $db->sql_fetchrow($result)) -{ - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $logo = "\""" ; - $template->assign_block_vars('allpoints', array( - 'ROW_CLASS' => $row_class, - 'RANK' => $rank, - 'LOGO' => $logo, - 'TEAM' => $row['team_name_short'], - 'COUNT' => $row['bets'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'DIRECTHITS' => $row['hits'], - 'TENDENCIES' => $row['tendencies'], - 'TOTAL' => $row['hits'] + $row['tendencies'], - 'POINTS' => $row['points'], - ) - ); -} -$db->sql_freeresult($result); - -$sidename = sprintf($user->lang['MY_POINTS']); -$template->assign_vars(array( - 'S_DISPLAY_MY_POINTS' => true, - 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['MY_BETS']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_table', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['MY_TABLE']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_BETS']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_TABLE']), - 'S_DATA_MY_POINTS' => $data, - 'SEASON' => $season, - 'LEAGUE' => $league, - 'USERNAME' => $username, - ) -); +data['user_id'], $season, $league)) + { + $user_sel = $user->data['user_id']; + } +} +$username = ''; +$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); + +$data = false; +// Select user +$sql = 'SELECT DISTINCT + u.user_id, + u.username + FROM ' . FOOTB_BETS . ' AS b + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) + WHERE season = $season + AND league = $league + ORDER BY LOWER(u.username) ASC"; + +$result = $db->sql_query($sql); +while($row = $db->sql_fetchrow($result)) +{ + $data = true; + if ($user_sel == $row['user_id'] OR !$user_sel) + { + $selectid = ' selected="selected"'; + $username = $row['username']; + $user_sel = $row['user_id']; + } + else + { + $selectid = ''; + } + $template->assign_block_vars('form_user', array( + 'S_USER' => $row['user_id'], + 'S_USERNAME' => $row['username'], + 'S_SELECTEDID' => $selectid, + ) + ); +} +$db->sql_freeresult($result); + +$rank = 0; +// Select sum of users points group by team +$sql = "SELECT + t.*, + SUM(1) AS bets, + SUM(IF((m.team_id_home = t.team_id), + IF(b.goals_home + 0 > b.goals_guest, 1, 0), + IF(b.goals_home + 0 < b.goals_guest, 1, 0) + ) + ) AS win, + SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, + SUM(IF((m.team_id_home = t.team_id), + IF(b.goals_home + 0 < b.goals_guest, 1, 0), + IF(b.goals_home + 0 > b.goals_guest, 1, 0) + ) + ) AS lost, + SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) + OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) + OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest=m.goals_guest), + 0,1 + ) + ) + )AS tendencies, + SUM(IF((b.goals_home = m.goals_home) AND (b.goals_guest=m.goals_guest),1,0))AS hits, + " . select_points('m',true) . " + FROM " . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league + AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id)) + LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no=m.match_no) + WHERE t.season = $season + AND t.league = $league + AND m.status IN (3,6) + AND b.user_id = $user_sel + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND m.matchday <= $matchday + GROUP BY t.team_id + ORDER BY points DESC"; + +$result = $db->sql_query($sql); + +while($row = $db->sql_fetchrow($result)) +{ + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $logo = "\""" ; + $template->assign_block_vars('points', array( + 'ROW_CLASS' => $row_class, + 'RANK' => $rank, + 'LOGO' => $logo, + 'TEAM' => $row['team_name_short'], + 'COUNT' => $row['bets'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'DIRECTHITS' => $row['hits'], + 'TENDENCIES' => $row['tendencies'], + 'TOTAL' => $row['hits'] + $row['tendencies'], + 'POINTS' => $row['points'], + ) + ); +} +$db->sql_freeresult($result); + +$rank = 0; +// Select sum of all users points group by team +$sql = "SELECT + t.*, + SUM(1) AS bets, + SUM(IF((m.team_id_home = t.team_id), + IF(b.goals_home + 0 > b.goals_guest, 1, 0), + IF(b.goals_home + 0 < b.goals_guest, 1, 0) + ) + ) AS win, + SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, + SUM(IF((m.team_id_home = t.team_id), + IF(b.goals_home + 0 < b.goals_guest, 1, 0), + IF(b.goals_home + 0 > b.goals_guest, 1, 0) + ) + ) AS lost, + SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) + OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) + OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) + ) + )AS tendencies, + SUM(IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0)) AS hits, + " . select_points('m',true) . " + FROM " . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league + AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id)) + LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no=m.match_no) + WHERE t.season = $season + AND t.league = $league + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND m.status IN (3,6) + AND m.matchday <= $matchday + GROUP BY t.team_id + ORDER BY points DESC"; + +$result = $db->sql_query($sql); + +while($row = $db->sql_fetchrow($result)) +{ + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $logo = "\""" ; + $template->assign_block_vars('allpoints', array( + 'ROW_CLASS' => $row_class, + 'RANK' => $rank, + 'LOGO' => $logo, + 'TEAM' => $row['team_name_short'], + 'COUNT' => $row['bets'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'DIRECTHITS' => $row['hits'], + 'TENDENCIES' => $row['tendencies'], + 'TOTAL' => $row['hits'] + $row['tendencies'], + 'POINTS' => $row['points'], + ) + ); +} +$db->sql_freeresult($result); + +$sidename = sprintf($user->lang['MY_POINTS']); +$template->assign_vars(array( + 'S_DISPLAY_MY_POINTS' => true, + 'S_SIDENAME' => $sidename, + 'S_DATA_MY_POINTS' => $data, + 'SEASON' => $season, + 'LEAGUE' => $league, + 'USERNAME' => $username, + ) +); ?> \ No newline at end of file diff --git a/block/my_rank.php b/block/my_rank.php index 8116a26..93dd4ae 100644 --- a/block/my_rank.php +++ b/block/my_rank.php @@ -1,179 +1,173 @@ -data['user_id'], $season, $league)) - { - $user_sel = $user->data['user_id']; - } -} -$username = ''; - -$data = false; -// select user -$sql = 'SELECT DISTINCT - u.user_id, - u.username - FROM ' . FOOTB_BETS . ' AS w - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = w.user_id) - WHERE season = $season - AND league = $league - ORDER BY LOWER(u.username) ASC "; - - -$result = $db->sql_query($sql); -while($row = $db->sql_fetchrow($result)) -{ - if ($user_sel == $row['user_id'] OR !$user_sel) - { - $selectid = ' selected="selected"'; - $username = $row['username']; - $user_sel = $row['user_id']; - } - else - { - $selectid = ''; - } - $template->assign_block_vars('form_user', array( - 'S_USER' => $row['user_id'], - 'S_USERNAME' => $row['username'], - 'S_SELECTEDID' => $selectid, - ) - ); -} -$db->sql_freeresult($result); - -$rank = 0; -// Get ranks 1-3 of selected user -$sql = 'SELECT - season, - COUNT(matchday) AS matchdays, - SUM(points) AS points, - SUM(IF(rank = 1, 1, 0)) AS rank1, - SUM(IF(rank = 2, 1, 0)) AS rank2, - SUM(IF(rank = 3, 1, 0)) AS rank3 - FROM ' . FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND user_id = $user_sel - GROUP BY user_id, season - ORDER BY season ASC"; - -$result = $db->sql_query($sql); - -while($row = $db->sql_fetchrow($result)) -{ - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $template->assign_block_vars('myrank', array( - 'ROW_CLASS' => $row_class, - 'SEASON' => $row['season'], - 'MATCHDAYS' => $row['matchdays'], - 'POINTS' => $row['points'], - 'RANK1' => $row['rank1'], - 'RANK2' => $row['rank2'], - 'RANK3' => $row['rank3'], - ) - ); -} -$db->sql_freeresult($result); - -$rank = 0; -// Get all ranks 1-3 of selected user -$sql = 'SELECT - COUNT(matchday) AS matchdays, - rank - FROM ' . FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND user_id = $user_sel - GROUP BY user_id, rank - ORDER BY rank ASC"; - -$result = $db->sql_query($sql); - -while($row = $db->sql_fetchrow($result)) -{ - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $template->assign_block_vars('season_ranks', array( - 'ROW_CLASS' => $row_class, - 'RANK' => $row['rank'], - 'MATCHDAYS' => $row['matchdays'], - ) - ); -} -$db->sql_freeresult($result); - -$rank = 0; -// Get ranks 1-3 of all users -$sql = 'SELECT - r.user_id, - u.username, - COUNT(r.matchday) AS matchdays, - SUM(r.points) AS points, - SUM(IF(r.rank =1, 1, 0)) AS rank1, - SUM(IF(r.rank =2, 1, 0)) AS rank2, - SUM(IF(r.rank =3, 1, 0)) AS rank3 - FROM ' . FOOTB_RANKS . " AS r - LEFT JOIN " . USERS_TABLE . " AS u ON (u.user_id = r.user_id) - WHERE r.season = $season - AND r.league = $league - GROUP BY r.user_id - ORDER BY rank1 DESC, rank2 DESC, rank3 DESC"; - -$result = $db->sql_query($sql); -while($row = $db->sql_fetchrow($result)) -{ - $data = true; - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['user_id'] == $user->data['user_id']) - { - $row_class = 'bg3 row_user'; - } - $template->assign_block_vars('allranks', array( - 'ROW_CLASS' => $row_class, - 'NAME' => $row['username'], - 'MATCHDAYS' => $row['matchdays'], - 'POINTS' => $row['points'], - 'AVERAGE' => round($row['points'] / $row['matchdays'],1), - 'RANK1' => $row['rank1'], - 'RANK2' => $row['rank2'], - 'RANK3' => $row['rank3'], - ) - ); -} -$db->sql_freeresult($result); - -$sidename = sprintf($user->lang['MY_RANK']); -$template->assign_vars(array( - 'S_DISPLAY_MY_RANK' => true, - 'S_MATCHDAY_HIDE' => true, - 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_table', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['MY_TABLE']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_chart', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['MY_CHART']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_TABLE']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_CHART']), - 'S_DATA_MY_RANK' => $data, - 'SEASON' => $season, - 'LEAGUE' => $league, - 'USERNAME' => $username, - ) -); - +data['user_id'], $season, $league)) + { + $user_sel = $user->data['user_id']; + } +} +$username = ''; + +$data = false; +// select user +$sql = 'SELECT DISTINCT + u.user_id, + u.username + FROM ' . FOOTB_BETS . ' AS w + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = w.user_id) + WHERE season = $season + AND league = $league + ORDER BY LOWER(u.username) ASC "; + + +$result = $db->sql_query($sql); +while($row = $db->sql_fetchrow($result)) +{ + if ($user_sel == $row['user_id'] OR !$user_sel) + { + $selectid = ' selected="selected"'; + $username = $row['username']; + $user_sel = $row['user_id']; + } + else + { + $selectid = ''; + } + $template->assign_block_vars('form_user', array( + 'S_USER' => $row['user_id'], + 'S_USERNAME' => $row['username'], + 'S_SELECTEDID' => $selectid, + ) + ); +} +$db->sql_freeresult($result); + +$rank = 0; +// Get ranks 1-3 of selected user +$sql = 'SELECT + season, + COUNT(matchday) AS matchdays, + SUM(points) AS points, + SUM(IF(rank = 1, 1, 0)) AS rank1, + SUM(IF(rank = 2, 1, 0)) AS rank2, + SUM(IF(rank = 3, 1, 0)) AS rank3 + FROM ' . FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND user_id = $user_sel + GROUP BY user_id, season + ORDER BY season ASC"; + +$result = $db->sql_query($sql); + +while($row = $db->sql_fetchrow($result)) +{ + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $template->assign_block_vars('myrank', array( + 'ROW_CLASS' => $row_class, + 'SEASON' => $row['season'], + 'MATCHDAYS' => $row['matchdays'], + 'POINTS' => $row['points'], + 'RANK1' => $row['rank1'], + 'RANK2' => $row['rank2'], + 'RANK3' => $row['rank3'], + ) + ); +} +$db->sql_freeresult($result); + +$rank = 0; +// Get all ranks 1-3 of selected user +$sql = 'SELECT + COUNT(matchday) AS matchdays, + rank + FROM ' . FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND user_id = $user_sel + GROUP BY user_id, rank + ORDER BY rank ASC"; + +$result = $db->sql_query($sql); + +while($row = $db->sql_fetchrow($result)) +{ + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $template->assign_block_vars('season_ranks', array( + 'ROW_CLASS' => $row_class, + 'RANK' => $row['rank'], + 'MATCHDAYS' => $row['matchdays'], + ) + ); +} +$db->sql_freeresult($result); + +$rank = 0; +// Get ranks 1-3 of all users +$sql = 'SELECT + r.user_id, + u.username, + COUNT(r.matchday) AS matchdays, + SUM(r.points) AS points, + SUM(IF(r.rank =1, 1, 0)) AS rank1, + SUM(IF(r.rank =2, 1, 0)) AS rank2, + SUM(IF(r.rank =3, 1, 0)) AS rank3 + FROM ' . FOOTB_RANKS . " AS r + LEFT JOIN " . USERS_TABLE . " AS u ON (u.user_id = r.user_id) + WHERE r.season = $season + AND r.league = $league + GROUP BY r.user_id + ORDER BY rank1 DESC, rank2 DESC, rank3 DESC"; + +$result = $db->sql_query($sql); +while($row = $db->sql_fetchrow($result)) +{ + $data = true; + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['user_id'] == $user->data['user_id']) + { + $row_class = 'bg3 row_user'; + } + $template->assign_block_vars('allranks', array( + 'ROW_CLASS' => $row_class, + 'NAME' => $row['username'], + 'MATCHDAYS' => $row['matchdays'], + 'POINTS' => $row['points'], + 'AVERAGE' => round($row['points'] / $row['matchdays'],1), + 'RANK1' => $row['rank1'], + 'RANK2' => $row['rank2'], + 'RANK3' => $row['rank3'], + ) + ); +} +$db->sql_freeresult($result); + +$sidename = sprintf($user->lang['MY_RANK']); +$template->assign_vars(array( + 'S_DISPLAY_MY_RANK' => true, + 'S_MATCHDAY_HIDE' => true, + 'S_SIDENAME' => $sidename, + 'S_DATA_MY_RANK' => $data, + 'SEASON' => $season, + 'LEAGUE' => $league, + 'USERNAME' => $username, + ) +); + ?> \ No newline at end of file diff --git a/block/my_table.php b/block/my_table.php index 6019141..74de0d9 100644 --- a/block/my_table.php +++ b/block/my_table.php @@ -1,434 +1,426 @@ -data['user_id'], $season, $league)) - { - $user_sel = $user->data['user_id']; - } -} -$username = ''; -$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); - -// select user -$sql = 'SELECT DISTINCT - u.user_id, - u.username - FROM ' . FOOTB_BETS . ' AS b - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) - WHERE season = $season - AND league = $league - ORDER BY LOWER(u.username) ASC"; - -$result = $db->sql_query($sql); - -if ($user_sel == 900) -{ - $selectid = ' selected="selected"'; - $username = 'Alle'; - $user_sel = 900; - $where_user = ""; -} -else -{ - $selectid = ''; - $where_user = "b.user_id = $user_sel AND "; -} -$template->assign_block_vars('form_user', array( - 'S_USER' => 900, - 'S_USERNAME' => 'Alle', - 'S_SELECTEDID' => $selectid, - ) -); - -while($row = $db->sql_fetchrow($result)) -{ - if ($user_sel == $row['user_id'] OR !$user_sel) - { - $selectid = ' selected="selected"'; - $username = $row['username']; - $user_sel = $row['user_id']; - } - else - { - $selectid = ''; - } - $template->assign_block_vars('form_user', array( - 'S_USER' => $row['user_id'], - 'S_USERNAME' => $row['username'], - 'S_SELECTEDID' => $selectid, - ) - ); -} -$db->sql_freeresult($result); - -$data_table = false; -$data_form = false; -if ($matchday > 5) -{ - $form_from = $matchday - 5; -} -else -{ - $form_from = 1; -} - -$sql = ' - SELECT * - FROM ' . FOOTB_LEAGUES . " - WHERE season = $season - AND league = $league"; - -$result = $db->sql_query($sql); -$row = $db->sql_fetchrow($result); -$league_type = $row['league_type']; -$db->sql_freeresult($result); - -$text_form = sprintf($user->lang['TABLE_FORM_FROM'], $form_from); - -$rank = 0; -// Select table on selected user bets -$sql = 'SELECT - t.*, - SUM(1) AS matches, - SUM(IF((m.team_id_home = t.team_id), - IF(b.goals_home + 0 > b.goals_guest, 1, 0), - IF(b.goals_home + 0 < b.goals_guest, 1, 0) - ) - ) AS win, - SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, - SUM(IF((m.team_id_home = t.team_id), - IF(b.goals_home + 0 < b.goals_guest, 1, 0), - IF(b.goals_home + 0 > b.goals_guest, 1, 0) - ) - ) AS lost, - SUM(IF(m.team_id_home = t.team_id, - IF(b.goals_home + 0 > b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)), - IF(b.goals_home + 0 < b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)) - ) - ) AS points, - SUM(IF(m.team_id_home = t.team_id, - IF(m.goals_home + 0 > m.goals_guest, 3, IF(m.goals_home = m.goals_guest, 1, 0)), - IF(m.goals_home + 0 < m.goals_guest, 3, IF(m.goals_home = m.goals_guest, 1, 0)) - ) - ) AS realpoints, - SUM(IF(m.team_id_home = t.team_id, b.goals_home - b.goals_guest, b.goals_guest - b.goals_home)) AS goals_diff, - SUM(IF(m.team_id_home = t.team_id, b.goals_home, b.goals_guest)) AS goals, - SUM(IF(m.team_id_home = t.team_id, b.goals_guest, b.goals_home)) AS goals_against - FROM ' . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league - AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) - LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) - WHERE $where_user - t.season = $season - AND t.league = $league - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND m.matchday <= $matchday - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; - -$result = $db->sql_query($sql); -$lastGroup = ''; -$sumdiff = 0; -while($row = $db->sql_fetchrow($result)) -{ - if ($lastGroup != $row['group_id']) - { - $lastGroup = $row['group_id']; - $rank = 0; - $template->assign_block_vars('total', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], - ) - ); - } - if ($league_type != 2 OR $row['group_id'] != '') - { - $data_table = true; - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $logo = "\""" ; - $pdiff = $row['points'] - $row['realpoints']; - if ($pdiff >= 0) - { - $sumdiff += $pdiff; - $pdiff = ' (+' . $pdiff . ')'; - - } - else - { - $sumdiff -= $pdiff; - $pdiff = ' (' . $pdiff . ')'; - } - if ($user_sel == 900) - { - $pdiff = ''; - } - - $template->assign_block_vars('total', array( - 'RANK' => $rank . '.', - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, - 'tid' => $row['team_id'], 'mode' => 'played')), - 'GAMES' => $row['matches'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'GOALS' => $row['goals'], - 'GOALS_AGAINST' => $row['goals_against'], - 'GOALS_DIFF' => $row['goals_diff'], - 'POINTS' => $row['points'] . $pdiff, - ) - ); - } -} -$db->sql_freeresult($result); - -$rank = 0; -// Select formtable on selected user bets -$sql = 'SELECT - t.*, - SUM(1) AS matches, - SUM(IF((m.team_id_home = t.team_id), - IF(b.goals_home + 0 > b.goals_guest, 1, 0), - IF(b.goals_home + 0 < b.goals_guest, 1, 0) - ) - ) AS win, - SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, - SUM(IF((m.team_id_home = t.team_id), - IF(b.goals_home + 0 < b.goals_guest, 1, 0), - IF(b.goals_home + 0 > b.goals_guest, 1, 0) - ) - ) AS lost, - SUM(IF(m.team_id_home = t.team_id, - IF(b.goals_home + 0 > b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)), - IF(b.goals_home + 0 < b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)) - ) - ) AS points, - SUM(IF(m.team_id_home = t.team_id, b.goals_home - b.goals_guest, b.goals_guest - b.goals_home)) AS goals_diff, - SUM(IF(m.team_id_home = t.team_id, b.goals_home, b.goals_guest)) AS goals, - SUM(IF(m.team_id_home = t.team_id, b.goals_guest, b.goals_home)) AS goals_against - FROM ' . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league - AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) - LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) - WHERE $where_user - t.season = $season - AND t.league = $league - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND m.matchday >= $form_from - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; - -$result = $db->sql_query($sql); -$lastGroup = ''; -while($row = $db->sql_fetchrow($result)) -{ - $data_form = true; - if ($lastGroup != $row['group_id']) - { - $lastGroup = $row['group_id']; - $rank = 0; - $template->assign_block_vars('form', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], - ) - ); - } - if ($league_type != 2 OR $row['group_id'] != '') - { - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $logo = "\""" ; - - $template->assign_block_vars('form', array( - 'RANK' => $rank . '.', - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, - 'tid' => $row['team_id'], 'mode' => 'rest')), - 'GAMES' => $row['matches'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'GOALS' => $row['goals'], - 'GOALS_AGAINST' => $row['goals_against'], - 'GOALS_DIFF' => $row['goals_diff'], - 'POINTS' => $row['points'], - ) - ); - } -} -$db->sql_freeresult($result); - -$rank = 0; -// Select home-table on selected user bets -$sql = 'SELECT - t.*, - SUM(1) AS matches, - SUM(IF(b.goals_home + 0 > b.goals_guest, 1, 0)) AS win, - SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, - SUM(IF(b.goals_home + 0 < b.goals_guest, 1, 0)) AS lost, - SUM(IF(b.goals_home + 0 > b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0))) AS points, - SUM(b.goals_home - b.goals_guest) AS goals_diff, - SUM(b.goals_home) AS goals, - SUM(b.goals_guest) AS goals_against - FROM ' . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league - AND m.team_id_home = t.team_id AND m.group_id = t.group_id) - LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) - WHERE $where_user - t.season = $season - AND t.league = $league - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND m.matchday <= $matchday - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; - -$result = $db->sql_query($sql); -$lastGroup = ''; -while($row = $db->sql_fetchrow($result)) -{ - if ($lastGroup != $row['group_id']) - { - $lastGroup = $row['group_id']; - $rank = 0; - $template->assign_block_vars('home', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], - ) - ); - } - if ($league_type != 2 OR $row['group_id'] != '') - { - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $logo = "\""" ; - - $template->assign_block_vars('home', array( - 'RANK' => $rank . '.', - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, - 'tid' => $row['team_id'], 'mode' => 'home')), - 'GAMES' => $row['matches'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'GOALS' => $row['goals'], - 'GOALS_AGAINST' => $row['goals_against'], - 'GOALS_DIFF' => $row['goals_diff'], - 'POINTS' => $row['points'], - ) - ); - } -} -$db->sql_freeresult($result); - -$rank = 0; -// Select away-table on selected user bets -$sql = 'SELECT - t.*, - SUM(1) AS matches, - SUM(IF(b.goals_home + 0 < b.goals_guest, 1, 0)) AS win, - SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, - SUM(IF(b.goals_home + 0 > b.goals_guest, 1, 0)) AS lost, - SUM(IF(b.goals_home + 0 < b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0))) AS points, - SUM(b.goals_guest - b.goals_home) AS goals_diff, - SUM(b.goals_guest) AS goals, - SUM(b.goals_home) AS goals_against - FROM ' . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league AND m.team_id_guest = t.team_id AND m.group_id = t.group_id) - LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) - WHERE $where_user - t.season = $season - AND t.league = $league - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND m.matchday <= $matchday - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; - -$result = $db->sql_query($sql); -$lastGroup = ''; -while($row = $db->sql_fetchrow($result)) -{ - if ($lastGroup != $row['group_id']) - { - $lastGroup = $row['group_id']; - $rank = 0; - $template->assign_block_vars('away', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], - ) - ); - } - if ($league_type != 2 OR $row['group_id'] != '') - { - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $logo = "\""" ; - - $template->assign_block_vars('away', array( - 'RANK' => $rank . '.', - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, - 'tid' => $row['team_id'], 'mode' => 'away')), - 'GAMES' => $row['matches'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'GOALS' => $row['goals'], - 'GOALS_AGAINST' => $row['goals_against'], - 'GOALS_DIFF' => $row['goals_diff'], - 'POINTS' => $row['points'], - ) - ); - } -} -$db->sql_freeresult($result); - -$sidename = sprintf($user->lang['MY_TABLE']); -$template->assign_vars(array( - 'S_DISPLAY_MY_TABLE' => true, - 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_points', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['MY_TABLE']), - 'LEFT_LINK' => '< ' . sprintf($user->lang['MY_POINTS']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_rank', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['MY_TABLE']), - 'RIGHT_LINK' => sprintf($user->lang['MY_RANK']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_POINTS']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_RANKS']), - 'S_DATA_MY_TABLE' => $data_table, - 'S_DATA_FORM' => $data_form, - 'SEASON' => $season, - 'LEAGUE' => $league, - 'TEXT_FORM' => $text_form, - 'S_PDIFF' => $sumdiff, - 'USERNAME' => $username, - ) -); - +data['user_id'], $season, $league)) + { + $user_sel = $user->data['user_id']; + } +} +$username = ''; +$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); + +// select user +$sql = 'SELECT DISTINCT + u.user_id, + u.username + FROM ' . FOOTB_BETS . ' AS b + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) + WHERE season = $season + AND league = $league + ORDER BY LOWER(u.username) ASC"; + +$result = $db->sql_query($sql); + +if ($user_sel == 900) +{ + $selectid = ' selected="selected"'; + $username = 'Alle'; + $user_sel = 900; + $where_user = ""; +} +else +{ + $selectid = ''; + $where_user = "b.user_id = $user_sel AND "; +} +$template->assign_block_vars('form_user', array( + 'S_USER' => 900, + 'S_USERNAME' => 'Alle', + 'S_SELECTEDID' => $selectid, + ) +); + +while($row = $db->sql_fetchrow($result)) +{ + if ($user_sel == $row['user_id'] OR !$user_sel) + { + $selectid = ' selected="selected"'; + $username = $row['username']; + $user_sel = $row['user_id']; + } + else + { + $selectid = ''; + } + $template->assign_block_vars('form_user', array( + 'S_USER' => $row['user_id'], + 'S_USERNAME' => $row['username'], + 'S_SELECTEDID' => $selectid, + ) + ); +} +$db->sql_freeresult($result); + +$data_table = false; +$data_form = false; +if ($matchday > 5) +{ + $form_from = $matchday - 5; +} +else +{ + $form_from = 1; +} + +$sql = ' + SELECT * + FROM ' . FOOTB_LEAGUES . " + WHERE season = $season + AND league = $league"; + +$result = $db->sql_query($sql); +$row = $db->sql_fetchrow($result); +$league_type = $row['league_type']; +$db->sql_freeresult($result); + +$text_form = sprintf($user->lang['TABLE_FORM_FROM'], $form_from); + +$rank = 0; +// Select table on selected user bets +$sql = 'SELECT + t.*, + SUM(1) AS matches, + SUM(IF((m.team_id_home = t.team_id), + IF(b.goals_home + 0 > b.goals_guest, 1, 0), + IF(b.goals_home + 0 < b.goals_guest, 1, 0) + ) + ) AS win, + SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, + SUM(IF((m.team_id_home = t.team_id), + IF(b.goals_home + 0 < b.goals_guest, 1, 0), + IF(b.goals_home + 0 > b.goals_guest, 1, 0) + ) + ) AS lost, + SUM(IF(m.team_id_home = t.team_id, + IF(b.goals_home + 0 > b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)), + IF(b.goals_home + 0 < b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)) + ) + ) AS points, + SUM(IF(m.team_id_home = t.team_id, + IF(m.goals_home + 0 > m.goals_guest, 3, IF(m.goals_home = m.goals_guest, 1, 0)), + IF(m.goals_home + 0 < m.goals_guest, 3, IF(m.goals_home = m.goals_guest, 1, 0)) + ) + ) AS realpoints, + SUM(IF(m.team_id_home = t.team_id, b.goals_home - b.goals_guest, b.goals_guest - b.goals_home)) AS goals_diff, + SUM(IF(m.team_id_home = t.team_id, b.goals_home, b.goals_guest)) AS goals, + SUM(IF(m.team_id_home = t.team_id, b.goals_guest, b.goals_home)) AS goals_against + FROM ' . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league + AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) + LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) + WHERE $where_user + t.season = $season + AND t.league = $league + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND m.matchday <= $matchday + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; + +$result = $db->sql_query($sql); +$lastGroup = ''; +$sumdiff = 0; +while($row = $db->sql_fetchrow($result)) +{ + if ($lastGroup != $row['group_id']) + { + $lastGroup = $row['group_id']; + $rank = 0; + $template->assign_block_vars('total', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], + ) + ); + } + if ($league_type != 2 OR $row['group_id'] != '') + { + $data_table = true; + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $logo = "\""" ; + $pdiff = $row['points'] - $row['realpoints']; + if ($pdiff >= 0) + { + $sumdiff += $pdiff; + $pdiff = ' (+' . $pdiff . ')'; + + } + else + { + $sumdiff -= $pdiff; + $pdiff = ' (' . $pdiff . ')'; + } + if ($user_sel == 900) + { + $pdiff = ''; + } + + $template->assign_block_vars('total', array( + 'RANK' => $rank . '.', + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, + 'tid' => $row['team_id'], 'mode' => 'played')), + 'GAMES' => $row['matches'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'GOALS' => $row['goals'], + 'GOALS_AGAINST' => $row['goals_against'], + 'GOALS_DIFF' => $row['goals_diff'], + 'POINTS' => $row['points'] . $pdiff, + ) + ); + } +} +$db->sql_freeresult($result); + +$rank = 0; +// Select formtable on selected user bets +$sql = 'SELECT + t.*, + SUM(1) AS matches, + SUM(IF((m.team_id_home = t.team_id), + IF(b.goals_home + 0 > b.goals_guest, 1, 0), + IF(b.goals_home + 0 < b.goals_guest, 1, 0) + ) + ) AS win, + SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, + SUM(IF((m.team_id_home = t.team_id), + IF(b.goals_home + 0 < b.goals_guest, 1, 0), + IF(b.goals_home + 0 > b.goals_guest, 1, 0) + ) + ) AS lost, + SUM(IF(m.team_id_home = t.team_id, + IF(b.goals_home + 0 > b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)), + IF(b.goals_home + 0 < b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)) + ) + ) AS points, + SUM(IF(m.team_id_home = t.team_id, b.goals_home - b.goals_guest, b.goals_guest - b.goals_home)) AS goals_diff, + SUM(IF(m.team_id_home = t.team_id, b.goals_home, b.goals_guest)) AS goals, + SUM(IF(m.team_id_home = t.team_id, b.goals_guest, b.goals_home)) AS goals_against + FROM ' . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league + AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) + LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) + WHERE $where_user + t.season = $season + AND t.league = $league + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND m.matchday >= $form_from + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; + +$result = $db->sql_query($sql); +$lastGroup = ''; +while($row = $db->sql_fetchrow($result)) +{ + $data_form = true; + if ($lastGroup != $row['group_id']) + { + $lastGroup = $row['group_id']; + $rank = 0; + $template->assign_block_vars('form', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], + ) + ); + } + if ($league_type != 2 OR $row['group_id'] != '') + { + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $logo = "\""" ; + + $template->assign_block_vars('form', array( + 'RANK' => $rank . '.', + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, + 'tid' => $row['team_id'], 'mode' => 'rest')), + 'GAMES' => $row['matches'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'GOALS' => $row['goals'], + 'GOALS_AGAINST' => $row['goals_against'], + 'GOALS_DIFF' => $row['goals_diff'], + 'POINTS' => $row['points'], + ) + ); + } +} +$db->sql_freeresult($result); + +$rank = 0; +// Select home-table on selected user bets +$sql = 'SELECT + t.*, + SUM(1) AS matches, + SUM(IF(b.goals_home + 0 > b.goals_guest, 1, 0)) AS win, + SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, + SUM(IF(b.goals_home + 0 < b.goals_guest, 1, 0)) AS lost, + SUM(IF(b.goals_home + 0 > b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0))) AS points, + SUM(b.goals_home - b.goals_guest) AS goals_diff, + SUM(b.goals_home) AS goals, + SUM(b.goals_guest) AS goals_against + FROM ' . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league + AND m.team_id_home = t.team_id AND m.group_id = t.group_id) + LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) + WHERE $where_user + t.season = $season + AND t.league = $league + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND m.matchday <= $matchday + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; + +$result = $db->sql_query($sql); +$lastGroup = ''; +while($row = $db->sql_fetchrow($result)) +{ + if ($lastGroup != $row['group_id']) + { + $lastGroup = $row['group_id']; + $rank = 0; + $template->assign_block_vars('home', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], + ) + ); + } + if ($league_type != 2 OR $row['group_id'] != '') + { + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $logo = "\""" ; + + $template->assign_block_vars('home', array( + 'RANK' => $rank . '.', + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, + 'tid' => $row['team_id'], 'mode' => 'home')), + 'GAMES' => $row['matches'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'GOALS' => $row['goals'], + 'GOALS_AGAINST' => $row['goals_against'], + 'GOALS_DIFF' => $row['goals_diff'], + 'POINTS' => $row['points'], + ) + ); + } +} +$db->sql_freeresult($result); + +$rank = 0; +// Select away-table on selected user bets +$sql = 'SELECT + t.*, + SUM(1) AS matches, + SUM(IF(b.goals_home + 0 < b.goals_guest, 1, 0)) AS win, + SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, + SUM(IF(b.goals_home + 0 > b.goals_guest, 1, 0)) AS lost, + SUM(IF(b.goals_home + 0 < b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0))) AS points, + SUM(b.goals_guest - b.goals_home) AS goals_diff, + SUM(b.goals_guest) AS goals, + SUM(b.goals_home) AS goals_against + FROM ' . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league AND m.team_id_guest = t.team_id AND m.group_id = t.group_id) + LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) + WHERE $where_user + t.season = $season + AND t.league = $league + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND m.matchday <= $matchday + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; + +$result = $db->sql_query($sql); +$lastGroup = ''; +while($row = $db->sql_fetchrow($result)) +{ + if ($lastGroup != $row['group_id']) + { + $lastGroup = $row['group_id']; + $rank = 0; + $template->assign_block_vars('away', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], + ) + ); + } + if ($league_type != 2 OR $row['group_id'] != '') + { + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $logo = "\""" ; + + $template->assign_block_vars('away', array( + 'RANK' => $rank . '.', + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, + 'tid' => $row['team_id'], 'mode' => 'away')), + 'GAMES' => $row['matches'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'GOALS' => $row['goals'], + 'GOALS_AGAINST' => $row['goals_against'], + 'GOALS_DIFF' => $row['goals_diff'], + 'POINTS' => $row['points'], + ) + ); + } +} +$db->sql_freeresult($result); + +$sidename = sprintf($user->lang['MY_TABLE']); +$template->assign_vars(array( + 'S_DISPLAY_MY_TABLE' => true, + 'S_SIDENAME' => $sidename, + 'S_DATA_MY_TABLE' => $data_table, + 'S_DATA_FORM' => $data_form, + 'SEASON' => $season, + 'LEAGUE' => $league, + 'TEXT_FORM' => $text_form, + 'S_PDIFF' => $sumdiff, + 'USERNAME' => $username, + ) +); + ?> \ No newline at end of file diff --git a/block/odds.php b/block/odds.php index 979966f..b777e08 100644 --- a/block/odds.php +++ b/block/odds.php @@ -1,211 +1,205 @@ -lang['datetime']; - -$sql = "SELECT - m.league, - m.match_no, - CONCAT( - CASE DATE_FORMAT(m.match_datetime,'%w') - WHEN 0 THEN '" . $lang_dates['Sun'] . "' - WHEN 1 THEN '" . $lang_dates['Mon'] . "' - WHEN 2 THEN '" . $lang_dates['Tue'] . "' - WHEN 3 THEN '" . $lang_dates['Wed'] . "' - WHEN 4 THEN '" . $lang_dates['Thu'] . "' - WHEN 5 THEN '" . $lang_dates['Fri'] . "' - WHEN 6 THEN '" . $lang_dates['Sat'] . "' - ELSE 'Error' END, - DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') - ) AS match_time, - t1.team_symbol AS home_symbol, - t2.team_symbol AS guest_symbol, - t1.team_name_short AS home_name, - t2.team_name_short AS guest_name, - t1.team_id AS home_id, - t2.team_id AS guest_id, - m.goals_home, - m.goals_guest, - m.goals_overtime_home AS kogoals_home, - m.goals_overtime_guest AS kogoals_guest, - m.ko_match, - m.group_id, - m.formula_home, - m.formula_guest, - m.odd_1, - m.odd_x, - m.odd_2, - m.trend FROM " . FOOTB_MATCHES . ' AS m - LEFT JOIN ' . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) - LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) - WHERE m.season = $season - AND m.league = $league - AND m.matchday = $matchday - ORDER BY m.match_datetime ASC, m.match_no ASC"; - -$result = $db->sql_query($sql); -$rows = $db->sql_fetchrowset($result); - -$league_info = league_info($season, $league); -$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); -//while($row = $db->sql_fetchrow($result)) -foreach ($rows as $row) -{ - $data_odds = true; - $matchnumber++ ; - $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if (0 == $row['home_id']) - { - $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); - $home_in_array = explode("#",$home_info); - $homelogo = $home_in_array[0]; - $homeid = $home_in_array[1]; - $homename = $home_in_array[2]; - } - else - { - $homelogo = $row['home_symbol']; - $homeid = $row['home_id']; - $homename = $row['home_name']; - } - if (0 == $row['guest_id']) - { - $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); - $guest_in_array = explode("#",$guest_info); - $guestlogo = $guest_in_array[0]; - $guestid = $guest_in_array[1]; - $guestname = $guest_in_array[2]; - } - else - { - $guestlogo = $row['guest_symbol']; - $guestid = $row['guest_id']; - $guestname = $row['guest_name']; - } - if ($homelogo <> '') - { - $logoH = "\""" ; - } - else - { - $logoH = "\"\"" ; - } - if ($guestlogo <> '') - { - $logoG = "\""" ; - } - else - { - $logoG = "\"\"" ; - } - - if ($row['ko_match']) - { - $display_ko = true; - $ko_match = true; - } - else - { - $ko_match = false; - } - - if ($row['group_id'] == '') - { - $group_id = ' '; - } - else - { - $display_group = true; - $group_id = $row['group_id']; - } - - $edit_match = false; - $goals_home = ($row['goals_home'] == '') ? ' ' : $row['goals_home']; - $goals_guest = ($row['goals_guest'] == '') ? ' ' : $row['goals_guest']; - $kogoals_home = ($row['kogoals_home'] == '') ? ' ' : $row['kogoals_home']; - $kogoals_guest = ($row['kogoals_guest'] == '') ? ' ' : $row['kogoals_guest']; - - $template->assign_block_vars('odds', array( - 'ROW_CLASS' => $row_class, - 'MATCH_NUMBER' => $row['match_no'], - 'MATCHDAY' => $matchday, - 'MATCH_TIME' => $row['match_time'], - 'GROUP' => $group_id, - 'HOME_ID' => $homeid, - 'GUEST_ID' => $guestid, - 'LOGO_HOME' => $logoH, - 'LOGO_GUEST' => $logoG, - 'HOME_NAME' => $homename, - 'GUEST_NAME' => $guestname, - 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, - 'tid' => $homeid, 'mode' => 'all')), - 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, - 'tid' => $guestid, 'mode' => 'all')), - 'GOALS_HOME' => $goals_home, - 'GOALS_GUEST' => $goals_guest, - 'COLOR_STYLE' => '', - 'KOGOALS_HOME' => $kogoals_home, - 'KOGOALS_GUEST' => $kogoals_guest, - 'S_KO_MATCH' => $ko_match, - 'TREND' => $row['trend'], - 'U_MATCH_STATS' => $this->helper->route('football_football_popup', array('popside' => 'hist_popup', 's' => $season, 'l' => $league, - 'hid' => $homeid, 'gid' => $guestid, 'm' => $matchday, - 'mn' => $row['match_no'], 'gr' => $row['group_id'])), - 'ODD_1' => $row['odd_1'], - 'ODD_X' => $row['odd_x'], - 'ODD_2' => $row['odd_2'], - ) - ); -} -$db->sql_freeresult($result); - -$sidename = 'Chancen'; -switch ($league_info['bet_ko_type']) -{ - case BET_KO_90: - $result_explain = sprintf($user->lang['MIN90']); - $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); - break; - case BET_KO_EXTRATIME: - $result_explain = sprintf($user->lang['EXTRATIME_SHORT']); - $label_finalresult = sprintf($user->lang['PENALTY']); - break; - case BET_KO_PENALTY: - $result_explain = sprintf($user->lang['PENALTY']); - $display_ko = false; - break; - default: - $result_explain = sprintf($user->lang['MIN90']); - $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); - break; -} - -$template->assign_vars(array( - 'S_DISPLAY_ODDS' => true, - 'S_SIDENAME' => $sidename, - 'RESULT_EXPLAIN' => $result_explain, - 'LABEL_FINALRESULT' => $label_finalresult, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['BET']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'table', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['TABLE']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_BET']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_TABLE']), - 'S_DATA_ODDS' => $data_odds, - ) -); - +lang['datetime']; + +$sql = "SELECT + m.league, + m.match_no, + CONCAT( + CASE DATE_FORMAT(m.match_datetime,'%w') + WHEN 0 THEN '" . $lang_dates['Sun'] . "' + WHEN 1 THEN '" . $lang_dates['Mon'] . "' + WHEN 2 THEN '" . $lang_dates['Tue'] . "' + WHEN 3 THEN '" . $lang_dates['Wed'] . "' + WHEN 4 THEN '" . $lang_dates['Thu'] . "' + WHEN 5 THEN '" . $lang_dates['Fri'] . "' + WHEN 6 THEN '" . $lang_dates['Sat'] . "' + ELSE 'Error' END, + DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') + ) AS match_time, + t1.team_symbol AS home_symbol, + t2.team_symbol AS guest_symbol, + t1.team_name_short AS home_name, + t2.team_name_short AS guest_name, + t1.team_id AS home_id, + t2.team_id AS guest_id, + m.goals_home, + m.goals_guest, + m.goals_overtime_home AS kogoals_home, + m.goals_overtime_guest AS kogoals_guest, + m.ko_match, + m.group_id, + m.formula_home, + m.formula_guest, + m.odd_1, + m.odd_x, + m.odd_2, + m.trend FROM " . FOOTB_MATCHES . ' AS m + LEFT JOIN ' . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) + LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) + WHERE m.season = $season + AND m.league = $league + AND m.matchday = $matchday + ORDER BY m.match_datetime ASC, m.match_no ASC"; + +$result = $db->sql_query($sql); +$rows = $db->sql_fetchrowset($result); + +$league_info = league_info($season, $league); +$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); +//while($row = $db->sql_fetchrow($result)) +foreach ($rows as $row) +{ + $data_odds = true; + $matchnumber++ ; + $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if (0 == $row['home_id']) + { + $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); + $home_in_array = explode("#",$home_info); + $homelogo = $home_in_array[0]; + $homeid = $home_in_array[1]; + $homename = $home_in_array[2]; + } + else + { + $homelogo = $row['home_symbol']; + $homeid = $row['home_id']; + $homename = $row['home_name']; + } + if (0 == $row['guest_id']) + { + $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); + $guest_in_array = explode("#",$guest_info); + $guestlogo = $guest_in_array[0]; + $guestid = $guest_in_array[1]; + $guestname = $guest_in_array[2]; + } + else + { + $guestlogo = $row['guest_symbol']; + $guestid = $row['guest_id']; + $guestname = $row['guest_name']; + } + if ($homelogo <> '') + { + $logoH = "\""" ; + } + else + { + $logoH = "\"\"" ; + } + if ($guestlogo <> '') + { + $logoG = "\""" ; + } + else + { + $logoG = "\"\"" ; + } + + if ($row['ko_match']) + { + $display_ko = true; + $ko_match = true; + } + else + { + $ko_match = false; + } + + if ($row['group_id'] == '') + { + $group_id = ' '; + } + else + { + $display_group = true; + $group_id = $row['group_id']; + } + + $edit_match = false; + $goals_home = ($row['goals_home'] == '') ? ' ' : $row['goals_home']; + $goals_guest = ($row['goals_guest'] == '') ? ' ' : $row['goals_guest']; + $kogoals_home = ($row['kogoals_home'] == '') ? ' ' : $row['kogoals_home']; + $kogoals_guest = ($row['kogoals_guest'] == '') ? ' ' : $row['kogoals_guest']; + + $template->assign_block_vars('odds', array( + 'ROW_CLASS' => $row_class, + 'MATCH_NUMBER' => $row['match_no'], + 'MATCHDAY' => $matchday, + 'MATCH_TIME' => $row['match_time'], + 'GROUP' => $group_id, + 'HOME_ID' => $homeid, + 'GUEST_ID' => $guestid, + 'LOGO_HOME' => $logoH, + 'LOGO_GUEST' => $logoG, + 'HOME_NAME' => $homename, + 'GUEST_NAME' => $guestname, + 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, + 'tid' => $homeid, 'mode' => 'all')), + 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, + 'tid' => $guestid, 'mode' => 'all')), + 'GOALS_HOME' => $goals_home, + 'GOALS_GUEST' => $goals_guest, + 'COLOR_STYLE' => '', + 'KOGOALS_HOME' => $kogoals_home, + 'KOGOALS_GUEST' => $kogoals_guest, + 'S_KO_MATCH' => $ko_match, + 'TREND' => $row['trend'], + 'U_MATCH_STATS' => $this->helper->route('football_football_popup', array('popside' => 'hist_popup', 's' => $season, 'l' => $league, + 'hid' => $homeid, 'gid' => $guestid, 'm' => $matchday, + 'mn' => $row['match_no'], 'gr' => $row['group_id'])), + 'ODD_1' => $row['odd_1'], + 'ODD_X' => $row['odd_x'], + 'ODD_2' => $row['odd_2'], + ) + ); +} +$db->sql_freeresult($result); + +$sidename = 'Chancen'; +switch ($league_info['bet_ko_type']) +{ + case BET_KO_90: + $result_explain = sprintf($user->lang['MIN90']); + $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); + break; + case BET_KO_EXTRATIME: + $result_explain = sprintf($user->lang['EXTRATIME_SHORT']); + $label_finalresult = sprintf($user->lang['PENALTY']); + break; + case BET_KO_PENALTY: + $result_explain = sprintf($user->lang['PENALTY']); + $display_ko = false; + break; + default: + $result_explain = sprintf($user->lang['MIN90']); + $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); + break; +} + +$template->assign_vars(array( + 'S_DISPLAY_ODDS' => true, + 'S_SIDENAME' => $sidename, + 'RESULT_EXPLAIN' => $result_explain, + 'LABEL_FINALRESULT' => $label_finalresult, + 'S_DATA_ODDS' => $data_odds, + ) +); + ?> \ No newline at end of file diff --git a/block/ranks_matchday.php b/block/ranks_matchday.php index f147eef..a9a4086 100644 --- a/block/ranks_matchday.php +++ b/block/ranks_matchday.php @@ -1,270 +1,261 @@ -request->variable('start', 0); -$win_user_most_hits = array(); -$win_user_most_hits_away = array(); -$season_wins = array(); -$win_user_most_hits = win_user_most_hits($season, $league, $matchday); -$win_user_most_hits_away = win_user_most_hits_away($season, $league, $matchday); - -// Statistics of matchday -$sql = "SELECT - b.user_id, - COUNT(b.match_no) AS matches, - SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', 1, 0)) AS bets, - SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0), - 0 - ) - ) AS hits, - SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', - IF((m.goals_home <= m.goals_guest), - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0), - 0 - ), - 0 - ) - ) AS hits02, - SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', - IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) OR - (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) OR - (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) - ), - 0 - ) - ) AS tendency - FROM " . FOOTB_BETS . ' AS b - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = b.season AND m.league = b.league AND m.match_no = b.match_no) - WHERE b.season = $season - AND b.league = $league - AND m.status IN (2,3) - AND m.matchday = $matchday - GROUP BY user_id"; - -$result = $db->sql_query($sql); -$usersstats = $db->sql_fetchrowset($result); -$db->sql_freeresult($result); -foreach ($usersstats AS $userstats) -{ - $betsof[$userstats['user_id']] = $userstats['bets']; - $nobetsof[$userstats['user_id']] = $userstats['matches'] - $userstats['bets']; - $tendenciesof[$userstats['user_id']] = $userstats['tendency']; - $hitsof[$userstats['user_id']] = $userstats['hits']; - $hits02of[$userstats['user_id']] = $userstats['hits02']; -} - -// ranks of matchday -$sql = 'SELECT - rank, - user_id - FROM '. FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND matchday = $matchday - AND status IN (2,3) - ORDER BY rank ASC, user_id ASC"; -$result = $db->sql_query($sql); -$ranks = $db->sql_fetchrowset($result); -$db->sql_freeresult($result); -$total_users = sizeof($ranks); -foreach ($ranks AS $rank) -{ - $rankof[$rank['user_id']] = $rank['rank']; -} - -if ($matchday > 1) -{ - // rank previous matchday - $sql = 'SELECT - rank AS last_rang, - user_id - FROM '. FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND matchday = ($matchday-1) - AND status IN (2,3) - ORDER BY last_rang ASC, user_id ASC"; - - $result = $db->sql_query($sql); - $ranks = $db->sql_fetchrowset($result); - $db->sql_freeresult($result); - - foreach ($ranks AS $rank) - { - $prevrankof[$rank['user_id']] = $rank['last_rang']; - } -} - -if ($matchday == $maxmatchday) -{ - $season_wins = season_wins($season, $league, $matchday); -} - -// Make sure $start is set to the last page if it exceeds the amount -if ($start < 0 || $start >= $total_users) -{ - $sql_start = ($start < 0) ? 0 : floor(($total_users - 1) / $config['football_users_per_page']) * $config['football_users_per_page']; -} -else -{ - $sql_start = floor($start / $config['football_users_per_page']) * $config['football_users_per_page']; -} -$sql_limit = $config['football_users_per_page']; - -// handle pagination. -$base_url = $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)); -$pagination = $phpbb_container->get('pagination'); -$pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_users, $this->config['football_users_per_page'], $start); - $data_ranks = false; -$index = 0; -$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); - -$sql = 'SELECT - r.rank, - r.status, - r.user_id, - r.points, - r.win AS wins, - u.user_colour, - u.username - FROM '. FOOTB_RANKS . ' AS r - LEFT Join '. USERS_TABLE . " AS u ON (r.user_id = u.user_id) - WHERE r.season = $season - AND r.league = $league - AND r.matchday = $matchday - AND r.status IN (2,3) - ORDER BY r.rank ASC, r.points DESC, LOWER(u.username) ASC"; - -$result = $db->sql_query_limit($sql, $sql_limit, $sql_start); -while($row = $db->sql_fetchrow($result)) -{ - $index++; - $data_ranks = true; - if (isset($prevrankof[$row['user_id']])) - { - if ($rankof[$row['user_id']] == '') - { - $change_sign = ''; - $change_img = ''; - $change_differ = ' '; - } - else - { - if ($rankof[$row['user_id']] == $prevrankof[$row['user_id']]) - { - $change_sign = '='; - $change_img = "\""lang['NO_CHANGES'] . "\"/>"; - $change_differ = ' '; - } - else - { - if ($rankof[$row['user_id']] > $prevrankof[$row['user_id']]) - { - $change_sign = '+'; - $change_img = "\""lang['WORSENED'] . "\"/>"; - $differ = $rankof[$row['user_id']] - $prevrankof[$row['user_id']]; - $change_differ = ' (' . $differ . ')'; - } - else - { - $change_sign = '-'; - $change_img = "\""lang['IMPROVED'] . "\"/>"; - $differ = $prevrankof[$row['user_id']] - $rankof[$row['user_id']]; - $change_differ = ' (' . $differ . ')'; - } - } - } - } - else - { - $change_sign = ''; - $change_img = ''; - $change_differ = ' '; - } - - if ($matchday == $maxmatchday) - { - // if someone didn't bet the hole Season - if(!isset($win_user_most_hits[$row['user_id']]['win'])) - { - $win_user_most_hits[$row['user_id']]['win'] = 0; - } - if(!isset($win_user_most_hits_away[$row['user_id']]['win'])) - { - $win_user_most_hits_away[$row['user_id']]['win'] = 0; - } - if(!isset($season_wins[$row['user_id']]['win'])) - { - $season_wins[$row['user_id']]['win'] = 0; - } - $win_total = sprintf('%01.2f',$row['wins'] + $win_user_most_hits[$row['user_id']]['win'] + $win_user_most_hits_away[$row['user_id']]['win'] - + $season_wins[$row['user_id']]['win']); - } - else - { - $win_total = sprintf('%01.2f',$row['wins']); - } - $row_class = (!($index % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['user_id'] == $user->data['user_id']) - { - $row_class = 'bg3 row_user'; - } - $colorstyle = color_style($row['status']); - - $template->assign_block_vars('rankstotal', array( - 'ROW_CLASS' => $row_class, - 'RANK' => $rankof[$row['user_id']], - 'CHANGE_SIGN' => $change_sign, - 'CHANGE_IMG' => $change_img, - 'CHANGE_DIFFER' => $change_differ, - 'USERID' => $row['user_id'], - 'USERNAME' => $row['username'], - 'U_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']), - 'BETS' => $betsof[$row['user_id']], - 'NOBETS' => ($nobetsof[$row['user_id']] == 0) ? ' ' : $nobetsof[$row['user_id']], - 'TENDENCIES' => ($tendenciesof[$row['user_id']] == 0) ? ' ' : $tendenciesof[$row['user_id']], - 'DIRECTHITS' => ($hitsof[$row['user_id']] == 0) ? ' ' : $hitsof[$row['user_id']], - 'DIRECTHITS02' => ($hits02of[$row['user_id']] == 0) ? ' ' : $hits02of[$row['user_id']], - 'POINTS' => $row['points'], - 'COLOR_STYLE' => $colorstyle, - 'WIN' => $win_total, - ) - ); -} -$db->sql_freeresult($result); -$league_info = league_info($season, $league); - -$sidename = sprintf($user->lang['RANK_MATCHDAY']); -$template->assign_vars(array( - 'S_DISPLAY_RANKS_MATCHDAY' => true, - 'S_DISPLAY_HITS02' => $config['football_win_hits02'], - 'S_SIDENAME' => $sidename, - 'S_WIN' => ($league_info['win_matchday'] == '0') ? false : true, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'table', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['TABLE']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'ranks_total', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['RANK_TOTAL']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_TABLE']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_RANK_TOTAL']), - 'S_DATA_RANKS' => $data_ranks, - 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), - 'TOTAL_USERS' => ($total_users == 1) ? $user->lang['VIEW_BET_USER'] : sprintf($user->lang['VIEW_BET_USERS'], $total_users), - 'WIN_NAME' => $config['football_win_name'], - ) -); - +request->variable('start', 0); +$win_user_most_hits = array(); +$win_user_most_hits_away = array(); +$season_wins = array(); +$win_user_most_hits = win_user_most_hits($season, $league, $matchday); +$win_user_most_hits_away = win_user_most_hits_away($season, $league, $matchday); + +// Statistics of matchday +$sql = "SELECT + b.user_id, + COUNT(b.match_no) AS matches, + SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', 1, 0)) AS bets, + SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0), + 0 + ) + ) AS hits, + SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', + IF((m.goals_home <= m.goals_guest), + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0), + 0 + ), + 0 + ) + ) AS hits02, + SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', + IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) OR + (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) OR + (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) + ), + 0 + ) + ) AS tendency + FROM " . FOOTB_BETS . ' AS b + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = b.season AND m.league = b.league AND m.match_no = b.match_no) + WHERE b.season = $season + AND b.league = $league + AND m.status IN (2,3) + AND m.matchday = $matchday + GROUP BY user_id"; + +$result = $db->sql_query($sql); +$usersstats = $db->sql_fetchrowset($result); +$db->sql_freeresult($result); +foreach ($usersstats AS $userstats) +{ + $betsof[$userstats['user_id']] = $userstats['bets']; + $nobetsof[$userstats['user_id']] = $userstats['matches'] - $userstats['bets']; + $tendenciesof[$userstats['user_id']] = $userstats['tendency']; + $hitsof[$userstats['user_id']] = $userstats['hits']; + $hits02of[$userstats['user_id']] = $userstats['hits02']; +} + +// ranks of matchday +$sql = 'SELECT + rank, + user_id + FROM '. FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND matchday = $matchday + AND status IN (2,3) + ORDER BY rank ASC, user_id ASC"; +$result = $db->sql_query($sql); +$ranks = $db->sql_fetchrowset($result); +$db->sql_freeresult($result); +$total_users = sizeof($ranks); +foreach ($ranks AS $rank) +{ + $rankof[$rank['user_id']] = $rank['rank']; +} + +if ($matchday > 1) +{ + // rank previous matchday + $sql = 'SELECT + rank AS last_rang, + user_id + FROM '. FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND matchday = ($matchday-1) + AND status IN (2,3) + ORDER BY last_rang ASC, user_id ASC"; + + $result = $db->sql_query($sql); + $ranks = $db->sql_fetchrowset($result); + $db->sql_freeresult($result); + + foreach ($ranks AS $rank) + { + $prevrankof[$rank['user_id']] = $rank['last_rang']; + } +} + +if ($matchday == $maxmatchday) +{ + $season_wins = season_wins($season, $league, $matchday); +} + +// Make sure $start is set to the last page if it exceeds the amount +if ($start < 0 || $start >= $total_users) +{ + $sql_start = ($start < 0) ? 0 : floor(($total_users - 1) / $config['football_users_per_page']) * $config['football_users_per_page']; +} +else +{ + $sql_start = floor($start / $config['football_users_per_page']) * $config['football_users_per_page']; +} +$sql_limit = $config['football_users_per_page']; + +// handle pagination. +$base_url = $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)); +$pagination = $phpbb_container->get('pagination'); +$pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_users, $this->config['football_users_per_page'], $start); + $data_ranks = false; +$index = 0; +$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); + +$sql = 'SELECT + r.rank, + r.status, + r.user_id, + r.points, + r.win AS wins, + u.user_colour, + u.username + FROM '. FOOTB_RANKS . ' AS r + LEFT Join '. USERS_TABLE . " AS u ON (r.user_id = u.user_id) + WHERE r.season = $season + AND r.league = $league + AND r.matchday = $matchday + AND r.status IN (2,3) + ORDER BY r.rank ASC, r.points DESC, LOWER(u.username) ASC"; + +$result = $db->sql_query_limit($sql, $sql_limit, $sql_start); +while($row = $db->sql_fetchrow($result)) +{ + $index++; + $data_ranks = true; + if (isset($prevrankof[$row['user_id']])) + { + if ($rankof[$row['user_id']] == '') + { + $change_sign = ''; + $change_differ = ' '; + } + else + { + if ($rankof[$row['user_id']] == $prevrankof[$row['user_id']]) + { + $change_sign = '='; + $change_differ = ' '; + } + else + { + if ($rankof[$row['user_id']] > $prevrankof[$row['user_id']]) + { + $change_sign = '+'; + $differ = $rankof[$row['user_id']] - $prevrankof[$row['user_id']]; + $change_differ = ' (' . $differ . ')'; + } + else + { + $change_sign = '-'; + $differ = $prevrankof[$row['user_id']] - $rankof[$row['user_id']]; + $change_differ = ' (' . $differ . ')'; + } + } + } + } + else + { + $change_sign = ''; + $change_differ = ' '; + } + + if ($matchday == $maxmatchday) + { + // if someone didn't bet the hole Season + if(!isset($win_user_most_hits[$row['user_id']]['win'])) + { + $win_user_most_hits[$row['user_id']]['win'] = 0; + } + if(!isset($win_user_most_hits_away[$row['user_id']]['win'])) + { + $win_user_most_hits_away[$row['user_id']]['win'] = 0; + } + if(!isset($season_wins[$row['user_id']]['win'])) + { + $season_wins[$row['user_id']]['win'] = 0; + } + $win_total = sprintf('%01.2f',$row['wins'] + $win_user_most_hits[$row['user_id']]['win'] + $win_user_most_hits_away[$row['user_id']]['win'] + + $season_wins[$row['user_id']]['win']); + } + else + { + $win_total = sprintf('%01.2f',$row['wins']); + } + $row_class = (!($index % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['user_id'] == $user->data['user_id']) + { + $row_class = 'bg3 row_user'; + } + $colorstyle = color_style($row['status']); + + $template->assign_block_vars('rankstotal', array( + 'ROW_CLASS' => $row_class, + 'RANK' => $rankof[$row['user_id']], + 'NO_CHANGES' => ($change_sign == '=') ? true : false, + 'WORSENED' => ($change_sign == '-') ? true : false, + 'IMPROVED' => ($change_sign == '+') ? true : false, + 'CHANGE_SIGN' => $change_sign, + 'CHANGE_DIFFER' => $change_differ, + 'USERID' => $row['user_id'], + 'USERNAME' => $row['username'], + 'U_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']), + 'BETS' => $betsof[$row['user_id']], + 'NOBETS' => ($nobetsof[$row['user_id']] == 0) ? ' ' : $nobetsof[$row['user_id']], + 'TENDENCIES' => ($tendenciesof[$row['user_id']] == 0) ? ' ' : $tendenciesof[$row['user_id']], + 'DIRECTHITS' => ($hitsof[$row['user_id']] == 0) ? ' ' : $hitsof[$row['user_id']], + 'DIRECTHITS02' => ($hits02of[$row['user_id']] == 0) ? ' ' : $hits02of[$row['user_id']], + 'POINTS' => $row['points'], + 'COLOR_STYLE' => $colorstyle, + 'WIN' => $win_total, + ) + ); +} +$db->sql_freeresult($result); +$league_info = league_info($season, $league); + +$sidename = sprintf($user->lang['RANK_MATCHDAY']); +$template->assign_vars(array( + 'S_DISPLAY_RANKS_MATCHDAY' => true, + 'S_DISPLAY_HITS02' => $config['football_win_hits02'], + 'S_SIDENAME' => $sidename, + 'S_WIN' => ($league_info['win_matchday'] == '0') ? false : true, + 'S_DATA_RANKS' => $data_ranks, + 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), + 'TOTAL_USERS' => ($total_users == 1) ? $user->lang['VIEW_BET_USER'] : sprintf($user->lang['VIEW_BET_USERS'], $total_users), + 'WIN_NAME' => $config['football_win_name'], + ) +); + ?> \ No newline at end of file diff --git a/block/ranks_total.php b/block/ranks_total.php index 19e2c95..b1c7adf 100644 --- a/block/ranks_total.php +++ b/block/ranks_total.php @@ -157,7 +157,6 @@ switch ($mode) } $index++; } - $db->sql_freeresult($result); $sidename = sprintf($user->lang['RANK_TOTAL']); $league_info = league_info($season, $league); @@ -166,13 +165,6 @@ switch ($mode) 'S_DISPLAY_HITS02' => $config['football_win_hits02'], 'S_DATA_RANKS' => $data_ranks, 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['RANK_MATCHDAY']), - 'U_RIGHT' => ($config['football_bank']) ? $this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league, 'm' => $matchday)) : - $this->helper->route('football_main_controller', array('side' => 'my_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => ($config['football_bank']) ? sprintf($user->lang['FOOTBALL_BANK']) . ' >' : sprintf($user->lang['MY_BETS']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_RANK_MATCHDAY']), - 'RIGHT_TITLE' => ($config['football_bank']) ? sprintf($user->lang['TITLE_FOOTBALL_BANK']) : sprintf($user->lang['TITLE_MY_BETS']), 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), 'TOTAL_USERS' => ($total_users == 1) ? $user->lang['VIEW_BET_USER'] : sprintf($user->lang['VIEW_BET_USERS'], $total_users), 'S_WIN' => false, @@ -328,7 +320,6 @@ switch ($mode) } $index++; } - $db->sql_freeresult($result); $sidename = sprintf($user->lang['RANK_TOTAL']); $league_info = league_info($season, $league); @@ -337,13 +328,6 @@ switch ($mode) 'S_DISPLAY_HITS02' => $config['football_win_hits02'], 'S_DATA_RANKS' => $data_ranks, 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['RANK_MATCHDAY']), - 'U_RIGHT' => ($config['football_bank']) ? $this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league, 'm' => $matchday)) : - $this->helper->route('football_main_controller', array('side' => 'my_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => ($config['football_bank']) ? sprintf($user->lang['FOOTBALL_BANK']) . ' >' : sprintf($user->lang['MY_BETS']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_RANK_MATCHDAY']), - 'RIGHT_TITLE' => ($config['football_bank']) ? sprintf($user->lang['TITLE_FOOTBALL_BANK']) : sprintf($user->lang['TITLE_MY_BETS']), 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), 'TOTAL_USERS' => ($total_users == 1) ? $user->lang['VIEW_BET_USER'] : sprintf($user->lang['VIEW_BET_USERS'], $total_users), 'S_WIN' => ($league_info['win_matchday'] == '0' and $league_info['win_season'] == '0') ? false : ($this->auth->acl_gets('a_')) ? true : false, @@ -492,7 +476,6 @@ switch ($mode) if ($rank == $prev_rank_of[$curr_rank['user_id']]) { $change_sign = '='; - $change_img = "\""lang['NO_CHANGES'] . "\"/>"; $change_differ = ''; } else @@ -500,14 +483,12 @@ switch ($mode) if ($rank > $prev_rank_of[$curr_rank['user_id']]) { $change_sign = '+'; - $change_img = "\""lang['WORSENED'] . "\"/>"; $differ = $rank - $prev_rank_of[$curr_rank['user_id']]; $change_differ = ' (' . $differ . ')'; } else { $change_sign = '-'; - $change_img = "\""lang['IMPROVED'] . "\"/>"; $differ = $prev_rank_of[$curr_rank['user_id']] - $rank; $change_differ = ' (' . $differ . ')'; } @@ -516,7 +497,6 @@ switch ($mode) else { $change_sign = ''; - $change_img = ''; $change_differ = ''; } @@ -539,8 +519,10 @@ switch ($mode) $template->assign_block_vars('rankstotal', array( 'ROW_CLASS' => $row_class, 'RANK' => $rank, + 'NO_CHANGES' => ($change_sign == '=') ? true : false, + 'WORSENED' => ($change_sign == '-') ? true : false, + 'IMPROVED' => ($change_sign == '+') ? true : false, 'CHANGE_SIGN' => $change_sign, - 'CHANGE_IMG' => $change_img, 'CHANGE_DIFFER' => $change_differ, 'USERID' => $curr_rank['user_id'], 'USERNAME' => $curr_rank['username'], @@ -558,7 +540,6 @@ switch ($mode) } $index++; } - $db->sql_freeresult($result); $sidename = sprintf($user->lang['RANK_TOTAL']); $league_info = league_info($season, $league); @@ -567,13 +548,6 @@ switch ($mode) 'S_DISPLAY_HITS02' => $config['football_win_hits02'], 'S_DATA_RANKS' => $data_ranks, 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['RANK_MATCHDAY']), - 'U_RIGHT' => ($config['football_bank']) ? $this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league, 'm' => $matchday)) : - $this->helper->route('football_main_controller', array('side' => 'my_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => ($config['football_bank']) ? sprintf($user->lang['FOOTBALL_BANK']) . ' >' : sprintf($user->lang['MY_BETS']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_RANK_MATCHDAY']), - 'RIGHT_TITLE' => ($config['football_bank']) ? sprintf($user->lang['TITLE_FOOTBALL_BANK']) : sprintf($user->lang['TITLE_MY_BETS']), 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), 'TOTAL_USERS' => ($total_users == 1) ? $user->lang['VIEW_BET_USER'] : sprintf($user->lang['VIEW_BET_USERS'], $total_users), 'S_WIN' => ($league_info['win_matchday'] == '0' and $league_info['win_season'] == '0') ? false : true, diff --git a/block/results.php b/block/results.php index 8e19e9c..8088e95 100644 --- a/block/results.php +++ b/block/results.php @@ -1,433 +1,428 @@ -data['user_id'], $season, $league); -$edit_mode = false; -$display_group = false; -$display_ko = false; -$data_results = false; -$lang_dates = $user->lang['datetime']; -$matchnumber = 0; -$editstatus = array(1, 2, 4, 5); - -$league_info = league_info($season, $league); -// Calculate matches AND results of matchday -$sql = "SELECT - m.match_no, - m.matchday, - m.status, - m.group_id, - m.formula_home, - m.formula_guest, - t1.team_symbol AS home_symbol, - t2.team_symbol AS guest_symbol, - t1.team_id AS home_id, - t2.team_id AS guest_id, - t1.team_name AS home_name, - t2.team_name AS guest_name, - t1.team_name_short AS home_short, - t2.team_name_short AS guest_short, - m.goals_home, - m.goals_guest, - m.ko_match AS ko_match, - m.goals_overtime_home AS kogoals_home, - m.goals_overtime_guest AS kogoals_guest, - CONCAT( - CASE DATE_FORMAT(m.match_datetime,'%w') - WHEN 0 THEN '" . $lang_dates['Sun'] . "' - WHEN 1 THEN '" . $lang_dates['Mon'] . "' - WHEN 2 THEN '" . $lang_dates['Tue'] . "' - WHEN 3 THEN '" . $lang_dates['Wed'] . "' - WHEN 4 THEN '" . $lang_dates['Thu'] . "' - WHEN 5 THEN '" . $lang_dates['Fri'] . "' - WHEN 6 THEN '" . $lang_dates['Sat'] . "' - ELSE 'Error' END, - DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') - ) AS match_time - FROM " . FOOTB_MATCHES . ' AS m - LEFT JOIN ' . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) - LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) - WHERE m.season = $season - AND m.league = $league - AND m.matchday = $matchday - ORDER BY m.match_datetime ASC, m.match_no ASC"; - -$result = $db->sql_query($sql); -$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); -while($row = $db->sql_fetchrow($result)) -{ - $data_results = true; - $matchnumber++ ; - $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if (0 == $row['home_id']) - { - $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); - $home_in_array = explode("#",$home_info); - $homelogo = $home_in_array[0]; - $homeid = $home_in_array[1]; - $homename = $home_in_array[2]; - $homeshort = $home_in_array[2]; - } - else - { - $homelogo = $row['home_symbol']; - $homeid = $row['home_id']; - $homename = $row['home_name']; - $homeshort = $row['home_short']; - } - if (0 == $row['guest_id']) - { - $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); - $guest_in_array = explode("#",$guest_info); - $guestlogo = $guest_in_array[0]; - $guestid = $guest_in_array[1]; - $guestname = $guest_in_array[2]; - $guestshort = $guest_in_array[2]; - } - else - { - $guestlogo = $row['guest_symbol']; - $guestid = $row['guest_id']; - $guestname = $row['guest_name']; - $guestshort = $row['guest_short']; - } - if ($homelogo <> '') - { - $logoH = "\""" ; - } - else - { - $logoH = "\"\"" ; - } - if ($guestlogo <> '') - { - $logoG = "\""" ; - } - else - { - $logoG = "\"\"" ; - } - - if ($row['ko_match']) - { - $display_ko = true; - $ko_match = true; - } - else - { - $ko_match = false; - } - - if ($row['group_id'] == '') - { - $group_id = ' '; - } - else - { - $display_group = true; - $group_id = $row['group_id']; - } - - - if (in_array($row['status'], $editstatus) AND $user_is_member) - { - $edit_mode = true; - $edit_match = true; - $goals_home = $row['goals_home']; - $goals_guest = $row['goals_guest']; - $kogoals_home = $row['kogoals_home']; - $kogoals_guest = $row['kogoals_guest']; - } - else - { - $edit_match = false; - $goals_home = ($row['goals_home'] == '') ? ' ' : $row['goals_home']; - $goals_guest = ($row['goals_guest'] == '') ? ' ' : $row['goals_guest']; - $kogoals_home = ($row['kogoals_home'] == '') ? ' ' : $row['kogoals_home']; - $kogoals_guest = ($row['kogoals_guest'] == '') ? ' ' : $row['kogoals_guest']; - } - $template->assign_block_vars('result', array( - 'ROW_CLASS' => $row_class, - 'MATCH_NUMBER' => $row['match_no'], - 'MATCHDAY' => $row['matchday'], - 'STATUS' => $row['status'], - 'MATCH_TIME' => $row['match_time'], - 'GROUP' => $group_id, - 'HOME_ID' => $homeid, - 'GUEST_ID' => $guestid, - 'LOGO_HOME' => $logoH, - 'LOGO_GUEST' => $logoG, - 'HOME_NAME' => $homename, - 'GUEST_NAME' => $guestname, - 'HOME_SHORT' => $homeshort, - 'GUEST_SHORT' => $guestshort, - 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, - 'tid' => $homeid, 'mode' => 'all')), - 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, - 'tid' => $guestid, 'mode' => 'all')), - 'GOALS_HOME' => $goals_home, - 'GOALS_GUEST' => $goals_guest, - 'COLOR_STYLE' => color_style($row['status']), - 'KOGOALS_HOME' => $kogoals_home, - 'KOGOALS_GUEST' => $kogoals_guest, - 'S_KO_MATCH' => $ko_match, - 'S_EDIT_MATCH' => $edit_match, - ) - ); -} -$db->sql_freeresult($result); - -// Calculate extra bets of matchday -// Start select team -$sql = 'SELECT - team_id AS option_value, - team_name AS option_name - FROM ' . FOOTB_TEAMS . " - WHERE season = $season - AND league = $league - ORDER BY team_name ASC"; - -$result = $db->sql_query($sql); -$option_rows = $db->sql_fetchrowset($result); -$db->sql_freeresult($result); - -if ($edit_mode) -{ - $template->assign_block_vars('worldfootball', array('LEAGUE' => $league-1,)); -} - -$sql = "SELECT e.*, - t1.team_name AS result_team - FROM " . FOOTB_EXTRA . ' AS e - LEFT JOIN ' . FOOTB_TEAMS . " AS t1 ON (t1.season = e.season AND t1.league = e.league AND t1.team_id = e.result) - WHERE e.season = $season - AND e.league = $league - AND e.matchday_eval = $matchday - ORDER BY e.extra_no ASC"; - -$result = $db->sql_query($sql); - -$extra_results = false; -$extranumber = 0; -while ($row = $db->sql_fetchrow($result)) -{ - $extra_results = true; - $extranumber++ ; - $row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - - switch($row['question_type']) - { - case '1': - { - $display_type = 1; - $eval_title = sprintf($user->lang['EXTRA_HIT']); - } - break; - case '2': - { - $display_type = 1; - $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); - } - break; - case '3': - { - $display_type = 2; - $eval_title = sprintf($user->lang['EXTRA_HIT']); - } - break; - case '4': - case '5': - { - $display_type = 2; - $eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']); - } - break; - default : - { - $display_type = 2; - $eval_title = ''; - } - break; - } - - if ($row['extra_status'] > 0 && $row['extra_status'] < 3 && $user_is_member) - { - $edit_mode = true; - $result_extra = ($row['result_team'] == NULL) ? '' : $row['result_team']; - - $multiple = ''; - switch($row['question_type']) - { - case '2': - { - $multiple = ' multiple="multiple" size="3" '; - } - break; - case '4': - { - $option_arr = array(); - for ($i = 65; $i <= 72; $i++) - { - if (strstr($row['question'], chr($i) . ':')) - { - $option_arr[] = array( - 'option_value' => chr($i), - 'option_name' => chr($i), - ); - } - } - if (sizeof($option_arr) > 1) - { - $display_type = 1; - $option_rows = $option_arr; - $result_extra = $row['result']; - $multiple = ' multiple="multiple" size="3" '; - } - } - break; - case '3': - { - $option_arr = array(); - for ($i = 65; $i <= 72; $i++) - { - if (strstr($row['question'], chr($i) . ':')) - { - $option_arr[] = array( - 'option_value' => chr($i), - 'option_name' => chr($i), - ); - } - } - if (sizeof($option_arr) > 1) - { - $display_type = 1; - $option_rows = $option_arr; - $result_extra = $row['result']; - } - } - break; - } - - $template->assign_block_vars('extra_result', array( - 'ROW_CLASS' => $row_class, - 'EXTRA_NO' => $row['extra_no'], - 'S_EDIT_EXTRA' => true, - 'QUESTION' => $row['question'], - 'EXTRA_POINTS' => $row['extra_points'], - 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), - 'EVALUATION_TITLE' => $eval_title, - 'RESULT' => ($display_type == 1) ? $result_extra : $row['result'], - 'S_DISPLAY_TYPE' => $display_type, - ) - ); - - if ($display_type == 1) - { - $selected = ($row['result'] == '') ? ' selected="selected"' : ''; - - $template->assign_block_vars('extra_result.extra_option', array( - 'OPTION_VALUE' => '', - 'OPTION_NAME' => sprintf($user->lang['SELECT']), - 'S_SELECTED' => $selected)); - - foreach ($option_rows as $option_row) - { - if (strstr($row['result'], ';')) - { - $selected = ''; - $result_arr = explode(';', $row['result']); - foreach($result_arr AS $result_value) - { - if ($result_value <> '') - { - if ($option_row['option_value'] == $result_value) - { - $selected = ' selected="selected"'; - } - } - } - } - else - { - $selected = ($option_row['option_value'] == $row['result']) ? ' selected="selected"' : ''; - } - $template->assign_block_vars('extra_result.extra_option', array( - 'OPTION_VALUE' => $option_row['option_value'], - 'OPTION_NAME' => $option_row['option_name'], - 'S_SELECTED' => $selected)); - } - } - } - else - { - $extra_colorstyle = color_style($row['extra_status']); - $extra_result = ($row['result'] == '') ? ' ' : $row['result']; - $result_extra = ($row['result_team'] == NULL) ? ' ' : $row['result_team']; - - $template->assign_block_vars('extra_result', array( - 'ROW_CLASS' => $row_class, - 'S_EDIT_EXTRA' => false, - 'QUESTION' => $row['question'], - 'EXTRA_POINTS' => $row['extra_points'], - 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), - 'RESULT' => ($display_type == 1) ? $result_extra : $extra_result, - 'COLOR_STYLE' => $extra_colorstyle, - ) - ); - } -} - -$sidename = sprintf($user->lang['RESULTS']); -switch ($league_info['bet_ko_type']) -{ - case BET_KO_90: - $result_explain = sprintf($user->lang['MIN90']); - $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); - break; - case BET_KO_EXTRATIME: - $result_explain = sprintf($user->lang['EXTRATIME_SHORT']); - $label_finalresult = sprintf($user->lang['PENALTY']); - break; - case BET_KO_PENALTY: - $result_explain = sprintf($user->lang['PENALTY']); - $display_ko = false; - break; - default: - $result_explain = sprintf($user->lang['MIN90']); - $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); - break; -} - -$template->assign_vars(array( - 'S_DISPLAY_RESULTS' => true, - 'S_EXTRA_RESULTS' => $extra_results, - 'S_SIDENAME' => $sidename, - 'RESULT_EXPLAIN' => $result_explain, - 'LABEL_FINALRESULT' => $label_finalresult, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'all_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['ALL_BETS']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'table', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['TABLE']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_ALL_BETS']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_TABLE']), - 'S_FORM_ACTION_RESULT' => $this->helper->route('football_main_controller', array('side' => 'results', 's' => $season, 'l' => $league, 'm' => $matchday, 'action' => 'result')), - 'S_DATA_RESULTS' => $data_results, - 'S_USER_IS_MEMBER' => $user_is_member, - 'S_DISPLAY_GROUP' => $display_group, - 'S_DISPLAY_KO' => $display_ko, - 'S_EDIT_MODE' => $edit_mode, - ) -); - +data['user_id'], $season, $league); +$edit_mode = false; +$display_group = false; +$display_ko = false; +$data_results = false; +$lang_dates = $user->lang['datetime']; +$matchnumber = 0; +$editstatus = array(1, 2, 4, 5); + +$league_info = league_info($season, $league); +// Calculate matches AND results of matchday +$sql = "SELECT + m.match_no, + m.matchday, + m.status, + m.group_id, + m.formula_home, + m.formula_guest, + t1.team_symbol AS home_symbol, + t2.team_symbol AS guest_symbol, + t1.team_id AS home_id, + t2.team_id AS guest_id, + t1.team_name AS home_name, + t2.team_name AS guest_name, + t1.team_name_short AS home_short, + t2.team_name_short AS guest_short, + m.goals_home, + m.goals_guest, + m.ko_match AS ko_match, + m.goals_overtime_home AS kogoals_home, + m.goals_overtime_guest AS kogoals_guest, + CONCAT( + CASE DATE_FORMAT(m.match_datetime,'%w') + WHEN 0 THEN '" . $lang_dates['Sun'] . "' + WHEN 1 THEN '" . $lang_dates['Mon'] . "' + WHEN 2 THEN '" . $lang_dates['Tue'] . "' + WHEN 3 THEN '" . $lang_dates['Wed'] . "' + WHEN 4 THEN '" . $lang_dates['Thu'] . "' + WHEN 5 THEN '" . $lang_dates['Fri'] . "' + WHEN 6 THEN '" . $lang_dates['Sat'] . "' + ELSE 'Error' END, + DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') + ) AS match_time + FROM " . FOOTB_MATCHES . ' AS m + LEFT JOIN ' . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id = m.team_id_home) + LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest) + WHERE m.season = $season + AND m.league = $league + AND m.matchday = $matchday + ORDER BY m.match_datetime ASC, m.match_no ASC"; + +$result = $db->sql_query($sql); +$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); +while($row = $db->sql_fetchrow($result)) +{ + $data_results = true; + $matchnumber++ ; + $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if (0 == $row['home_id']) + { + $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); + $home_in_array = explode("#",$home_info); + $homelogo = $home_in_array[0]; + $homeid = $home_in_array[1]; + $homename = $home_in_array[2]; + $homeshort = $home_in_array[2]; + } + else + { + $homelogo = $row['home_symbol']; + $homeid = $row['home_id']; + $homename = $row['home_name']; + $homeshort = $row['home_short']; + } + if (0 == $row['guest_id']) + { + $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); + $guest_in_array = explode("#",$guest_info); + $guestlogo = $guest_in_array[0]; + $guestid = $guest_in_array[1]; + $guestname = $guest_in_array[2]; + $guestshort = $guest_in_array[2]; + } + else + { + $guestlogo = $row['guest_symbol']; + $guestid = $row['guest_id']; + $guestname = $row['guest_name']; + $guestshort = $row['guest_short']; + } + if ($homelogo <> '') + { + $logoH = "\""" ; + } + else + { + $logoH = "\"\"" ; + } + if ($guestlogo <> '') + { + $logoG = "\""" ; + } + else + { + $logoG = "\"\"" ; + } + + if ($row['ko_match']) + { + $display_ko = true; + $ko_match = true; + } + else + { + $ko_match = false; + } + + if ($row['group_id'] == '') + { + $group_id = ' '; + } + else + { + $display_group = true; + $group_id = $row['group_id']; + } + + + if (in_array($row['status'], $editstatus) AND $user_is_member) + { + $edit_mode = true; + $edit_match = true; + $goals_home = $row['goals_home']; + $goals_guest = $row['goals_guest']; + $kogoals_home = $row['kogoals_home']; + $kogoals_guest = $row['kogoals_guest']; + } + else + { + $edit_match = false; + $goals_home = ($row['goals_home'] == '') ? ' ' : $row['goals_home']; + $goals_guest = ($row['goals_guest'] == '') ? ' ' : $row['goals_guest']; + $kogoals_home = ($row['kogoals_home'] == '') ? ' ' : $row['kogoals_home']; + $kogoals_guest = ($row['kogoals_guest'] == '') ? ' ' : $row['kogoals_guest']; + } + $template->assign_block_vars('result', array( + 'ROW_CLASS' => $row_class, + 'MATCH_NUMBER' => $row['match_no'], + 'MATCHDAY' => $row['matchday'], + 'STATUS' => $row['status'], + 'MATCH_TIME' => $row['match_time'], + 'GROUP' => $group_id, + 'HOME_ID' => $homeid, + 'GUEST_ID' => $guestid, + 'LOGO_HOME' => $logoH, + 'LOGO_GUEST' => $logoG, + 'HOME_NAME' => $homename, + 'GUEST_NAME' => $guestname, + 'HOME_SHORT' => $homeshort, + 'GUEST_SHORT' => $guestshort, + 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, + 'tid' => $homeid, 'mode' => 'all')), + 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, + 'tid' => $guestid, 'mode' => 'all')), + 'GOALS_HOME' => $goals_home, + 'GOALS_GUEST' => $goals_guest, + 'COLOR_STYLE' => color_style($row['status']), + 'KOGOALS_HOME' => $kogoals_home, + 'KOGOALS_GUEST' => $kogoals_guest, + 'S_KO_MATCH' => $ko_match, + 'S_EDIT_MATCH' => $edit_match, + ) + ); +} +$db->sql_freeresult($result); + +// Calculate extra bets of matchday +// Start select team +$sql = 'SELECT + team_id AS option_value, + team_name AS option_name + FROM ' . FOOTB_TEAMS . " + WHERE season = $season + AND league = $league + ORDER BY team_name ASC"; + +$result = $db->sql_query($sql); +$option_rows = $db->sql_fetchrowset($result); +$db->sql_freeresult($result); + +if ($edit_mode) +{ + $template->assign_block_vars('worldfootball', array('LEAGUE' => $league-1,)); +} + +$sql = "SELECT e.*, + t1.team_name AS result_team + FROM " . FOOTB_EXTRA . ' AS e + LEFT JOIN ' . FOOTB_TEAMS . " AS t1 ON (t1.season = e.season AND t1.league = e.league AND t1.team_id = e.result) + WHERE e.season = $season + AND e.league = $league + AND e.matchday_eval = $matchday + ORDER BY e.extra_no ASC"; + +$result = $db->sql_query($sql); + +$extra_results = false; +$extranumber = 0; +while ($row = $db->sql_fetchrow($result)) +{ + $extra_results = true; + $extranumber++ ; + $row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + + switch($row['question_type']) + { + case '1': + { + $display_type = 1; + $eval_title = sprintf($user->lang['EXTRA_HIT']); + } + break; + case '2': + { + $display_type = 1; + $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); + } + break; + case '3': + { + $display_type = 2; + $eval_title = sprintf($user->lang['EXTRA_HIT']); + } + break; + case '4': + case '5': + { + $display_type = 2; + $eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']); + } + break; + default : + { + $display_type = 2; + $eval_title = ''; + } + break; + } + + if ($row['extra_status'] > 0 && $row['extra_status'] < 3 && $user_is_member) + { + $edit_mode = true; + $result_extra = ($row['result_team'] == NULL) ? '' : $row['result_team']; + + $multiple = ''; + switch($row['question_type']) + { + case '2': + { + $multiple = ' multiple="multiple" size="3" '; + } + break; + case '4': + { + $option_arr = array(); + for ($i = 65; $i <= 72; $i++) + { + if (strstr($row['question'], chr($i) . ':')) + { + $option_arr[] = array( + 'option_value' => chr($i), + 'option_name' => chr($i), + ); + } + } + if (sizeof($option_arr) > 1) + { + $display_type = 1; + $option_rows = $option_arr; + $result_extra = $row['result']; + $multiple = ' multiple="multiple" size="3" '; + } + } + break; + case '3': + { + $option_arr = array(); + for ($i = 65; $i <= 72; $i++) + { + if (strstr($row['question'], chr($i) . ':')) + { + $option_arr[] = array( + 'option_value' => chr($i), + 'option_name' => chr($i), + ); + } + } + if (sizeof($option_arr) > 1) + { + $display_type = 1; + $option_rows = $option_arr; + $result_extra = $row['result']; + } + } + break; + } + + $template->assign_block_vars('extra_result', array( + 'ROW_CLASS' => $row_class, + 'EXTRA_NO' => $row['extra_no'], + 'S_EDIT_EXTRA' => true, + 'QUESTION' => $row['question'], + 'EXTRA_POINTS' => $row['extra_points'], + 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), + 'EVALUATION_TITLE' => $eval_title, + 'RESULT' => ($display_type == 1) ? $result_extra : $row['result'], + 'S_DISPLAY_TYPE' => $display_type, + ) + ); + + if ($display_type == 1) + { + $selected = ($row['result'] == '') ? ' selected="selected"' : ''; + + $template->assign_block_vars('extra_result.extra_option', array( + 'OPTION_VALUE' => '', + 'OPTION_NAME' => sprintf($user->lang['SELECT']), + 'S_SELECTED' => $selected)); + + foreach ($option_rows as $option_row) + { + if (strstr($row['result'], ';')) + { + $selected = ''; + $result_arr = explode(';', $row['result']); + foreach($result_arr AS $result_value) + { + if ($result_value <> '') + { + if ($option_row['option_value'] == $result_value) + { + $selected = ' selected="selected"'; + } + } + } + } + else + { + $selected = ($option_row['option_value'] == $row['result']) ? ' selected="selected"' : ''; + } + $template->assign_block_vars('extra_result.extra_option', array( + 'OPTION_VALUE' => $option_row['option_value'], + 'OPTION_NAME' => $option_row['option_name'], + 'S_SELECTED' => $selected)); + } + } + } + else + { + $extra_colorstyle = color_style($row['extra_status']); + $extra_result = ($row['result'] == '') ? ' ' : $row['result']; + $result_extra = ($row['result_team'] == NULL) ? ' ' : $row['result_team']; + + $template->assign_block_vars('extra_result', array( + 'ROW_CLASS' => $row_class, + 'S_EDIT_EXTRA' => false, + 'QUESTION' => $row['question'], + 'EXTRA_POINTS' => $row['extra_points'], + 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), + 'RESULT' => ($display_type == 1) ? $result_extra : $extra_result, + 'COLOR_STYLE' => $extra_colorstyle, + ) + ); + } +} +$db->sql_freeresult($result); + +$sidename = sprintf($user->lang['RESULTS']); +switch ($league_info['bet_ko_type']) +{ + case BET_KO_90: + $result_explain = sprintf($user->lang['MIN90']); + $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); + break; + case BET_KO_EXTRATIME: + $result_explain = sprintf($user->lang['EXTRATIME_SHORT']); + $label_finalresult = sprintf($user->lang['PENALTY']); + break; + case BET_KO_PENALTY: + $result_explain = sprintf($user->lang['PENALTY']); + $display_ko = false; + break; + default: + $result_explain = sprintf($user->lang['MIN90']); + $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); + break; +} + +$template->assign_vars(array( + 'S_DISPLAY_RESULTS' => true, + 'S_EXTRA_RESULTS' => $extra_results, + 'S_SIDENAME' => $sidename, + 'RESULT_EXPLAIN' => $result_explain, + 'LABEL_FINALRESULT' => $label_finalresult, + 'S_FORM_ACTION_RESULT' => $this->helper->route('football_main_controller', array('side' => 'results', 's' => $season, 'l' => $league, 'm' => $matchday, 'action' => 'result')), + 'S_DATA_RESULTS' => $data_results, + 'S_USER_IS_MEMBER' => $user_is_member, + 'S_DISPLAY_GROUP' => $display_group, + 'S_DISPLAY_KO' => $display_ko, + 'S_EDIT_MODE' => $edit_mode, + ) +); + ?> \ No newline at end of file diff --git a/block/side_table.php b/block/side_table.php index 6ee1e2f..6747241 100644 --- a/block/side_table.php +++ b/block/side_table.php @@ -1,145 +1,145 @@ -phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); - -$sql = 'SELECT * - FROM ' . FOOTB_RANKS . " - WHERE season = $season - AND league = $league - AND matchday = $matchday"; -$result = $db->sql_query($sql); -$row = $db->sql_fetchrow($result); -$db->sql_freeresult($result); - -if ($row) -{ - include($this->football_root_path . 'block/rank_matchday.' . $this->php_ext); -} -else -{ - $rank = 0; - // Get table-information - $sql = "SELECT - t.*, - SUM(1) AS matches, - SUM(IF(m.team_id_home = t.team_id, - IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), - IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) - ) - ) - IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points, - SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff, - SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals, - SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against - FROM " . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league - AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) - WHERE t.season = $season - AND t.league = $league - AND m.matchday <= $matchday - AND m.status IN (2,3,5,6) - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; - - $result = $db->sql_query($sql); - - $table_ary = array(); - $points_ary = array(); - $ranks_ary = array(); - while( $row = $db->sql_fetchrow($result)) - { - $table_ary[$row['team_id']] = $row; - $points_ary[$row['group_id']][$row['points']][]=$row['team_id']; - $ranks_ary[] = $row['team_id']; - } - $last_group = ''; - $rank = 0; - $current_rank = 0; - $last_goals = 0; - $last_goals_againts = 0; - $last_points = 0; - foreach($points_ary as $group_id => $points) - { - $data_table = true; - if ($last_group != $group_id) - { - $last_group =$group_id; - $rank = 0; - $last_goals = 0; - $last_goals_againts = 0; - $last_points = 0; - $template->assign_block_vars('side_total', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' .$group_id, - ) - ); - } - - foreach($points as $point => $teams) - { - if(count($teams) > 1 AND $group_id != '') - { - // Compare teams with equal points and sort - $teams = get_order_team_compare($teams, $season, $league, $group_id, $ranks_ary, $matchday); - } - foreach($teams as $key => $team) - { - $row = $table_ary[$team]; - $rank++; - if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) - { - $current_rank = $rank . '.'; - } - else - { - $current_rank = ''; - } - $last_points = $row['points']; - $last_goals = $row['goals']; - $last_goals_againts = $row['goals_against']; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['team_symbol'] <> '') - { - $logo = "\""" ; - } - else - { - $logo = "\"\"" ; - } - - $template->assign_block_vars('side_total', array( - 'RANK' => $current_rank, - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM_SHORT' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $row['team_id'], 'mode' => 'played')), - 'GAMES' => $row['matches'], - 'POINTS' => $row['points'], - ) - ); - } - } - } - $db->sql_freeresult($result); - - $template->assign_vars(array( - 'S_DISPLAY_SIDE_TABLE' => true, - 'S_DATA_SIDE_TABLE' => $data_table, - ) - ); -} +phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); + +$sql = 'SELECT * + FROM ' . FOOTB_RANKS . " + WHERE season = $season + AND league = $league + AND matchday = $matchday"; +$result = $db->sql_query($sql); +$row = $db->sql_fetchrow($result); +$db->sql_freeresult($result); + +if ($row) +{ + include($this->football_root_path . 'block/rank_matchday.' . $this->php_ext); +} +else +{ + $rank = 0; + // Get table-information + $sql = "SELECT + t.*, + SUM(1) AS matches, + SUM(IF(m.team_id_home = t.team_id, + IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), + IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) + ) + ) - IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points, + SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff, + SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals, + SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against + FROM " . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league + AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) + WHERE t.season = $season + AND t.league = $league + AND m.matchday <= $matchday + AND m.status IN (2,3,5,6) + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; + + $result = $db->sql_query($sql); + + $table_ary = array(); + $points_ary = array(); + $ranks_ary = array(); + while( $row = $db->sql_fetchrow($result)) + { + $table_ary[$row['team_id']] = $row; + $points_ary[$row['group_id']][$row['points']][]=$row['team_id']; + $ranks_ary[] = $row['team_id']; + } + $last_group = ''; + $rank = 0; + $current_rank = 0; + $last_goals = 0; + $last_goals_againts = 0; + $last_points = 0; + foreach($points_ary as $group_id => $points) + { + $data_table = true; + if ($last_group != $group_id) + { + $last_group =$group_id; + $rank = 0; + $last_goals = 0; + $last_goals_againts = 0; + $last_points = 0; + $template->assign_block_vars('side_total', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' .$group_id, + ) + ); + } + + foreach($points as $point => $teams) + { + if(count($teams) > 1 AND $group_id != '') + { + // Compare teams with equal points and sort + $teams = get_order_team_compare($teams, $season, $league, $group_id, $ranks_ary, $matchday); + } + foreach($teams as $key => $team) + { + $row = $table_ary[$team]; + $rank++; + if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) + { + $current_rank = $rank . '.'; + } + else + { + $current_rank = ''; + } + $last_points = $row['points']; + $last_goals = $row['goals']; + $last_goals_againts = $row['goals_against']; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['team_symbol'] <> '') + { + $logo = "\""" ; + } + else + { + $logo = "\"\"" ; + } + + $template->assign_block_vars('side_total', array( + 'RANK' => $current_rank, + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM_SHORT' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $row['team_id'], 'mode' => 'played')), + 'GAMES' => $row['matches'], + 'POINTS' => $row['points'], + ) + ); + } + } + } + $db->sql_freeresult($result); + + $template->assign_vars(array( + 'S_DISPLAY_SIDE_TABLE' => true, + 'S_DATA_SIDE_TABLE' => $data_table, + ) + ); +} ?> \ No newline at end of file diff --git a/block/stat_points.php b/block/stat_points.php index f3f5f38..f8afd63 100644 --- a/block/stat_points.php +++ b/block/stat_points.php @@ -1,170 +1,164 @@ -sql_query_limit($sql, 20); -while($row = $db->sql_fetchrow($result)) -{ - $data = true; - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['user_id'] == $user->data['user_id']) - { - $row_class = 'bg3 row_user'; - } - $template->assign_block_vars('top20', array( - 'ROW_CLASS' => $row_class, - 'NAME' => $row['username'], - 'MATCHDAY' => $row['matchday'], - 'POINTS' => $row['points'], - 'WIN' => $row['win'], - 'DIRECTHITS' => $row['correct_result'], - 'TENDENCIES' => $row['tendencies'] - $row['correct_result'], - 'TOTAL' => $row['tendencies'], - ) - ); -} -$db->sql_freeresult($result); - -$rank = 0; -$sql = 'SELECT - r.user_id, - u.username, - r.* - FROM ' . FOOTB_RANKS . ' AS r - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) - WHERE r.season = $season - AND r.league = $league - ORDER BY r.points ASC"; - -$result = $db->sql_query_limit($sql, 20); -while($row = $db->sql_fetchrow($result)) -{ - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['user_id'] == $user->data['user_id']) - { - $row_class = 'bg3 row_user'; - } - $template->assign_block_vars('flop20', array( - 'ROW_CLASS' => $row_class, - 'NAME' => $row['username'], - 'MATCHDAY' => $row['matchday'], - 'POINTS' => $row['points'], - 'DIRECTHITS' => $row['correct_result'], - 'TENDENCIES' => $row['tendencies'] - $row['correct_result'], - 'TOTAL' => $row['tendencies'], - ) - ); -} -$db->sql_freeresult($result); - -$rank = 0; -$sql = 'SELECT - r.user_id, - u.username, - r.* - FROM ' . FOOTB_RANKS . ' AS r - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) - WHERE league = $league - ORDER BY r.points DESC"; - -$result = $db->sql_query_limit($sql, 20); -while($row = $db->sql_fetchrow($result)) -{ - $data_all = true; - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['user_id'] == $user->data['user_id']) - { - $row_class = 'bg3 row_user'; - } - $template->assign_block_vars('alltop20', array( - 'ROW_CLASS' => $row_class, - 'NAME' => $row['username'], - 'SEASON' => $row['season'], - 'MATCHDAY' => $row['matchday'], - 'POINTS' => $row['points'], - 'WIN' => $row['win'], - 'DIRECTHITS' => $row['correct_result'], - 'TENDENCIES' => $row['tendencies'] - $row['correct_result'], - 'TOTAL' => $row['tendencies'], - ) - ); -} -$db->sql_freeresult($result); - -$rank = 0; -$sql = 'SELECT - r.user_id, - u.username, - COUNT(points) AS count_zero - FROM ' . FOOTB_RANKS . ' AS r - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) - WHERE r.league = $league - AND r.points = 0 - GROUP BY r.user_id - ORDER BY count_zero DESC"; - -$result = $db->sql_query_limit($sql, 20); -while($row = $db->sql_fetchrow($result)) -{ - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['user_id'] == $user->data['user_id']) - { - $row_class = 'bg3 row_user'; - } - $template->assign_block_vars('allflop20', array( - 'ROW_CLASS' => $row_class, - 'NAME' => $row['username'], - 'COUNTZERO' => $row['count_zero'], - ) - ); -} -$db->sql_freeresult($result); - -$league_info = league_info($season, $league); -$sidename = sprintf($user->lang['STAT_POINTS']); -$template->assign_vars(array( - 'S_DISPLAY_STAT_POINTS' => true, - 'S_MATCHDAY_HIDE' => true, - 'S_SIDENAME' => $sidename, - 'S_WIN' => ($league_info['win_matchday'] == '0') ? false : true, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_koeff', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['MY_KOEFF']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'stat_results', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['STAT_RESULTS']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_KOEFF']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_STAT_RESULTS']), - 'S_DATA_STAT_POINTS' => $data, - 'S_DATA_ALL_POINTS' => $data_all, - 'SEASON' => $season, - 'LEAGUE' => $league, - ) -); - +sql_query_limit($sql, 20); +while($row = $db->sql_fetchrow($result)) +{ + $data = true; + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['user_id'] == $user->data['user_id']) + { + $row_class = 'bg3 row_user'; + } + $template->assign_block_vars('top20', array( + 'ROW_CLASS' => $row_class, + 'NAME' => $row['username'], + 'MATCHDAY' => $row['matchday'], + 'POINTS' => $row['points'], + 'WIN' => $row['win'], + 'DIRECTHITS' => $row['correct_result'], + 'TENDENCIES' => $row['tendencies'] - $row['correct_result'], + 'TOTAL' => $row['tendencies'], + ) + ); +} +$db->sql_freeresult($result); + +$rank = 0; +$sql = 'SELECT + r.user_id, + u.username, + r.* + FROM ' . FOOTB_RANKS . ' AS r + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) + WHERE r.season = $season + AND r.league = $league + ORDER BY r.points ASC"; + +$result = $db->sql_query_limit($sql, 20); +while($row = $db->sql_fetchrow($result)) +{ + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['user_id'] == $user->data['user_id']) + { + $row_class = 'bg3 row_user'; + } + $template->assign_block_vars('flop20', array( + 'ROW_CLASS' => $row_class, + 'NAME' => $row['username'], + 'MATCHDAY' => $row['matchday'], + 'POINTS' => $row['points'], + 'DIRECTHITS' => $row['correct_result'], + 'TENDENCIES' => $row['tendencies'] - $row['correct_result'], + 'TOTAL' => $row['tendencies'], + ) + ); +} +$db->sql_freeresult($result); + +$rank = 0; +$sql = 'SELECT + r.user_id, + u.username, + r.* + FROM ' . FOOTB_RANKS . ' AS r + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) + WHERE league = $league + ORDER BY r.points DESC"; + +$result = $db->sql_query_limit($sql, 20); +while($row = $db->sql_fetchrow($result)) +{ + $data_all = true; + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['user_id'] == $user->data['user_id']) + { + $row_class = 'bg3 row_user'; + } + $template->assign_block_vars('alltop20', array( + 'ROW_CLASS' => $row_class, + 'NAME' => $row['username'], + 'SEASON' => $row['season'], + 'MATCHDAY' => $row['matchday'], + 'POINTS' => $row['points'], + 'WIN' => $row['win'], + 'DIRECTHITS' => $row['correct_result'], + 'TENDENCIES' => $row['tendencies'] - $row['correct_result'], + 'TOTAL' => $row['tendencies'], + ) + ); +} +$db->sql_freeresult($result); + +$rank = 0; +$sql = 'SELECT + r.user_id, + u.username, + COUNT(points) AS count_zero + FROM ' . FOOTB_RANKS . ' AS r + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) + WHERE r.league = $league + AND r.points = 0 + GROUP BY r.user_id + ORDER BY count_zero DESC"; + +$result = $db->sql_query_limit($sql, 20); +while($row = $db->sql_fetchrow($result)) +{ + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['user_id'] == $user->data['user_id']) + { + $row_class = 'bg3 row_user'; + } + $template->assign_block_vars('allflop20', array( + 'ROW_CLASS' => $row_class, + 'NAME' => $row['username'], + 'COUNTZERO' => $row['count_zero'], + ) + ); +} +$db->sql_freeresult($result); + +$league_info = league_info($season, $league); +$sidename = sprintf($user->lang['STAT_POINTS']); +$template->assign_vars(array( + 'S_DISPLAY_STAT_POINTS' => true, + 'S_MATCHDAY_HIDE' => true, + 'S_SIDENAME' => $sidename, + 'S_WIN' => ($league_info['win_matchday'] == '0') ? false : true, + 'S_DATA_STAT_POINTS' => $data, + 'S_DATA_ALL_POINTS' => $data_all, + 'SEASON' => $season, + 'LEAGUE' => $league, + ) +); + ?> \ No newline at end of file diff --git a/block/stat_results.php b/block/stat_results.php index c72deea..17d5d03 100644 --- a/block/stat_results.php +++ b/block/stat_results.php @@ -1,146 +1,140 @@ -phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); - -$rank = 0; -// Select results and count -$sql = 'SELECT - COUNT(DISTINCT(m.match_no)) AS count_result, - COUNT(m.match_no) AS count_bets, - m.goals_home, - m.goals_guest, - SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) - OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) - OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) - ) - ) AS hits, - SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) - OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) - OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), - 0, - IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) - ) - ) AS tendencies, - ' . select_points('m',true) . ' - FROM ' . FOOTB_MATCHES . ' AS m - LEFT JOIN ' . FOOTB_BETS . " AS b ON (m.season = b.season AND m.league = b.league AND m.match_no = b.match_no) - WHERE m.season = $season - AND m.league = $league - AND b.goals_home <> '' - AND b.goals_guest <> '' - AND (m.status IN (3,6)) - AND m.matchday <= $matchday - GROUP BY m.goals_home, m.goals_guest - ORDER BY count_bets DESC"; - -$result = $db->sql_query($sql); -while($row = $db->sql_fetchrow($result)) -{ - $data = true; - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $template->assign_block_vars('result', array( - 'ROW_CLASS' => $row_class, - 'GOALS_HOME' => $row['goals_home'], - 'GOALS_GUEST' => $row['goals_guest'], - 'RESULTS' => $row['count_result'], - 'BETS' => $row['count_bets'], - 'HITS' => $row['hits'], - 'TENDENCIES' => $row['tendencies'], - 'TOTAL' => $row['hits'] + $row['tendencies'], - 'POINTS' => $row['points'], - 'AVERAGE' => round($row['points'] / $row['count_bets'],1), - ) - ); -} -$db->sql_freeresult($result); -// Get goaldifferences by team -$sql = "SELECT - t.*, - SUM(1) AS matches, - SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0))) AS wins, - SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, - SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > (goals_guest+2), 1, 0), IF((goals_home + 2) < goals_guest, 1, 0))) AS plus3, - SUM(IF((m.team_id_home = t.team_id), IF(goals_home = (goals_guest+2), 1, 0), IF((goals_home + 2) = goals_guest, 1, 0))) AS plus2, - SUM(IF((m.team_id_home = t.team_id), IF(goals_home = (goals_guest+1), 1, 0), IF((goals_home + 1) = goals_guest, 1, 0))) AS plus1, - SUM(IF((m.team_id_home = t.team_id), IF((goals_home + 1) = goals_guest, 1, 0), IF(goals_home = (goals_guest + 1), 1, 0))) AS minus1, - SUM(IF((m.team_id_home = t.team_id), IF((goals_home + 2) = goals_guest, 1, 0), IF(goals_home = (goals_guest + 2), 1, 0))) AS minus2, - SUM(IF((m.team_id_home = t.team_id), IF((goals_home + 2) < goals_guest, 1, 0), IF(goals_home + 0 > (goals_guest + 2), 1, 0))) AS minus3, - SUM(IF(m.team_id_home = t.team_id, - IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), - IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) - ) - ) AS points, - SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goal_diff, - SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals, - SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_get - FROM " . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id)) - WHERE t.season = $season - AND t.league = $league - AND m.season = $season - AND m.league = $league - AND m.status IN (3,6) - AND m.matchday <= $matchday - GROUP BY t.team_id - ORDER BY points DESC, goal_diff DESC, goals DESC"; - -$result = $db->sql_query($sql); -$rank = 0; -while($row = $db->sql_fetchrow($result)) -{ - $rank++; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - $logo = "\""" ; - $template->assign_block_vars('points', array( - 'ROW_CLASS' => $row_class, - 'RANK' => $rank, - 'LOGO' => $logo, - 'TEAM' => $row['team_name_short'], - 'MATCHES' => $row['matches'], - 'PLUS3' => $row['plus3'], - 'PLUS2' => $row['plus2'], - 'PLUS1' => $row['plus1'], - 'DRAW' => $row['draw'], - 'MINUS1' => $row['minus1'], - 'MINUS2' => $row['minus2'], - 'MINUS3' => $row['minus3'], - 'GOALS_DIFF' => $row['goal_diff'], - 'POINTS' => $row['points'], - ) - ); -} -$db->sql_freeresult($result); - -$sidename = sprintf($user->lang['STAT_RESULTS']); -$template->assign_vars(array( - 'S_DISPLAY_STAT_RESULTS' => true, - 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'stat_points', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['STAT_POINTS']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['BET']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_STAT_POINTS']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_BET']), - 'S_DATA_STAT_RESULTS' => $data, - 'SEASON' => $season, - 'LEAGUE' => $league, - ) -); - +phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); + +$rank = 0; +// Select results and count +$sql = 'SELECT + COUNT(DISTINCT(m.match_no)) AS count_result, + COUNT(m.match_no) AS count_bets, + m.goals_home, + m.goals_guest, + SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) + OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) + OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) + ) + ) AS hits, + SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < m.goals_guest) + OR (b.goals_home = b.goals_guest) <> (m.goals_home = m.goals_guest) + OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), + 0, + IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) + ) + ) AS tendencies, + ' . select_points('m',true) . ' + FROM ' . FOOTB_MATCHES . ' AS m + LEFT JOIN ' . FOOTB_BETS . " AS b ON (m.season = b.season AND m.league = b.league AND m.match_no = b.match_no) + WHERE m.season = $season + AND m.league = $league + AND b.goals_home <> '' + AND b.goals_guest <> '' + AND (m.status IN (3,6)) + AND m.matchday <= $matchday + GROUP BY m.goals_home, m.goals_guest + ORDER BY count_bets DESC"; + +$result = $db->sql_query($sql); +while($row = $db->sql_fetchrow($result)) +{ + $data = true; + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $template->assign_block_vars('result', array( + 'ROW_CLASS' => $row_class, + 'GOALS_HOME' => $row['goals_home'], + 'GOALS_GUEST' => $row['goals_guest'], + 'RESULTS' => $row['count_result'], + 'BETS' => $row['count_bets'], + 'HITS' => $row['hits'], + 'TENDENCIES' => $row['tendencies'], + 'TOTAL' => $row['hits'] + $row['tendencies'], + 'POINTS' => $row['points'], + 'AVERAGE' => round($row['points'] / $row['count_bets'],1), + ) + ); +} +$db->sql_freeresult($result); +// Get goaldifferences by team +$sql = "SELECT + t.*, + SUM(1) AS matches, + SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0))) AS wins, + SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, + SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > (goals_guest+2), 1, 0), IF((goals_home + 2) < goals_guest, 1, 0))) AS plus3, + SUM(IF((m.team_id_home = t.team_id), IF(goals_home = (goals_guest+2), 1, 0), IF((goals_home + 2) = goals_guest, 1, 0))) AS plus2, + SUM(IF((m.team_id_home = t.team_id), IF(goals_home = (goals_guest+1), 1, 0), IF((goals_home + 1) = goals_guest, 1, 0))) AS plus1, + SUM(IF((m.team_id_home = t.team_id), IF((goals_home + 1) = goals_guest, 1, 0), IF(goals_home = (goals_guest + 1), 1, 0))) AS minus1, + SUM(IF((m.team_id_home = t.team_id), IF((goals_home + 2) = goals_guest, 1, 0), IF(goals_home = (goals_guest + 2), 1, 0))) AS minus2, + SUM(IF((m.team_id_home = t.team_id), IF((goals_home + 2) < goals_guest, 1, 0), IF(goals_home + 0 > (goals_guest + 2), 1, 0))) AS minus3, + SUM(IF(m.team_id_home = t.team_id, + IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), + IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) + ) + ) AS points, + SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goal_diff, + SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals, + SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_get + FROM " . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id)) + WHERE t.season = $season + AND t.league = $league + AND m.season = $season + AND m.league = $league + AND m.status IN (3,6) + AND m.matchday <= $matchday + GROUP BY t.team_id + ORDER BY points DESC, goal_diff DESC, goals DESC"; + +$result = $db->sql_query($sql); +$rank = 0; +while($row = $db->sql_fetchrow($result)) +{ + $rank++; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + $logo = "\""" ; + $template->assign_block_vars('points', array( + 'ROW_CLASS' => $row_class, + 'RANK' => $rank, + 'LOGO' => $logo, + 'TEAM' => $row['team_name_short'], + 'MATCHES' => $row['matches'], + 'PLUS3' => $row['plus3'], + 'PLUS2' => $row['plus2'], + 'PLUS1' => $row['plus1'], + 'DRAW' => $row['draw'], + 'MINUS1' => $row['minus1'], + 'MINUS2' => $row['minus2'], + 'MINUS3' => $row['minus3'], + 'GOALS_DIFF' => $row['goal_diff'], + 'POINTS' => $row['points'], + ) + ); +} +$db->sql_freeresult($result); + +$sidename = sprintf($user->lang['STAT_RESULTS']); +$template->assign_vars(array( + 'S_DISPLAY_STAT_RESULTS' => true, + 'S_SIDENAME' => $sidename, + 'S_DATA_STAT_RESULTS' => $data, + 'SEASON' => $season, + 'LEAGUE' => $league, + ) +); + ?> \ No newline at end of file diff --git a/block/table.php b/block/table.php index 33b3911..87a5226 100644 --- a/block/table.php +++ b/block/table.php @@ -1,446 +1,440 @@ - 5) -{ - $form_from = $matchday - 5; -} -else -{ - $form_from = 1; -} -$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); - -$sql = 'SELECT * - FROM ' . FOOTB_LEAGUES . " - WHERE season = $season - AND league = $league"; -$result = $db->sql_query($sql); -$row = $db->sql_fetchrow($result); -$league_type = $row['league_type']; -$db->sql_freeresult($result); - -$text_form = sprintf($user->lang['TABLE_FORM_FROM'], $form_from); - -$rank = 0; -// Get table-information -$sql = "SELECT - t.*, - SUM(1) AS matches, - SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0))) AS win, - SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, - SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 < goals_guest, 1, 0), IF(goals_home + 0 > goals_guest, 1, 0))) AS lost, - SUM(IF(m.team_id_home = t.team_id, - IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), - IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) - ) - ) - IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points, - SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff, - SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals, - SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against - FROM " . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league - AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) - WHERE t.season = $season - AND t.league = $league - AND m.matchday <= $matchday - AND m.status IN (2,3,5,6) - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; - -$result = $db->sql_query($sql); - -$table_ary = array(); -$points_ary = array(); -$ranks_ary = array(); -$rank = 0; -while( $row = $db->sql_fetchrow($result)) -{ - $rank++; - $table_ary[$row['team_id']] = $row; - $points_ary[$row['group_id']][$row['points']][]=$row['team_id']; - $ranks_ary[] = $row['team_id']; -} - -$last_group = ''; -$rank = 0; -$current_rank = 0; -$last_goals = 0; -$last_goals_againts = 0; -$last_points = 0; -foreach($points_ary as $group_id => $points) -{ - $data_table = true; - if ($last_group != $group_id) - { - $last_group =$group_id; - $rank = 0; - $last_goals = 0; - $last_goals_againts = 0; - $last_points = 0; - $template->assign_block_vars('total', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' .$group_id, - ) - ); - } - - foreach($points as $point => $teams) - { - if(count($teams) > 1 AND $group_id != '') - { - // Compare teams with equal points and sort - $teams = get_order_team_compare($teams, $season, $league, $group_id, $ranks_ary, $matchday); - } - foreach($teams as $key => $team) - { - $row = $table_ary[$team]; - $rank++; - if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) - { - $current_rank = $rank . '.'; - } - else - { - $current_rank = ''; - } - $last_points = $row['points']; - $last_goals = $row['goals']; - $last_goals_againts = $row['goals_against']; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['team_symbol'] <> '') - { - $logo = "\""" ; - } - else - { - $logo = "\"\"" ; - } - - $template->assign_block_vars('total', array( - 'RANK' => $current_rank, - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM' => $row['team_name'], - 'TEAM_SHORT' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $row['team_id'], 'mode' => 'played')), - 'GAMES' => $row['matches'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'GOALS' => $row['goals'], - 'GOALS_AGAINST' => $row['goals_against'], - 'GOALS_DIFF' => $row['goals_diff'], - 'POINTS' => $row['points'], - ) - ); - } - } -} - -$db->sql_freeresult($result); -$rank = 0; -// Get form-table-information -$sql = 'SELECT - t.*, - SUM(1) AS matches, - SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0))) AS win, - SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, - SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 < goals_guest, 1, 0), IF(goals_home + 0 > goals_guest, 1, 0))) AS lost, - SUM(IF(m.team_id_home = t.team_id, - IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), - IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) - ) - ) AS points, - SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff, - SUM(IF(m.team_id_home = t.team_id, goals_home, goals_guest)) AS goals, - SUM(IF(m.team_id_home = t.team_id, goals_guest, goals_home)) AS goals_against - FROM ' . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league - AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) - WHERE t.season = $season - AND t.league = $league - AND m.matchday >= $form_from - AND m.status IN (2, 3,5,6) - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; - -$result = $db->sql_query($sql); -$last_group = ''; -$current_rank = 0; -$last_goals = 0; -$last_goals_againts = 0; -$last_points = 0; -while($row = $db->sql_fetchrow($result)) -{ - if ($last_group != $row['group_id']) - { - $last_group = $row['group_id']; - $rank = 0; - $last_goals = 0; - $last_goals_againts = 0; - $last_points = 0; - $template->assign_block_vars('form', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], - ) - ); - } - if ($league_type != 2 OR $row['group_id'] != '') - { - $data_form = true; - $rank++; - if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) - { - $current_rank = $rank . '.'; - } - else - { - $current_rank = ''; - } - $last_points = $row['points']; - $last_goals = $row['goals']; - $last_goals_againts = $row['goals_against']; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['team_symbol'] <> '') - { - $logo = "\""" ; - } - else - { - $logo = "\"\"" ; - } - - $template->assign_block_vars('form', array( - 'RANK' => $current_rank, - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM' => $row['team_name'], - 'TEAM_SHORT' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $row['team_id'], 'mode' => 'rest')), - 'GAMES' => $row['matches'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'GOALS' => $row['goals'], - 'GOALS_AGAINST' => $row['goals_against'], - 'GOALS_DIFF' => $row['goals_diff'], - 'POINTS' => $row['points'], - ) - ); - } -} -$db->sql_freeresult($result); -$rank = 0; -// Get home-table-information -$sql = 'SELECT - t.*, - SUM(1) AS matches, - SUM(IF(goals_home + 0 > goals_guest, 1, 0)) AS win, - SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, - SUM(IF(goals_home + 0 < goals_guest, 1, 0)) AS lost, - SUM(IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0))) AS points, - SUM(goals_home - goals_guest) AS goals_diff, - SUM(goals_home) AS goals, - SUM(goals_guest) AS goals_against - FROM ' . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league - AND m.team_id_home = t.team_id AND m.group_id = t.group_id) - WHERE t.season = $season - AND t.league = $league - AND m.matchday <= $matchday - AND m.status IN (2, 3,5,6) - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; - -$result = $db->sql_query($sql); -$last_group = ''; -$current_rank = 0; -$last_goals = 0; -$last_goals_againts = 0; -$last_points = 0; -while($row = $db->sql_fetchrow($result)) -{ - if ($last_group != $row['group_id']) - { - $last_group = $row['group_id']; - $rank = 0; - $last_goals = 0; - $last_goals_againts = 0; - $last_points = 0; - $template->assign_block_vars('home', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], - ) - ); - } - if ($league_type != 2 OR $row['group_id'] != '') - { - $rank++; - if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) - { - $current_rank = $rank . '.'; - } - else - { - $current_rank = ''; - } - $last_points = $row['points']; - $last_goals = $row['goals']; - $last_goals_againts = $row['goals_against']; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['team_symbol'] <> '') - { - $logo = "\""" ; - } - else - { - $logo = "\"\"" ; - } - - $template->assign_block_vars('home', array( - 'RANK' => $current_rank, - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM' => $row['team_name'], - 'TEAM_SHORT' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $row['team_id'], 'mode' => 'home')), - 'GAMES' => $row['matches'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'GOALS' => $row['goals'], - 'GOALS_AGAINST' => $row['goals_against'], - 'GOALS_DIFF' => $row['goals_diff'], - 'POINTS' => $row['points'], - ) - ); - } -} -$db->sql_freeresult($result); -$rank = 0; -// Get away-table-information -$sql = 'SELECT - t.*, - SUM(1) AS matches, - SUM(IF(goals_home + 0 < goals_guest, 1, 0)) AS win, - SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, - SUM(IF(goals_home + 0 > goals_guest, 1, 0)) AS lost, - SUM(IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0))) AS points, - SUM(goals_guest - goals_home) AS goals_diff, - SUM(goals_guest) AS goals, - SUM(goals_home) AS goals_against - FROM ' . FOOTB_TEAMS . ' AS t - LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league - AND m.team_id_guest = t.team_id AND m.group_id = t.group_id) - WHERE t.season = $season - AND t.league = $league - AND m.matchday <= $matchday - AND m.status IN (2, 3,5,6) - GROUP BY t.team_id - ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; - -$result = $db->sql_query($sql); -$last_group = ''; -$current_rank = 0; -$last_goals = 0; -$last_goals_againts = 0; -$last_points = 0; -while($row = $db->sql_fetchrow($result)) -{ - if ($last_group != $row['group_id']) - { - $last_group = $row['group_id']; - $rank = 0; - $last_goals = 0; - $last_goals_againts = 0; - $last_points = 0; - $template->assign_block_vars('away', array( - 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], - ) - ); - } - if ($league_type != 2 OR $row['group_id'] != '') - { - $rank++; - if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) - { - $current_rank = $rank . '.'; - } - else - { - $current_rank = ''; - } - $last_points = $row['points']; - $last_goals = $row['goals']; - $last_goals_againts = $row['goals_against']; - $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; - if ($row['team_symbol'] <> '') - { - $logo = "\""" ; - } - else - { - $logo = "\"\"" ; - } - - $template->assign_block_vars('away', array( - 'RANK' => $current_rank, - 'ROW_CLASS' => $row_class, - 'LOGO' => $logo, - 'TEAM_ID' => $row['team_id'], - 'TEAM' => $row['team_name'], - 'TEAM_SHORT' => $row['team_name_short'], - 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], - 'tid' => $row['team_id'], 'mode' => 'away')), - 'GAMES' => $row['matches'], - 'WIN' => $row['win'], - 'DRAW' => $row['draw'], - 'LOST' => $row['lost'], - 'GOALS' => $row['goals'], - 'GOALS_AGAINST' => $row['goals_against'], - 'GOALS_DIFF' => $row['goals_diff'], - 'POINTS' => $row['points'], - ) - ); - } -} - -$db->sql_freeresult($result); -$sidename = sprintf($user->lang['TABLE']); -$template->assign_vars(array( - 'S_DISPLAY_TABLE' => true, - 'S_SIDENAME' => $sidename, - 'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'results', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'LEFT_LINK' => '< ' . sprintf($user->lang['RESULTS']), - 'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)), - 'RIGHT_LINK' => sprintf($user->lang['RANK_MATCHDAY']) . ' >', - 'LEFT_TITLE' => sprintf($user->lang['TITLE_RESULTS']), - 'RIGHT_TITLE' => sprintf($user->lang['TITLE_RANK_MATCHDAY']), - 'S_DATA_TABLE' => $data_table, - 'S_DATA_FORM' => $data_form, - 'SEASON' => $season, - 'LEAGUE' => $league, - 'TEXT_FORM' => $text_form, - ) -); - + 5) +{ + $form_from = $matchday - 5; +} +else +{ + $form_from = 1; +} +$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); + +$sql = 'SELECT * + FROM ' . FOOTB_LEAGUES . " + WHERE season = $season + AND league = $league"; +$result = $db->sql_query($sql); +$row = $db->sql_fetchrow($result); +$league_type = $row['league_type']; +$db->sql_freeresult($result); + +$text_form = sprintf($user->lang['TABLE_FORM_FROM'], $form_from); + +$rank = 0; +// Get table-information +$sql = "SELECT + t.*, + SUM(1) AS matches, + SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0))) AS win, + SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, + SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 < goals_guest, 1, 0), IF(goals_home + 0 > goals_guest, 1, 0))) AS lost, + SUM(IF(m.team_id_home = t.team_id, + IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), + IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) + ) + ) - IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points, + SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff, + SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals, + SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against + FROM " . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league + AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) + WHERE t.season = $season + AND t.league = $league + AND m.matchday <= $matchday + AND m.status IN (2,3,5,6) + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; + +$result = $db->sql_query($sql); + +$table_ary = array(); +$points_ary = array(); +$ranks_ary = array(); +$rank = 0; +while( $row = $db->sql_fetchrow($result)) +{ + $rank++; + $table_ary[$row['team_id']] = $row; + $points_ary[$row['group_id']][$row['points']][]=$row['team_id']; + $ranks_ary[] = $row['team_id']; +} + +$last_group = ''; +$rank = 0; +$current_rank = 0; +$last_goals = 0; +$last_goals_againts = 0; +$last_points = 0; +foreach($points_ary as $group_id => $points) +{ + $data_table = true; + if ($last_group != $group_id) + { + $last_group =$group_id; + $rank = 0; + $last_goals = 0; + $last_goals_againts = 0; + $last_points = 0; + $template->assign_block_vars('total', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' .$group_id, + ) + ); + } + + foreach($points as $point => $teams) + { + if(count($teams) > 1 AND $group_id != '') + { + // Compare teams with equal points and sort + $teams = get_order_team_compare($teams, $season, $league, $group_id, $ranks_ary, $matchday); + } + foreach($teams as $key => $team) + { + $row = $table_ary[$team]; + $rank++; + if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) + { + $current_rank = $rank . '.'; + } + else + { + $current_rank = ''; + } + $last_points = $row['points']; + $last_goals = $row['goals']; + $last_goals_againts = $row['goals_against']; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['team_symbol'] <> '') + { + $logo = "\""" ; + } + else + { + $logo = "\"\"" ; + } + + $template->assign_block_vars('total', array( + 'RANK' => $current_rank, + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM' => $row['team_name'], + 'TEAM_SHORT' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $row['team_id'], 'mode' => 'played')), + 'GAMES' => $row['matches'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'GOALS' => $row['goals'], + 'GOALS_AGAINST' => $row['goals_against'], + 'GOALS_DIFF' => $row['goals_diff'], + 'POINTS' => $row['points'], + ) + ); + } + } +} + +$db->sql_freeresult($result); +$rank = 0; +// Get form-table-information +$sql = 'SELECT + t.*, + SUM(1) AS matches, + SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0))) AS win, + SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, + SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 < goals_guest, 1, 0), IF(goals_home + 0 > goals_guest, 1, 0))) AS lost, + SUM(IF(m.team_id_home = t.team_id, + IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), + IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) + ) + ) AS points, + SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff, + SUM(IF(m.team_id_home = t.team_id, goals_home, goals_guest)) AS goals, + SUM(IF(m.team_id_home = t.team_id, goals_guest, goals_home)) AS goals_against + FROM ' . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league + AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) + WHERE t.season = $season + AND t.league = $league + AND m.matchday >= $form_from + AND m.status IN (2, 3,5,6) + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; + +$result = $db->sql_query($sql); +$last_group = ''; +$current_rank = 0; +$last_goals = 0; +$last_goals_againts = 0; +$last_points = 0; +while($row = $db->sql_fetchrow($result)) +{ + if ($last_group != $row['group_id']) + { + $last_group = $row['group_id']; + $rank = 0; + $last_goals = 0; + $last_goals_againts = 0; + $last_points = 0; + $template->assign_block_vars('form', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], + ) + ); + } + if ($league_type != 2 OR $row['group_id'] != '') + { + $data_form = true; + $rank++; + if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) + { + $current_rank = $rank . '.'; + } + else + { + $current_rank = ''; + } + $last_points = $row['points']; + $last_goals = $row['goals']; + $last_goals_againts = $row['goals_against']; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['team_symbol'] <> '') + { + $logo = "\""" ; + } + else + { + $logo = "\"\"" ; + } + + $template->assign_block_vars('form', array( + 'RANK' => $current_rank, + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM' => $row['team_name'], + 'TEAM_SHORT' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $row['team_id'], 'mode' => 'rest')), + 'GAMES' => $row['matches'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'GOALS' => $row['goals'], + 'GOALS_AGAINST' => $row['goals_against'], + 'GOALS_DIFF' => $row['goals_diff'], + 'POINTS' => $row['points'], + ) + ); + } +} +$db->sql_freeresult($result); +$rank = 0; +// Get home-table-information +$sql = 'SELECT + t.*, + SUM(1) AS matches, + SUM(IF(goals_home + 0 > goals_guest, 1, 0)) AS win, + SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, + SUM(IF(goals_home + 0 < goals_guest, 1, 0)) AS lost, + SUM(IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0))) AS points, + SUM(goals_home - goals_guest) AS goals_diff, + SUM(goals_home) AS goals, + SUM(goals_guest) AS goals_against + FROM ' . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league + AND m.team_id_home = t.team_id AND m.group_id = t.group_id) + WHERE t.season = $season + AND t.league = $league + AND m.matchday <= $matchday + AND m.status IN (2, 3,5,6) + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; + +$result = $db->sql_query($sql); +$last_group = ''; +$current_rank = 0; +$last_goals = 0; +$last_goals_againts = 0; +$last_points = 0; +while($row = $db->sql_fetchrow($result)) +{ + if ($last_group != $row['group_id']) + { + $last_group = $row['group_id']; + $rank = 0; + $last_goals = 0; + $last_goals_againts = 0; + $last_points = 0; + $template->assign_block_vars('home', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], + ) + ); + } + if ($league_type != 2 OR $row['group_id'] != '') + { + $rank++; + if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) + { + $current_rank = $rank . '.'; + } + else + { + $current_rank = ''; + } + $last_points = $row['points']; + $last_goals = $row['goals']; + $last_goals_againts = $row['goals_against']; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['team_symbol'] <> '') + { + $logo = "\""" ; + } + else + { + $logo = "\"\"" ; + } + + $template->assign_block_vars('home', array( + 'RANK' => $current_rank, + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM' => $row['team_name'], + 'TEAM_SHORT' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $row['team_id'], 'mode' => 'home')), + 'GAMES' => $row['matches'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'GOALS' => $row['goals'], + 'GOALS_AGAINST' => $row['goals_against'], + 'GOALS_DIFF' => $row['goals_diff'], + 'POINTS' => $row['points'], + ) + ); + } +} +$db->sql_freeresult($result); +$rank = 0; +// Get away-table-information +$sql = 'SELECT + t.*, + SUM(1) AS matches, + SUM(IF(goals_home + 0 < goals_guest, 1, 0)) AS win, + SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, + SUM(IF(goals_home + 0 > goals_guest, 1, 0)) AS lost, + SUM(IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0))) AS points, + SUM(goals_guest - goals_home) AS goals_diff, + SUM(goals_guest) AS goals, + SUM(goals_home) AS goals_against + FROM ' . FOOTB_TEAMS . ' AS t + LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league + AND m.team_id_guest = t.team_id AND m.group_id = t.group_id) + WHERE t.season = $season + AND t.league = $league + AND m.matchday <= $matchday + AND m.status IN (2, 3,5,6) + GROUP BY t.team_id + ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; + +$result = $db->sql_query($sql); +$last_group = ''; +$current_rank = 0; +$last_goals = 0; +$last_goals_againts = 0; +$last_points = 0; +while($row = $db->sql_fetchrow($result)) +{ + if ($last_group != $row['group_id']) + { + $last_group = $row['group_id']; + $rank = 0; + $last_goals = 0; + $last_goals_againts = 0; + $last_points = 0; + $template->assign_block_vars('away', array( + 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], + ) + ); + } + if ($league_type != 2 OR $row['group_id'] != '') + { + $rank++; + if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) + { + $current_rank = $rank . '.'; + } + else + { + $current_rank = ''; + } + $last_points = $row['points']; + $last_goals = $row['goals']; + $last_goals_againts = $row['goals_against']; + $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; + if ($row['team_symbol'] <> '') + { + $logo = "\""" ; + } + else + { + $logo = "\"\"" ; + } + + $template->assign_block_vars('away', array( + 'RANK' => $current_rank, + 'ROW_CLASS' => $row_class, + 'LOGO' => $logo, + 'TEAM_ID' => $row['team_id'], + 'TEAM' => $row['team_name'], + 'TEAM_SHORT' => $row['team_name_short'], + 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], + 'tid' => $row['team_id'], 'mode' => 'away')), + 'GAMES' => $row['matches'], + 'WIN' => $row['win'], + 'DRAW' => $row['draw'], + 'LOST' => $row['lost'], + 'GOALS' => $row['goals'], + 'GOALS_AGAINST' => $row['goals_against'], + 'GOALS_DIFF' => $row['goals_diff'], + 'POINTS' => $row['points'], + ) + ); + } +} + +$db->sql_freeresult($result); +$sidename = sprintf($user->lang['TABLE']); +$template->assign_vars(array( + 'S_DISPLAY_TABLE' => true, + 'S_SIDENAME' => $sidename, + 'S_DATA_TABLE' => $data_table, + 'S_DATA_FORM' => $data_form, + 'SEASON' => $season, + 'LEAGUE' => $league, + 'TEXT_FORM' => $text_form, + ) +); + ?> \ No newline at end of file diff --git a/composer.json b/composer.json index f8373ba..32f25cc 100644 --- a/composer.json +++ b/composer.json @@ -3,8 +3,8 @@ "type": "phpbb-extension", "description": "Football Prediction League", "homepage": "http://football.bplaced.net", - "version": "0.9.8", - "time": "2017-02-19", + "version": "0.9.9b1", + "time": "2017-09-09", "license": "GPL-2.0", "authors": [{ "name": "J. Helmke", diff --git a/controller/main.php b/controller/main.php index 635a8ce..23140f3 100644 --- a/controller/main.php +++ b/controller/main.php @@ -308,8 +308,8 @@ class main $user_id = $user->data['user_id']; $sql = 'SELECT * FROM ' . FOOTB_MATCHES . " WHERE season = $season AND league = $league AND matchday = $matchday AND status <= 0"; $resultopen = $db->sql_query($sql); - $rows = $db->sql_fetchrowset($resultopen); + $db->sql_freeresult($resultopen); $count_matches = 0; $count_updates = 0; @@ -419,7 +419,6 @@ class main { $dbmsg = sprintf($user->lang['NO_BETS_SAVED']); } - $db->sql_freeresult($resultopen); // extra bets $sql = 'SELECT * FROM ' . FOOTB_EXTRA . " WHERE season = $season AND league = $league AND matchday = $matchday AND extra_status <= 0"; @@ -479,6 +478,7 @@ class main } } } + $db->sql_freeresult($resultextra); if ($count_extra_updates) { $dbmsg = $dbmsg . ' ' . sprintf($user->lang['EXTRA_BET' . (($count_extra_updates == 1) ? '' : 'S') . '_SAVED'], $count_extra_updates); @@ -725,6 +725,7 @@ class main } } } + $db->sql_freeresult($resultextra); if ($count_extra_updates) { $dbmsg = $dbmsg . ' ' . sprintf($user->lang['EXTRA_RESULT' . (($count_extra_updates == 1) ? '' : 'S') . '_SAVED'], $count_extra_updates); @@ -823,7 +824,7 @@ class main $league_type = $row['league_type']; $db->sql_freeresult($result); $lang_dates = $user->lang['datetime']; - $local_board_time = time() + (($config['board_timezone'] - $config['football_host_timezone']) * 3600); + $local_board_time = time() + ($config['football_time_shift'] * 3600); $sql = "SELECT *, CONCAT( CASE DATE_FORMAT(delivery_date,'%w') @@ -1000,7 +1001,14 @@ class main else { $mobile = ''; - include($this->football_root_path . 'block/last_users.' . $this->php_ext); + if ($config['football_display_last_users'] > 0) + { + include($this->football_root_path . 'block/last_users.' . $this->php_ext); + } + if ($config['football_display_last_results'] > 0) + { + include($this->football_root_path . 'block/last_results.' . $this->php_ext); + } } // Send data to the template file if ($view == 'print') diff --git a/images/arrow_down.gif b/images/arrow_down.gif deleted file mode 100644 index 2f3c16052d8953d8d83aa1492a848b251b3934a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmZ?wbhEHbEf2^4>VG)ge&fTTcnGO$`GwCQ>- zW?59>c%fkF4VBPqEX-R}J0?4Ma9CWhtP1~W?q?fJ5;WO$ HSQxAUo$Ds| diff --git a/images/arrow_up.gif b/images/arrow_up.gif deleted file mode 100644 index ee3aa68a019e916c6d18006d5327b02ade94ef31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmZ?wbhEHbKU14G601@coqZ0OdyNl|Ns9W3IizqWC5y@V9)`{fb3*owNy|` zI-3!9CN-)5sl}>_(8dr$5wp-vkk-F&xVBug@p!OI)CEog;Q59o-i}FymI~|BLl!vg_MqtiahvEw{O6p$E0uAR{NN|OTFfmvI0O!y|%>V!Z diff --git a/includes/export.php b/includes/export.php index 7af6d41..8c76f21 100644 --- a/includes/export.php +++ b/includes/export.php @@ -1,271 +1,271 @@ -sql_query($sql) ) -{ - trigger_error('NO_LEAGUE'); -} -$league_short = $db->sql_fetchfield('league_name_short'); -$db->sql_freeresult($result); -$export_file = $league_short . '_'. $season. '_Tipps.csv'; -$path_attachment = './../../files/' . $export_file; -$newline = "\r\n"; - -if (!isset($_POST['send'])) -{ - header('Pragma: no-cache'); - header("Content-Type: text/csv; name=\"$export_file\""); - header("Content-disposition: attachment; filename=$export_file"); - -// header('Content-Type: text/x-csv'); -// header('Expires: ' . gmdate('D, d M Y H:i:m') . ' GMT'); -// header('Content-Disposition: attachment; filename='. $export_file); - $phpbb_root_path = './../'; -} -else -{ - $phpbb_root_path = './../../'; -} - -$sql_users = 'SELECT DISTINCT - b.user_id, - u.username - FROM ' . FOOTB_BETS . ' AS b - LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) - WHERE b.season = $season AND b.league = $league - ORDER BY b.user_id ASC"; - -$sql_results = "SELECT - m.match_no, - DATE_FORMAT(m.match_datetime,'%d.%m.%Y') AS match_time, - m.matchday, - m.formula_home, - m.formula_guest, - t1.team_id AS hid, - t2.team_id AS gid, - t1.team_name_short AS team_home, - t2.team_name_short AS team_guest, - m.status, - m.goals_home, - m.goals_guest - FROM " . FOOTB_MATCHES . ' AS m - LEFT JOIN ' . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id=m.team_id_home) - LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id=m.team_id_guest) - WHERE m.season = $season AND m.league = $league - ORDER BY m.match_no ASC"; - -$sql_bets = "SELECT - m.matchday, - m.match_no, - b.user_id, - IF(m.status > 0, b.goals_home, '') AS bet_home, - IF(m.status > 0, b.goals_guest, '') AS bet_guest - FROM " . FOOTB_MATCHES . ' AS m - LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no) - WHERE m.season = $season AND m.league = $league - ORDER BY matchday ASC, match_no ASC, user_id ASC"; - -if(!$result_users = $db->sql_query($sql_users)) -{ - trigger_error('NO_USER'); -} -$rows_users = $db->sql_fetchrowset($result_users); -$count_user = sizeof($rows_users); -$db->sql_freeresult($result_users); -$j = 0; -$column = array(); -foreach ($rows_users as $row_user) -{ - $column[(8 + (3 * ($j)))] = str_replace("\"", "\"\"", $row_user['username']); - $lastcolumn = 8 + (3 * ($j)); - $bet_column[$row_user['user_id']] = $lastcolumn; - $j++; -} -$export_row_users = "\"\";\"\";\"\";\"\";\"\";\"\";"; -for($j = 8; $j <= $lastcolumn; $j = $j + 3) -{ - $export_row_users .= "\"\";\"\";\"" . $column[$j] . "\""; - if($j != $lastcolumn) - { - $export_row_users .= ';'; - } -} -$export_row_users .= $newline; - -if( !$result_results = $db->sql_query($sql_results) ) -{ - trigger_error('NO_RESULTS'); -} -$rows_results = $db->sql_fetchrowset($result_results); -$count_results = sizeof($rows_results); -$db->sql_freeresult($result_results); - -if( !$result_bets = $db->sql_query($sql_bets) ) -{ - trigger_error('NO_BETS'); -} -$rows_bets = $db->sql_fetchrowset($result_bets); -$count_bets = sizeof($rows_bets); -$db->sql_freeresult($result_results); -$column = array(); -$lastcolumn = 0; -$last_match_num = 0; -foreach ($rows_bets as $row_bet) -{ - if ($row_bet['match_no'] == $last_match_num) - { - $column[$bet_column[$row_bet['user_id']]] = str_replace("\"", "\"\"", $row_bet['bet_home']); - $column[$bet_column[$row_bet['user_id']] + 1] = str_replace("\"", "\"\"", $row_bet['bet_guest']); - $column[$bet_column[$row_bet['user_id']] + 2] = ''; - $lastcolumn = $bet_column[$row_bet['user_id']] + 2; - } - else - { - if ($lastcolumn > 0) - { - $export_bets[$last_match_num] = ''; - for($j=8; $j<=$lastcolumn; $j++) - { - $export_bets[$last_match_num] .= "\"" . $column[$j] . "\""; - if($j!=$lastcolumn) - { - $export_bets[$last_match_num] .= ';'; - } - } - $export_bets[$last_match_num] .= $newline; - } - $column = array(); - $last_match_num = $row_bet['match_no']; - $column[$bet_column[$row_bet['user_id']]] = str_replace("\"", "\"\"", $row_bet['bet_home']); - $column[$bet_column[$row_bet['user_id']] + 1] = str_replace("\"", "\"\"", $row_bet['bet_guest']); - $column[$bet_column[$row_bet['user_id']] + 2] = ''; - $lastcolumn = $bet_column[$row_bet['user_id']] + 2; - } -} -$export_bets[$last_match_num] = ''; -for($j = 8; $j <= $lastcolumn; $j++) -{ - $export_bets[$last_match_num] .= "\"" . $column[$j] . "\""; - if($j != $lastcolumn) - { - $export_bets[$last_match_num] .= ';'; - } -} -$export_bets[$last_match_num] .= $newline; - -$last_matchday = 0; - -$export= ''; -$export .= 'CSV;'. $league. ';'. $season. $newline; - -$i = 0; -foreach ($rows_results as $row_result) -{ - if ($last_matchday != $row_result['matchday']) - { - if ($last_matchday != 0) - { - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= ";;". str_replace("\"", "\"\"", $row_result['match_time']). $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - } - else - { - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= ";;". str_replace("\"", "\"\"", $row_result['match_time']). $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - $export .= $newline; - } - $export .= $export_row_users; - $column = array(); - $last_matchday = $row_result['matchday']; - } - if (0 == $row_result['hid']) - { - $home_info = get_team($season, $league, $row_result['match_no'], 'team_id_home', $row_result['formula_home']); - $home_in_array = explode("#",$home_info); - $homename = $home_in_array[3]; - } - else - { - $homename = $row_result['team_home']; - } - if (0 == $row_result['gid']) - { - $guest_info = get_team($season, $league, $row_result['match_no'], 'team_id_guest', $row_result['formula_guest']); - $guest_in_array = explode("#",$guest_info); - $guestname = $guest_in_array[3]; - } - else - { - $guestname = $row_result['team_guest']; - } - $column[0] = str_replace("\"", "\"\"", $homename); - $column[1] = str_replace("\"", "\"\"", $guestname); - - if ($row_result['status'] == 3) - { - $column[2] = str_replace("\"", "\"\"", $row_result['goals_home']); - $column[4] = str_replace("\"", "\"\"", $row_result['goals_guest']); - } - else - { - $column[2] = ''; - $column[4] = ''; - } - $export .= "\"" . $column[0] . "\";\"" . $column[1] . "\";\"" . $column[2] . "\";\"\";\"" . $column[4] . "\";\"\";\"\";\"\";"; - if ($export_bets[$row_result['match_no']] == '') - { - $export .= $newline; - } - else - { - $export .= $export_bets[$row_result['match_no']]; - } - $column = array(); - $i++; -} - -if (isset($_POST['send'])) -{ - $fp = fopen($path_attachment , "b"); - ftruncate ($fp, 0); - rewind($fp); - fwrite ($fp, $export); - fclose($fp); -} -else -{ - echo utf8_decode($export); - exit; -} -?> +sql_query($sql) ) +{ + trigger_error('NO_LEAGUE'); +} +$league_short = $db->sql_fetchfield('league_name_short'); +$db->sql_freeresult($result); +$export_file = $league_short . '_'. $season. '_Tipps.csv'; +$path_attachment = './../../files/' . $export_file; +$newline = "\r\n"; + +if (!isset($_POST['send'])) +{ + header('Pragma: no-cache'); + header("Content-Type: text/csv; name=\"$export_file\""); + header("Content-disposition: attachment; filename=$export_file"); + +// header('Content-Type: text/x-csv'); +// header('Expires: ' . gmdate('D, d M Y H:i:m') . ' GMT'); +// header('Content-Disposition: attachment; filename='. $export_file); + $phpbb_root_path = './../'; +} +else +{ + $phpbb_root_path = './../../'; +} + +$sql_users = 'SELECT DISTINCT + b.user_id, + u.username + FROM ' . FOOTB_BETS . ' AS b + LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) + WHERE b.season = $season AND b.league = $league + ORDER BY b.user_id ASC"; + +$sql_results = "SELECT + m.match_no, + DATE_FORMAT(m.match_datetime,'%d.%m.%Y') AS match_time, + m.matchday, + m.formula_home, + m.formula_guest, + t1.team_id AS hid, + t2.team_id AS gid, + t1.team_name_short AS team_home, + t2.team_name_short AS team_guest, + m.status, + m.goals_home, + m.goals_guest + FROM " . FOOTB_MATCHES . ' AS m + LEFT JOIN ' . FOOTB_TEAMS . ' AS t1 ON (t1.season = m.season AND t1.league = m.league AND t1.team_id=m.team_id_home) + LEFT JOIN ' . FOOTB_TEAMS . " AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id=m.team_id_guest) + WHERE m.season = $season AND m.league = $league + ORDER BY m.match_no ASC"; + +$sql_bets = "SELECT + m.matchday, + m.match_no, + b.user_id, + IF(m.status > 0, b.goals_home, '') AS bet_home, + IF(m.status > 0, b.goals_guest, '') AS bet_guest + FROM " . FOOTB_MATCHES . ' AS m + LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no) + WHERE m.season = $season AND m.league = $league + ORDER BY matchday ASC, match_no ASC, user_id ASC"; + +if(!$result_users = $db->sql_query($sql_users)) +{ + trigger_error('NO_USER'); +} +$rows_users = $db->sql_fetchrowset($result_users); +$count_user = sizeof($rows_users); +$db->sql_freeresult($result_users); +$j = 0; +$column = array(); +foreach ($rows_users as $row_user) +{ + $column[(8 + (3 * ($j)))] = str_replace("\"", "\"\"", $row_user['username']); + $lastcolumn = 8 + (3 * ($j)); + $bet_column[$row_user['user_id']] = $lastcolumn; + $j++; +} +$export_row_users = "\"\";\"\";\"\";\"\";\"\";\"\";"; +for($j = 8; $j <= $lastcolumn; $j = $j + 3) +{ + $export_row_users .= "\"\";\"\";\"" . $column[$j] . "\""; + if($j != $lastcolumn) + { + $export_row_users .= ';'; + } +} +$export_row_users .= $newline; + +if( !$result_results = $db->sql_query($sql_results) ) +{ + trigger_error('NO_RESULTS'); +} +$rows_results = $db->sql_fetchrowset($result_results); +$count_results = sizeof($rows_results); +$db->sql_freeresult($result_results); + +if( !$result_bets = $db->sql_query($sql_bets) ) +{ + trigger_error('NO_BETS'); +} +$rows_bets = $db->sql_fetchrowset($result_bets); +$count_bets = sizeof($rows_bets); +$db->sql_freeresult($result_bets); +$column = array(); +$lastcolumn = 0; +$last_match_num = 0; +foreach ($rows_bets as $row_bet) +{ + if ($row_bet['match_no'] == $last_match_num) + { + $column[$bet_column[$row_bet['user_id']]] = str_replace("\"", "\"\"", $row_bet['bet_home']); + $column[$bet_column[$row_bet['user_id']] + 1] = str_replace("\"", "\"\"", $row_bet['bet_guest']); + $column[$bet_column[$row_bet['user_id']] + 2] = ''; + $lastcolumn = $bet_column[$row_bet['user_id']] + 2; + } + else + { + if ($lastcolumn > 0) + { + $export_bets[$last_match_num] = ''; + for($j=8; $j<=$lastcolumn; $j++) + { + $export_bets[$last_match_num] .= "\"" . $column[$j] . "\""; + if($j!=$lastcolumn) + { + $export_bets[$last_match_num] .= ';'; + } + } + $export_bets[$last_match_num] .= $newline; + } + $column = array(); + $last_match_num = $row_bet['match_no']; + $column[$bet_column[$row_bet['user_id']]] = str_replace("\"", "\"\"", $row_bet['bet_home']); + $column[$bet_column[$row_bet['user_id']] + 1] = str_replace("\"", "\"\"", $row_bet['bet_guest']); + $column[$bet_column[$row_bet['user_id']] + 2] = ''; + $lastcolumn = $bet_column[$row_bet['user_id']] + 2; + } +} +$export_bets[$last_match_num] = ''; +for($j = 8; $j <= $lastcolumn; $j++) +{ + $export_bets[$last_match_num] .= "\"" . $column[$j] . "\""; + if($j != $lastcolumn) + { + $export_bets[$last_match_num] .= ';'; + } +} +$export_bets[$last_match_num] .= $newline; + +$last_matchday = 0; + +$export= ''; +$export .= 'CSV;'. $league. ';'. $season. $newline; + +$i = 0; +foreach ($rows_results as $row_result) +{ + if ($last_matchday != $row_result['matchday']) + { + if ($last_matchday != 0) + { + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= ";;". str_replace("\"", "\"\"", $row_result['match_time']). $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + } + else + { + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= ";;". str_replace("\"", "\"\"", $row_result['match_time']). $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + $export .= $newline; + } + $export .= $export_row_users; + $column = array(); + $last_matchday = $row_result['matchday']; + } + if (0 == $row_result['hid']) + { + $home_info = get_team($season, $league, $row_result['match_no'], 'team_id_home', $row_result['formula_home']); + $home_in_array = explode("#",$home_info); + $homename = $home_in_array[3]; + } + else + { + $homename = $row_result['team_home']; + } + if (0 == $row_result['gid']) + { + $guest_info = get_team($season, $league, $row_result['match_no'], 'team_id_guest', $row_result['formula_guest']); + $guest_in_array = explode("#",$guest_info); + $guestname = $guest_in_array[3]; + } + else + { + $guestname = $row_result['team_guest']; + } + $column[0] = str_replace("\"", "\"\"", $homename); + $column[1] = str_replace("\"", "\"\"", $guestname); + + if ($row_result['status'] == 3) + { + $column[2] = str_replace("\"", "\"\"", $row_result['goals_home']); + $column[4] = str_replace("\"", "\"\"", $row_result['goals_guest']); + } + else + { + $column[2] = ''; + $column[4] = ''; + } + $export .= "\"" . $column[0] . "\";\"" . $column[1] . "\";\"" . $column[2] . "\";\"\";\"" . $column[4] . "\";\"\";\"\";\"\";"; + if ($export_bets[$row_result['match_no']] == '') + { + $export .= $newline; + } + else + { + $export .= $export_bets[$row_result['match_no']]; + } + $column = array(); + $i++; +} + +if (isset($_POST['send'])) +{ + $fp = fopen($path_attachment , "b"); + ftruncate ($fp, 0); + rewind($fp); + fwrite ($fp, $export); + fclose($fp); +} +else +{ + echo utf8_decode($export); + exit; +} +?> diff --git a/includes/functions.php b/includes/functions.php index 7bbf52c..5ce8220 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -126,13 +126,14 @@ function save_ranking_matchday($season, $league, $matchday, $cash = false) { $matchday_status = 2; } + $db->sql_freeresult($result); } if ($matchday_status == 0 OR $matchday_status == 1) { // No matches played, so we can delete the ranking $sql = 'DELETE FROM ' . FOOTB_RANKS . " WHERE season = $season AND league = $league AND matchday = $matchday"; - $result = $db->sql_query($sql); + $db->sql_query($sql); } else { @@ -280,7 +281,7 @@ function save_ranking_matchday($season, $league, $matchday, $cash = false) ,0 ,0 )"; - $result = $db->sql_query($sql); + $db->sql_query($sql); } if ( sizeof($ranking_ary) == 0 ) { @@ -288,7 +289,7 @@ function save_ranking_matchday($season, $league, $matchday, $cash = false) WHERE season = $season AND league = $league AND matchday = $matchday"; - $result = $db->sql_query($sql); + $db->sql_query($sql); } else { @@ -389,7 +390,7 @@ function save_ranking_matchday($season, $league, $matchday, $cash = false) points_total = $points_total, win_total = $win_total WHERE season = $season AND league = $league AND matchday = $matchday AND user_id = $curr_userid"; - $result = $db->sql_query($sql); + $db->sql_query($sql); } } } @@ -427,9 +428,9 @@ function save_ranking_matchday($season, $league, $matchday, $cash = false) $result = $db->sql_query($sql); if ( $next_matchday = (int) $db->sql_fetchfield('matchday')) { - $db->sql_freeresult($result); save_ranking_matchday($season, $league, $next_matchday, $cash); } + $db->sql_freeresult($result); } } @@ -480,7 +481,7 @@ function rollback_points($points_type, $season, $league, $matchday, $cash) } $sql = 'DELETE FROM ' . FOOTB_POINTS . " WHERE season = $season AND league = $league AND matchday = $matchday AND points_type = $points_type"; - $result = $db->sql_query($sql); + $db->sql_query($sql); } function set_footb_points($points_type, $season, $league, $matchday, $wins, $cash) @@ -897,7 +898,7 @@ function set_bet_in_time_delivery($season, $league) 'goals_overtime_home' => '', 'goals_overtime_guest' => '', ); - $local_board_time = time() + (($config['board_timezone'] - $config['football_host_timezone']) * 3600); + $local_board_time = time() + ($config['football_time_shift'] * 3600); $sql = 'UPDATE ' . FOOTB_MATCHES . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE season = $season AND league = $league AND matchday =" . $row['matchday'] . " AND match_datetime > FROM_UNIXTIME('$local_board_time')"; @@ -1166,7 +1167,7 @@ function close_open_matchdays() { global $db, $lang, $config; - $local_board_time = time() + (($config['board_timezone'] - $config['football_host_timezone']) * 3600); + $local_board_time = time() + ($config['football_time_shift'] * 3600); $sql = 'SELECT * FROM ' . FOOTB_MATCHDAYS . " WHERE status = 0 AND delivery_date < FROM_UNIXTIME('$local_board_time')"; $result = $db->sql_query($sql); $toclose = $db->sql_fetchrowset($result); diff --git a/language/de/football.php b/language/de/football.php index 955d474..2c043d2 100644 --- a/language/de/football.php +++ b/language/de/football.php @@ -193,6 +193,7 @@ $lang = array_merge($lang, array( 'LAST_GAMES' => 'Die letzten Spiele', 'LAST_GAMES_AWAY' => 'Die letzten Auswรคrtsspiele', 'LAST_GAMES_HOME' => 'Die letzten Heimspiele', + 'LAST_RESULTS' => 'Die letzten Ergebnisse', 'LAST_VISITORS' => 'Die letzten %s Besuche', 'LEAGUE' => 'Liga', 'LINK_PREDICTION_LEAGUE' => 'Zur Tipprunde', diff --git a/language/de/info_acp_football.php b/language/de/info_acp_football.php index f9531b7..3a532f5 100644 --- a/language/de/info_acp_football.php +++ b/language/de/info_acp_football.php @@ -48,6 +48,10 @@ $lang = array_merge($lang, array( 'DISABLE_FOOTBALL' => 'Tipprunde deaktivieren', 'DISABLE_FOOTBALL_EXPLAIN' => 'Hiermit sperrst du die Tipprunde fรผr alle Benutzer. Wenn du mรถchtest, kannst du eine kurze Nachricht (bis zu 255 Zeichen) angeben. ', + 'DISPLAY_LAST_USERS' => 'Anzahl anzuzeigender letzter Besucher des Forums', + 'DISPLAY_LAST_USERS_EXPLAIN' => 'Limitiert die Anzeige der letzten Besucher im selbigen Tipprunden-Block. Mit 0 wird die Anzeige des Blocks unterdrรผckt. ', + 'DISPLAY_LAST_RESULTS' => 'Anzahl maximal anzuzeigender letzter Spielergebnisse', + 'DISPLAY_LAST_RESULTS_EXPLAIN' => 'Limitiert die Anzeige der letzten Spielergebnisse im selbigen Tipprunden-Block. Finden mehr Spiele am letzten Tag statt, werden alle Ergebnisse dieses Tages angezeigt. Mit 0 wird die Anzeige des Blocks unterdrรผckt. ', 'DISPLAY_RANKS' => 'Anzahl angezeigter Tipper in den รœbersichts-Ranglisten', 'DISPLAY_RANKS_EXPLAIN' => 'Limitiert die Anzeige der Spieltags- und Gesamtrangliste in der Hauptansicht. Die eigene Platzierung wird ggf. unten angehรคngt. ', @@ -75,8 +79,8 @@ $lang = array_merge($lang, array( 'USER_VIEW' => 'Tipprunde nur fรผr Teilnehmer sichtbar', 'USER_VIEW_EXPLAIN' => 'Soll die Tipprunde nur fรผr Tipprunden-Teilnehmer sichtbar sein?', - 'HOST_TIMEZONE' => 'Host Zeitzone', - 'HOST_TIMEZONE_EXPLAIN' => 'Differenz zur Board Zeitzone wenn dein Host in einer anderen Zeitzone steht, damit die Tippabgabe korrekt funktioniert. ', + 'TIME_SHIFT' => 'Zeitverschiebung', + 'TIME_SHIFT_EXPLAIN' => 'Differenz in Stunden zur Board Zeitzone wenn dein Host in einer anderen Zeitzone steht, damit die Tippabgabe korrekt funktioniert. ', 'LEFT_COLUMN' => 'Spaltenbreite Links in Pixeln', 'LEFT_COLUMN_EXPLAIN' => 'Optimale Breite 180 Pixel. Dieser Wert sollte nicht unterschritten werden. ', diff --git a/language/en/football.php b/language/en/football.php index ce8042d..8d9b781 100644 --- a/language/en/football.php +++ b/language/en/football.php @@ -185,6 +185,7 @@ $lang = array_merge($lang, array( 'LAST_GAMES' => 'The last matches', 'LAST_GAMES_AWAY' => 'The last away matches', 'LAST_GAMES_HOME' => 'The last home matches', + 'LAST_RESULTS' => 'Last results', 'LAST_VISITORS' => 'Last %s visitors', 'LEAGUE' => 'League', 'LINK_PREDICTION_LEAGUE' => 'To the WebtTip', diff --git a/language/en/info_acp_football.php b/language/en/info_acp_football.php index 55e01b6..a918d26 100644 --- a/language/en/info_acp_football.php +++ b/language/en/info_acp_football.php @@ -46,6 +46,10 @@ $lang = array_merge($lang, array( 'ACP_FOOTBALL_SETTINGS_EXPLAIN' => 'Here you can carry out some basic settings of the Prediction League, give it a suitable name and description and define a football side announcement and other values. ', 'DISABLE_FOOTBALL' => 'Deactivate Prediction League', 'DISABLE_FOOTBALL_EXPLAIN' => 'You can disable the Prediction League for all users. If you wanted, you can display a short message (up to 255 signs). ', + 'DISPLAY_LAST_USERS' => 'Number of board visitors to display', + 'DISPLAY_LAST_USERS_EXPLAIN' => 'Limits the last visitors to display in block. 0 is used to suppress the display of the block. ', + 'DISPLAY_LAST_RESULTS' => 'Number of match results to display', + 'DISPLAY_LAST_RESULTS_EXPLAIN' => 'Limits the last match results to display in block. If more matches are played on the last day, all results of that day are displayed. 0 is used to suppress the display of the block. ', 'DISPLAY_RANKS' => 'Number of indicated User in total ranking', 'DISPLAY_RANKS_EXPLAIN' => 'Announcement of users in the ranking lists. The ownrank is suspended if necessary below. ', 'FOOTBALL_CODE' => 'Prediction League Code', @@ -71,8 +75,8 @@ $lang = array_merge($lang, array( 'GUEST_VIEW_EXPLAIN' => 'Should guests be able to see the Prediction League?', 'USER_VIEW' => 'Prediction League only for participants visible', 'USER_VIEW_EXPLAIN' => 'Should the Prediction League only to participants be visible?', - 'HOST_TIMEZONE' => 'Host Timezone', - 'HOST_TIMEZONE_EXPLAIN' => 'Difference to the Board time zone if your Host in another time zone stands, so that the tip delivery correctly functions. ', + 'TIME_SHIFT' => 'Time shift', + 'TIME_SHIFT_EXPLAIN' => 'Difference in hours to board time zone if host is in another time zone, so that the tip delivery works correctly. ', 'LEFT_COLUMN' => 'Left column width in pixels', 'LEFT_COLUMN_EXPLAIN' => 'Optimum width 180 pixels. This value should not be fell short. ', 'PREDICTION_LEAGUE' => 'Prediction League', diff --git a/migrations/v099_beta1.php b/migrations/v099_beta1.php new file mode 100644 index 0000000..07c36c5 --- /dev/null +++ b/migrations/v099_beta1.php @@ -0,0 +1,34 @@ +config['football_version']) && version_compare($this->config['football_version'], '0.9.9b1', '>='); + } + + static public function depends_on() + { + return array('\football\football\migrations\v098_beta'); + } + + public function update_data() + { + return array( + array('config.remove', array('football_host_timezone')), + array('config.add', array('football_time_shift', '1', '0')), + array('config.add', array('football_display_last_users', '5', '0')), + array('config.add', array('football_display_last_results', '0', '0')), + array('config.update', array('football_version', '0.9.9b1', '0')), + ); + } +} diff --git a/styles/prosilver/template/bet.html b/styles/prosilver/template/bet.html index 9408a83..052867b 100644 --- a/styles/prosilver/template/bet.html +++ b/styles/prosilver/template/bet.html @@ -1,220 +1,220 @@ - - -
- - {L_FINALLY} - {L_PROVISIONALLY} - {L_NOT_RATED}
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_DATE}{L_NR}{L_GR}{L_VS}{L_BET_OF} ({BET_EXPLAIN}){L_RATING}{L_RESULT}{L_POINTS}
{bet_view.MATCH_TIME}{bet_view.MATCH_NUMBER}{bet_view.GROUP} - {bet_view.HOME_NAME}: - {bet_view.GUEST_NAME}{bet_view.BET_HOME}:{bet_view.BET_GUEST}{bet_view.RATING}{bet_view.GOALS_HOME}:{bet_view.GOALS_GUEST}{bet_view.POINTS} - - - - - -
{bet_edit.MATCH_TIME}{bet_edit.MATCH_NUMBER}{bet_edit.GROUP} - {bet_edit.HOME_NAME} - : - {bet_edit.GUEST_NAME} - - - - - _{bet_edit.BET_HOME}_ - - : - - - - _{bet_edit.BET_GUEST}_ - - {bet_edit.DELIVERTAG} - -      - - - - - -
-
- - -
- - *  {L_DELIVERY_UNTIL} {S_DELIVERY2}
- - - **  {L_DELIVERY_UNTIL} {S_DELIVERY3}
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_QUESTION}{L_POSSIBLE_POINTS}{L_EVALUATION}{L_BET_OF}{L_RESULT}{L_POINTS}
{extra_view.QUESTION}{extra_view.EXTRA_POINTS}{extra_view.EVALUATION}{extra_view.BET}{extra_view.RESULT}{extra_view.BET_POINTS}
{extra_edit.QUESTION}{extra_edit.EXTRA_POINTS}{extra_edit.EVALUATION} - - - - - _{extra_edit.BET}_ - - - - - - - _{extra_edit.BET}_ - - -
-
- - - - -
-
{S_DBMSG}   
-
- -
- -
- - - - -
- -
{L_NO_MATCHES_ON_MATCHDAY}
- -
{L_NO_MEMBER}
- -
-
-
-
- {JOIN_LEAGUE}
-
- -
-
- - -
- + + +
+ + {L_FINALLY} - {L_PROVISIONALLY} - {L_NOT_RATED}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_DATE}{L_NR}{L_GR}{L_VS}{L_BET_OF} ({BET_EXPLAIN}){L_RATING}{L_RESULT}{L_POINTS}
{bet_view.MATCH_TIME}{bet_view.MATCH_NUMBER}{bet_view.GROUP} + {bet_view.HOME_NAME}: + {bet_view.GUEST_NAME}{bet_view.BET_HOME}:{bet_view.BET_GUEST}{bet_view.RATING}{bet_view.GOALS_HOME}:{bet_view.GOALS_GUEST}{bet_view.POINTS} + + + + + +
{bet_edit.MATCH_TIME}{bet_edit.MATCH_NUMBER}{bet_edit.GROUP} + {bet_edit.HOME_NAME} + : + {bet_edit.GUEST_NAME} + + + + + _{bet_edit.BET_HOME}_ + + : + + + + _{bet_edit.BET_GUEST}_ + + {bet_edit.DELIVERTAG} + +      + + + + + +
+
+ + +
+ + *  {L_DELIVERY_UNTIL} {S_DELIVERY2}
+ + + **  {L_DELIVERY_UNTIL} {S_DELIVERY3}
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_QUESTION}{L_POSSIBLE_POINTS}{L_EVALUATION}{L_BET_OF}{L_RESULT}{L_POINTS}
{extra_view.QUESTION}{extra_view.EXTRA_POINTS}{extra_view.EVALUATION}{extra_view.BET}{extra_view.RESULT}{extra_view.BET_POINTS}
{extra_edit.QUESTION}{extra_edit.EXTRA_POINTS}{extra_edit.EVALUATION} + + + + + _{extra_edit.BET}_ + + + + + + + _{extra_edit.BET}_ + + +
+
+ + + + +
+
{S_DBMSG}   
+
+ +
+ +
+ + + + +
+ +
{L_NO_MATCHES_ON_MATCHDAY}
+ +
{L_NO_MEMBER}
+ +
+
+
+
+ {JOIN_LEAGUE}
+
+ +
+
+ + +
+ diff --git a/styles/prosilver/template/delivery.html b/styles/prosilver/template/delivery.html index eac9f74..e7ca2dd 100644 --- a/styles/prosilver/template/delivery.html +++ b/styles/prosilver/template/delivery.html @@ -1,11 +1,11 @@ -
-

 {L_DELIVERY_LIST}

- - - {delivery.DELIVERY}
- {delivery.LEAGUE_SHORT} - {delivery.MATCHDAY_NAME} -

- -
- +
+

{L_DELIVERY_LIST}

+ + + {delivery.DELIVERY}
+ {delivery.LEAGUE_SHORT} + {delivery.MATCHDAY_NAME} +

+ +
+ diff --git a/styles/prosilver/template/event/overall_footer_breadcrumb_prepend.html b/styles/prosilver/template/event/overall_footer_breadcrumb_prepend.html index a243a3c..3b5c7e5 100644 --- a/styles/prosilver/template/event/overall_footer_breadcrumb_prepend.html +++ b/styles/prosilver/template/event/overall_footer_breadcrumb_prepend.html @@ -1 +1 @@ -{S_FOOTBALL_NAME} +{S_FOOTBALL_NAME} diff --git a/styles/prosilver/template/event/overall_header_breadcrumb_prepend.html b/styles/prosilver/template/event/overall_header_breadcrumb_prepend.html index a243a3c..3b5c7e5 100644 --- a/styles/prosilver/template/event/overall_header_breadcrumb_prepend.html +++ b/styles/prosilver/template/event/overall_header_breadcrumb_prepend.html @@ -1 +1 @@ -{S_FOOTBALL_NAME} +{S_FOOTBALL_NAME} diff --git a/styles/prosilver/template/event/overall_header_head_append.html b/styles/prosilver/template/event/overall_header_head_append.html index 588d391..66e40c9 100644 --- a/styles/prosilver/template/event/overall_header_head_append.html +++ b/styles/prosilver/template/event/overall_header_head_append.html @@ -10,16 +10,15 @@ + diff --git a/styles/prosilver/template/event/overall_header_navigation_prepend.html b/styles/prosilver/template/event/overall_header_navigation_prepend.html index 3cd90fa..e6bf159 100644 --- a/styles/prosilver/template/event/overall_header_navigation_prepend.html +++ b/styles/prosilver/template/event/overall_header_navigation_prepend.html @@ -1,53 +1,47 @@ - - + + \ No newline at end of file diff --git a/styles/prosilver/template/event/overall_header_page_body_before.html b/styles/prosilver/template/event/overall_header_page_body_before.html index 21d0a2b..99b29ca 100644 --- a/styles/prosilver/template/event/overall_header_page_body_before.html +++ b/styles/prosilver/template/event/overall_header_page_body_before.html @@ -21,25 +21,25 @@
    @@ -50,14 +50,14 @@
diff --git a/styles/prosilver/template/football_body.html b/styles/prosilver/template/football_body.html index 5edd0e3..731f082 100644 --- a/styles/prosilver/template/football_body.html +++ b/styles/prosilver/template/football_body.html @@ -16,44 +16,40 @@
- - - -

{S_SIDENAME}

- -