37 Commits

Author SHA1 Message Date
Julian 76cedb15a2 Only allow betting if user is in a match 2022-08-12 20:07:38 +02:00
Julian 41397ffbdc Fix warning in all bets when no bets are shown. 2022-08-11 16:29:35 +02:00
Julian abf7e95d08 Fix calculation of bonuspoints and corrected values for form table 2021-01-27 22:12:23 +01:00
Julian 573a3bdea7 Changes for phpbb 3.3.0 2020-08-03 21:22:09 +02:00
Julian 25e4e53485 Fix mobile style to display correct page when results_tl is clicked.
Rearrange mobile menu to fit to the desktop menu.
2018-08-04 16:00:21 +02:00
Julian adfecaac96 Fix change sign in ranks_matchday and ranks_total. 2018-07-07 16:03:31 +02:00
Julian 4870166b96 Show table on bet site also on mobile devices 2018-06-24 16:39:04 +02:00
Julian 9d57480e6d Change last blue color to green in table. 2018-06-24 15:57:39 +02:00
Julian 948f7b8511 Updated desktop menu to show ranks_total if bet_type is 1
Updated mobile menu to behave like desktop menu
2018-06-23 16:08:29 +02:00
Julian 90172d076b Add modifications for show_table of matches and bet_type for leagues in ACP. 2018-06-03 13:57:34 +02:00
Julian 66dceff9f2 change color to green 2018-05-20 16:18:38 +02:00
Julian 8b679b1286 Change order of tippers in all_bets site according to the tipper vs tipper matches and change background color. 2018-04-03 22:16:31 +02:00
Julian e1db71c99d Add matchtime tooltip to all_bets site 2018-04-03 21:58:09 +02:00
Julian 3ade0f043f Add bonuspoint, corr and chart calculation and update displaying of chart. 2018-04-03 21:06:22 +02:00
Julian f56cf04e74 Rearange main menu and change external links to internal links 2018-04-03 19:57:48 +02:00
Julian 66b2a1a8d0 Readd rank_matchday in all sites and add check for correct league --> Display of rank_matchday works on table and results_tl site. 2018-04-03 19:24:37 +02:00
Julian 889ff05ca6 Remove highlight of table menu item in bet site. 2018-04-03 19:14:08 +02:00
Julian 0b9f099381 Remove small rank total from main view. 2018-04-03 19:13:08 +02:00
Julian 148c16c87a Remove unneeded teams from tables in mytable site. 2018-04-03 19:12:36 +02:00
Julian 511fab50b7 Add results_tl and handling in different files 2018-04-03 18:43:39 +02:00
Julian 6c06de3772 Remove unneeded menu items. 2018-04-03 17:47:42 +02:00
Julian 37204150dc Add results_tl to language and main controller. 2018-04-03 17:47:30 +02:00
Julian 85d3c835d2 Change short team names to full team names 2018-04-02 23:25:37 +02:00
Julian ac536658fa Add auto selection of correct leage (higher or lower league id 50) 2018-04-02 22:58:54 +02:00
Julian 92267523b9 Include full table in bet view instead of small table 2018-04-02 22:56:21 +02:00
Julian 4a64eb71a3 Add bonus points to the missing tables and make non relevant teams invisible in tables. 2018-04-02 22:24:49 +02:00
Julian 268ca763f7 Fix BNS coloumn displaying 2018-02-21 23:26:07 +01:00
Julian 66b35b0155 Fix table and add corr to constants 2018-02-21 23:24:04 +01:00
Julian 4b627586f8 Add bonus points calculation to table total. 2018-02-21 23:19:03 +01:00
Julian 3b47093a3a fix broken function current_league($season) sql select 2018-02-19 22:57:59 +01:00
Julian 511a23d609 Wappen der Mannschaften hinzugefügt 2018-02-19 22:10:07 +01:00
Julian 6b9ebb0d1a Football functions.php angepasst, damit ertippte Punkte bei ihren jeweiligen Teams als Tore eingetragen werden. 2018-02-19 21:56:29 +01:00
football 7d8b92f1df Version 0.9.9 2017-09-09 13:51:15 +02:00
football c075143bfc 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
2017-09-09 10:58:32 +02:00
football a502b5d082 Fix problem in admin-help-section on phpBB3.2 (no help is shown):
[phpBB Debug] PHP Warning: in file [ROOT]/ext/football/football/acp/football_module.php on line 80: Invalid argument supplied for foreach()
2017-03-05 18:04:34 +01:00
football a16e0e3c79 Version 0.9.8 2017-02-19 20:25:32 +01:00
football 09631cbe15 Version 0.9.7 2016-06-12 17:20:16 +02:00
684 changed files with 20060 additions and 19476 deletions
+24
View File
@@ -39,3 +39,27 @@ Icon
# Files that might appear on external disk # Files that might appear on external disk
.Spotlight-V100 .Spotlight-V100
.Trashes .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
/migrations/v099_beta1.php
+3
View File
@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_14" project-jdk-name="openjdk-14" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/phpbb_football_tlw.iml" filepath="$PROJECT_DIR$/.idea/phpbb_football_tlw.iml" />
</modules>
</component>
</project>
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
+598 -599
View File
File diff suppressed because it is too large Load Diff
+673 -672
View File
File diff suppressed because it is too large Load Diff
+755 -752
View File
File diff suppressed because it is too large Load Diff
+458 -462
View File
@@ -1,463 +1,459 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
namespace football\football\acp; namespace football\football\acp;
class extra_module class extra_module
{ {
public $u_action; public $u_action;
protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
protected $root_path, $request, $php_ext, $log; protected $root_path, $request, $php_ext, $log;
public function __construct() public function __construct()
{ {
global $db, $user, $request, $template; global $db, $user, $request, $template;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$user->add_lang_ext('football/football', 'football'); $user->add_lang_ext('football/football', 'football');
$user->add_lang_ext('football/football', 'info_acp_extra'); $user->add_lang_ext('football/football', 'info_acp_extra');
$this->root_path = $phpbb_root_path . 'ext/football/football/'; $this->root_path = $phpbb_root_path . 'ext/football/football/';
$this->config = $config; $this->config = $config;
$this->request = $request; $this->request = $request;
$this->phpbb_root_path = $phpbb_root_path; $this->phpbb_root_path = $phpbb_root_path;
$this->phpbb_admin_path = $phpbb_admin_path; $this->phpbb_admin_path = $phpbb_admin_path;
$this->php_ext = $phpEx; $this->php_ext = $phpEx;
if(!function_exists('season_info')) if(!function_exists('season_info'))
{ {
include($this->root_path . 'includes/functions.' . $this->php_ext); include($this->root_path . 'includes/functions.' . $this->php_ext);
} }
if (!defined('FOOTB_SEASONS')) if (!defined('FOOTB_SEASONS'))
{ {
include($this->root_path . 'includes/constants.' . $this->php_ext); include($this->root_path . 'includes/constants.' . $this->php_ext);
} }
} }
function main($id, $mode) function main($id, $mode)
{ {
global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info; global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info;
global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx; global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx;
$provider = new \phpbb\controller\ provider();
$symphony_request = new \phpbb\ symfony_request($request); $helper = $phpbb_container->get('controller.helper');
$filesystem = new \phpbb\ filesystem();
$helper = new \phpbb\controller\ helper($template, $user, $config, $provider, $phpbb_extension_manager, $symphony_request, $request, $filesystem, $phpbb_root_path, $phpEx); $this->tpl_name = 'acp_football_extra';
$this->page_title = 'ACP_FOOTBALL_EXTRA_MANAGE';
$this->tpl_name = 'acp_football_extra';
$this->page_title = 'ACP_FOOTBALL_EXTRA_MANAGE'; $form_key = 'acp_football_extra';
add_form_key($form_key);
$form_key = 'acp_football_extra';
add_form_key($form_key); include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext); // Check and set some common vars
$action = (isset($_POST['add'])) ? 'add' : ((isset($_POST['remove'])) ? 'remove' : $this->request->variable('action', ''));
// Check and set some common vars $edit = $this->request->variable('edit', 0);
$action = (isset($_POST['add'])) ? 'add' : ((isset($_POST['remove'])) ? 'remove' : $this->request->variable('action', '')); $season = $this->request->variable('s', 0);
$edit = $this->request->variable('edit', 0); $league = $this->request->variable('l', 0);
$season = $this->request->variable('s', 0); $matchday = $this->request->variable('matchday', 0);
$league = $this->request->variable('l', 0); $matchday_eval = $this->request->variable('matchday_eval', 0);
$matchday = $this->request->variable('matchday', 0); $extra_no = $this->request->variable('e', 0);
$matchday_eval = $this->request->variable('matchday_eval', 0); $update = (isset($_POST['update'])) ? true : false;
$extra_no = $this->request->variable('e', 0);
$update = (isset($_POST['update'])) ? true : false; // Clear some vars
$extra_row = array();
// Clear some vars $error = array();
$extra_row = array();
$error = array(); // Grab current season
if (!$season)
// Grab current season {
if (!$season) $season = curr_season();
{ }
$season = curr_season();
} // Grab basic data for select season
if ($season)
// Grab basic data for select season {
if ($season) $sql = 'SELECT *
{ FROM ' . FOOTB_SEASONS . '
$sql = 'SELECT * ORDER BY season DESC';
FROM ' . FOOTB_SEASONS . ' $result = $db->sql_query($sql);
ORDER BY season DESC';
$result = $db->sql_query($sql); $season_options = '';
while ($row = $db->sql_fetchrow($result))
$season_options = ''; {
while ($row = $db->sql_fetchrow($result)) $selected = ($season && $row['season'] == $season) ? ' selected="selected"' : '';
{ $season_options .= '<option value="' . $row['season'] . '"' . $selected . '>' . $row['season_name_short'] . '</option>';
$selected = ($season && $row['season'] == $season) ? ' selected="selected"' : ''; if ($selected <> '')
$season_options .= '<option value="' . $row['season'] . '"' . $selected . '>' . $row['season_name_short'] . '</option>'; {
if ($selected <> '') $season_name = $row['season_name_short'];
{ }
$season_name = $row['season_name_short']; }
} $db->sql_freeresult($result);
} }
$db->sql_freeresult($result); else
} {
else trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
{ }
trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
} // Grab current league
if (!$league)
// Grab current league {
if (!$league) $league = first_league($season, false);
{ }
$league = first_league($season, false);
} // Grab basic data for select league
if ($league)
// Grab basic data for select league {
if ($league) $sql = 'SELECT *
{ FROM ' . FOOTB_LEAGUES . "
$sql = 'SELECT * WHERE season = $season
FROM ' . FOOTB_LEAGUES . " ORDER BY league ASC";
WHERE season = $season $result = $db->sql_query($sql);
ORDER BY league ASC";
$result = $db->sql_query($sql); $league_options = '';
while ($row = $db->sql_fetchrow($result))
$league_options = ''; {
while ($row = $db->sql_fetchrow($result)) $selected = ($league && $row['league'] == $league) ? ' selected="selected"' : '';
{ $league_options .= '<option value="' . $row['league'] . '"' . $selected . '>' . $row['league_name'] . '</option>';
$selected = ($league && $row['league'] == $league) ? ' selected="selected"' : ''; if ($selected <> '')
$league_options .= '<option value="' . $row['league'] . '"' . $selected . '>' . $row['league_name'] . '</option>'; {
if ($selected <> '') $league_matchdays = $row['matchdays'];
{ $league_name = $row['league_name'];
$league_matchdays = $row['matchdays']; $league_type = $row['league_type'];
$league_name = $row['league_name']; $ko_league = ($row['league_type'] == LEAGUE_KO) ? true : false;
$league_type = $row['league_type']; }
$ko_league = ($row['league_type'] == LEAGUE_KO) ? true : false; }
} $db->sql_freeresult($result);
} }
$db->sql_freeresult($result); else
} {
else trigger_error(sprintf($user->lang['NO_LEAGUE'], $season) . adm_back_link($this->u_action . "&amp;s=$season"), E_USER_WARNING);
{ }
trigger_error(sprintf($user->lang['NO_LEAGUE'], $season) . adm_back_link($this->u_action . "&amp;s=$season"), E_USER_WARNING);
} // Grab basic data for extra bets, if extra bet is set and exists
if ($extra_no)
// Grab basic data for extra bets, if extra bet is set and exists {
if ($extra_no) $sql = 'SELECT *
{ FROM ' . FOOTB_EXTRA . "
$sql = 'SELECT * WHERE season = $season
FROM ' . FOOTB_EXTRA . " AND league = $league
WHERE season = $season AND extra_no = $extra_no";
AND league = $league $result = $db->sql_query($sql);
AND extra_no = $extra_no"; $extra_row = $db->sql_fetchrow($result);
$result = $db->sql_query($sql); $existing_extra = sizeof($extra_row);
$extra_row = $db->sql_fetchrow($result); $db->sql_freeresult($result);
$existing_extra = sizeof($extra_row); }
$db->sql_freeresult($result);
} // Which page?
switch ($action)
$db->sql_freeresult($result); {
case 'delete':
// Which page? if (!$season)
switch ($action) {
{ trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
case 'delete': }
if (!$season)
{ if (!$league)
trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING); {
} trigger_error($user->lang['NO_LEAGUE'] . adm_back_link($this->u_action . "&amp;s=$season"), E_USER_WARNING);
}
if (!$league)
{ if (!$extra_no)
trigger_error($user->lang['NO_LEAGUE'] . adm_back_link($this->u_action . "&amp;s=$season"), E_USER_WARNING); {
} trigger_error($user->lang['NO_EXTRA'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING);
}
if (!$extra_no)
{ if (confirm_box(true))
trigger_error($user->lang['NO_EXTRA'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING); {
} $error = '';
if (confirm_box(true)) if (!$auth->acl_get('a_football_delete'))
{ {
$error = ''; trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING);
}
if (!$auth->acl_get('a_football_delete')) if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete'])
{ {
trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING); trigger_error($user->lang['EXTRA_NO_DELETE'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING);
} }
if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete'])
{ // Delete extra
trigger_error($user->lang['EXTRA_NO_DELETE'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING); $sql = 'DELETE FROM ' . FOOTB_EXTRA . "
} WHERE season = $season AND league = $league AND extra_no = $extra_no";
$db->sql_query($sql);
// Delete extra
$sql = 'DELETE FROM ' . FOOTB_EXTRA . " // Delete extra bets
WHERE season = $season AND league = $league AND extra_no = $extra_no"; $sql = 'DELETE FROM ' . FOOTB_EXTRA_BETS . "
$db->sql_query($sql); WHERE season = $season
AND league = $league
// Delete extra bets AND extra_no = $extra_no";
$sql = 'DELETE FROM ' . FOOTB_EXTRA_BETS . " $db->sql_query($sql);
WHERE season = $season
AND league = $league trigger_error($user->lang['EXTRA_DELETED'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"));
AND extra_no = $extra_no"; }
$db->sql_query($sql); else
{
trigger_error($user->lang['EXTRA_DELETED'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league")); confirm_box(false, sprintf($user->lang['EXTRA_CONFIRM_DELETE'], $extra_row['question'], $league, $season), build_hidden_fields(array(
} 's' => $season,
else 'l' => $league,
{ 'e' => $extra_no,
confirm_box(false, sprintf($user->lang['EXTRA_CONFIRM_DELETE'], $extra_row['question'], $league, $season), build_hidden_fields(array( 'mode' => $mode,
's' => $season, 'action' => $action))
'l' => $league, );
'e' => $extra_no, }
'mode' => $mode, break;
'action' => $action))
); case 'add':
} $sql = "SELECT
break; max(extra_no) AS max_extra_no
FROM " . FOOTB_EXTRA . "
case 'add': WHERE season = $season
$sql = "SELECT AND league = $league";
max(extra_no) AS max_extra_no $result = $db->sql_query($sql);
FROM " . FOOTB_EXTRA . " $row_extra = $db->sql_fetchrow($result);
WHERE season = $season $existing_extra = sizeof($row_extra);
AND league = $league"; $db->sql_freeresult($result);
$result = $db->sql_query($sql); $extra_no = ($existing_extra) ? $row_extra['max_extra_no'] + 1 : 1;
$row_extra = $db->sql_fetchrow($result); $extra_row['extra_no'] = $extra_no;
$existing_extra = sizeof($row_extra); $extra_row['question_type'] = $this->request->variable('question_type', 3);
$db->sql_freeresult($result); $extra_row['question'] = utf8_normalize_nfc($this->request->variable('question', '', true));
$extra_no = ($existing_extra) ? $row_extra['max_extra_no'] + 1 : 1; $extra_row['matchday'] = $this->request->variable('matchday', 0);
$extra_row['extra_no'] = $extra_no; $extra_row['matchday_eval'] = $this->request->variable('matchday_eval', 0);
$extra_row['question_type'] = $this->request->variable('question_type', 3); $extra_row['result'] = utf8_normalize_nfc($this->request->variable('result', ''));
$extra_row['question'] = utf8_normalize_nfc($this->request->variable('question', '', true)); $extra_row['extra_points'] = $this->request->variable('extra_points', 0);
$extra_row['matchday'] = $this->request->variable('matchday', 0); $extra_row['extra_status'] = $this->request->variable('extra_status', 0);
$extra_row['matchday_eval'] = $this->request->variable('matchday_eval', 0); // No break for edit add
$extra_row['result'] = utf8_normalize_nfc($this->request->variable('result', '')); case 'edit':
$extra_row['extra_points'] = $this->request->variable('extra_points', 0); $error_msg = array();
$extra_row['extra_status'] = $this->request->variable('extra_status', 0);
// No break for edit add if (!sizeof($error))
case 'edit': {
$error_msg = array(); if ($action == 'edit' && !$extra_no)
{
if (!sizeof($error)) trigger_error($user->lang['NO_EXTRA'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING);
{ }
if ($action == 'edit' && !$extra_no)
{ $matchday = $extra_row['matchday'];
trigger_error($user->lang['NO_EXTRA'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING); $matchday_eval = $extra_row['matchday_eval'];
}
$sql = 'SELECT *
$matchday = $extra_row['matchday']; FROM ' . FOOTB_MATCHDAYS . "
$matchday_eval = $extra_row['matchday_eval']; WHERE season = $season
AND league = $league
$sql = 'SELECT * ORDER BY matchday ASC";
FROM ' . FOOTB_MATCHDAYS . " $result = $db->sql_query($sql);
WHERE season = $season
AND league = $league $matchday_options = '<option value="0"' . ((!$matchday) ? ' selected="selected"' : '') . '>' . $user->lang['SELECT_MATCHDAY'] . '</option>';
ORDER BY matchday ASC"; $matchday_eval_options = '<option value="0"' . ((!$matchday_eval) ? ' selected="selected"' : '') . '>' . $user->lang['SELECT_MATCHDAY'] . '</option>';
$result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result))
{
$matchday_options = '<option value="0"' . ((!$matchday) ? ' selected="selected"' : '') . '>' . $user->lang['SELECT_MATCHDAY'] . '</option>'; if ($row['status'] == 0 or $action == 'edit')
$matchday_eval_options = '<option value="0"' . ((!$matchday_eval) ? ' selected="selected"' : '') . '>' . $user->lang['SELECT_MATCHDAY'] . '</option>'; {
while ($row = $db->sql_fetchrow($result)) $selected_matchday = ($matchday && $row['matchday'] == $matchday) ? ' selected="selected"' : '';
{ $selected_eval = ($matchday_eval && $row['matchday'] == $matchday_eval) ? ' selected="selected"' : '';
if ($row['status'] == 0 or $action == 'edit') $day_name = (strlen($row['matchday_name']) > 0) ? $row['matchday_name'] : $row['matchday'] . '. ' . sprintf($user->lang['MATCHDAY']);
{ $matchday_options .= '<option value="' . $row['matchday'] . '"' . $selected_matchday . '>' . $day_name . '</option>';
$selected_matchday = ($matchday && $row['matchday'] == $matchday) ? ' selected="selected"' : ''; $matchday_eval_options .= '<option value="' . $row['matchday'] . '"' . $selected_eval . '>' . $day_name . '</option>';
$selected_eval = ($matchday_eval && $row['matchday'] == $matchday_eval) ? ' selected="selected"' : ''; }
$day_name = (strlen($row['matchday_name']) > 0) ? $row['matchday_name'] : $row['matchday'] . '. ' . sprintf($user->lang['MATCHDAY']); }
$matchday_options .= '<option value="' . $row['matchday'] . '"' . $selected_matchday . '>' . $day_name . '</option>'; $db->sql_freeresult($result);
$matchday_eval_options .= '<option value="' . $row['matchday'] . '"' . $selected_eval . '>' . $day_name . '</option>'; $question_type_options = '';
} for($i = 1; $i<= 5; $i++)
} {
$selected = ($i == $extra_row['question_type']) ? ' selected="selected"' : '';
$question_type_options = ''; $question_type_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
for($i = 1; $i<= 5; $i++) }
{
$selected = ($i == $extra_row['question_type']) ? ' selected="selected"' : ''; $extra_status_options = '';
$question_type_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>'; for($i = 0; $i<= 3; $i++)
} {
$selected = ($i == $extra_row['extra_status']) ? ' selected="selected"' : '';
$extra_status_options = ''; $extra_status_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
for($i = 0; $i<= 3; $i++) }
{
$selected = ($i == $extra_row['extra_status']) ? ' selected="selected"' : '';
$extra_status_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>'; // Did we submit?
} if ($update)
{
$data = array();
// Did we submit? if (!check_form_key($form_key))
if ($update) {
{ trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING);
$data = array(); }
if (!check_form_key($form_key)) $extra_row['extra_no'] = $extra_no;
{ $extra_row['question_type'] = $this->request->variable('question_type', $extra_row['question_type']);
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING); $extra_row['question'] = $this->request->variable('question', $extra_row['question'], true);
} $extra_row['matchday'] = $this->request->variable('matchday', $extra_row['matchday']);
$extra_row['extra_no'] = $extra_no; $extra_row['matchday_eval'] = $this->request->variable('matchday_eval', $extra_row['matchday_eval']);
$extra_row['question_type'] = $this->request->variable('question_type', $extra_row['question_type']); $extra_row['extra_points'] = $this->request->variable('extra_points', $extra_row['extra_points']);
$extra_row['question'] = $this->request->variable('question', $extra_row['question'], true); $extra_row['extra_status'] = $this->request->variable('extra_status', $extra_row['extra_status']);
$extra_row['matchday'] = $this->request->variable('matchday', $extra_row['matchday']);
$extra_row['matchday_eval'] = $this->request->variable('matchday_eval', $extra_row['matchday_eval']); $data['extra_points'] = (int) $extra_row['extra_points'];
$extra_row['extra_points'] = $this->request->variable('extra_points', $extra_row['extra_points']); $data['matchday'] = (int) $extra_row['matchday'];
$extra_row['extra_status'] = $this->request->variable('extra_status', $extra_row['extra_status']); $data['matchday_eval'] = (int) $extra_row['matchday_eval'];
$data['extra_points'] = (int) $extra_row['extra_points']; if ($data['matchday_eval'] < $data['matchday'])
$data['matchday'] = (int) $extra_row['matchday']; {
$data['matchday_eval'] = (int) $extra_row['matchday_eval']; $error[] = $user->lang['EVAL_BEFORE_DELIVERY'];
}
if ($data['matchday_eval'] < $data['matchday'])
{
$error[] = $user->lang['EVAL_BEFORE_DELIVERY']; if (!sizeof($error))
} {
$sql_ary = array(
'season' => (int) $season,
if (!sizeof($error)) 'league' => (int) $league,
{ 'extra_no' => (int) $extra_no,
$sql_ary = array( 'question_type' => (int) $extra_row['question_type'],
'season' => (int) $season, 'question' => strlen($extra_row['question']) ? $extra_row['question'] : '',
'league' => (int) $league, 'matchday' => (int) $extra_row['matchday'],
'extra_no' => (int) $extra_no, 'matchday_eval' => (int) $extra_row['matchday_eval'],
'question_type' => (int) $extra_row['question_type'], 'result' => $extra_row['result'],
'question' => strlen($extra_row['question']) ? $extra_row['question'] : '', 'extra_points' => (int) $extra_row['extra_points'],
'matchday' => (int) $extra_row['matchday'], 'extra_status' => (int) $extra_row['extra_status'],
'matchday_eval' => (int) $extra_row['matchday_eval'], );
'result' => $extra_row['result'],
'extra_points' => (int) $extra_row['extra_points'], $var_ary = array(
'extra_status' => (int) $extra_row['extra_status'], 'extra_points' => array('num', false, 0, 99),
); 'matchday' => array('num', false, 1),
'matchday_eval' => array('num', false, 1),
$var_ary = array( );
'extra_points' => array('num', false, 0, 99), if (!($error_vals = validate_data($data, $var_ary)))
'matchday' => array('num', false, 1), {
'matchday_eval' => array('num', false, 1), if ($action == 'add')
); {
if (!($error_vals = validate_data($data, $var_ary))) $sql = 'INSERT INTO ' . FOOTB_EXTRA . ' ' . $db->sql_build_array('INSERT', $sql_ary);
{ $db->sql_query($sql);
if ($action == 'add') }
{ else
$sql = 'INSERT INTO ' . FOOTB_EXTRA . ' ' . $db->sql_build_array('INSERT', $sql_ary); {
$db->sql_query($sql); $sql = 'UPDATE ' . FOOTB_EXTRA . '
} SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
else WHERE season = $season AND league = $league AND extra_no = $extra_no";
{ $db->sql_query($sql);
$sql = 'UPDATE ' . FOOTB_EXTRA . ' }
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " trigger_error($user->lang['EXTRA_UPDATED'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"));
WHERE season = $season AND league = $league AND extra_no = $extra_no"; }
$db->sql_query($sql); else
} {
trigger_error($user->lang['EXTRA_UPDATED'] . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league")); foreach ($error_vals as $error_val)
} {
else $error_msg[] = $user->lang[$error_val];
{ }
foreach ($error_vals as $error_val) $error[] = $user->lang['EXTRA_UPDATE_FAILED'];
{ $error = array_merge($error, $error_msg);
$error_msg[] = $user->lang[$error_val]; }
} }
$error[] = $user->lang['EXTRA_UPDATE_FAILED']; }
$error = array_merge($error, $error_msg); }
}
} $u_back = $this->u_action . "&amp;s=$season&amp;l=$league";
}
} $template->assign_vars(array(
'S_EDIT' => true,
$u_back = $this->u_action . "&amp;s=$season&amp;l=$league"; 'S_ADD_EXTRA' => ($action == 'add') ? true : false,
'S_ERROR' => (sizeof($error)) ? true : false,
$template->assign_vars(array( 'S_EDIT_EXTRAS' => ($existing_extra) ? false : true,
'S_EDIT' => true, 'S_QUESTION_TYPE_OPTIONS' => $question_type_options,
'S_ADD_EXTRA' => ($action == 'add') ? true : false, 'S_MATCHDAY_OPTIONS' => $matchday_options,
'S_ERROR' => (sizeof($error)) ? true : false, 'S_MATCHDAY_EVAL_OPTIONS' => $matchday_eval_options,
'S_EDIT_EXTRAS' => ($existing_extra) ? false : true, 'S_EXTRA_STATUS_OPTIONS' => $extra_status_options,
'S_QUESTION_TYPE_OPTIONS' => $question_type_options, 'S_VERSION_NO' => $this->config['football_version'],
'S_MATCHDAY_OPTIONS' => $matchday_options, 'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '',
'S_MATCHDAY_EVAL_OPTIONS' => $matchday_eval_options, 'SEASON' => $season,
'S_EXTRA_STATUS_OPTIONS' => $extra_status_options, 'SEASON_NAME' => $season_name,
'S_VERSION_NO' => $this->config['football_version'], 'LEAGUE' => $league,
'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '', 'LEAGUE_NAME' => $league_name,
'SEASON' => $season, 'EXTRA_NO' => $extra_no,
'SEASON_NAME' => $season_name, 'QUESTION_TYPE' => $extra_row['question_type'],
'LEAGUE' => $league, 'QUESTION' => $extra_row['question'],
'LEAGUE_NAME' => $league_name, 'MATCHDAY' => $extra_row['matchday'],
'EXTRA_NO' => $extra_no, 'MATCHDAY_EVAL' => $extra_row['matchday_eval'],
'QUESTION_TYPE' => $extra_row['question_type'], 'MATCHDAY_OPTION' => $extra_row['matchday'],
'QUESTION' => $extra_row['question'], 'MATCHDAY_EVAL' => $extra_row['matchday_eval'],
'MATCHDAY' => $extra_row['matchday'], 'RESULT' => $extra_row['result'],
'MATCHDAY_EVAL' => $extra_row['matchday_eval'], 'EXTRA_POINTS' => $extra_row['extra_points'],
'MATCHDAY_OPTION' => $extra_row['matchday'], 'EXTRA_STATUS' => $extra_row['extra_status'],
'MATCHDAY_EVAL' => $extra_row['matchday_eval'], 'U_BACK' => $u_back,
'RESULT' => $extra_row['result'], 'U_ACTION' => "{$this->u_action}&amp;action=$action&amp;s=$season&amp;l=$league",
'EXTRA_POINTS' => $extra_row['extra_points'], )
'EXTRA_STATUS' => $extra_row['extra_status'], );
'U_BACK' => $u_back, return;
'U_ACTION' => "{$this->u_action}&amp;action=$action&amp;s=$season&amp;l=$league", break;
) }
);
return; // Check open matchday in league
break; $sql = 'SELECT *
} FROM ' . FOOTB_MATCHDAYS . "
WHERE season = $season
// Check open matchday in league AND league = $league
$sql = 'SELECT * AND status <= 0";
FROM ' . FOOTB_MATCHDAYS . " $result = $db->sql_query($sql);
WHERE season = $season $open_matchdays = sizeof($db->sql_fetchrowset($result));
AND league = $league $db->sql_freeresult($result);
AND status <= 0";
$result = $db->sql_query($sql); // Get us all the extra
$open_matchdays = sizeof($db->sql_fetchrowset($result)); $sql = "SELECT e.*,
$db->sql_freeresult($result); m1.matchday_name AS matchday_name,
m2.matchday_name AS matchday_eval_name
// Get us all the extra FROM " . FOOTB_EXTRA . ' AS e
$sql = "SELECT e.*, LEFT JOIN ' . FOOTB_MATCHDAYS . ' AS m1 ON (m1.season = e.season AND m1.league = e.league AND m1.matchday = e.matchday)
m1.matchday_name AS matchday_name, LEFT JOIN ' . FOOTB_MATCHDAYS . " AS m2 ON (m2.season = e.season AND m2.league = e.league AND m2.matchday = e.matchday_eval)
m2.matchday_name AS matchday_eval_name WHERE e.season = $season
FROM " . FOOTB_EXTRA . ' AS e AND e.league = $league
LEFT JOIN ' . FOOTB_MATCHDAYS . ' AS m1 ON (m1.season = e.season AND m1.league = e.league AND m1.matchday = e.matchday) ORDER BY e.extra_no ASC";
LEFT JOIN ' . FOOTB_MATCHDAYS . " AS m2 ON (m2.season = e.season AND m2.league = e.league AND m2.matchday = e.matchday_eval) $result = $db->sql_query($sql);
WHERE e.season = $season $rows_extra = $db->sql_fetchrowset($result);
AND e.league = $league $db->sql_freeresult($result);
ORDER BY e.extra_no ASC";
$result = $db->sql_query($sql); $template->assign_vars(array(
$rows_extra = $db->sql_fetchrowset($result); 'U_ACTION' => $this->u_action,
$db->sql_freeresult($result); 'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet', 's' => $season, 'l' => $league)),
'S_SEASON' => $season,
$template->assign_vars(array( 'S_LEAGUE' => $league,
'U_ACTION' => $this->u_action, 'S_SEASON_OPTIONS' => $season_options,
'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet', 's' => $season, 'l' => $league)), 'S_LEAGUE_OPTIONS' => $league_options,
'S_SEASON' => $season, 'S_EXTRA_ADD' => ($open_matchdays) ? true : false,
'S_LEAGUE' => $league, 'S_VERSION_NO' => $this->config['football_version'],
'S_SEASON_OPTIONS' => $season_options, )
'S_LEAGUE_OPTIONS' => $league_options, );
'S_EXTRA_ADD' => ($open_matchdays) ? true : false,
'S_VERSION_NO' => $this->config['football_version'], // Check if the user is allowed to delete a extra.
) if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete'])
); {
$allow_delete = false;
// Check if the user is allowed to delete a extra. }
if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete']) else
{ {
$allow_delete = false; $allow_delete = true;
} }
else
{ $row_number = 0;
$allow_delete = true; foreach ($rows_extra as $row_extra)
} {
$row_number++;
$row_number = 0; $row_class = (!($row_number % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
foreach ($rows_extra as $row_extra) $template->assign_block_vars('extras', array(
{ 'ROW_CLASS' => $row_class,
$row_number++; 'EXTRA_NO' => $row_extra['extra_no'],
$row_class = (!($row_number % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; 'QUESTION_TYPE' => $row_extra['question_type'],
$template->assign_block_vars('extras', array( 'QUESTION' => $row_extra['question'],
'ROW_CLASS' => $row_class, 'MATCHDAY' => (strlen($row_extra['matchday_name']) > 0) ? $row_extra['matchday_name'] : $row_extra['matchday'] . '. ' . sprintf($user->lang['MATCHDAY']),
'EXTRA_NO' => $row_extra['extra_no'], 'MATCHDAY_EVAL' => (strlen($row_extra['matchday_name']) > 0) ? $row_extra['matchday_eval_name'] : $row_extra['matchday_eval'] . '. ' . sprintf($user->lang['MATCHDAY']),
'QUESTION_TYPE' => $row_extra['question_type'], 'EXTRA_POINTS' => $row_extra['extra_points'],
'QUESTION' => $row_extra['question'], 'EXTRA_STATUS' => $row_extra['extra_status'],
'MATCHDAY' => (strlen($row_extra['matchday_name']) > 0) ? $row_extra['matchday_name'] : $row_extra['matchday'] . '. ' . sprintf($user->lang['MATCHDAY']), 'U_EDIT' => "{$this->u_action}&amp;action=edit&amp;s=" . $season . "&amp;l=" .$league . "&amp;e=" .$row_extra['extra_no'],
'MATCHDAY_EVAL' => (strlen($row_extra['matchday_name']) > 0) ? $row_extra['matchday_eval_name'] : $row_extra['matchday_eval'] . '. ' . sprintf($user->lang['MATCHDAY']), 'U_DELETE' => ($allow_delete) ? "{$this->u_action}&amp;action=delete&amp;s=" . $season . "&amp;l=" . $league . "&amp;e=" . $row_extra['extra_no'] : '',
'EXTRA_POINTS' => $row_extra['extra_points'], )
'EXTRA_STATUS' => $row_extra['extra_status'], );
'U_EDIT' => "{$this->u_action}&amp;action=edit&amp;s=" . $season . "&amp;l=" .$league . "&amp;e=" .$row_extra['extra_no'], }
'U_DELETE' => ($allow_delete) ? "{$this->u_action}&amp;action=delete&amp;s=" . $season . "&amp;l=" . $league . "&amp;e=" . $row_extra['extra_no'] : '', }
) }
);
}
}
}
?> ?>
+437 -425
View File
@@ -1,426 +1,438 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
namespace football\football\acp; namespace football\football\acp;
class football_module class football_module
{ {
var $new_config = array(); var $new_config = array();
public $u_action; public $u_action;
protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
protected $root_path, $request, $php_ext, $log, $phpbb_container, $version_check; protected $root_path, $request, $php_ext, $log, $phpbb_container, $version_check;
public function __construct() public function __construct()
{ {
global $db, $user, $request, $template, $phpbb_container; global $db, $user, $request, $template, $phpbb_container;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$user->add_lang_ext('football/football', 'help_football'); $user->add_lang_ext('football/football', 'help_football');
$user->add_lang_ext('football/football', 'football'); $user->add_lang_ext('football/football', 'football');
$user->add_lang_ext('football/football', 'info_acp_football'); $user->add_lang_ext('football/football', 'info_acp_football');
$this->root_path = $phpbb_root_path . 'ext/football/football/'; $this->root_path = $phpbb_root_path . 'ext/football/football/';
$this->config = $config; $this->config = $config;
$this->request = $request; $this->request = $request;
$this->phpbb_root_path = $phpbb_root_path; $this->phpbb_root_path = $phpbb_root_path;
$this->phpbb_admin_path = $phpbb_admin_path; $this->phpbb_admin_path = $phpbb_admin_path;
$this->php_ext = $phpEx; $this->php_ext = $phpEx;
$this->phpbb_container = $phpbb_container; $this->phpbb_container = $phpbb_container;
$this->version_check = $this->phpbb_container->get('football.football.version.check'); $this->version_check = $this->phpbb_container->get('football.football.version.check');
if(!function_exists('season_info')) if(!function_exists('season_info'))
{ {
include($this->root_path . 'includes/functions.' . $this->php_ext); include($this->root_path . 'includes/functions.' . $this->php_ext);
} }
if (!defined('FOOTB_SEASONS')) if (!defined('FOOTB_SEASONS'))
{ {
include($this->root_path . 'includes/constants.' . $this->php_ext); include($this->root_path . 'includes/constants.' . $this->php_ext);
} }
} }
function main($id, $mode) function main($id, $mode)
{ {
global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info, $phpbb_log; global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info, $phpbb_log;
global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx; global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx;
$provider = new \phpbb\controller\ provider();
$symphony_request = new \phpbb\ symfony_request($request); $helper = $phpbb_container->get('controller.helper');
$filesystem = new \phpbb\ filesystem();
$helper = new \phpbb\controller\ helper($template, $user, $config, $provider, $phpbb_extension_manager, $symphony_request, $request, $filesystem, $phpbb_root_path, $phpEx); $user->add_lang('acp/board');
$user->add_lang('acp/board'); $action = $this->request->variable('action', '');
$submit = (isset($_POST['submit'])) ? true : false;
$action = $this->request->variable('action', '');
$submit = (isset($_POST['submit'])) ? true : false; $form_key = 'acp_football';
add_form_key($form_key);
$form_key = 'acp_football';
add_form_key($form_key); switch ($mode)
{
switch ($mode) case 'userguide':
{ $this->page_title = 'ACP_FOOTBALL_USERGUIDE';
case 'userguide': $this->tpl_name = 'acp_football_userguide';
$this->page_title = 'ACP_FOOTBALL_USERGUIDE';
$this->tpl_name = 'acp_football_userguide'; $template->assign_vars(array(
'S_IN_FOOTBALL_USERGUIDE' => true,
$template->assign_vars(array( 'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet')),
'S_IN_FOOTBALL_USERGUIDE' => true, 'L_BACK_TO_TOP' => $user->lang['BACK_TO_TOP'],
'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet')), 'ICON_BACK_TO_TOP' => '<img src="' . $phpbb_admin_path . 'images/icon_up.gif" style="vertical-align: middle;" alt="' . $user->lang['BACK_TO_TOP'] . '" title="' . $user->lang['BACK_TO_TOP'] . '" />',
'L_BACK_TO_TOP' => $user->lang['BACK_TO_TOP'], 'S_VERSION_NO' => $this->config['football_version'],
'ICON_BACK_TO_TOP' => '<img src="' . $phpbb_admin_path . 'images/icon_up.gif" style="vertical-align: middle;" alt="' . $user->lang['BACK_TO_TOP'] . '" title="' . $user->lang['BACK_TO_TOP'] . '" />', ));
'S_VERSION_NO' => $this->config['football_version'],
)); // Pull the array data from the lang pack
foreach ($user->lang['FOOTBALL_HELP_FAQ'] as $help_ary)
// Pull the array data from the lang pack {
foreach ($user->help as $help_ary) if ($help_ary[0] == '--')
{ {
if ($help_ary[0] == '--') $template->assign_block_vars('userguide_block', array(
{ 'BLOCK_TITLE' => $help_ary[1])
$template->assign_block_vars('userguide_block', array( );
'BLOCK_TITLE' => $help_ary[1])
); continue;
}
continue;
} $template->assign_block_vars('userguide_block.userguide_row', array(
'USERGUIDE_QUESTION' => $help_ary[0],
$template->assign_block_vars('userguide_block.userguide_row', array( 'USERGUIDE_ANSWER' => $help_ary[1])
'USERGUIDE_QUESTION' => $help_ary[0], );
'USERGUIDE_ANSWER' => $help_ary[1]) }
); return;
} break;
return; case 'settings':
break; $display_vars = array(
case 'settings': 'title' => 'ACP_FOOTBALL_SETTINGS',
$display_vars = array( 'vars' => array(
'title' => 'ACP_FOOTBALL_SETTINGS', 'legend1' => 'ACP_FOOTBALL_SETTINGS',
'vars' => array( 'football_name' => array('lang' => 'FOOTBALL_NAME', 'validate' => 'string', 'type' => 'text:25:25', 'explain' => true),
'legend1' => 'ACP_FOOTBALL_SETTINGS', 'football_disable' => array('lang' => 'DISABLE_FOOTBALL', 'validate' => 'bool', 'type' => 'custom', 'method' => 'football_disable', 'explain' => true),
'football_name' => array('lang' => 'FOOTBALL_NAME', 'validate' => 'string', 'type' => 'text:25:25', 'explain' => true), 'football_disable_msg' => false,
'football_disable' => array('lang' => 'DISABLE_FOOTBALL', 'validate' => 'bool', 'type' => 'custom', 'method' => 'football_disable', 'explain' => true), 'football_fullscreen' => array('lang' => 'FOOTBALL_FULLSCREEN','validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_disable_msg' => false, 'football_header_enable' => array('lang' => 'FOOTBALL_HEADER_ENABLE','validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_fullscreen' => array('lang' => 'FOOTBALL_FULLSCREEN','validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_guest_view' => array('lang' => 'GUEST_VIEW', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_header_enable' => array('lang' => 'FOOTBALL_HEADER_ENABLE','validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_user_view' => array('lang' => 'USER_VIEW', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_guest_view' => array('lang' => 'GUEST_VIEW', 'validate' => 'bool', 'type' => 'radio:yes_no', '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_user_view' => array('lang' => 'USER_VIEW', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_info_display' => array('lang' => 'FOOTBALL_INFO', 'validate' => 'bool', 'type' => 'custom', 'method' => 'football_info', '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_info' => false,
'football_info_display' => array('lang' => 'FOOTBALL_INFO', 'validate' => 'bool', 'type' => 'custom', 'method' => 'football_info', 'explain' => true), 'football_win_name' => array('lang' => 'WIN_NAME', 'validate' => 'string', 'type' => 'text:6:6', 'explain' => true),
'football_info' => false, 'football_code' => array('lang' => 'FOOTBALL_CODE', 'validate' => 'string', 'type' => 'text:25:25', 'explain' => true),
'football_win_name' => array('lang' => 'WIN_NAME', 'validate' => 'string', 'type' => 'text:6:6', 'explain' => true), 'football_style' => array('lang' => 'FOOTBALL_STYLE', 'validate' => 'int', 'type' => 'select', 'function' => 'style_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => false),
'football_code' => array('lang' => 'FOOTBALL_CODE', 'validate' => 'string', 'type' => 'text:25:25', 'explain' => true), 'football_override_style' => array('lang' => 'FOOTBALL_OVERRIDE_STYLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_style' => array('lang' => 'FOOTBALL_STYLE', 'validate' => 'int', 'type' => 'select', 'function' => 'style_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => false), 'football_update_source' => array('lang' => 'FOOTBALL_UPDATE_SOURCE', 'validate' => 'string', 'type' => 'text:80:255', 'explain' => true),
'football_override_style' => array('lang' => 'FOOTBALL_OVERRIDE_STYLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_update_code' => array('lang' => 'FOOTBALL_UPDATE_CODE', 'validate' => 'string', 'type' => 'text:25:255', 'explain' => true),
'football_update_source' => array('lang' => 'FOOTBALL_UPDATE_SOURCE', 'validate' => 'string', 'type' => 'text:80:255', 'explain' => true),
'football_update_code' => array('lang' => 'FOOTBALL_UPDATE_CODE', 'validate' => 'string', 'type' => 'text:25:255', 'explain' => true), 'legend2' => 'GENERAL_SETTINGS',
'football_left_column_width' => array('lang' => 'LEFT_COLUMN', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'legend2' => 'GENERAL_SETTINGS', 'football_right_column_width' => array('lang' => 'RIGHT_COLUMN', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'football_left_column_width' => array('lang' => 'LEFT_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_right_column_width' => array('lang' => 'RIGHT_COLUMN', '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_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), 'football_users_per_page' => array('lang' => 'USERS_PAGE', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'legend3' => 'ACP_SUBMIT_CHANGES', 'legend3' => 'ACP_SUBMIT_CHANGES',
) )
); );
// show the extension version check on Settings page // show the extension version check on Settings page
$this->version_check->check(); $this->version_check->check();
break; break;
case 'features': case 'features':
$display_vars = array( $display_vars = array(
'title' => 'ACP_FOOTBALL_FEATURES', 'title' => 'ACP_FOOTBALL_FEATURES',
'vars' => array( 'vars' => array(
'legend1' => 'ACP_FOOTBALL_FEATURES', 'legend1' => 'ACP_FOOTBALL_FEATURES',
'football_founder_delete' => array('lang' => 'FOUNDER_DELETE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_founder_delete' => array('lang' => 'FOUNDER_DELETE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_results_at_time' => array('lang' => 'RESULTS_AT_TIME', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_results_at_time' => array('lang' => 'RESULTS_AT_TIME', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_win_hits02' => array('lang' => 'WIN_HITS02', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_win_hits02' => array('lang' => 'WIN_HITS02', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_same_allowed' => array('lang' => 'SAME_ALLOWED', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_same_allowed' => array('lang' => 'SAME_ALLOWED', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_season_start' => array('lang' => 'FOOTBALL_SEASON_START', 'validate' => 'int', 'type' => 'select', 'method' => 'season_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => true), 'football_season_start' => array('lang' => 'FOOTBALL_SEASON_START', 'validate' => 'int', 'type' => 'select', 'method' => 'season_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => true),
'football_view_current' => array('lang' => 'VIEW_CURRENT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_view_current' => array('lang' => 'VIEW_CURRENT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_view_bets' => array('lang' => 'VIEW_BETS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_view_bets' => array('lang' => 'VIEW_BETS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_view_tendencies' => array('lang' => 'VIEW_TENDENCIES', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_view_tendencies' => array('lang' => 'VIEW_TENDENCIES', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_bank' => array('lang' => 'BANK', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_bank' => array('lang' => 'BANK', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_ult_points' => array('lang' => 'ULT_POINTS', 'validate' => 'int', 'type' => 'custom', 'method' => 'select_up_method', 'explain' => true), 'football_ult_points' => array('lang' => 'ULT_POINTS', 'validate' => 'int', 'type' => 'custom', 'method' => 'select_up_method', 'explain' => true),
'football_ult_points_factor'=> array('lang' => 'ULT_POINTS_FACTOR', 'validate' => 'dec:3:2','type' => 'text:4:10', 'explain' => true), 'football_ult_points_factor'=> array('lang' => 'ULT_POINTS_FACTOR', 'validate' => 'dec:3:2','type' => 'text:4:10', 'explain' => true),
'football_remember_enable' => array('lang' => 'FOOTBALL_REMEMBER_ENABLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_remember_enable' => array('lang' => 'FOOTBALL_REMEMBER_ENABLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_remember_next_run'=> array('lang' => 'FOOTBALL_REMEMBER_NEXT_RUN','validate' => 'int', 'type' => 'custom', 'method' => 'next_run', 'explain' => true), 'football_remember_next_run'=> array('lang' => 'FOOTBALL_REMEMBER_NEXT_RUN','validate' => 'int', 'type' => 'custom', 'method' => 'next_run', 'explain' => true),
'legend2' => 'ACP_SUBMIT_CHANGES', 'legend2' => 'ACP_SUBMIT_CHANGES',
) )
); );
break; break;
case 'menu': case 'menu':
$display_vars = array( $display_vars = array(
'title' => 'ACP_FOOTBALL_MENU', 'title' => 'ACP_FOOTBALL_MENU',
'vars' => array( 'vars' => array(
'legend1' => 'ACP_FOOTBALL_MENU', 'legend1' => 'ACP_FOOTBALL_MENU',
'football_breadcrumb' => array('lang' => 'FOOTBALL_BREADCRUMB', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_breadcrumb' => array('lang' => 'FOOTBALL_BREADCRUMB', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_side' => array('lang' => 'FOOTBALL_SIDE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_side' => array('lang' => 'FOOTBALL_SIDE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_menu' => array('lang' => 'FOOTBALL_MENU', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'football_menu' => array('lang' => 'FOOTBALL_MENU', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'football_menu_link1' => array('lang' => 'MENU_LINK1', 'validate' => 'string', 'type' => 'text:80:255', 'explain' => true), 'football_menu_link1' => array('lang' => 'MENU_LINK1', 'validate' => 'string', 'type' => 'text:80:255', 'explain' => true),
'football_menu_desc1' => array('lang' => 'MENU_DESC1', 'validate' => 'string', 'type' => 'text:20:20', 'explain' => true), 'football_menu_desc1' => array('lang' => 'MENU_DESC1', 'validate' => 'string', 'type' => 'text:20:20', 'explain' => true),
'football_menu_link2' => array('lang' => 'MENU_LINK2', 'validate' => 'string', 'type' => 'text:80:255', 'explain' => false), 'football_menu_link2' => array('lang' => 'MENU_LINK2', 'validate' => 'string', 'type' => 'text:80:255', 'explain' => false),
'football_menu_desc2' => array('lang' => 'MENU_DESC2', 'validate' => 'string', 'type' => 'text:20:20', 'explain' => false), 'football_menu_desc2' => array('lang' => 'MENU_DESC2', 'validate' => 'string', 'type' => 'text:20:20', 'explain' => false),
'football_menu_link3' => array('lang' => 'MENU_LINK3', 'validate' => 'string', 'type' => 'text:80:255', 'explain' => false), 'football_menu_link3' => array('lang' => 'MENU_LINK3', 'validate' => 'string', 'type' => 'text:80:255', 'explain' => false),
'football_menu_desc3' => array('lang' => 'MENU_DESC3', 'validate' => 'string', 'type' => 'text:20:20', 'explain' => false), 'football_menu_desc3' => array('lang' => 'MENU_DESC3', 'validate' => 'string', 'type' => 'text:20:20', 'explain' => false),
) )
); );
break; break;
default: default:
trigger_error('NO_MODE', E_USER_ERROR); trigger_error('NO_MODE', E_USER_ERROR);
break; break;
} }
if (isset($display_vars['lang'])) if (isset($display_vars['lang']))
{ {
$user->add_lang($display_vars['lang']); $user->add_lang($display_vars['lang']);
} }
$this->new_config = $this->config; $this->new_config = $this->config;
$cfg_array = (isset($_REQUEST['config'])) ? utf8_normalize_nfc($this->request->variable('config', array('' => ''), true)) : $this->new_config; $cfg_array = (isset($_REQUEST['config'])) ? utf8_normalize_nfc($this->request->variable('config', array('' => ''), true)) : $this->new_config;
$error = array(); $error = array();
// We validate the complete config if whished // We validate the complete config if whished
validate_config_vars($display_vars['vars'], $cfg_array, $error); validate_config_vars($display_vars['vars'], $cfg_array, $error);
if ($submit && !check_form_key($form_key)) if ($submit && !check_form_key($form_key))
{ {
$error[] = $user->lang['FORM_INVALID']; $error[] = $user->lang['FORM_INVALID'];
} }
// Do not write values if there is an error // Do not write values if there is an error
if (sizeof($error)) if (sizeof($error))
{ {
$submit = false; $submit = false;
} }
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to... // We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
foreach ($display_vars['vars'] as $this->config_name => $null) foreach ($display_vars['vars'] as $this->config_name => $null)
{ {
if (!isset($cfg_array[$this->config_name]) || strpos($this->config_name, 'legend') !== false) if (!isset($cfg_array[$this->config_name]) || strpos($this->config_name, 'legend') !== false)
{ {
continue; continue;
} }
$this->new_config[$this->config_name] = $this->config_value = $cfg_array[$this->config_name]; $this->new_config[$this->config_name] = $this->config_value = $cfg_array[$this->config_name];
if ($submit) if ($submit)
{ {
if ($this->config_name == 'football_ult_points' && $this->config_value) if ($this->config_name == 'football_ult_points' && $this->config_value)
{ {
$this->config->set('football_bank', 1); $this->config->set('football_bank', 1);
} }
if ($this->config_name == 'football_remember_enable') if ($this->config_name == 'football_remember_enable')
{ {
$day = $this->request->variable('next_run_day', 0); $day = $this->request->variable('next_run_day', 0);
$month = $this->request->variable('next_run_month', 0); $month = $this->request->variable('next_run_month', 0);
$year = $this->request->variable('next_run_year', 0); $year = $this->request->variable('next_run_year', 0);
$hour = $this->request->variable('next_run_hour', 0); $hour = $this->request->variable('next_run_hour', 0);
$minute = $this->request->variable('next_run_minute', 0); $minute = $this->request->variable('next_run_minute', 0);
$next_run = mktime($hour, $minute, 0, $month, $day, $year); $next_run = mktime($hour, $minute, 0, $month, $day, $year);
$this->config->set('football_remember_next_run', $next_run); $this->config->set('football_remember_next_run', $next_run);
} }
$this->config->set($this->config_name, $this->config_value); $this->config->set($this->config_name, $this->config_value);
} }
} }
if ($submit) if ($submit)
{ {
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_FOOTBALL_' . strtoupper($mode)); $phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_FOOTBALL_' . strtoupper($mode));
trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action)); trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action));
} }
$this->tpl_name = 'acp_football'; $this->tpl_name = 'acp_football';
$this->page_title = $display_vars['title']; $this->page_title = $display_vars['title'];
$template->assign_vars(array( $template->assign_vars(array(
'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet')), 'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet')),
'L_TITLE' => $user->lang[$display_vars['title']], 'L_TITLE' => $user->lang[$display_vars['title']],
'L_TITLE_EXPLAIN' => $user->lang[$display_vars['title'] . '_EXPLAIN'], 'L_TITLE_EXPLAIN' => $user->lang[$display_vars['title'] . '_EXPLAIN'],
'S_ERROR' => (sizeof($error)) ? true : false, 'S_ERROR' => (sizeof($error)) ? true : false,
'ERROR_MSG' => implode('<br />', $error), 'ERROR_MSG' => implode('<br />', $error),
'U_ACTION' => $this->u_action, 'U_ACTION' => $this->u_action,
'S_VERSION_NO' => $this->config['football_version'], 'S_VERSION_NO' => $this->config['football_version'],
) )
); );
// Output relevant page // Output relevant page
foreach ($display_vars['vars'] as $this->config_key => $vars) foreach ($display_vars['vars'] as $this->config_key => $vars)
{ {
if (!is_array($vars) && strpos($this->config_key, 'legend') === false) if (!is_array($vars) && strpos($this->config_key, 'legend') === false)
{ {
continue; continue;
} }
if (strpos($this->config_key, 'legend') !== false) if (strpos($this->config_key, 'legend') !== false)
{ {
$template->assign_block_vars('options', array( $template->assign_block_vars('options', array(
'S_LEGEND' => true, 'S_LEGEND' => true,
'LEGEND' => (isset($user->lang[$vars])) ? $user->lang[$vars] : $vars, 'LEGEND' => (isset($user->lang[$vars])) ? $user->lang[$vars] : $vars,
) )
); );
continue; continue;
} }
$type = explode(':', $vars['type']); $type = explode(':', $vars['type']);
$l_explain = ''; $l_explain = '';
if ($vars['explain'] && isset($vars['lang_explain'])) if ($vars['explain'] && isset($vars['lang_explain']))
{ {
$l_explain = (isset($user->lang[$vars['lang_explain']])) ? $user->lang[$vars['lang_explain']] : $vars['lang_explain']; $l_explain = (isset($user->lang[$vars['lang_explain']])) ? $user->lang[$vars['lang_explain']] : $vars['lang_explain'];
} }
else if ($vars['explain']) else if ($vars['explain'])
{ {
$l_explain = (isset($user->lang[$vars['lang'] . '_EXPLAIN'])) ? $user->lang[$vars['lang'] . '_EXPLAIN'] : ''; $l_explain = (isset($user->lang[$vars['lang'] . '_EXPLAIN'])) ? $user->lang[$vars['lang'] . '_EXPLAIN'] : '';
} }
$content = build_cfg_template($type, $this->config_key, $this->new_config, $this->config_key, $vars); $content = build_cfg_template($type, $this->config_key, $this->new_config, $this->config_key, $vars);
if (empty($content)) if (empty($content))
{ {
continue; continue;
} }
$template->assign_block_vars('options', array( $template->assign_block_vars('options', array(
'KEY' => $this->config_key, 'KEY' => $this->config_key,
'TITLE' => (isset($user->lang[$vars['lang']])) ? $user->lang[$vars['lang']] : $vars['lang'], 'TITLE' => (isset($user->lang[$vars['lang']])) ? $user->lang[$vars['lang']] : $vars['lang'],
'S_EXPLAIN' => $vars['explain'], 'S_EXPLAIN' => $vars['explain'],
'TITLE_EXPLAIN' => $l_explain, 'TITLE_EXPLAIN' => $l_explain,
'CONTENT' => $content, 'CONTENT' => $content,
) )
); );
unset($display_vars['vars'][$this->config_key]); unset($display_vars['vars'][$this->config_key]);
} }
} }
/** /**
* Football disable option and message * Football disable option and message
*/ */
function football_disable($value, $key) function football_disable($value, $key)
{ {
global $user; global $user;
$radio_ary = array(1 => 'YES', 0 => 'NO'); $radio_ary = array(1 => 'YES', 0 => 'NO');
return h_radio('config[football_disable]', $radio_ary, $value) . '<br /><input id="' . $key . '" type="text" name="config[football_disable_msg]" maxlength="255" size="80" value="' . $this->new_config['football_disable_msg'] . '" />'; return h_radio('config[football_disable]', $radio_ary, $value) . '<br /><input id="' . $key . '" type="text" name="config[football_disable_msg]" maxlength="255" size="80" value="' . $this->new_config['football_disable_msg'] . '" />';
} }
/** /**
* Football info option and message * Football info option and message
*/ */
function football_info($value, $key) function football_info($value, $key)
{ {
global $user; global $user;
$radio_ary = array(1 => 'YES', 0 => 'NO'); $radio_ary = array(1 => 'YES', 0 => 'NO');
return h_radio('config[football_info_display]', $radio_ary, $value) . '<br /><input id="' . $key . '" type="text" name="config[football_info]" maxlength="255" size="80" value="' . $this->new_config['football_info'] . '" />'; return h_radio('config[football_info_display]', $radio_ary, $value) . '<br /><input id="' . $key . '" type="text" name="config[football_info]" maxlength="255" size="80" value="' . $this->new_config['football_info'] . '" />';
} }
/** /**
* Select ultimate points method * Select ultimate points method
*/ */
function select_up_method($value, $key = '') function select_up_method($value, $key = '')
{ {
global $user, $config; global $user, $config;
$radio_ary = array(UP_NONE => 'UP_NONE', UP_WINS => 'UP_WINS', UP_POINTS => 'UP_POINTS'); $radio_ary = array(UP_NONE => 'UP_NONE', UP_WINS => 'UP_WINS', UP_POINTS => 'UP_POINTS');
return h_radio('config[football_ult_points]', $radio_ary, $value, $key); return h_radio('config[football_ult_points]', $radio_ary, $value, $key);
} }
function season_select($default = 0) function season_select($default = 0)
{ {
global $user, $db; global $user, $db;
$sql = 'SELECT DISTINCT s.season, s.season_name_short FROM ' . FOOTB_SEASONS . ' AS s $sql = 'SELECT DISTINCT s.season, s.season_name_short FROM ' . FOOTB_SEASONS . ' AS s
INNER JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = s.season) INNER JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = s.season)
INNER JOIN ' . FOOTB_MATCHDAYS . ' AS md ON (md.season = s.season AND md.league = l.league) INNER JOIN ' . FOOTB_MATCHDAYS . ' AS md ON (md.season = s.season AND md.league = l.league)
WHERE 1 WHERE 1
ORDER BY s.season DESC'; ORDER BY s.season DESC';
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$selected = (0 == $default) ? ' selected="selected"' : ''; $selected = (0 == $default) ? ' selected="selected"' : '';
$season_options = '<option value="0"' . $selected . '>' . $user->lang['AUTO'] . '</option>'; $season_options = '<option value="0"' . $selected . '>' . $user->lang['AUTO'] . '</option>';
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$selected = ($row['season'] == $default) ? ' selected="selected"' : ''; $selected = ($row['season'] == $default) ? ' selected="selected"' : '';
$season_options .= '<option value="' . $row['season'] . '"' . $selected . '>' . $row['season_name_short'] . '</option>'; $season_options .= '<option value="' . $row['season'] . '"' . $selected . '>' . $row['season_name_short'] . '</option>';
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
return $season_options; return $season_options;
} }
/** /**
* Adjust Cronjob EMail remember next un * Adjust Cronjob EMail remember next run
*/ */
function next_run($value, $key = '') function next_run($value, $key = '')
{ {
global $user, $db; global $user, $db;
$next_run = getdate($this->config['football_remember_next_run']); $next_run = getdate($this->config['football_remember_next_run']);
// Days // Days
$day_options = '<select name="next_run_day" id="next_run_day">'; $day_options = '<select name="next_run_day" id="next_run_day">';
for ($i = 1; $i < 32; $i++) for ($i = 1; $i < 32; $i++)
{ {
$selected = ($i == $next_run['mday']) ? ' selected="selected"' : ''; $selected = ($i == $next_run['mday']) ? ' selected="selected"' : '';
$day_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>'; $day_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
} }
$day_options .= '</select>'; $day_options .= '</select>';
// Months // Months
$month_options = '<select name="next_run_month" id="next_run_month">'; $month_options = '<select name="next_run_month" id="next_run_month">';
for ($i = 1; $i < 13; $i++) for ($i = 1; $i < 13; $i++)
{ {
$selected = ($i == $next_run['mon']) ? ' selected="selected"' : ''; $selected = ($i == $next_run['mon']) ? ' selected="selected"' : '';
$month_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>'; $month_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
} }
$month_options .= '</select>'; $month_options .= '</select>';
// Years // Years
$year_options = '<select name="next_run_year" id="next_run_year">'; $year_options = '<select name="next_run_year" id="next_run_year">';
for ($i = date("Y"); $i < (date("Y") + 1); $i++) for ($i = date("Y"); $i < (date("Y") + 1); $i++)
{ {
$selected = ($i == $next_run['year']) ? ' selected="selected"' : ''; $selected = ($i == $next_run['year']) ? ' selected="selected"' : '';
$year_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>'; $year_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
} }
$year_options .= '</select>'; $year_options .= '</select>';
// Hours // Hours
$hour_options = '<select name="next_run_hour" id="next_run_hour">'; $hour_options = '<select name="next_run_hour" id="next_run_hour">';
for ($i = 0; $i < 24; $i++) for ($i = 0; $i < 24; $i++)
{ {
$selected = ($i == $next_run['hours']) ? ' selected="selected"' : ''; $selected = ($i == $next_run['hours']) ? ' selected="selected"' : '';
$hour_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>'; $hour_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
} }
$hour_options .= '</select>'; $hour_options .= '</select>';
// Minutes // Minutes
$minute_options = '<select name="next_run_minute" id="next_run_minute">'; $minute_options = '<select name="next_run_minute" id="next_run_minute">';
for ($i = 0; $i < 60; $i++) for ($i = 0; $i < 60; $i++)
{ {
$selected = ($i == $next_run['minutes']) ? ' selected="selected"' : ''; $selected = ($i == $next_run['minutes']) ? ' selected="selected"' : '';
$minute_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>'; $minute_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
} }
$minute_options .= '</select>'; $minute_options .= '</select>';
return $user->lang['DAY'] . ': ' . $day_options . ' ' . $user->lang['MONTH'] . ': ' . $month_options . ' ' . $user->lang['YEAR'] . ': ' . return $user->lang['DAY'] . ': ' . $day_options . ' ' . $user->lang['MONTH'] . ': ' . $month_options . ' ' . $user->lang['YEAR'] . ': ' .
$year_options . ' ' . $user->lang['HOURS'] . ': ' . $hour_options . ' ' . $user->lang['MINUTES'] . ': ' . $minute_options; $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 .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
}
return $time_shift_options;
}
}
?> ?>
+254 -256
View File
@@ -1,257 +1,255 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
namespace football\football\acp; namespace football\football\acp;
class ko_module class ko_module
{ {
public $u_action; public $u_action;
protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
protected $root_path, $request, $php_ext, $log; protected $root_path, $request, $php_ext, $log;
public function __construct() public function __construct()
{ {
global $db, $user, $request, $template; global $db, $user, $request, $template;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$user->add_lang_ext('football/football', 'football'); $user->add_lang_ext('football/football', 'football');
$user->add_lang_ext('football/football', 'info_acp_ko'); $user->add_lang_ext('football/football', 'info_acp_ko');
$this->root_path = $phpbb_root_path . 'ext/football/football/'; $this->root_path = $phpbb_root_path . 'ext/football/football/';
$this->config = $config; $this->config = $config;
$this->request = $request; $this->request = $request;
$this->phpbb_root_path = $phpbb_root_path; $this->phpbb_root_path = $phpbb_root_path;
$this->phpbb_admin_path = $phpbb_admin_path; $this->phpbb_admin_path = $phpbb_admin_path;
$this->php_ext = $phpEx; $this->php_ext = $phpEx;
if(!function_exists('season_info')) if(!function_exists('season_info'))
{ {
include($this->root_path . 'includes/functions.' . $this->php_ext); include($this->root_path . 'includes/functions.' . $this->php_ext);
} }
if (!defined('FOOTB_SEASONS')) if (!defined('FOOTB_SEASONS'))
{ {
include($this->root_path . 'includes/constants.' . $this->php_ext); include($this->root_path . 'includes/constants.' . $this->php_ext);
} }
} }
function main($id, $mode) function main($id, $mode)
{ {
global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info; global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info;
global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx; global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx;
$provider = new \phpbb\controller\ provider();
$symphony_request = new \phpbb\ symfony_request($request); $helper = $phpbb_container->get('controller.helper');
$filesystem = new \phpbb\ filesystem();
$helper = new \phpbb\controller\ helper($template, $user, $config, $provider, $phpbb_extension_manager, $symphony_request, $request, $filesystem, $phpbb_root_path, $phpEx); $this->tpl_name = 'acp_football_ko';
$this->page_title = 'ACP_FOOTBALL_KO_MANAGE';
$this->tpl_name = 'acp_football_ko';
$this->page_title = 'ACP_FOOTBALL_KO_MANAGE'; $form_key = 'acp_football_ko';
add_form_key($form_key);
$form_key = 'acp_football_ko';
add_form_key($form_key); include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext); // Check and set some common vars
$action = (isset($_POST['update'])) ? 'update' : $this->request->variable('action', '');
// Check and set some common vars $season = $this->request->variable('s', 0);
$action = (isset($_POST['update'])) ? 'update' : $this->request->variable('action', ''); $league = $this->request->variable('l', 0);
$season = $this->request->variable('s', 0); $matchday_from = $this->request->variable('matchday_from', 0);
$league = $this->request->variable('l', 0); $matchday_to = $this->request->variable('matchday_to', 0);
$matchday_from = $this->request->variable('matchday_from', 0); $matchday_new = $this->request->variable('matchday_new', 0);
$matchday_to = $this->request->variable('matchday_to', 0); $check_rank = $this->request->variable('check_rank', 0);
$matchday_new = $this->request->variable('matchday_new', 0); $rank = $this->request->variable('rank', 2);
$check_rank = $this->request->variable('check_rank', 0); $move_rank = $this->request->variable('move_rank', 3);
$rank = $this->request->variable('rank', 2); $move_league = $this->request->variable('move_league', 0);
$move_rank = $this->request->variable('move_rank', 3); $move_matchday = $this->request->variable('move_matchday', 8);
$move_league = $this->request->variable('move_league', 0);
$move_matchday = $this->request->variable('move_matchday', 8); // Clear some vars
$error = array();
// Clear some vars $success = array();
$error = array();
$success = array(); $curr_season = curr_season();
// Grab current season
$curr_season = curr_season(); if (!$season)
// Grab current season {
if (!$season) $season = $curr_season;
{ }
$season = $curr_season;
} // Grab basic data for select season
if ($season)
// Grab basic data for select season {
if ($season) $sql = 'SELECT
{ DISTINCT s.*
$sql = 'SELECT FROM ' . FOOTB_SEASONS . ' AS s
DISTINCT s.* LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = s.season)
FROM ' . FOOTB_SEASONS . ' AS s WHERE l.league_type = 2
LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = s.season) ORDER BY s.season DESC';
WHERE l.league_type = 2 $result = $db->sql_query($sql);
ORDER BY s.season DESC';
$result = $db->sql_query($sql); $season_options = '';
while ($row = $db->sql_fetchrow($result))
$season_options = ''; {
while ($row = $db->sql_fetchrow($result)) $selected = ($season && $row['season'] == $season) ? ' selected="selected"' : '';
{ $season_options .= '<option value="' . $row['season'] . '"' . $selected . '>' . $row['season_name_short'] . '</option>';
$selected = ($season && $row['season'] == $season) ? ' selected="selected"' : ''; if ($selected <> '')
$season_options .= '<option value="' . $row['season'] . '"' . $selected . '>' . $row['season_name_short'] . '</option>'; {
if ($selected <> '') $season_name = $row['season_name_short'];
{ }
$season_name = $row['season_name_short']; }
} $db->sql_freeresult($result);
} }
$db->sql_freeresult($result); else
} {
else trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
{ }
trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
} // Grab basic data for select league
$sql = 'SELECT *
// Grab basic data for select league FROM ' . FOOTB_LEAGUES . '
$sql = 'SELECT * WHERE season = ' . $season . '
FROM ' . FOOTB_LEAGUES . ' AND league_type = ' . LEAGUE_KO . '
WHERE season = ' . $season . ' ORDER BY league ASC';
AND league_type = ' . LEAGUE_KO . ' $result = $db->sql_query($sql);
ORDER BY league ASC';
$result = $db->sql_query($sql); $league_options = '';
if ($move_league == 0)
$league_options = ''; {
if ($move_league == 0) $league_move_options = '<option value="0" selected="selected">' . sprintf($user->lang['CHOOSE_LEAGUE']) . '</option>';
{ }
$league_move_options = '<option value="0" selected="selected">' . sprintf($user->lang['CHOOSE_LEAGUE']) . '</option>'; else
} {
else $league_move_options = '<option value="0">' . sprintf($user->lang['CHOOSE_LEAGUE']) . '</option>';
{ }
$league_move_options = '<option value="0">' . sprintf($user->lang['CHOOSE_LEAGUE']) . '</option>'; while ($row = $db->sql_fetchrow($result))
} {
while ($row = $db->sql_fetchrow($result)) // Grab current league
{ if (!$league)
// Grab current league {
if (!$league) $league = $row['league'];
{ }
$league = $row['league']; $selected = ($league && $row['league'] == $league) ? ' selected="selected"' : '';
} $league_options .= '<option value="' . $row['league'] . '"' . $selected . '>' . $row['league_name'] . '</option>';
$selected = ($league && $row['league'] == $league) ? ' selected="selected"' : ''; if ($selected <> '')
$league_options .= '<option value="' . $row['league'] . '"' . $selected . '>' . $row['league_name'] . '</option>'; {
if ($selected <> '') $league_matchdays = $row['matchdays'];
{ $matches_matchday = $row['matches_on_matchday'];
$league_matchdays = $row['matchdays']; $league_name = $row['league_name'];
$matches_matchday = $row['matches_on_matchday']; }
$league_name = $row['league_name']; else
} {
else $selected_move = ($move_league && $row['league'] == $move_league) ? ' selected="selected"' : '';
{ $league_move_options .= '<option value="' . $row['league'] . '"' . $selected_move . '>' . $row['league_name'] . '</option>';
$selected_move = ($move_league && $row['league'] == $move_league) ? ' selected="selected"' : ''; }
$league_move_options .= '<option value="' . $row['league'] . '"' . $selected_move . '>' . $row['league_name'] . '</option>'; }
} $db->sql_freeresult($result);
}
$db->sql_freeresult($result); if (!$league)
{
if (!$league) trigger_error(sprintf($user->lang['NO_LEAGUE'], $season) . adm_back_link($this->u_action . "&amp;s=$season"), E_USER_WARNING);
{ }
trigger_error(sprintf($user->lang['NO_LEAGUE'], $season) . adm_back_link($this->u_action . "&amp;s=$season"), E_USER_WARNING);
} // Grab basic data for select matchday
if (!$matchday_from)
// Grab basic data for select matchday {
if (!$matchday_from) $matchday_from = curr_matchday($season, $league);
{ if ($matchday_from > 1)
$matchday_from = curr_matchday($season, $league); {
if ($matchday_from > 1) $matchday_from = $matchday_from - 1;
{ }
$matchday_from = $matchday_from - 1; }
} if (!$matchday_to)
} {
if (!$matchday_to) $matchday_to = $matchday_from;
{ }
$matchday_to = $matchday_from; if (!$matchday_new)
} {
if (!$matchday_new) $matchday_new = $matchday_to + 1;
{ }
$matchday_new = $matchday_to + 1;
} $sql = 'SELECT *
FROM ' . FOOTB_MATCHDAYS . "
$sql = 'SELECT * WHERE season = $season
FROM ' . FOOTB_MATCHDAYS . " AND league = $league
WHERE season = $season ORDER BY matchday ASC";
AND league = $league $result = $db->sql_query($sql);
ORDER BY matchday ASC";
$result = $db->sql_query($sql); $matchday_from_options = '';
$matchday_to_options = '';
$matchday_from_options = ''; $matchday_new_options = '';
$matchday_to_options = ''; while ($row = $db->sql_fetchrow($result))
$matchday_new_options = ''; {
while ($row = $db->sql_fetchrow($result)) $selected_from = ($matchday_from && $row['matchday'] == $matchday_from) ? ' selected="selected"' : '';
{ $selected_to = ($matchday_to && $row['matchday'] == $matchday_to) ? ' selected="selected"' : '';
$selected_from = ($matchday_from && $row['matchday'] == $matchday_from) ? ' selected="selected"' : ''; $selected_new = ($matchday_new && $row['matchday'] == $matchday_new) ? ' selected="selected"' : '';
$selected_to = ($matchday_to && $row['matchday'] == $matchday_to) ? ' selected="selected"' : ''; $day_name = (strlen($row['matchday_name']) > 0) ? $row['matchday_name'] : $row['matchday'] . '. ' . sprintf($user->lang['MATCHDAY']);
$selected_new = ($matchday_new && $row['matchday'] == $matchday_new) ? ' selected="selected"' : ''; $matchday_from_options .= '<option value="' . $row['matchday'] . '"' . $selected_from . '>' . $day_name . '</option>';
$day_name = (strlen($row['matchday_name']) > 0) ? $row['matchday_name'] : $row['matchday'] . '. ' . sprintf($user->lang['MATCHDAY']); $matchday_to_options .= '<option value="' . $row['matchday'] . '"' . $selected_to . '>' . $day_name . '</option>';
$matchday_from_options .= '<option value="' . $row['matchday'] . '"' . $selected_from . '>' . $day_name . '</option>'; $matchday_new_options .= '<option value="' . $row['matchday'] . '"' . $selected_new . '>' . $day_name . '</option>';
$matchday_to_options .= '<option value="' . $row['matchday'] . '"' . $selected_to . '>' . $day_name . '</option>'; }
$matchday_new_options .= '<option value="' . $row['matchday'] . '"' . $selected_new . '>' . $day_name . '</option>'; $db->sql_freeresult($result);
} if ($matchday_from_options == '')
$db->sql_freeresult($result); {
if ($matchday_from_options == '') trigger_error(sprintf($user->lang['NO_MATCHDAY'], $league_name, $season) . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING);
{ }
trigger_error(sprintf($user->lang['NO_MATCHDAY'], $league_name, $season) . adm_back_link($this->u_action . "&amp;s=$season&amp;l=$league"), E_USER_WARNING);
} // Which page?
switch ($action)
// Which page? {
switch ($action) case 'update':
{ {
case 'update': if ($matchday_from > $matchday_to)
{ {
if ($matchday_from > $matchday_to) $error[] = sprintf($user->lang['ERROR_FROM_TO']);
{ }
$error[] = sprintf($user->lang['ERROR_FROM_TO']); if ($matchday_new <= $matchday_to)
} {
if ($matchday_new <= $matchday_to) $error[] = sprintf($user->lang['ERROR_TARGET']);
{ }
$error[] = sprintf($user->lang['ERROR_TARGET']); if (!sizeof($error))
} {
if (!sizeof($error)) if (1 == $check_rank)
{ {
if (1 == $check_rank) $success = ko_group_next_round($season, $league, $matchday_from, $matchday_to, $matchday_new, $rank, $move_rank, $move_league, $move_matchday);
{ }
$success = ko_group_next_round($season, $league, $matchday_from, $matchday_to, $matchday_new, $rank, $move_rank, $move_league, $move_matchday); else
} {
else $success = ko_next_round($season, $league, $matchday_from, $matchday_to, $matchday_new);
{ }
$success = ko_next_round($season, $league, $matchday_from, $matchday_to, $matchday_new); trigger_error($success . adm_back_link($this->u_action));
} }
trigger_error($success . adm_back_link($this->u_action)); }
} break;
} }
break;
} $template->assign_vars(array(
'U_ACTION' => $this->u_action,
$template->assign_vars(array( 'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet', 's' => $season, 'l' => $league)),
'U_ACTION' => $this->u_action, 'S_ERROR' => (sizeof($error)) ? true : false,
'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet', 's' => $season, 'l' => $league)), 'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '',
'S_ERROR' => (sizeof($error)) ? true : false, 'S_SUCCESS' => (sizeof($success)) ? true : false,
'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '', 'SUCCESS_MSG' => (sizeof($success)) ? implode('<br />', $success) : '',
'S_SUCCESS' => (sizeof($success)) ? true : false, 'S_SEASON_OPTIONS' => $season_options,
'SUCCESS_MSG' => (sizeof($success)) ? implode('<br />', $success) : '', 'S_LEAGUE_OPTIONS' => $league_options,
'S_SEASON_OPTIONS' => $season_options, 'S_SEASON' => $season,
'S_LEAGUE_OPTIONS' => $league_options, 'S_LEAGUE' => $league,
'S_SEASON' => $season, 'S_MATCHDAY_FROM_OPTIONS'=> $matchday_from_options,
'S_LEAGUE' => $league, 'S_MATCHDAY_TO_OPTIONS' => $matchday_to_options,
'S_MATCHDAY_FROM_OPTIONS'=> $matchday_from_options, 'S_MATCHDAY_NEW_OPTIONS'=> $matchday_new_options,
'S_MATCHDAY_TO_OPTIONS' => $matchday_to_options, 'S_CHECK_RANK' => $check_rank,
'S_MATCHDAY_NEW_OPTIONS'=> $matchday_new_options, 'S_RANK' => $rank,
'S_CHECK_RANK' => $check_rank, 'S_MOVE_RANK' => $move_rank,
'S_RANK' => $rank, 'S_MOVE_LEAGUE_OPTIONS' => $league_move_options,
'S_MOVE_RANK' => $move_rank, 'S_MOVE_MATCHDAY' => $move_matchday,
'S_MOVE_LEAGUE_OPTIONS' => $league_move_options, 'S_VERSION_NO' => $this->config['football_version'],
'S_MOVE_MATCHDAY' => $move_matchday, )
'S_VERSION_NO' => $this->config['football_version'], );
) }
); }
}
}
?> ?>
+753 -735
View File
File diff suppressed because it is too large Load Diff
+1133 -1133
View File
File diff suppressed because it is too large Load Diff
+786 -766
View File
File diff suppressed because it is too large Load Diff
+821 -818
View File
File diff suppressed because it is too large Load Diff
+393 -395
View File
@@ -1,396 +1,394 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
namespace football\football\acp; namespace football\football\acp;
class seasons_module class seasons_module
{ {
public $u_action; public $u_action;
protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
protected $root_path, $request, $php_ext, $log; protected $root_path, $request, $php_ext, $log;
public function __construct() public function __construct()
{ {
global $db, $user, $request, $template; global $db, $user, $request, $template;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$user->add_lang_ext('football/football', 'football'); $user->add_lang_ext('football/football', 'football');
$user->add_lang_ext('football/football', 'info_acp_seasons'); $user->add_lang_ext('football/football', 'info_acp_seasons');
$this->root_path = $phpbb_root_path . 'ext/football/football/'; $this->root_path = $phpbb_root_path . 'ext/football/football/';
$this->config = $config; $this->config = $config;
$this->request = $request; $this->request = $request;
$this->phpbb_root_path = $phpbb_root_path; $this->phpbb_root_path = $phpbb_root_path;
$this->phpbb_admin_path = $phpbb_admin_path; $this->phpbb_admin_path = $phpbb_admin_path;
$this->php_ext = $phpEx; $this->php_ext = $phpEx;
if(!function_exists('season_info')) if(!function_exists('season_info'))
{ {
include($this->root_path . 'includes/functions.' . $this->php_ext); include($this->root_path . 'includes/functions.' . $this->php_ext);
} }
if (!defined('FOOTB_SEASONS')) if (!defined('FOOTB_SEASONS'))
{ {
include($this->root_path . 'includes/constants.' . $this->php_ext); include($this->root_path . 'includes/constants.' . $this->php_ext);
} }
} }
function main($id, $mode) function main($id, $mode)
{ {
global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info; global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info;
global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx; global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx;
$provider = new \phpbb\controller\ provider();
$symphony_request = new \phpbb\ symfony_request($request); $helper = $phpbb_container->get('controller.helper');
$filesystem = new \phpbb\ filesystem();
$helper = new \phpbb\controller\ helper($template, $user, $config, $provider, $phpbb_extension_manager, $symphony_request, $request, $filesystem, $phpbb_root_path, $phpEx); $this->tpl_name = 'acp_football_seasons';
$this->page_title = 'ACP_FOOTBALL_SEASONS_MANAGE';
$this->tpl_name = 'acp_football_seasons';
$this->page_title = 'ACP_FOOTBALL_SEASONS_MANAGE'; $form_key = 'acp_football_seasons';
add_form_key($form_key);
$form_key = 'acp_football_seasons';
add_form_key($form_key); include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx); // Check and set some common vars
$action = (isset($_POST['add'])) ? 'add' : $this->request->variable('action', '');
// Check and set some common vars $season = $this->request->variable('s', 0);
$action = (isset($_POST['add'])) ? 'add' : $this->request->variable('action', ''); $edit = $this->request->variable('edit', 0);
$season = $this->request->variable('s', 0); $update = (isset($_POST['update'])) ? true : false;
$edit = $this->request->variable('edit', 0);
$update = (isset($_POST['update'])) ? true : false; // Clear some vars
$season_row = array();
// Clear some vars $error = array();
$season_row = array();
$error = array(); // Grab basic data for season, if season is set and exists
if ($season)
// Grab basic data for season, if season is set and exists {
if ($season) $sql = 'SELECT *
{ FROM ' . FOOTB_SEASONS . "
$sql = 'SELECT * WHERE season = $season";
FROM ' . FOOTB_SEASONS . " $result = $db->sql_query($sql);
WHERE season = $season"; $season_row = $db->sql_fetchrow($result);
$result = $db->sql_query($sql); $db->sql_freeresult($result);
$season_row = $db->sql_fetchrow($result); }
$db->sql_freeresult($result);
} // Which page?
switch ($action)
// Which page? {
switch ($action) case 'delete':
{ if (!$season)
case 'delete': {
if (!$season) trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
{ }
trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
} if (confirm_box(true))
{
if (confirm_box(true)) $error = '';
{ if (!$auth->acl_get('a_football_delete'))
$error = ''; {
if (!$auth->acl_get('a_football_delete')) trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
{ }
trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING); if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete'])
} {
if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete']) trigger_error($user->lang['SEASONS_NO_DELETE'] . adm_back_link($this->u_action), E_USER_WARNING);
{ }
trigger_error($user->lang['SEASONS_NO_DELETE'] . adm_back_link($this->u_action), E_USER_WARNING); // Delete season
} $sql = 'DELETE FROM ' . FOOTB_SEASONS . "
// Delete season WHERE season = $season";
$sql = 'DELETE FROM ' . FOOTB_SEASONS . " $db->sql_query($sql);
WHERE season = $season";
$db->sql_query($sql); // Delete leagues
$sql = 'DELETE FROM ' . FOOTB_LEAGUES . "
// Delete leagues WHERE season = $season";
$sql = 'DELETE FROM ' . FOOTB_LEAGUES . " $db->sql_query($sql);
WHERE season = $season";
$db->sql_query($sql); // Delete matchdays
$sql = 'DELETE FROM ' . FOOTB_MATCHDAYS . "
// Delete matchdays WHERE season = $season";
$sql = 'DELETE FROM ' . FOOTB_MATCHDAYS . " $db->sql_query($sql);
WHERE season = $season";
$db->sql_query($sql); // Delete matches
$sql = 'DELETE FROM ' . FOOTB_MATCHES . "
// Delete matches WHERE season = $season";
$sql = 'DELETE FROM ' . FOOTB_MATCHES . " $db->sql_query($sql);
WHERE season = $season";
$db->sql_query($sql); // Delete teams
$sql = 'DELETE FROM ' . FOOTB_TEAMS . "
// Delete teams WHERE season = $season";
$sql = 'DELETE FROM ' . FOOTB_TEAMS . " $db->sql_query($sql);
WHERE season = $season";
$db->sql_query($sql); // Delete ranks
$sql = 'DELETE FROM ' . FOOTB_RANKS . "
// Delete ranks WHERE season = $season";
$sql = 'DELETE FROM ' . FOOTB_RANKS . " $db->sql_query($sql);
WHERE season = $season";
$db->sql_query($sql); // Delete bets
$sql = 'DELETE FROM ' . FOOTB_BETS . "
// Delete bets WHERE season = $season";
$sql = 'DELETE FROM ' . FOOTB_BETS . " $db->sql_query($sql);
WHERE season = $season";
$db->sql_query($sql); trigger_error($user->lang['SEASON_DELETED'] . adm_back_link($this->u_action));
}
trigger_error($user->lang['SEASON_DELETED'] . adm_back_link($this->u_action)); else
} {
else confirm_box(false, sprintf($user->lang['SEASON_CONFIRM_DELETE'], $season), build_hidden_fields(array(
{ 's' => $season,
confirm_box(false, sprintf($user->lang['SEASON_CONFIRM_DELETE'], $season), build_hidden_fields(array( 'mode' => $mode,
's' => $season, 'action' => $action))
'mode' => $mode, );
'action' => $action)) }
); break;
}
break; case 'add':
if ($season >= 1963 AND $season <= 2099)
case 'add': {
if ($season >= 1963 AND $season <= 2099) if ($season_row)
{ {
if ($season_row) if ($edit)
{ {
if ($edit) $error[] = $user->lang['SEASON_TAKEN'];
{ }
$error[] = $user->lang['SEASON_TAKEN']; else
} {
else trigger_error($user->lang['SEASON_TAKEN'] . adm_back_link($this->u_action), E_USER_WARNING);
{ }
trigger_error($user->lang['SEASON_TAKEN'] . adm_back_link($this->u_action), E_USER_WARNING); }
} $season_row['season_name'] = utf8_normalize_nfc($this->request->variable('season_name', '', true));
} if ($season_row['season_name'] <> '')
$season_row['season_name'] = utf8_normalize_nfc($this->request->variable('season_name', '', true)); {
if ($season_row['season_name'] <> '') $sql = 'SELECT
{ season_name
$sql = 'SELECT FROM ' . FOOTB_SEASONS . "
season_name WHERE season_name = '" . $season_row['season_name'] . "'";
FROM ' . FOOTB_SEASONS . " $result = $db->sql_query($sql);
WHERE season_name = '" . $season_row['season_name'] . "'"; $row = $db->sql_fetchrow($result);
$result = $db->sql_query($sql); $db->sql_freeresult($result);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result); if ($row)
{
if ($row) $error[] = $user->lang['SEASON_NAME_TAKEN'];
{ }
$error[] = $user->lang['SEASON_NAME_TAKEN']; }
} else
} {
else $intseason = ((int) $season) - 1;
{ $season_row['season_name'] = $user->lang['SEASON'] . ' ' . $intseason . '/' . $season;
$intseason = ((int) $season) - 1; }
$season_row['season_name'] = $user->lang['SEASON'] . ' ' . $intseason . '/' . $season;
} $season_row['season_name_short'] = utf8_normalize_nfc($this->request->variable('season_short', '', true));
if ($season_row['season_name_short'] <> '')
$season_row['season_name_short'] = utf8_normalize_nfc($this->request->variable('season_short', '', true)); {
if ($season_row['season_name_short'] <> '') $sql = 'SELECT
{ season_name_short
$sql = 'SELECT FROM ' . FOOTB_SEASONS . "
season_name_short WHERE season_name_short = '" . $season_row['season_name_short'] . "'";
FROM ' . FOOTB_SEASONS . " $result = $db->sql_query($sql);
WHERE season_name_short = '" . $season_row['season_name_short'] . "'"; $row = $db->sql_fetchrow($result);
$result = $db->sql_query($sql); $db->sql_freeresult($result);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result); if ($row)
{
if ($row) $error[] = $user->lang['SEASON_SHORT_TAKEN'];
{ }
$error[] = $user->lang['SEASON_SHORT_TAKEN']; }
} else
} {
else $intseason = ((int) $season) - 1;
{ $season_row['season_name_short'] = $intseason . '/' . $season;
$intseason = ((int) $season) - 1; }
$season_row['season_name_short'] = $intseason . '/' . $season; }
} else
} {
else trigger_error($user->lang['SEASON_NUMBER'] . adm_back_link($this->u_action), E_USER_WARNING);
{ }
trigger_error($user->lang['SEASON_NUMBER'] . adm_back_link($this->u_action), E_USER_WARNING); // No break for edit add
} case 'edit':
// No break for edit add $data = array();
case 'edit':
$data = array(); if (!sizeof($error))
{
if (!sizeof($error)) if ($action == 'edit' && !$season)
{ {
if ($action == 'edit' && !$season) trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
{ }
trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
} // Did we submit?
if ($update)
// Did we submit? {
if ($update) if (!check_form_key($form_key))
{ {
if (!check_form_key($form_key)) trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
{ return;
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING); }
return;
} $season_row['season_name'] = utf8_normalize_nfc($this->request->variable('season_name', '', true));
if ($season_row['season_name'] <> '')
$season_row['season_name'] = utf8_normalize_nfc($this->request->variable('season_name', '', true)); {
if ($season_row['season_name'] <> '') $sql = 'SELECT
{ season
$sql = 'SELECT FROM ' . FOOTB_SEASONS . "
season WHERE season_name = '" . $season_row['season_name'] . "'";
FROM ' . FOOTB_SEASONS . " $result = $db->sql_query($sql);
WHERE season_name = '" . $season_row['season_name'] . "'"; $row = $db->sql_fetchrow($result);
$result = $db->sql_query($sql); $db->sql_freeresult($result);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result); if ($row)
{
if ($row) if ($row['season'] <> $season)
{ {
if ($row['season'] <> $season) $error[] = $user->lang['SEASON_NAME_TAKEN'];
{ }
$error[] = $user->lang['SEASON_NAME_TAKEN']; }
} }
} else
} {
else $error[] = $user->lang['SEASON_NAME_EMPTY'];
{ }
$error[] = $user->lang['SEASON_NAME_EMPTY'];
} $season_row['season_name_short'] = utf8_normalize_nfc($this->request->variable('season_short', '', true));
if ($season_row['season_name_short'] <> '')
$season_row['season_name_short'] = utf8_normalize_nfc($this->request->variable('season_short', '', true)); {
if ($season_row['season_name_short'] <> '') $sql = 'SELECT
{ season
$sql = 'SELECT FROM ' . FOOTB_SEASONS . "
season WHERE season_name_short = '" . $season_row['season_name_short'] . "'";
FROM ' . FOOTB_SEASONS . " $result = $db->sql_query($sql);
WHERE season_name_short = '" . $season_row['season_name_short'] . "'"; $row = $db->sql_fetchrow($result);
$result = $db->sql_query($sql); $db->sql_freeresult($result);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result); if ($row)
{
if ($row) if ($row['season'] <> $season)
{ {
if ($row['season'] <> $season) $error[] = $user->lang['SEASON_SHORT_TAKEN'];
{ }
$error[] = $user->lang['SEASON_SHORT_TAKEN']; }
} }
} else
} {
else $error[] = $user->lang['SEASON_SHORT_EMPTY'];
{ }
$error[] = $user->lang['SEASON_SHORT_EMPTY']; if (!sizeof($error))
} {
if (!sizeof($error)) $sql_ary = array(
{ 'season' => (int) $season,
$sql_ary = array( 'season_name' => $season_row['season_name'],
'season' => (int) $season, 'season_name_short' => $season_row['season_name_short'],
'season_name' => $season_row['season_name'], );
'season_name_short' => $season_row['season_name_short'],
); $data['season'] = $season;
$data['season_name'] = $this->request->variable('season_name', '');
$data['season'] = $season; $data['season_short'] = $this->request->variable('season_short', '');
$data['season_name'] = $this->request->variable('season_name', '');
$data['season_short'] = $this->request->variable('season_short', ''); $var_ary = array(
'season' => array('num', false, 1963, 2099),
$var_ary = array( 'season_name' => array('string', false, 4, 20),
'season' => array('num', false, 1963, 2099), 'season_short' => array('string', false, 2, 10),
'season_name' => array('string', false, 4, 20), );
'season_short' => array('string', false, 2, 10), if (!($error_vals = validate_data($data, $var_ary)))
); {
if (!($error_vals = validate_data($data, $var_ary))) if ($action == 'add')
{ {
if ($action == 'add') $sql = 'INSERT INTO ' . FOOTB_SEASONS . ' ' . $db->sql_build_array('INSERT', $sql_ary);
{ $db->sql_query($sql);
$sql = 'INSERT INTO ' . FOOTB_SEASONS . ' ' . $db->sql_build_array('INSERT', $sql_ary); }
$db->sql_query($sql); else
} {
else $sql = 'UPDATE ' . FOOTB_SEASONS . '
{ SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
$sql = 'UPDATE ' . FOOTB_SEASONS . ' WHERE season = $season";
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " $db->sql_query($sql);
WHERE season = $season"; }
$db->sql_query($sql); $message = ($action == 'edit') ? 'SEASON_UPDATED' : 'SEASON_CREATED';
} trigger_error($user->lang[$message] . adm_back_link($this->u_action));
$message = ($action == 'edit') ? 'SEASON_UPDATED' : 'SEASON_CREATED'; }
trigger_error($user->lang[$message] . adm_back_link($this->u_action)); else
} {
else foreach ($error_vals as $error_val)
{ {
foreach ($error_vals as $error_val) $error_msg[] = $user->lang[$error_val];
{ }
$error_msg[] = $user->lang[$error_val]; $message = ($action == 'edit') ? 'SEASON_UPDATE_FAILED' : 'SEASON_CREATE_FAILED';
} $error[] = $user->lang[$message];
$message = ($action == 'edit') ? 'SEASON_UPDATE_FAILED' : 'SEASON_CREATE_FAILED'; $error = array_merge($error, $error_msg);
$error[] = $user->lang[$message]; }
$error = array_merge($error, $error_msg); }
} }
} }
}
} $u_back = $this->u_action;
$u_back = $this->u_action; $template->assign_vars(array(
'S_EDIT' => true,
$template->assign_vars(array( 'S_ADD_SEASON' => ($action == 'add') ? true : false,
'S_EDIT' => true, 'S_ERROR' => (sizeof($error)) ? true : false,
'S_ADD_SEASON' => ($action == 'add') ? true : false, 'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '',
'S_ERROR' => (sizeof($error)) ? true : false, 'SEASON' => $season,
'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '', 'SEASON_NAME' => $season_row['season_name'],
'SEASON' => $season, 'SEASON_SHORT' => $season_row['season_name_short'],
'SEASON_NAME' => $season_row['season_name'], 'U_BACK' => $u_back,
'SEASON_SHORT' => $season_row['season_name_short'], 'U_ACTION' => "{$this->u_action}&amp;action=$action&amp;s=$season",
'U_BACK' => $u_back, )
'U_ACTION' => "{$this->u_action}&amp;action=$action&amp;s=$season", );
) return;
); break;
return; }
break;
} $template->assign_vars(array(
'U_ACTION' => $this->u_action,
$template->assign_vars(array( 'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet')),
'U_ACTION' => $this->u_action, 'S_SEASON_ADD' => true,
'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet')), )
'S_SEASON_ADD' => true, );
)
); // Get us all the seasons
$sql = 'SELECT
// Get us all the seasons s.season,
$sql = 'SELECT s.season_name,
s.season, s.season_name_short,
s.season_name, COUNT(l.league) AS leagues
s.season_name_short, FROM ' . FOOTB_SEASONS . ' s
COUNT(l.league) AS leagues LEFT JOIN ' . FOOTB_LEAGUES . ' l on l.season = s.season
FROM ' . FOOTB_SEASONS . ' s GROUP BY season
LEFT JOIN ' . FOOTB_LEAGUES . ' l on l.season = s.season ORDER BY season DESC';
GROUP BY season $result = $db->sql_query($sql);
ORDER BY season DESC'; $rows_seasons = $db->sql_fetchrowset($result);
$result = $db->sql_query($sql); $db->sql_freeresult($result);
$rows_seasons = $db->sql_fetchrowset($result);
$db->sql_freeresult($result); // Check if the user is allowed to delete a season.
if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete'])
// Check if the user is allowed to delete a season. {
if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete']) $allow_delete = false;
{ }
$allow_delete = false; else
} {
else $allow_delete = true;
{ }
$allow_delete = true;
} $row_number = 0;
foreach ($rows_seasons as $row_season)
$row_number = 0; {
foreach ($rows_seasons as $row_season) $row_number++;
{ $row_class = (!($row_number % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$row_number++; $template->assign_block_vars('seasons', array(
$row_class = (!($row_number % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; 'ROW_CLASS' => $row_class,
$template->assign_block_vars('seasons', array( 'SEASON' => $row_season['season'],
'ROW_CLASS' => $row_class, 'SEASON_NAME' => $row_season['season_name'],
'SEASON' => $row_season['season'], 'SEASON_SHORT' => $row_season['season_name_short'],
'SEASON_NAME' => $row_season['season_name'], 'LEAGUES' => $row_season['leagues'],
'SEASON_SHORT' => $row_season['season_name_short'], 'U_EDIT' => "{$this->u_action}&amp;action=edit&amp;s=" .$row_season['season'],
'LEAGUES' => $row_season['leagues'], 'U_DELETE' => ($allow_delete) ? "{$this->u_action}&amp;action=delete&amp;s=" . $row_season['season'] : '',
'U_EDIT' => "{$this->u_action}&amp;action=edit&amp;s=" .$row_season['season'], )
'U_DELETE' => ($allow_delete) ? "{$this->u_action}&amp;action=delete&amp;s=" . $row_season['season'] : '', );
) }
); }
} }
}
}
?> ?>
+656 -658
View File
File diff suppressed because it is too large Load Diff
+1463 -1461
View File
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -33,7 +33,7 @@
</dl> </dl>
<dl> <dl>
<dt><label for="league_name">{L_LEAGUE_NAME}:</label></dt> <dt><label for="league_name">{L_LEAGUE_NAME}:</label></dt>
<dd><input name="league_name" type="text" id="league_name" size="20" maxlength="20" value="{LEAGUE_NAME}" /></dd> <dd><input name="league_name" type="text" id="league_name" size="25" maxlength="21" value="{LEAGUE_NAME}" /></dd>
</dl> </dl>
<dl> <dl>
<dt><label for="league_short">{L_LEAGUE_SHORT}:</label><br /><span>{L_LEAGUE_SHORT_EXPLAIN}</span></dt> <dt><label for="league_short">{L_LEAGUE_SHORT}:</label><br /><span>{L_LEAGUE_SHORT_EXPLAIN}</span></dt>
@@ -100,6 +100,10 @@
</dd> </dd>
</dl> </dl>
<!-- ENDIF --> <!-- ENDIF -->
<dl>
<dt><label for="bet_type">{L_BET_TYPE}:</label><br /><span>{L_BET_TYPE_EXPLAIN}</span></dt>
<dd><input name="bet_type" type="checkbox" id="bet_type" <!-- IF S_BET_TYPE -->checked="checked" <!-- ENDIF --> /></dd>
</dl>
</fieldset> </fieldset>
<fieldset> <fieldset>
+4
View File
@@ -96,6 +96,10 @@
<dd><input name="formula_guest" type="text" id="formula_guest" size="9" maxlength="9" value="{FORMULA_GUEST}" /></dd> <dd><input name="formula_guest" type="text" id="formula_guest" size="9" maxlength="9" value="{FORMULA_GUEST}" /></dd>
</dl> </dl>
<!-- ENDIF --> <!-- ENDIF -->
<dl>
<dt><label for="show_table">{L_SHOW_TABLE}:</label><br /><span>{L_SHOW_TABLE_EXPLAIN}</span></dt>
<dd><input name="show_table" type="checkbox" class="radio" id="show_table" <!-- IF S_SHOW_TABLE --> checked="checked"<!-- ENDIF --> /></dd>
</dl>
<input type="hidden" name="ko_league" value="1" /> <input type="hidden" name="ko_league" value="1" />
</fieldset> </fieldset>
+197 -130
View File
@@ -14,11 +14,23 @@ if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
$start = $this->request->variable('start', 0); $start = $this->request->variable('start', 0);
$matches_on_matchday = false; $matches_on_matchday = false;
$league_info = league_info($season, $league);
$sql = 'SELECT COUNT(DISTINCT user_id) AS num_users if($league_info['bet_type'])
FROM ' . FOOTB_BETS . " {
WHERE season = $season AND league = $league"; $sql = 'SELECT COUNT(DISTINCT b.user_id) AS num_users
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 b.season = $season AND b.league = $league AND m.matchday = $matchday";
}
else
{
$sql = 'SELECT COUNT(DISTINCT b.user_id) AS num_users
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)
LEFT JOIN ' . FOOTB_MATCHES . ' AS m2 ON (m2.season = m.season AND m2.league = m.league + 50 AND m2.matchday = m.matchday AND m2.team_id_home = b.user_id + 2000)
LEFT JOIN ' . FOOTB_MATCHES . " AS m3 ON (m3.season = m.season AND m3.league = m.league + 50 AND m3.matchday = m.matchday AND m3.team_id_guest = b.user_id + 2000)
WHERE b.season = $season AND b.league = $league AND m.matchday = $matchday AND (m2.match_no IS NOT NULL || m3.match_no IS NOT NULL) ";
}
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$total_users = (int) $db->sql_fetchfield('num_users'); $total_users = (int) $db->sql_fetchfield('num_users');
$db->sql_freeresult($result); $db->sql_freeresult($result);
@@ -36,7 +48,19 @@ $sql = "SELECT
m.goals_guest, m.goals_guest,
SUM(IF(b.goals_home + 0 > b.goals_guest AND b.goals_home <> '' AND b.goals_guest <> '', 1, 0)) AS home, SUM(IF(b.goals_home + 0 > b.goals_guest AND b.goals_home <> '' AND b.goals_guest <> '', 1, 0)) AS home,
SUM(IF(b.goals_home = b.goals_guest AND b.goals_home <> '' AND b.goals_guest <> '', 1, 0)) AS draw, SUM(IF(b.goals_home = b.goals_guest AND b.goals_home <> '' AND b.goals_guest <> '', 1, 0)) AS draw,
SUM(IF(b.goals_home + 0 < b.goals_guest AND b.goals_home <> '' AND b.goals_guest <> '', 1, 0)) AS guest SUM(IF(b.goals_home + 0 < b.goals_guest AND b.goals_home <> '' AND b.goals_guest <> '', 1, 0)) AS 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 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 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) LEFT JOIN ' . FOOTB_TEAMS . ' AS t2 ON (t2.season = m.season AND t2.league = m.league AND t2.team_id = m.team_id_guest)
@@ -67,7 +91,7 @@ if ($user->data['football_mobile'])
} }
else else
{ {
if ($count_matches > 11) if ($count_matches > 12)
{ {
$split_after = 8; $split_after = 8;
$splits = ceil($count_matches / 8); $splits = ceil($count_matches / 8);
@@ -78,7 +102,6 @@ else
$splits = 1; $splits = 1;
} }
} }
$db->sql_freeresult($result);
// Make sure $start is set to the last page if it exceeds the amount // Make sure $start is set to the last page if it exceeds the amount
if ($start < 0 || $start >= $total_users) if ($start < 0 || $start >= $total_users)
@@ -114,21 +137,47 @@ if ($count_matches > 0)
{ {
$matches_on_matchday = true; $matches_on_matchday = true;
$sql = "SELECT if($league_info['bet_type'])
u.user_id, {
u.username, $sql = "SELECT
m.status, u.user_id,
b.goals_home AS bet_home, u.username,
b.goals_guest AS bet_guest, m.status,
" . select_points() . ' b.goals_home AS bet_home,
FROM ' . FOOTB_MATCHES . ' AS m b.goals_guest AS bet_guest,
LEFT JOIN ' . FOOTB_BETS . ' AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no) IFNULL(m2.match_no,m3.match_no),
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) " . select_points() . '
WHERE m.season = $season FROM ' . FOOTB_MATCHES . ' AS m
AND m.league = $league LEFT JOIN ' . FOOTB_BETS . ' AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no)
AND m.matchday = $matchday LEFT JOIN ' . USERS_TABLE . ' AS u ON (u.user_id = b.user_id)
ORDER BY LOWER(u.username) ASC, m.match_datetime ASC, m.match_no ASC"; LEFT JOIN ' . FOOTB_MATCHES . ' AS m2 ON (m2.season = m.season AND m2.league = m.league + 50 AND m2.matchday = m.matchday AND m2.team_id_home = b.user_id + 2000)
LEFT JOIN ' . FOOTB_MATCHES . " AS m3 ON (m3.season = m.season AND m3.league = m.league + 50 AND m3.matchday = m.matchday AND m3.team_id_guest = b.user_id + 2000)
WHERE m.season = $season
AND m.league = $league
AND m.matchday = $matchday
ORDER BY IFNULL(m2.match_no,m3.match_no) ASC, m3.match_no ASC, LOWER(u.username) ASC, m.match_datetime ASC, m.match_no ASC";
}
else
{
$sql = "SELECT
u.user_id,
u.username,
m.status,
b.goals_home AS bet_home,
b.goals_guest AS bet_guest,
IFNULL(m2.match_no,m3.match_no),
" . select_points() . '
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)
LEFT JOIN ' . USERS_TABLE . ' AS u ON (u.user_id = b.user_id)
LEFT JOIN ' . FOOTB_MATCHES . ' AS m2 ON (m2.season = m.season AND m2.league = m.league + 50 AND m2.matchday = m.matchday AND m2.team_id_home = b.user_id + 2000)
LEFT JOIN ' . FOOTB_MATCHES . " AS m3 ON (m3.season = m.season AND m3.league = m.league + 50 AND m3.matchday = m.matchday AND m3.team_id_guest = b.user_id + 2000)
WHERE m.season = $season
AND m.league = $league
AND m.matchday = $matchday
AND (m3.match_no IS NOT NULL OR m2.match_no IS NOT NULL)
ORDER BY IFNULL(m2.match_no,m3.match_no) ASC, m3.match_no ASC, LOWER(u.username) ASC, m.match_datetime ASC, m.match_no ASC";
}
$result = $db->sql_query_limit($sql, $sql_limit, $sql_start); $result = $db->sql_query_limit($sql, $sql_limit, $sql_start);
$user_bets = $db->sql_fetchrowset($result); $user_bets = $db->sql_fetchrowset($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
@@ -165,56 +214,67 @@ foreach ($matches AS $match)
$count_user = 0; $count_user = 0;
$bet_index = 0; $bet_index = 0;
$last_match_index = 0; $last_match_index = 0;
foreach ($bet_line[$split_index] AS $user_bet) if(!empty($bet_line))
{ {
if ($bet_index == 0) foreach ($bet_line[$split_index] AS $user_bet)
{ {
$count_user++; if ($bet_index == 0)
$row_class = (!($count_user % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; {
if ($user_bet['user_id'] == $user->data['user_id']) $count_user++;
{ $league_info = league_info($season, $league);
$row_class = 'bg3 row_user'; if ($league_info['bet_type'])
} {
$template->assign_block_vars('match_panel.user_row', array( $row_class = (!($count_user % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
'ROW_CLASS' => $row_class, }
'USER_NAME' => $user_bet['username'], else
) {
); $row_class = (!(($count_user + ($count_user % 2)) % 4)) ? 'bg1 row_light' : 'bg2 row_dark';
$total = 0; }
} if ($user_bet['user_id'] == $user->data['user_id'])
$bet_index++; {
$total += $user_bet['points']; $row_class = 'bg3 row_user';
if ($user_bet['status'] < 3) }
{ $template->assign_block_vars('match_panel.user_row', array(
$colorstyle_total = ' color_provisionally'; 'ROW_CLASS' => $row_class,
} 'USER_NAME' => $user_bet['username'],
if ($user_bet['status'] < 1 && !$config['football_view_bets']) )
{ );
// hide bets $total = 0;
$bet_home = ($user_bet['bet_home'] == '') ? '&nbsp;' : '?'; }
$bet_guest = ($user_bet['bet_guest'] == '') ? '&nbsp;' : '?'; $bet_index++;
} $total += ($user_bet['points'] == '') ? 0 : $user_bet['points'];
else if ($user_bet['status'] < 3)
{ {
$bet_home = $user_bet['bet_home']; $colorstyle_total = ' color_provisionally';
$bet_guest = $user_bet['bet_guest']; }
} if ($user_bet['status'] < 1 && !$config['football_view_bets'])
{
$colorstyle_bet = color_style($user_bet['status']); // hide bets
$template->assign_block_vars('match_panel.user_row.bet', array( $bet_home = ($user_bet['bet_home'] == '') ? '&nbsp;' : '?';
'BET' => $bet_home. ':'. $bet_guest, $bet_guest = ($user_bet['bet_guest'] == '') ? '&nbsp;' : '?';
'COLOR_STYLE' => $colorstyle_bet, }
'POINTS' => ($user_bet['points'] == '') ? '&nbsp;' : $user_bet['points'], else
) {
); $bet_home = $user_bet['bet_home'];
$bet_guest = $user_bet['bet_guest'];
}
if ($bet_index == $split_after) $colorstyle_bet = color_style($user_bet['status']);
{ $template->assign_block_vars('match_panel.user_row.bet', array(
$sum_total[$user_bet['username']] += $total; 'BET' => $bet_home. ':'. $bet_guest,
$matchday_sum_total += $total; 'COLOR_STYLE' => $colorstyle_bet,
$bet_index = 0; 'POINTS' => ($user_bet['points'] == '') ? '&nbsp;' : $user_bet['points'],
} )
} );
if ($bet_index == $split_after)
{
$sum_total[$user_bet['username']] += $total;
$matchday_sum_total += $total;
$bet_index = 0;
}
}
}
$template->assign_block_vars('match_panel.tendency_footer', array( $template->assign_block_vars('match_panel.tendency_footer', array(
'S_TOTAL' => false, 'S_TOTAL' => false,
@@ -265,10 +325,11 @@ foreach ($matches AS $match)
} }
$colorstyle_match = color_style($match['status']); $colorstyle_match = color_style($match['status']);
$template->assign_block_vars('match_panel.match_entry', array( $template->assign_block_vars('match_panel.match_entry', array(
'HOME_NAME' => $homename, 'HOME_NAME' => $homename,
'GUEST_NAME' => $guestname, 'GUEST_NAME' => $guestname,
'RESULT' => $match['goals_home']. ':'.$match['goals_guest'], 'RESULT' => $match['goals_home']. ':'.$match['goals_guest'],
'COLOR_STYLE' => $colorstyle_match, 'COLOR_STYLE' => $colorstyle_match,
'MATCH_TIME' => $match['match_time'],
) )
); );
if ($match['status'] < 1 && !$config['football_view_tendencies']) if ($match['status'] < 1 && !$config['football_view_tendencies'])
@@ -288,59 +349,70 @@ if ($count_matches > 0)
$total = 0; $total = 0;
$count_user = 0; $count_user = 0;
$bet_index = 0; $bet_index = 0;
foreach ($bet_line[$split_index] AS $user_bet) if(!empty($bet_line))
{ {
if ($bet_index == 0) foreach ($bet_line[$split_index] AS $user_bet)
{ {
$count_user++; if ($bet_index == 0)
$row_class = (!($count_user % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($user_bet['user_id'] == $user->data['user_id'])
{ {
$row_class = 'bg3 row_user'; $count_user++;
$league_info = league_info($season, $league);
if ($league_info['bet_type'])
{
$row_class = (!($count_user % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
}
else
{
$row_class = (!(($count_user + ($count_user % 2)) % 4)) ? 'bg1 row_light' : 'bg2 row_dark';
}
if ($user_bet['user_id'] == $user->data['user_id'])
{
$row_class = 'bg3 row_user';
}
$template->assign_block_vars('match_panel.user_row', array(
'ROW_CLASS' => $row_class,
'USER_NAME' => $user_bet['username'],
)
);
$total = 0;
}
$bet_index++;
$total += ($user_bet['points'] == '') ? 0 : $user_bet['points'];
if ($user_bet['status'] < 3)
{
$colorstyle_total = ' color_provisionally';
} }
$template->assign_block_vars('match_panel.user_row', array( if ($user_bet['status'] < 1 && !$config['football_view_bets'])
'ROW_CLASS' => $row_class, {
'USER_NAME' => $user_bet['username'], // hide bets
$bet_home = ($user_bet['bet_home'] == '') ? '' : '?';
$bet_guest = ($user_bet['bet_guest'] == '') ? '' : '?';
}
else
{
$bet_home = $user_bet['bet_home'];
$bet_guest = $user_bet['bet_guest'];
}
$colorstyle_bet = color_style($user_bet['status']);
$template->assign_block_vars('match_panel.user_row.bet', array(
'BET' => $bet_home. ':'. $bet_guest,
'COLOR_STYLE' => $colorstyle_bet,
'POINTS' => ($user_bet['points'] == '') ? '&nbsp;' : $user_bet['points'],
) )
); );
$total = 0;
}
$bet_index++;
$total += $user_bet['points'];
if ($user_bet['status'] < 3)
{
$colorstyle_total = ' color_provisionally';
}
if ($user_bet['status'] < 1 && !$config['football_view_bets'])
{
// hide bets
$bet_home = ($user_bet['bet_home'] == '') ? '' : '?';
$bet_guest = ($user_bet['bet_guest'] == '') ? '' : '?';
}
else
{
$bet_home = $user_bet['bet_home'];
$bet_guest = $user_bet['bet_guest'];
}
$colorstyle_bet = color_style($user_bet['status']);
$template->assign_block_vars('match_panel.user_row.bet', array(
'BET' => $bet_home. ':'. $bet_guest,
'COLOR_STYLE' => $colorstyle_bet,
'POINTS' => ($user_bet['points'] == '') ? '&nbsp;' : $user_bet['points'],
)
);
if ($bet_index == $last_match_index) if ($bet_index == $last_match_index)
{ {
$sum_total[$user_bet['username']] += $total; $sum_total[$user_bet['username']] += $total;
$matchday_sum_total += $total; $matchday_sum_total += $total;
$template->assign_block_vars('match_panel.user_row.points', array( $template->assign_block_vars('match_panel.user_row.points', array(
'COLOR_STYLE' => $colorstyle_total, 'COLOR_STYLE' => $colorstyle_total,
'POINTS_TOTAL' => $sum_total[$user_bet['username']], 'POINTS_TOTAL' => $sum_total[$user_bet['username']],
) )
); );
$bet_index = 0; $bet_index = 0;
}
} }
} }
@@ -451,7 +523,7 @@ while ($row = $db->sql_fetchrow($result))
while ($user_row = $db->sql_fetchrow($result_bet)) while ($user_row = $db->sql_fetchrow($result_bet))
{ {
$bet_number++ ; $bet_number++ ;
$row_class = (!($bet_number % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!(($count_user + ($count_user % 2)) % 4)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($user_row['user_id'] == $user->data['user_id']) if ($user_row['user_id'] == $user->data['user_id'])
{ {
$row_class = 'bg3 row_user'; $row_class = 'bg3 row_user';
@@ -479,19 +551,14 @@ while ($row = $db->sql_fetchrow($result))
) )
); );
} }
$db->sql_freeresult($result_bet);
} }
$db->sql_freeresult($result);
$sidename = sprintf($user->lang['ALL_BETS']); $sidename = sprintf($user->lang['ALL_BETS']);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_ALL_BETS' => true, 'S_DISPLAY_ALL_BETS' => true,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday)),
'LEFT_LINK' => '&lt; ' . 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']) . ' &gt;',
'LEFT_TITLE' => sprintf($user->lang['TITLE_BET']),
'RIGHT_TITLE' => sprintf($user->lang['TITLE_RESULTS']),
'S_MATCHES_ON_MATCHDAY' => $matches_on_matchday, 'S_MATCHES_ON_MATCHDAY' => $matches_on_matchday,
'S_SPALTEN' => ($count_matches * 2) + 2, 'S_SPALTEN' => ($count_matches * 2) + 2,
'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start),
+228 -234
View File
@@ -1,235 +1,229 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
// Check Prediction League authorisation // Check Prediction League authorisation
if ( !$this->auth->acl_get('u_use_football') ) if ( !$this->auth->acl_get('u_use_football') )
{ {
trigger_error('NO_AUTH_VIEW'); trigger_error('NO_AUTH_VIEW');
} }
global $phpbb_extension_manager; global $phpbb_extension_manager;
if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints')) if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints'))
{ {
$this->user->add_lang_ext('dmzx/ultimatepoints', 'common'); $this->user->add_lang_ext('dmzx/ultimatepoints', 'common');
// Get an instance of the ultimatepoints functions_points // Get an instance of the ultimatepoints functions_points
$functions_points = $phpbb_container->get('dmzx.ultimatepoints.core.functions.points'); $functions_points = $phpbb_container->get('dmzx.ultimatepoints.core.functions.points');
} }
else else
{ {
// Get an instance of the football functions_points // Get an instance of the football functions_points
$functions_points = $phpbb_container->get('football.football.core.functions.points'); $functions_points = $phpbb_container->get('football.football.core.functions.points');
} }
if (!$user_sel) if (!$user_sel)
{ {
if (user_is_member($user->data['user_id'], $season, $league) or $league == 0) if (user_is_member($user->data['user_id'], $season, $league) or $league == 0)
{ {
$user_sel = $user->data['user_id']; $user_sel = $user->data['user_id'];
} }
} }
$username = ''; $username = '';
$member = true; $member = true;
if ($this->auth->acl_get('a_football_points')) if ($this->auth->acl_get('a_football_points'))
{ {
$where_user = ''; $where_user = '';
$multi_view = true; $multi_view = true;
} }
else else
{ {
$multi_view = false; $multi_view = false;
if (user_is_member($user->data['user_id'], $season, $league)) if (user_is_member($user->data['user_id'], $season, $league))
{ {
$where_user = ' AND b.user_id = ' . $user->data['user_id'] . ' '; $where_user = ' AND b.user_id = ' . $user->data['user_id'] . ' ';
$user_sel = $user->data['user_id']; $user_sel = $user->data['user_id'];
} }
else else
{ {
if ($league) if ($league)
{ {
$member = false; $member = false;
} }
} }
} }
$where_league = ''; $where_league = '';
if ($league) if ($league)
{ {
$where_league = " AND b.league = $league"; $where_league = " AND b.league = $league";
} }
$data = false; $data = false;
// Select user // Select user
$total_users = 0; $total_users = 0;
$sql = 'SELECT DISTINCT $sql = 'SELECT DISTINCT
u.user_id, u.user_id,
u.username u.username
FROM ' . FOOTB_BETS . ' AS b FROM ' . FOOTB_BETS . ' AS b
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id)
WHERE season = $season WHERE season = $season
$where_league $where_league
$where_user $where_user
ORDER BY LOWER(u.username) ASC"; ORDER BY LOWER(u.username) ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$total_users++; $total_users++;
if ($user_sel == $row['user_id'] OR !$user_sel) if ($user_sel == $row['user_id'] OR !$user_sel)
{ {
$selectid = ' selected="selected"'; $selectid = ' selected="selected"';
$username = $row['username']; $username = $row['username'];
$user_sel = $row['user_id']; $user_sel = $row['user_id'];
} }
else else
{ {
$selectid = ''; $selectid = '';
} }
$template->assign_block_vars('form_user', array( $template->assign_block_vars('form_user', array(
'S_USER' => $row['user_id'], 'S_USER' => $row['user_id'],
'S_USERNAME' => $row['username'], 'S_USERNAME' => $row['username'],
'S_SELECTEDID' => $selectid, 'S_SELECTEDID' => $selectid,
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$where_season = ''; $where_season = '';
if ($season) if ($season)
{ {
$where_season = " AND fp.season = $season"; $where_season = " AND fp.season = $season";
} }
$where_league = ''; $where_league = '';
$order_by = 'ORDER BY fp.points_type ASC, fp.matchday ASC, fp.league ASC'; $order_by = 'ORDER BY fp.points_type ASC, fp.matchday ASC, fp.league ASC';
if ($league) if ($league)
{ {
$where_league = " AND fp.league = $league"; $where_league = " AND fp.league = $league";
$order_by = 'ORDER BY fp.league ASC, fp.matchday ASC, fp.points_type ASC'; $order_by = 'ORDER BY fp.league ASC, fp.matchday ASC, fp.points_type ASC';
} }
// The different book types // The different book types
$types = array( $types = array(
0 => '--', 0 => '--',
1 => sprintf($user->lang['FOOTBALL_BET_POINTS']), 1 => sprintf($user->lang['FOOTBALL_BET_POINTS']),
2 => $user->lang['FOOTBALL_DEPOSIT'], 2 => $user->lang['FOOTBALL_DEPOSIT'],
3 => sprintf($user->lang['FOOTBALL_WIN']), 3 => sprintf($user->lang['FOOTBALL_WIN']),
4 => $user->lang['FOOTBALL_WIN'], 4 => $user->lang['FOOTBALL_WIN'],
5 => $user->lang['FOOTBALL_WIN'], 5 => $user->lang['FOOTBALL_WIN'],
6 => $user->lang['FOOTBALL_WIN'], 6 => $user->lang['FOOTBALL_WIN'],
7 => $user->lang['FOOTBALL_PAYOUT'], 7 => $user->lang['FOOTBALL_PAYOUT'],
); );
// Grab the football points // Grab the football points
$sql = 'SELECT fp.season, $sql = 'SELECT fp.season,
s.season_name, s.season_name,
s.season_name_short, s.season_name_short,
fp.league, fp.league,
l.league_name, l.league_name,
l.league_name_short, l.league_name_short,
fp.matchday, fp.matchday,
md.matchday_name, md.matchday_name,
fp.points_type, fp.points_type,
fp.points, fp.points,
fp.points_comment, fp.points_comment,
fp.cash fp.cash
FROM ' . FOOTB_POINTS . ' AS fp FROM ' . FOOTB_POINTS . ' AS fp
INNER JOIN ' . FOOTB_SEASONS . ' AS s ON (s.season = fp.season) 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_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) 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 user_id = ' . (int) $user_sel . "
$where_season $where_season
$where_league $where_league
$order_by"; $order_by";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$current_balance = 0.00; $current_balance = 0.00;
$count = 0; $count = 0;
// Start looping all the football points // Start looping all the football points
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$count = $count + 1; $count = $count + 1;
if ($row['points_type'] == POINTS_BET OR $row['points_type'] == POINTS_PAID) if ($row['points_type'] == POINTS_BET OR $row['points_type'] == POINTS_PAID)
{ {
$points_sign = '-'; $points_sign = '-';
$points_style = " color: red;"; $points_style = " color: red;";
$current_balance -= $row['points']; $current_balance -= $row['points'];
} }
else else
{ {
$points_sign = '+'; $points_sign = '+';
$points_style = " color: green;"; $points_style = " color: green;";
$current_balance += $row['points']; $current_balance += $row['points'];
} }
// Add the items to the template // Add the items to the template
$template->assign_block_vars('football', array( $template->assign_block_vars('football', array(
'SEASON' => $season, 'SEASON' => $season,
'SEASON_NAME' => $season_name, 'SEASON_NAME' => $season_name,
'LEAGUE' => $row['league'], 'LEAGUE' => $row['league'],
'LEAGUE_NAME' => $row['league_name'], 'LEAGUE_NAME' => $row['league_name'],
'LEAGUE_SHORT' => $row['league_name_short'], 'LEAGUE_SHORT' => $row['league_name_short'],
'MATCHDAY' => $row['matchday'], 'MATCHDAY' => $row['matchday'],
'MATCHDAY_NAME' => ($row['matchday_name'] == '') ? $row['matchday'] . '.' . sprintf($user->lang['FOOTBALL_MATCHDAY']) : $row['matchday_name'], 'MATCHDAY_NAME' => ($row['matchday_name'] == '') ? $row['matchday'] . '.' . sprintf($user->lang['FOOTBALL_MATCHDAY']) : $row['matchday_name'],
'MATCHDAY_SHORT'=> $row['matchday'] . '.' . sprintf($user->lang['MATCHDAY_SHORT']), 'MATCHDAY_SHORT'=> $row['matchday'] . '.' . sprintf($user->lang['MATCHDAY_SHORT']),
'POINTS_SIGN' => $points_sign, 'POINTS_SIGN' => $points_sign,
'POINTS_STYLE' => $points_style, 'POINTS_STYLE' => $points_style,
'POINTS_TYPE' => $types[$row['points_type']], 'POINTS_TYPE' => $types[$row['points_type']],
'S_CASH' => $row['cash'], 'S_CASH' => $row['cash'],
'POINTS' => $functions_points->number_format_points($row['points']), 'POINTS' => $functions_points->number_format_points($row['points']),
'COMMENT' => nl2br($row['points_comment']), 'COMMENT' => nl2br($row['points_comment']),
)); ));
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
if ($current_balance < 0) if ($current_balance < 0)
{ {
$points_style = " color: red;"; $points_style = " color: red;";
} }
else else
{ {
$points_style = " color: green;"; $points_style = " color: green;";
} }
$template->assign_block_vars('football', array( $template->assign_block_vars('football', array(
'SEASON' => $season, 'SEASON' => $season,
'SEASON_NAME' => '', 'SEASON_NAME' => '',
'LEAGUE' => $league, 'LEAGUE' => $league,
'LEAGUE_NAME' => '', 'LEAGUE_NAME' => '',
'MATCHDAY' => '', 'MATCHDAY' => '',
'MATCHDAY_NAME' => '', 'MATCHDAY_NAME' => '',
'POINTS_SIGN' => '', 'POINTS_SIGN' => '',
'POINTS_STYLE' => $points_style, 'POINTS_STYLE' => $points_style,
'POINTS_TYPE' => '', 'POINTS_TYPE' => '',
'S_CASH' => 1, 'S_CASH' => 1,
'POINTS' => $functions_points->number_format_points($current_balance), 'POINTS' => $functions_points->number_format_points($current_balance),
'COMMENT' => ($league == 0) ? sprintf($user->lang['FOOTBALL_BALANCES']) : sprintf($user->lang['FOOTBALL_BALANCE']), 'COMMENT' => ($league == 0) ? sprintf($user->lang['FOOTBALL_BALANCES']) : sprintf($user->lang['FOOTBALL_BALANCE']),
)); ));
$sidename = sprintf($user->lang['FOOTBALL_BANK']); $sidename = sprintf($user->lang['FOOTBALL_BANK']);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_BANK' => true, 'S_DISPLAY_BANK' => true,
'S_MATCHDAY_HIDE' => true, 'S_MATCHDAY_HIDE' => true,
'S_MEMBER' => $member, 'S_MEMBER' => $member,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'S_MULTI_VIEW' => $multi_view, 'S_MULTI_VIEW' => $multi_view,
'L_TOTAL_ENTRIES' => ($count == 1) ? $count . ' ' .sprintf($user->lang['FOOTBALL_RECORD']) : $count . ' ' .sprintf($user->lang['FOOTBALL_RECORDS']), '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)), 'USERNAME' => $username,
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['RANK_TOTAL']), 'POINTS' => $config['football_win_name'],
'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']) . ' &gt;', );
'LEFT_TITLE' => sprintf($user->lang['TITLE_RANK_TOTAL']),
'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_BETS']),
'USERNAME' => $username,
'POINTS' => $config['football_win_name'],
)
);
?> ?>
+530 -533
View File
File diff suppressed because it is too large Load Diff
+391 -390
View File
@@ -1,391 +1,392 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
// Can this user view Prediction Leagues pages? // Can this user view Prediction Leagues pages?
if (!$config['football_guest_view']) if (!$config['football_guest_view'])
{ {
if ($user->data['user_id'] == ANONYMOUS) if ($user->data['user_id'] == ANONYMOUS)
{ {
trigger_error('NO_GUEST_VIEW'); trigger_error('NO_GUEST_VIEW');
} }
} }
if (!$config['football_user_view']) if (!$config['football_user_view'])
{ {
// Only Prediction League member should see this page // Only Prediction League member should see this page
// Check Prediction League authorisation // Check Prediction League authorisation
if ( !$this->auth->acl_get('u_use_football') ) if ( !$this->auth->acl_get('u_use_football') )
{ {
trigger_error('NO_AUTH_VIEW'); trigger_error('NO_AUTH_VIEW');
} }
} }
// Football disabled? // Football disabled?
if ($config['football_disable']) if ($config['football_disable'])
{ {
$message = (!empty($config['football_disable_msg'])) ? $config['football_disable_msg'] : 'FOOTBALL_DISABLED'; $message = (!empty($config['football_disable_msg'])) ? $config['football_disable_msg'] : 'FOOTBALL_DISABLED';
trigger_error($message); trigger_error($message);
} }
$userid = $this->request->variable('u', 0); $userid = $this->request->variable('u', 0);
$season = $this->request->variable('s', 0); $season = $this->request->variable('s', 0);
$league = $this->request->variable('l', 0); $league = $this->request->variable('l', 0);
$matchday = $this->request->variable('m', 0); $matchday = $this->request->variable('m', 0);
$error_message = ''; $error_message = '';
$username = '?'; $username = '?';
if (!$userid OR !$season OR !$league OR !$matchday) if (!$userid OR !$season OR !$league OR !$matchday)
{ {
$data_bet = false; $data_bet = false;
if (!$userid) if (!$userid)
{ {
$error_message .= sprintf($user->lang['NO_USERID']) . '<br />'; $error_message .= sprintf($user->lang['NO_USERID']) . '<br />';
} }
if (!$season) if (!$season)
{ {
$error_message .= sprintf($user->lang['NO_SEASON']) . '<br />'; $error_message .= sprintf($user->lang['NO_SEASON']) . '<br />';
} }
if (!$league) if (!$league)
{ {
$error_message .= sprintf($user->lang['NO_LEAGUE']) . '<br />'; $error_message .= sprintf($user->lang['NO_LEAGUE']) . '<br />';
} }
if (!$matchday) if (!$matchday)
{ {
$error_message .= sprintf($user->lang['NO_MATCHDAY']) . '<br />'; $error_message .= sprintf($user->lang['NO_MATCHDAY']) . '<br />';
} }
} }
else else
{ {
$season_info = season_info($season); $season_info = season_info($season);
if (sizeof($season_info)) if (sizeof($season_info))
{ {
$league_info = league_info($season, $league); $league_info = league_info($season, $league);
if (sizeof($league_info)) if (sizeof($league_info))
{ {
// Get username // Get username
$sql = 'SELECT username $sql = 'SELECT username
FROM ' . USERS_TABLE . " FROM ' . USERS_TABLE . "
WHERE user_id = $userid "; WHERE user_id = $userid ";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result)) if ($row = $db->sql_fetchrow($result))
{ {
$username = $row['username']; $username = $row['username'];
} }
else else
{ {
$data_bet = false; $data_bet = false;
$error_message .= sprintf($user->lang['NO_USERID']) . '<br />'; $error_message .= sprintf($user->lang['NO_USERID']) . '<br />';
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$display_group = false; $display_group = false;
$lang_dates = $user->lang['datetime']; $lang_dates = $user->lang['datetime'];
// Required for select_points function: // Required for select_points function:
$league_info = league_info($season, $league); $league_info = league_info($season, $league);
// Calculate matches and bets of matchday // Calculate matches and bets of matchday
$sql = "SELECT $sql = "SELECT
m.league, m.league,
m.match_no, m.match_no,
m.matchday, m.matchday,
m.status, m.status,
m.group_id, m.group_id,
m.formula_home, m.formula_home,
m.formula_guest, m.formula_guest,
t1.team_symbol AS home_symbol, t1.team_symbol AS home_symbol,
t2.team_symbol AS guest_symbol, t2.team_symbol AS guest_symbol,
t1.team_id AS home_id, t1.team_id AS home_id,
t2.team_id AS guest_id, t2.team_id AS guest_id,
t1.team_name AS home_name, t1.team_name AS home_name,
t2.team_name AS guest_name, t2.team_name AS guest_name,
b.goals_home AS bet_home, b.goals_home AS bet_home,
b.goals_guest AS bet_guest, b.goals_guest AS bet_guest,
m.goals_home, m.goals_home,
m.goals_guest, m.goals_guest,
CONCAT( CONCAT(
CASE DATE_FORMAT(m.match_datetime,'%w') CASE DATE_FORMAT(m.match_datetime,'%w')
WHEN 0 THEN '" . $lang_dates['Sun'] . "' WHEN 0 THEN '" . $lang_dates['Sun'] . "'
WHEN 1 THEN '" . $lang_dates['Mon'] . "' WHEN 1 THEN '" . $lang_dates['Mon'] . "'
WHEN 2 THEN '" . $lang_dates['Tue'] . "' WHEN 2 THEN '" . $lang_dates['Tue'] . "'
WHEN 3 THEN '" . $lang_dates['Wed'] . "' WHEN 3 THEN '" . $lang_dates['Wed'] . "'
WHEN 4 THEN '" . $lang_dates['Thu'] . "' WHEN 4 THEN '" . $lang_dates['Thu'] . "'
WHEN 5 THEN '" . $lang_dates['Fri'] . "' WHEN 5 THEN '" . $lang_dates['Fri'] . "'
WHEN 6 THEN '" . $lang_dates['Sat'] . "' WHEN 6 THEN '" . $lang_dates['Sat'] . "'
ELSE 'Error' END, ELSE 'Error' END,
DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i')
) AS match_time, ) AS match_time,
" . select_points() . " " . select_points() . "
FROM " . FOOTB_MATCHES . ' AS m 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) 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 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) 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 WHERE m.season = $season
AND m.league = $league AND m.league = $league
AND m.matchday = $matchday AND m.matchday = $matchday
GROUP BY m.match_no GROUP BY m.match_no
ORDER BY m.match_datetime ASC, m.match_no ASC"; ORDER BY m.match_datetime ASC, m.match_no ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result)) if ($row = $db->sql_fetchrow($result))
{ {
$data_bet = true; $data_bet = true;
$matchnumber = 0; $matchnumber = 0;
$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true));
do do
{ {
$matchnumber++ ; $matchnumber++ ;
$row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$display_link = true; $display_link = true;
if (0 == $row['home_id']) if (0 == $row['home_id'])
{ {
$home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']);
$home_in_array = explode("#",$home_info); $home_in_array = explode("#",$home_info);
$homelogo = $home_in_array[0]; $homelogo = $home_in_array[0];
$homeid = $home_in_array[1]; $homeid = $home_in_array[1];
$homename = $home_in_array[2]; $homename = $home_in_array[2];
} }
else else
{ {
$homelogo = $row['home_symbol']; $homelogo = $row['home_symbol'];
$homeid = $row['home_id']; $homeid = $row['home_id'];
$homename = $row['home_name']; $homename = $row['home_name'];
} }
if (0 == $row['guest_id']) if (0 == $row['guest_id'])
{ {
$guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']);
$guest_in_array = explode("#",$guest_info); $guest_in_array = explode("#",$guest_info);
$guestlogo = $guest_in_array[0]; $guestlogo = $guest_in_array[0];
$guestid = $guest_in_array[1]; $guestid = $guest_in_array[1];
$guestname = $guest_in_array[2]; $guestname = $guest_in_array[2];
} }
else else
{ {
$guestlogo = $row['guest_symbol']; $guestlogo = $row['guest_symbol'];
$guestid = $row['guest_id']; $guestid = $row['guest_id'];
$guestname = $row['guest_name']; $guestname = $row['guest_name'];
} }
if ($homelogo <> '') if ($homelogo <> '')
{ {
$logoH = "<img src=\"" . $ext_path . 'images/flags/' . $homelogo . "\" alt=\"" . $homelogo . "\" width=\"28\" height=\"28\"/>" ; $logoH = "<img src=\"" . $ext_path . 'images/flags/' . $homelogo . "\" alt=\"" . $homelogo . "\" width=\"28\" height=\"28\"/>" ;
} }
else else
{ {
$logoH = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logoH = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
if ($guestlogo <> '') if ($guestlogo <> '')
{ {
$logoG = "<img src=\"" . $ext_path . 'images/flags/' . $guestlogo . "\" alt=\"" . $guestlogo . "\" width=\"28\" height=\"28\"/>" ; $logoG = "<img src=\"" . $ext_path . 'images/flags/' . $guestlogo . "\" alt=\"" . $guestlogo . "\" width=\"28\" height=\"28\"/>" ;
} }
else else
{ {
$logoG = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logoG = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
if ($row['group_id'] == '') if ($row['group_id'] == '')
{ {
$group_id = '&nbsp;'; $group_id = '&nbsp;';
} }
else else
{ {
$display_group = true; $display_group = true;
$group_id = $row['group_id']; $group_id = $row['group_id'];
} }
if ($row['status'] < 1 && !$config['football_view_bets']) if ($row['status'] < 1 && !$config['football_view_bets'])
{ {
// hide bets // hide bets
$bet_home = ($row['bet_home'] == '') ? '&nbsp;' : '?'; $bet_home = ($row['bet_home'] == '') ? '&nbsp;' : '?';
$bet_guest = ($row['bet_guest'] == '') ? '&nbsp;' : '?'; $bet_guest = ($row['bet_guest'] == '') ? '&nbsp;' : '?';
} }
else else
{ {
$bet_home = ($row['bet_home'] == '') ? '&nbsp;' : $row['bet_home']; $bet_home = ($row['bet_home'] == '') ? '&nbsp;' : $row['bet_home'];
$bet_guest = ($row['bet_guest'] == '') ? '&nbsp;' : $row['bet_guest']; $bet_guest = ($row['bet_guest'] == '') ? '&nbsp;' : $row['bet_guest'];
} }
$colorstyle = color_style($row['status']); $colorstyle = color_style($row['status']);
$template->assign_block_vars('bet_view', array( $template->assign_block_vars('bet_view', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'LEAGUE_ID' => $row['league'], 'LEAGUE_ID' => $row['league'],
'MATCH_NUMBER' => $row['match_no'], 'MATCH_NUMBER' => $row['match_no'],
'MATCHDAY' => $row['matchday'], 'MATCHDAY' => $row['matchday'],
'STATUS' => $row['status'], 'STATUS' => $row['status'],
'MATCH_TIME' => $row['match_time'], 'MATCH_TIME' => $row['match_time'],
'GROUP' => $group_id, 'GROUP' => $group_id,
'HOME_ID' => $homeid, 'HOME_ID' => $homeid,
'GUEST_ID' => $guestid, 'GUEST_ID' => $guestid,
'LOGO_HOME' => $logoH, 'LOGO_HOME' => $logoH,
'LOGO_GUEST' => $logoG, 'LOGO_GUEST' => $logoG,
'HOME_NAME' => $homename, 'HOME_NAME' => $homename,
'GUEST_NAME' => $guestname, 'GUEST_NAME' => $guestname,
'BET_HOME' => $bet_home, 'BET_HOME' => $bet_home,
'BET_GUEST' => $bet_guest, 'BET_GUEST' => $bet_guest,
'GOALS_HOME' => ($row['goals_home'] == '') ? '&nbsp;' : $row['goals_home'], 'GOALS_HOME' => ($row['goals_home'] == '') ? '&nbsp;' : $row['goals_home'],
'GOALS_GUEST' => ($row['goals_guest'] == '') ? '&nbsp;' : $row['goals_guest'], 'GOALS_GUEST' => ($row['goals_guest'] == '') ? '&nbsp;' : $row['goals_guest'],
'POINTS' => ($row['points'] == '') ? '&nbsp;' : $row['points'], 'POINTS' => ($row['points'] == '') ? '&nbsp;' : $row['points'],
'COLOR_STYLE' => $colorstyle, 'COLOR_STYLE' => $colorstyle,
) )
); );
} }
while ($row = $db->sql_fetchrow($result)); while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result); $db->sql_freeresult($result);
} }
else else
{ {
$data_bet = false; $data_bet = false;
$error_message .= sprintf($user->lang['NO_BETS']) . '<br />'; $error_message .= sprintf($user->lang['NO_BETS']) . '<br />';
} }
} }
else else
{ {
$data_bet = false; $data_bet = false;
$error_message .= sprintf($user->lang['NO_LEAGUE']) . '<br />'; $error_message .= sprintf($user->lang['NO_LEAGUE']) . '<br />';
} }
} }
else else
{ {
$data_bet = false; $data_bet = false;
$error_message .= sprintf($user->lang['NO_SEASON']) . '<br />'; $error_message .= sprintf($user->lang['NO_SEASON']) . '<br />';
} }
} }
// Calculate extra bets of matchday // Calculate extra bets of matchday
$sql = "SELECT e.*, $sql = "SELECT e.*,
eb.bet, eb.bet,
eb.bet_points, eb.bet_points,
t1.team_name AS result_team, t1.team_name AS result_team,
t2.team_name AS bet_team t2.team_name AS bet_team
FROM " . FOOTB_EXTRA . ' AS e 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_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 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) 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 WHERE e.season = $season
AND e.league = $league AND e.league = $league
AND e.matchday = $matchday AND e.matchday = $matchday
ORDER BY e.extra_no ASC"; ORDER BY e.extra_no ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$extra_bet = false; $extra_bet = false;
$extranumber = 0; $extranumber = 0;
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$extra_bet = true; $extra_bet = true;
$extranumber++ ; $extranumber++ ;
$row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($row['extra_status'] < 1 && !$config['football_view_bets']) if ($row['extra_status'] < 1 && !$config['football_view_bets'])
{ {
// hide bets // hide bets
$bet = ($row['bet'] == '') ? '&nbsp;' : '?'; $bet = ($row['bet'] == '') ? '&nbsp;' : '?';
$bet_team = ($row['bet_team'] == NULL) ? '&nbsp;' : '?'; $bet_team = ($row['bet_team'] == NULL) ? '&nbsp;' : '?';
} }
else else
{ {
$bet = ($row['bet'] == '') ? '&nbsp;' : $row['bet']; $bet = ($row['bet'] == '') ? '&nbsp;' : $row['bet'];
$bet_team = ($row['bet_team'] == NULL) ? '&nbsp;' : $row['bet_team']; $bet_team = ($row['bet_team'] == NULL) ? '&nbsp;' : $row['bet_team'];
} }
$extra_colorstyle = color_style($row['extra_status']); $extra_colorstyle = color_style($row['extra_status']);
switch($row['question_type']) switch($row['question_type'])
{ {
case '1': case '1':
{ {
$display_type = 1; $display_type = 1;
$eval_title = sprintf($user->lang['EXTRA_HIT']); $eval_title = sprintf($user->lang['EXTRA_HIT']);
} }
break; break;
case '2': case '2':
{ {
$display_type = 1; $display_type = 1;
$eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']);
} }
break; break;
case '3': case '3':
{ {
$display_type = 2; $display_type = 2;
$eval_title = sprintf($user->lang['EXTRA_HIT']); $eval_title = sprintf($user->lang['EXTRA_HIT']);
} }
break; break;
case '4': case '4':
{ {
$display_type = 2; $display_type = 2;
$eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']); $eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']);
} }
break; break;
case '5': case '5':
{ {
$display_type = 2; $display_type = 2;
$eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']);
} }
break; break;
default : default :
{ {
$display_type = 2; $display_type = 2;
$eval_title = ''; $eval_title = '';
} }
break; break;
} }
$template->assign_block_vars('extra_view', array( $template->assign_block_vars('extra_view', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'QUESTION' => $row['question'], 'QUESTION' => $row['question'],
'EXTRA_POINTS' => $row['extra_points'], 'EXTRA_POINTS' => $row['extra_points'],
'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']),
'EVALUATION_TITLE' => $eval_title, 'EVALUATION_TITLE' => $eval_title,
'RESULT' => ($display_type == 1) ? $row['result_team'] : $row['result'], 'RESULT' => ($display_type == 1) ? $row['result_team'] : $row['result'],
'BET' => ($display_type == 1) ? $bet_team : $bet, 'BET' => ($display_type == 1) ? $bet_team : $bet,
'BET_POINTS' => $row['bet_points'], 'BET_POINTS' => $row['bet_points'],
'COLOR_STYLE' => $extra_colorstyle, 'COLOR_STYLE' => $extra_colorstyle,
) )
); );
} }
$db->sql_freeresult($result);
$sidename = sprintf($user->lang['BET']);
if ($data_bet) $sidename = sprintf($user->lang['BET']);
{ if ($data_bet)
$template->assign_vars(array( {
'S_SIDENAME' => $sidename, $template->assign_vars(array(
'S_USER_NAME' => $username, 'S_SIDENAME' => $sidename,
'S_ERROR_MESSAGE' => $error_message, 'S_USER_NAME' => $username,
'S_FROM' => sprintf($user->lang['FROM_DAY_SEASON'], $matchday, $season), 'S_ERROR_MESSAGE' => $error_message,
'S_FOOTBALL_COPY' => sprintf($user->lang['FOOTBALL_COPY'], $config['football_version'], $phpbb_root_path . 'football/'), 'S_FROM' => sprintf($user->lang['FROM_DAY_SEASON'], $matchday, $season),
'S_DATA_BET' => $data_bet, 'S_FOOTBALL_COPY' => sprintf($user->lang['FOOTBALL_COPY'], $config['football_version'], $phpbb_root_path . 'football/'),
'S_DISPLAY_GROUP' => $display_group, 'S_DATA_BET' => $data_bet,
'S_EXTRA_BET' => $extra_bet, 'S_DISPLAY_GROUP' => $display_group,
) 'S_EXTRA_BET' => $extra_bet,
); )
);
// output page
page_header(sprintf($user->lang['BETS_OF']) . ' ' . $username); // output page
} page_header(sprintf($user->lang['BETS_OF']) . ' ' . $username);
else }
{ else
$template->assign_vars(array( {
'S_SIDENAME' => $sidename, $template->assign_vars(array(
'S_USER_NAME' => '', 'S_SIDENAME' => $sidename,
'S_ERROR_MESSAGE' => $error_message, 'S_USER_NAME' => '',
'S_FROM' => '', 'S_ERROR_MESSAGE' => $error_message,
'S_FOOTBALL_COPY' => sprintf($user->lang['FOOTBALL_COPY'], $config['football_version'], $phpbb_root_path . 'football/'), 'S_FROM' => '',
'S_DATA_BET' => $data_bet, 'S_FOOTBALL_COPY' => sprintf($user->lang['FOOTBALL_COPY'], $config['football_version'], $phpbb_root_path . 'football/'),
'S_DISPLAY_GROUP' => false, 'S_DATA_BET' => $data_bet,
) 'S_DISPLAY_GROUP' => false,
); )
);
// output page
page_header(sprintf($user->lang['BETS_OF'])); // output page
} page_header(sprintf($user->lang['BETS_OF']));
}
$template->set_filenames(array(
'body' => 'bet_popup.html') $template->set_filenames(array(
); 'body' => 'bet_popup.html')
);
page_footer();
page_footer();
?> ?>
+74 -192
View File
@@ -1,193 +1,75 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$data_delivery = false;
$data_delivery = false; $user_id = $user->data['user_id'];
$user_id = $user->data['user_id']; $lang_dates = $user->lang['datetime'];
$lang_dates = $user->lang['datetime']; $index = 0;
$index = 0; $local_board_time = time() + ($config['football_time_shift'] * 3600);
$local_board_time = time() + (($config['board_timezone'] - $config['football_host_timezone']) * 3600); $sql = "SELECT
$sql = "(SELECT m.season,
m.season, m.league,
m.league, m.matchday,
m.matchday, l.league_name_short,
l.league_name_short, CASE m.matchday_name
CASE m.matchday_name WHEN ''
WHEN '' THEN CONCAT(m.matchday, '." . sprintf($user->lang['MATCHDAY']) . "')
THEN CONCAT(m.matchday, '." . sprintf($user->lang['MATCHDAY']) . "') ELSE m.matchday_name
ELSE m.matchday_name END AS matchday_name,
END AS matchday_name, IF(l.bet_in_time = 0, IF(ma.status = 0, m.delivery_date
CONCAT( , IF(ma.status = -1, m.delivery_date_2
CASE DATE_FORMAT(m.delivery_date,'%w') , m.delivery_date_3
WHEN 0 THEN '" . $lang_dates['Sun'] . "' )
WHEN 1 THEN '" . $lang_dates['Mon'] . "' )
WHEN 2 THEN '" . $lang_dates['Tue'] . "' , ma.match_datetime) AS delivery,
WHEN 3 THEN '" . $lang_dates['Wed'] . "' SUM(IF(((b.goals_home = '') OR (b.goals_guest = '')), 0, 1)) AS bets_count,
WHEN 4 THEN '" . $lang_dates['Thu'] . "' COUNT(*) AS matches_count,
WHEN 5 THEN '" . $lang_dates['Fri'] . "' SUM(IF(eb.extra_no > 0, IF(eb.bet = '', 0, 1), 0)) AS extra_bets_count,
WHEN 6 THEN '" . $lang_dates['Sat'] . "' SUM(IF(e.extra_no > 0, 1, 0)) AS extra_count
ELSE 'Error' END, FROM " . FOOTB_MATCHDAYS . " AS m
DATE_FORMAT(m.delivery_date,' %d.%m.%y %H:%i') JOIN " . FOOTB_LEAGUES . " AS l ON(l.season = m.season AND l.league = m.league)
) as delivery_time, JOIN " . FOOTB_MATCHES . " AS ma ON (ma.season = m.season AND ma.league = m.league AND ma.matchday = m.matchday AND ma.status = 0)
m.delivery_date AS delivery, JOIN " . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = ma.match_no AND b.user_id = $user_id)
SUM(IF(((b.goals_home = '') OR (b.goals_guest = '')), 0, 1)) AS bets_count, LEFT JOIN " . FOOTB_EXTRA . " AS e ON (e.season = m.season AND e.league = m.league AND e.matchday = m.matchday AND e.extra_status = 0)
COUNT(*) AS matches_count, LEFT JOIN " . FOOTB_EXTRA_BETS . " AS eb ON (eb.season = m.season AND eb.league = m.league AND eb.extra_no = e.extra_no AND eb.user_id = $user_id)
SUM(IF(eb.extra_no > 0, IF(eb.bet = '', 0, 1), 0)) AS extra_bets_count, WHERE m.status <= 0
SUM(IF(e.extra_no > 0, 1, 0)) AS extra_count GROUP BY delivery, m.league
FROM " . FOOTB_MATCHDAYS . " AS m ORDER BY delivery, m.league";
JOIN " . FOOTB_LEAGUES . " AS l ON(l.season = m.season AND l.league = m.league AND l.bet_in_time = 0)
JOIN " . FOOTB_MATCHES . " AS ma ON (ma.season = m.season AND ma.league = m.league AND ma.matchday = m.matchday AND ma.status = 0) $result = $db->sql_query($sql);
JOIN " . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = ma.match_no AND b.user_id = $user_id) while($row = $db->sql_fetchrow($result) AND $index < 11)
LEFT JOIN " . FOOTB_EXTRA . " AS e ON (e.season = m.season AND e.league = m.league AND e.matchday = m.matchday AND e.extra_status = 0) {
LEFT JOIN " . FOOTB_EXTRA_BETS . " AS eb ON (eb.season = m.season AND eb.league = m.league AND eb.extra_no = e.extra_no AND eb.user_id = $user_id) $index++;
WHERE m.delivery_date > FROM_UNIXTIME('$local_board_time') $data_delivery = true;
AND m.status <= 0 $row_class = (!($index % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
GROUP BY m.delivery_date, m.league, b.user_id
) $template->assign_block_vars('delivery', array(
UNION 'ROW_CLASS' => $row_class,
(SELECT 'U_BET_LINK' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $row['season'], 'l' => $row['league'], 'm' => $row['matchday'])),
m.season, 'LEAGUE_SHORT' => $row['league_name_short'],
m.league, 'MATCHDAY_NAME' => $row['matchday_name'],
m.matchday, 'COLOR' => ($row['bets_count'] == $row['matches_count'] && $row['extra_bets_count'] == $row['extra_count']) ? 'green' : 'red',
l.league_name_short, 'TITLE' => ($row['bets_count'] == $row['matches_count']) ? sprintf($user->lang['DELIVERY_READY']) : sprintf($user->lang['DELIVERY_NOT_READY']),
CASE m.matchday_name 'DELIVERY' => $lang_dates[date("D", strtotime($row['delivery']))] . date(" d.m.y G:i", strtotime($row['delivery'])),
WHEN '' )
THEN CONCAT(m.matchday, '." . sprintf($user->lang['MATCHDAY']) . "') );
ELSE m.matchday_name }
END AS matchday_name, $db->sql_freeresult($result);
CONCAT(
CASE DATE_FORMAT(m.delivery_date_2,'%w') $template->assign_vars(array(
WHEN 0 THEN '" . $lang_dates['Sun'] . "' 'S_DISPLAY_DELIVERY' => $data_delivery,
WHEN 1 THEN '" . $lang_dates['Mon'] . "' 'S_DATA_DELIVERY' => $data_delivery,
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.delivery_date_2,' %d.%m.%y %H:%i')
) as delivery_time,
m.delivery_date_2 AS delivery ,
SUM(IF(((b.goals_home = '') OR (b.goals_guest = '')), 0, 1)) AS bets_count,
COUNT(*) AS matches_count,
0 AS extra_bets_count,
0 AS extra_count
FROM " . FOOTB_MATCHDAYS . " AS m
JOIN " . FOOTB_LEAGUES . " AS l ON(l.season = m.season AND l.league = m.league AND l.bet_in_time = 0)
JOIN " . FOOTB_MATCHES . " AS ma ON (ma.season = m.season AND ma.league = m.league AND ma.matchday = m.matchday AND ma.status = -1)
JOIN " . FOOTB_BETS . " AS b ON (b.season = ma.season AND b.league = ma.league AND b.match_no = ma.match_no AND b.user_id = $user_id)
WHERE m.delivery_date_2 > FROM_UNIXTIME('$local_board_time')
AND m.status <= 0
GROUP BY m.delivery_date, m.league, b.user_id
)
UNION
(SELECT
m.season,
m.league,
m.matchday,
l.league_name_short,
CASE m.matchday_name
WHEN ''
THEN CONCAT(m.matchday, '." . sprintf($user->lang['MATCHDAY']) . "')
ELSE m.matchday_name
END AS matchday_name,
CONCAT(
CASE DATE_FORMAT(m.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(m.delivery_date_3,' %d.%m.%y %H:%i')
) as delivery_time,
m.delivery_date_3 AS delivery,
SUM(IF(((b.goals_home = '') OR (b.goals_guest = '')), 0, 1)) AS bets_count,
COUNT(*) AS matches_count,
0 AS extra_bets_count,
0 AS extra_count
FROM " . FOOTB_MATCHDAYS . " AS m
JOIN " . FOOTB_LEAGUES . " AS l ON(l.season = m.season AND l.league = m.league AND l.bet_in_time = 0)
JOIN " . FOOTB_MATCHES . " AS ma ON (ma.season = m.season AND ma.league = m.league AND ma.matchday = m.matchday AND ma.status = -2)
JOIN " . FOOTB_BETS . " AS b ON (b.season = ma.season AND b.league = ma.league AND b.match_no = ma.match_no AND b.user_id = $user_id)
WHERE m.delivery_date_3 > FROM_UNIXTIME('$local_board_time')
AND m.status <= 0
GROUP BY m.delivery_date, m.league, b.user_id
)
UNION
(SELECT
m.season,
m.league,
m.matchday,
l.league_name_short,
CASE m.matchday_name
WHEN ''
THEN CONCAT(m.matchday, '." . sprintf($user->lang['MATCHDAY']) . "')
ELSE m.matchday_name
END AS matchday_name,
CONCAT(
CASE DATE_FORMAT(ma.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(ma.match_datetime,' %d.%m.%y %H:%i')
) as delivery_time,
ma.match_datetime AS delivery,
SUM(IF(((b.goals_home = '') OR (b.goals_guest = '')), 0, 1)) AS bets_count,
COUNT(*) AS matches_count,
0 AS extra_bets_count,
0 AS extra_count
FROM " . FOOTB_MATCHDAYS . " AS m
JOIN " . FOOTB_LEAGUES . " AS l ON(l.season = m.season AND l.league = m.league AND l.bet_in_time = 1)
JOIN " . FOOTB_MATCHES . " AS ma ON (ma.season = m.season AND ma.league = m.league AND ma.matchday = m.matchday AND ma.status = 0)
JOIN " . FOOTB_BETS . " AS b ON (b.season = ma.season AND b.league = ma.league AND b.match_no = ma.match_no AND b.user_id = $user_id)
WHERE ma.match_datetime > FROM_UNIXTIME('$local_board_time')
AND m.status <= 0
GROUP BY ma.match_datetime, m.league, b.user_id
)
ORDER BY delivery, league";
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result) AND $index < 11)
{
$index++;
$data_delivery = true;
$row_class = (!($index % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$template->assign_block_vars('delivery', array(
'ROW_CLASS' => $row_class,
'U_BET_LINK' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $row['season'], 'l' => $row['league'], 'm' => $row['matchday'])),
'LEAGUE_SHORT' => $row['league_name_short'],
'MATCHDAY_NAME' => $row['matchday_name'],
'COLOR' => ($row['bets_count'] == $row['matches_count'] && $row['extra_bets_count'] == $row['extra_count']) ? 'green' : 'red',
'TITLE' => ($row['bets_count'] == $row['matches_count']) ? sprintf($user->lang['DELIVERY_READY']) : sprintf($user->lang['DELIVERY_NOT_READY']),
'DELIVERY' => $row['delivery_time'],
)
);
}
$db->sql_freeresult($result);
$template->assign_vars(array(
'S_DISPLAY_DELIVERY' => $data_delivery,
'S_DATA_DELIVERY' => $data_delivery,
)
);
?> ?>
+134 -133
View File
@@ -1,134 +1,135 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
$this->user->add_lang_ext('football/football', 'info_acp_bank'); $this->user->add_lang_ext('football/football', 'info_acp_bank');
// Check Prediction League authorisation // Check Prediction League authorisation
if ( !$this->auth->acl_get('u_use_football') ) if ( !$this->auth->acl_get('u_use_football') )
{ {
trigger_error('NO_AUTH_VIEW'); trigger_error('NO_AUTH_VIEW');
} }
$action=''; $action='';
$phpbb_root_path = './../../'; $phpbb_root_path = './../../';
if (!$season OR !$league) if (!$season OR !$league)
{ {
redirect($this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league))); redirect($this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league)));
} }
else else
{ {
$season_info = season_info($season); $season_info = season_info($season);
if (!sizeof($season_info)) if (!sizeof($season_info))
{ {
$error_message = sprintf($user->lang['NO_SEASON']); $error_message = sprintf($user->lang['NO_SEASON']);
trigger_error($error_message); trigger_error($error_message);
} }
else else
{ {
$league_info = league_info($season, $league); $league_info = league_info($season, $league);
if (!sizeof($league_info)) if (!sizeof($league_info))
{ {
$error_message = sprintf($user->lang['NO_LEAGUE']); $error_message = sprintf($user->lang['NO_LEAGUE']);
trigger_error($error_message); trigger_error($error_message);
} }
else else
{ {
$bet_points = $league_info['bet_points']; $bet_points = $league_info['bet_points'];
$league_name =$league_info['league_name']; $league_name =$league_info['league_name'];
$league_short =$league_info['league_name_short']; $league_short =$league_info['league_name_short'];
$user_points = ''; $user_points = '';
global $phpbb_extension_manager; global $phpbb_extension_manager;
if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints') && $config['points_enable']) if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints') && $config['points_enable'])
{ {
$user_points = 'u.user_points,'; $user_points = 'u.user_points,';
} }
else else
{ {
$user_points = "0.00 AS user_points,"; $user_points = "0.00 AS user_points,";
} }
// Grab the members points // Grab the members points
$sql = "SELECT $sql = "SELECT
b.user_id, b.user_id,
u.username, u.username,
$user_points $user_points
$bet_points AS bet_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_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 = ' . 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 . '), 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), IF(p.cash = 0, p.points, 0.00),
0.00)) AS no_cash_wins, 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_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, 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, 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_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 . '), SUM(IF(p.points_type IN (' . POINTS_MATCHDAY . ',' . POINTS_SEASON . ',' . POINTS_MOST_HITS . ',' . POINTS_MOST_HITS_AWAY . '),
p.points, 0.00)) AS wins, p.points, 0.00)) AS wins,
SUM(IF(p.points_type = ' . POINTS_PAID . ', p.points, 0.00)) AS paid, 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, 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 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 FROM ' . FOOTB_BETS . ' AS b
JOIN ' . USERS_TABLE . ' AS u ON (u.user_id = b.user_id) 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) 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 WHERE b.season = $season
AND b.league = $league AND b.league = $league
AND b.match_no = 1 AND b.match_no = 1
GROUP BY b.user_id GROUP BY b.user_id
ORDER BY u.username ASC"; ORDER BY u.username ASC";
if(!$result = $db->sql_query($sql)) if(!$result = $db->sql_query($sql))
{ {
trigger_error('NO_LEAGUE'); trigger_error('NO_LEAGUE');
} }
$user_rows = $db->sql_fetchrowset($result); $user_rows = $db->sql_fetchrowset($result);
$export_file = $league_short . '_' . $season . '_bank.csv'; $db->sql_freeresult($result);
$newline = "\r\n"; $export_file = $league_short . '_' . $season . '_bank.csv';
header('Pragma: no-cache'); $newline = "\r\n";
header("Content-Type: text/csv; name=\"$export_file\""); header('Pragma: no-cache');
header("Content-disposition: attachment; filename=$export_file"); header("Content-Type: text/csv; name=\"$export_file\"");
$export= ''; header("Content-disposition: attachment; filename=$export_file");
$export .= $league_name . ' ' . sprintf($user->lang['SEASON']) . ' ' . $season. $newline; $export= '';
$export .= sprintf($user->lang['NAME']) . ';' . $config['football_win_name'] . ';' . sprintf($user->lang['BET_POINTS']) . ';' . $export .= $league_name . ' ' . sprintf($user->lang['SEASON']) . ' ' . $season. $newline;
sprintf($user->lang['DEPOSITED']) . ';' . sprintf($user->lang['DEPOSIT']) . ';' . sprintf($user->lang['WINS']) . ';' . $export .= sprintf($user->lang['NAME']) . ';' . $config['football_win_name'] . ';' . sprintf($user->lang['BET_POINTS']) . ';' .
sprintf($user->lang['PAID']) . ';' . sprintf($user->lang['PAYOUT']) . ';' . $newline; 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) $curr_season = curr_season();
{ foreach ($user_rows as $user_row)
if ($phpbb_extension_manager->is_enabled('dmzx/ultimatepoints') && $config['points_enable'] && $season == $curr_season) {
{ 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_bet_points = ($user_row['no_cash_bet_points'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_bet_points']) . ')';
$no_cash_wins = ($user_row['no_cash_wins'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_wins']) . ')'; $no_cash_deposit = ($user_row['no_cash_deposit'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_deposit']) . ')';
$no_cash_paid = ($user_row['no_cash_paid'] == 0.00) ? '' : ' (' . str_replace('.', ',', $user_row['no_cash_paid']) . ')'; $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 }
{ else
$no_cash_bet_points = ''; {
$no_cash_deposit = ''; $no_cash_bet_points = '';
$no_cash_wins = ''; $no_cash_deposit = '';
$no_cash_paid = ''; $no_cash_wins = '';
} $no_cash_paid = '';
$export .= str_replace("\"", "\"\"", $user_row['username']) . ';' . }
str_replace('.', ',', $user_row['user_points']) . ';' . $export .= str_replace("\"", "\"\"", $user_row['username']) . ';' .
str_replace('.', ',', $user_row['bet_points']) . $no_cash_bet_points . ';' . str_replace('.', ',', $user_row['user_points']) . ';' .
str_replace('.', ',', $user_row['deposit']) . $no_cash_deposit . ';' . str_replace('.', ',', $user_row['bet_points']) . $no_cash_bet_points . ';' .
str_replace('.', ',', $user_row['new_deposit']) . ';' . str_replace('.', ',', $user_row['deposit']) . $no_cash_deposit . ';' .
str_replace('.', ',', $user_row['wins']) . $no_cash_wins . ';' . str_replace('.', ',', $user_row['new_deposit']) . ';' .
str_replace('.', ',', $user_row['paid']) . $no_cash_paid . ';' . str_replace('.', ',', $user_row['wins']) . $no_cash_wins . ';' .
str_replace('.', ',', $user_row['new_pay']) . ';' . $newline; str_replace('.', ',', $user_row['paid']) . $no_cash_paid . ';' .
} str_replace('.', ',', $user_row['new_pay']) . ';' . $newline;
echo utf8_decode($export); }
exit; echo utf8_decode($export);
} exit;
} }
} }
}
?> ?>
+87 -86
View File
@@ -1,87 +1,88 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
$this->user->add_lang_ext('football/football', 'info_acp_bank'); $this->user->add_lang_ext('football/football', 'info_acp_bank');
// Check Prediction League authorisation // Check Prediction League authorisation
if ( !$this->auth->acl_get('u_use_football') ) if ( !$this->auth->acl_get('u_use_football') )
{ {
trigger_error('NO_AUTH_VIEW'); trigger_error('NO_AUTH_VIEW');
} }
$action=''; $action='';
if (!$season) if (!$season)
{ {
redirect($this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season))); redirect($this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season)));
} }
else else
{ {
$season_info = season_info($season); $season_info = season_info($season);
if (!sizeof($season_info)) if (!sizeof($season_info))
{ {
$error_message = sprintf($user->lang['NO_SEASON']); $error_message = sprintf($user->lang['NO_SEASON']);
trigger_error($error_message); trigger_error($error_message);
} }
else else
{ {
// Grab the members points // Grab the members points
$sql = 'SELECT $sql = 'SELECT
u.username, u.username,
p.season, p.season,
p.league, p.league,
round(sum(if(p.points_type IN (' . POINTS_BET . ',' . POINTS_PAID . '), p.points * -1.0, p.points)),2) as saldo 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 FROM ' . FOOTB_POINTS . ' AS p
JOIN ' . USERS_TABLE . " AS u ON (u.user_id = p.user_id) JOIN ' . USERS_TABLE . " AS u ON (u.user_id = p.user_id)
WHERE p.season <= $season WHERE p.season <= $season
GROUP BY p.season, p.league, u.username GROUP BY p.season, p.league, u.username
HAVING saldo <> 0.00 HAVING saldo <> 0.00
ORDER BY u.username, p.season, p.league"; ORDER BY u.username, p.season, p.league";
if(!$result = $db->sql_query($sql)) if(!$result = $db->sql_query($sql))
{ {
trigger_error('NO_SEASON'); trigger_error('NO_SEASON');
} }
$user_rows = $db->sql_fetchrowset($result); $user_rows = $db->sql_fetchrowset($result);
$export_file = $season. '_bank.csv'; $db->sql_freeresult($result);
$newline = "\r\n"; $export_file = $season. '_bank.csv';
header('Pragma: no-cache'); $newline = "\r\n";
header("Content-Type: text/csv; name=\"$export_file\""); header('Pragma: no-cache');
header("Content-disposition: attachment; filename=$export_file"); header("Content-Type: text/csv; name=\"$export_file\"");
$export= ''; header("Content-disposition: attachment; filename=$export_file");
$export .= sprintf($user->lang['SEASON']) . ' ' . $season. $newline; $export= '';
$export .= sprintf($user->lang['NAME']) . ';' . sprintf($user->lang['SEASON']) . ';' . sprintf($user->lang['LEAGUE']) . ';Saldo;' . $newline; $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; $last_username = '';
foreach ($user_rows as $user_row) $sum_saldo = 0.0;
{ foreach ($user_rows as $user_row)
if ($last_username != '' AND $last_username != $user_row['username']) {
{ if ($last_username != '' AND $last_username != $user_row['username'])
$export .= str_replace("\"", "\"\"", $last_username) . ';Summe;;' . {
str_replace('.', ',', $sum_saldo) . ';' . $newline; $export .= str_replace("\"", "\"\"", $last_username) . ';Summe;;' .
$sum_saldo = 0.0; str_replace('.', ',', $sum_saldo) . ';' . $newline;
} $sum_saldo = 0.0;
$export .= str_replace("\"", "\"\"", $user_row['username']) . ';' . }
$user_row['season'] . ';' . $export .= str_replace("\"", "\"\"", $user_row['username']) . ';' .
$user_row['league'] . ';' . $user_row['season'] . ';' .
str_replace('.', ',', $user_row['saldo']) . ';' . $newline; $user_row['league'] . ';' .
$sum_saldo += $user_row['saldo']; str_replace('.', ',', $user_row['saldo']) . ';' . $newline;
$last_username = $user_row['username']; $sum_saldo += $user_row['saldo'];
} $last_username = $user_row['username'];
if ($last_username != '') }
{ if ($last_username != '')
$export .= str_replace("\"", "\"\"", $last_username) . ';Summe;;' . {
str_replace('.', ',', $sum_saldo) . ';' . $newline; $export .= str_replace("\"", "\"\"", $last_username) . ';Summe;;' .
} str_replace('.', ',', $sum_saldo) . ';' . $newline;
echo utf8_decode($export); }
exit; echo utf8_decode($export);
} exit;
} }
}
?> ?>
+5 -12
View File
@@ -91,6 +91,10 @@ else
$data_last_home = false; $data_last_home = false;
$data_last_away = false; $data_last_away = false;
$form_from = $matchday-5; $form_from = $matchday-5;
$percent_home = 0;
$percent_draw = 0;
$percent_guest = 0;
$stat_hist = '';
$value_h = 0; $value_h = 0;
$value_g = 0; $value_g = 0;
$value_hg = 0; $value_hg = 0;
@@ -115,7 +119,6 @@ else
{ {
$logo[$home_id] = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logo[$home_id] = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
$db->sql_freeresult($result);
} }
else else
{ {
@@ -142,7 +145,6 @@ else
{ {
$logo[$guest_id] = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logo[$guest_id] = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
$db->sql_freeresult($result);
} }
else else
{ {
@@ -245,7 +247,6 @@ else
) )
); );
} }
$db->sql_freeresult($result);
// Statistic and forecast-points for historie // Statistic and forecast-points for historie
$sql = "SELECT $sql = "SELECT
@@ -322,10 +323,6 @@ else
} }
} }
$stat_hist = '';
$percent_home = 0;
$percent_draw = 0;
$percent_guest = 0;
if (sizeof($row)) if (sizeof($row))
{ {
if ($history_count <= 2) if ($history_count <= 2)
@@ -1003,7 +1000,6 @@ else
); );
} }
} }
$db->sql_freeresult($result);
//last matches home hometeam //last matches home hometeam
$sql = '(SELECT $sql = '(SELECT
@@ -1074,7 +1070,6 @@ else
); );
} }
} }
$db->sql_freeresult($result);
//last game guestteam //last game guestteam
$sql = "(SELECT $sql = "(SELECT
@@ -1158,7 +1153,6 @@ else
); );
} }
} }
$db->sql_freeresult($result);
//last matches away guestteam //last matches away guestteam
$sql = '(SELECT $sql = '(SELECT
@@ -1226,7 +1220,6 @@ else
); );
} }
} }
$db->sql_freeresult($result);
if ($history_count == 0 and !($data_home and $data_guest)) 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) . " $sql = 'UPDATE ' . FOOTB_MATCHES . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
WHERE season = $season AND league = $league AND match_no = $matchnumber"; WHERE season = $season AND league = $league AND match_no = $matchnumber";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$db->sql_freeresult($result);
$forecast_value = 0; $forecast_value = 0;
+150
View File
@@ -0,0 +1,150 @@
<?php
/**
*
* @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{
exit;
}
$user_is_member = user_is_member($user->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 = "<img src=\"" . $ext_path . 'images/flags/' . $homelogo . "\" alt=\"" . $homelogo . "\" width=\"20\" height=\"20\"/>" ;
}
else
{
$logoH = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"20\" height=\"20\"/>" ;
}
if ($guestlogo <> '')
{
$logoG = "<img src=\"" . $ext_path . 'images/flags/' . $guestlogo . "\" alt=\"" . $guestlogo . "\" width=\"20\" height=\"20\"/>" ;
}
else
{
$logoG = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"20\" height=\"20\"/>" ;
}
$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,
)
);
?>
+65 -65
View File
@@ -1,66 +1,66 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB')) if (!defined('IN_PHPBB'))
{ {
exit; exit;
} }
$display_last_users = false; $display_last_users = false;
// Last 5 users // Last users
$sql = 'SELECT s.session_user_id $sql = 'SELECT s.session_user_id
, u.username , u.username
, u.user_colour , u.user_colour
, u.user_lastvisit , u.user_lastvisit
, MAX(s.session_time) AS session_time , MAX(s.session_time) AS session_time
, IF(MAX(s.session_time) > u.user_lastvisit, MAX(s.session_time), u.user_lastvisit) AS lastvisit , IF(MAX(s.session_time) > 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 , IF(MAX(s.session_time) > u.user_lastvisit, MAX(CONCAT(s.session_time,s.session_browser)), "") AS session_browser
FROM ' . USERS_TABLE . ' AS u FROM ' . USERS_TABLE . ' AS u
LEFT JOIN ' . SESSIONS_TABLE . ' AS s ON (u.user_id = s.session_user_id) LEFT JOIN ' . SESSIONS_TABLE . ' AS s ON (u.user_id = s.session_user_id)
WHERE u.user_lastvisit > 0 WHERE u.user_lastvisit > 0
AND u.user_type IN (0,3) AND u.user_type IN (0,3)
GROUP BY u.user_id GROUP BY u.user_id
ORDER BY lastvisit DESC'; ORDER BY lastvisit DESC';
$result = $db->sql_query_limit($sql, 5); $result = $db->sql_query_limit($sql, $config['football_display_last_users']);
$first = true; $first = true;
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
if (!$row['lastvisit'] && $first == true) if (!$row['lastvisit'] && $first == true)
{ {
$display_last_users = false; $display_last_users = false;
} }
else else
{ {
$display_last_users = true; $display_last_users = true;
if($row['lastvisit'] > 0) if($row['lastvisit'] > 0)
{ {
$browser = ''; $browser = '';
if (preg_match('/iPad|iPhone|iOS|Opera Mobi|BlackBerry|Android|IEMobile|Symbian/', $row['session_browser'], $match_browser)) if (preg_match('/iPad|iPhone|iOS|Opera Mobi|BlackBerry|Android|IEMobile|Symbian/', $row['session_browser'], $match_browser))
{ {
$browser = ' (' . $match_browser[0] . ')'; $browser = ' (' . $match_browser[0] . ')';
} }
$template->assign_block_vars('last_users', array( $template->assign_block_vars('last_users', array(
'USER_NAME' => get_username_string('full', '', $row['username'], $row['user_colour']) . $browser, 'USER_NAME' => get_username_string('full', '', $row['username'], $row['user_colour']) . $browser,
'LAST_VISIT_DATE' => $user->format_date($row['lastvisit']), 'LAST_VISIT_DATE' => $user->format_date($row['lastvisit']),
)); ));
} }
} }
$first = false; $first = false;
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// Assign specific vars // Assign specific vars
$template->assign_vars(array( $template->assign_vars(array(
'LAST_USERS' => sprintf($user->lang['LAST_VISITORS'], 5), 'LAST_USERS' => sprintf($user->lang['LAST_VISITORS'], $config['football_display_last_users']),
'S_DISPLAY_LAST_USERS' => $display_last_users, 'S_DISPLAY_LAST_USERS' => $display_last_users,
'S_LAST_USERS' => true, 'S_LAST_USERS' => true,
)); ));
?> ?>
+323 -331
View File
@@ -1,332 +1,324 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
if (!$user_sel) if (!$user_sel)
{ {
if (user_is_member($user->data['user_id'], $season, $league)) if (user_is_member($user->data['user_id'], $season, $league))
{ {
$user_sel = $user->data['user_id']; $user_sel = $user->data['user_id'];
} }
} }
$username = ''; $username = '';
$data = false; $data = false;
// select user // select user
$sql = 'SELECT DISTINCT $sql = 'SELECT DISTINCT
u.user_id, u.user_id,
u.username u.username
FROM ' . FOOTB_BETS . ' AS b FROM ' . FOOTB_BETS . ' AS b
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id)
WHERE season = $season AND league = $league WHERE season = $season AND league = $league
ORDER BY LOWER(u.username) ASC"; ORDER BY LOWER(u.username) ASC";
$numb_users = 0; $numb_users = 0;
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$numb_users++; $numb_users++;
$data = true; $data = true;
if ($user_sel == $row['user_id'] OR !$user_sel) if ($user_sel == $row['user_id'] OR !$user_sel)
{ {
$selectid = ' selected="selected"'; $selectid = ' selected="selected"';
$username = $row['username']; $username = $row['username'];
$user_sel = $row['user_id']; $user_sel = $row['user_id'];
} }
else else
{ {
$selectid = ''; $selectid = '';
} }
$template->assign_block_vars('form_user', array( $template->assign_block_vars('form_user', array(
'S_USER' => $row['user_id'], 'S_USER' => $row['user_id'],
'S_USERNAME' => $row['username'], 'S_USERNAME' => $row['username'],
'S_SELECTEDID' => $selectid, 'S_SELECTEDID' => $selectid,
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// All bets of selected user group by bet // All bets of selected user group by bet
$rank = 0; $rank = 0;
$bets_home_win = 0; $bets_home_win = 0;
$bets_draw = 0; $bets_draw = 0;
$bets_guest_win = 0; $bets_guest_win = 0;
$win_home_win = 0; $win_home_win = 0;
$win_draw = 0; $win_draw = 0;
$win_guest_win = 0; $win_guest_win = 0;
$points_home_win = 0; $points_home_win = 0;
$points_draw = 0; $points_draw = 0;
$points_guest_win = 0; $points_guest_win = 0;
$sql = 'SELECT $sql = 'SELECT
COUNT(b.match_no) AS bets, COUNT(b.match_no) AS bets,
b.goals_home, b.goals_home,
b.goals_guest, b.goals_guest,
SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < 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 = b.goals_guest) <> (m.goals_home = m.goals_guest)
OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0)
) )
) AS hits, ) AS hits,
SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < 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 = b.goals_guest) <> (m.goals_home = m.goals_guest)
OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1)
) )
) AS tendencies, ) AS tendencies,
' . select_points('m',true) . ' ' . select_points('m',true) . '
FROM ' . FOOTB_BETS . ' AS b 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) 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 WHERE b.season = $season
AND b.league = $league AND b.league = $league
AND b.goals_home <> '' AND b.goals_home <> ''
AND b.goals_guest <> '' AND b.goals_guest <> ''
AND m.status = 3 AND m.status = 3
AND b.user_id = $user_sel AND b.user_id = $user_sel
AND m.matchday <= $matchday AND m.matchday <= $matchday
GROUP by b.goals_home, b.goals_guest GROUP by b.goals_home, b.goals_guest
ORDER by bets DESC"; ORDER by bets DESC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
if ($row['goals_home'] > $row['goals_guest']) if ($row['goals_home'] > $row['goals_guest'])
{ {
$bets_home_win += $row['bets']; $bets_home_win += $row['bets'];
$win_home_win += $row['hits'] + $row['tendencies']; $win_home_win += $row['hits'] + $row['tendencies'];
$points_home_win += $row['points']; $points_home_win += $row['points'];
} }
if ($row['goals_home'] == $row['goals_guest']) if ($row['goals_home'] == $row['goals_guest'])
{ {
$bets_draw += $row['bets']; $bets_draw += $row['bets'];
$win_draw += $row['hits'] + $row['tendencies']; $win_draw += $row['hits'] + $row['tendencies'];
$points_draw += $row['points']; $points_draw += $row['points'];
} }
if ($row['goals_home'] < $row['goals_guest']) if ($row['goals_home'] < $row['goals_guest'])
{ {
$bets_guest_win += $row['bets']; $bets_guest_win += $row['bets'];
$win_guest_win += $row['hits'] + $row['tendencies']; $win_guest_win += $row['hits'] + $row['tendencies'];
$points_guest_win += $row['points']; $points_guest_win += $row['points'];
} }
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$template->assign_block_vars('bets', array( $template->assign_block_vars('bets', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'GOALSHOME' => $row['goals_home'], 'GOALSHOME' => $row['goals_home'],
'GOALSGUEST' => $row['goals_guest'], 'GOALSGUEST' => $row['goals_guest'],
'COUNT' => $row['bets'], 'COUNT' => $row['bets'],
'DIRECTHITS' => $row['hits'], 'DIRECTHITS' => $row['hits'],
'TENDENCIES' => $row['tendencies'], 'TENDENCIES' => $row['tendencies'],
'TOTAL' => $row['hits'] + $row['tendencies'], 'TOTAL' => $row['hits'] + $row['tendencies'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'AVERAGE' => round($row['points'] / $row['bets'],1), 'AVERAGE' => round($row['points'] / $row['bets'],1),
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// Tendencies of all results // Tendencies of all results
$sql = "SELECT $sql = "SELECT
SUM(IF(goals_home + 0 > goals_guest,1,0)) AS SUM_HOME_WIN, 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 = goals_guest,1,0)) AS SUM_DRAW,
SUM(IF(goals_home + 0 < goals_guest,1,0)) AS SUM_GUEST_WIN SUM(IF(goals_home + 0 < goals_guest,1,0)) AS SUM_GUEST_WIN
FROM " . FOOTB_MATCHES . " FROM " . FOOTB_MATCHES . "
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
AND status = 3 AND status = 3
AND matchday <= $matchday"; AND matchday <= $matchday";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$template->assign_block_vars('bets_wdl', array( $template->assign_block_vars('bets_wdl', array(
'ROW_CLASS' => 'bg2 row_dark', 'ROW_CLASS' => 'bg2 row_dark',
'SCORE' => sprintf($user->lang['PLAYED']), 'SCORE' => sprintf($user->lang['PLAYED']),
'HOMEWIN' => $row['SUM_HOME_WIN'], 'HOMEWIN' => $row['SUM_HOME_WIN'],
'DRAW' => $row['SUM_DRAW'], 'DRAW' => $row['SUM_DRAW'],
'GUESTWIN' => $row['SUM_GUEST_WIN'], 'GUESTWIN' => $row['SUM_GUEST_WIN'],
) )
); );
// Muliply with user of this league // Muliply with user of this league
$template->assign_block_vars('bets_wdl_all', array( $template->assign_block_vars('bets_wdl_all', array(
'ROW_CLASS' => 'bg2 row_dark', 'ROW_CLASS' => 'bg2 row_dark',
'SCORE' => sprintf($user->lang['PLAYED']), 'SCORE' => sprintf($user->lang['PLAYED']),
'HOMEWIN' => $row['SUM_HOME_WIN'] * $numb_users, 'HOMEWIN' => $row['SUM_HOME_WIN'] * $numb_users,
'DRAW' => $row['SUM_DRAW'] * $numb_users, 'DRAW' => $row['SUM_DRAW'] * $numb_users,
'GUESTWIN' => $row['SUM_GUEST_WIN'] * $numb_users, 'GUESTWIN' => $row['SUM_GUEST_WIN'] * $numb_users,
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// Count tendencies (bets of selected user) // Count tendencies (bets of selected user)
$template->assign_block_vars('bets_wdl', array( $template->assign_block_vars('bets_wdl', array(
'ROW_CLASS' => 'bg1 row_light', 'ROW_CLASS' => 'bg1 row_light',
'SCORE' => sprintf($user->lang['GUESSED']), 'SCORE' => sprintf($user->lang['GUESSED']),
'HOMEWIN' => $bets_home_win, 'HOMEWIN' => $bets_home_win,
'DRAW' => $bets_draw, 'DRAW' => $bets_draw,
'GUESTWIN' => $bets_guest_win, 'GUESTWIN' => $bets_guest_win,
) )
); );
// Scored with tendency (bets of selected user) // Scored with tendency (bets of selected user)
$template->assign_block_vars('bets_wdl', array( $template->assign_block_vars('bets_wdl', array(
'ROW_CLASS' => 'bg2 row_dark', 'ROW_CLASS' => 'bg2 row_dark',
'SCORE' => sprintf($user->lang['SCORED']), 'SCORE' => sprintf($user->lang['SCORED']),
'HOMEWIN' => $win_home_win, 'HOMEWIN' => $win_home_win,
'DRAW' => $win_draw, 'DRAW' => $win_draw,
'GUESTWIN' => $win_guest_win, 'GUESTWIN' => $win_guest_win,
) )
); );
// Points with tendency (bets of selected user) // Points with tendency (bets of selected user)
$template->assign_block_vars('bets_wdl', array( $template->assign_block_vars('bets_wdl', array(
'ROW_CLASS' => 'bg1 row_light', 'ROW_CLASS' => 'bg1 row_light',
'SCORE' => sprintf($user->lang['POINTS']), 'SCORE' => sprintf($user->lang['POINTS']),
'HOMEWIN' => $points_home_win, 'HOMEWIN' => $points_home_win,
'DRAW' => $points_draw, 'DRAW' => $points_draw,
'GUESTWIN' => $points_guest_win, 'GUESTWIN' => $points_guest_win,
) )
); );
// All bets of all users group by bet // All bets of all users group by bet
$rank = 0; $rank = 0;
$bets_home_win = 0; $bets_home_win = 0;
$bets_draw = 0; $bets_draw = 0;
$bets_guest_win = 0; $bets_guest_win = 0;
$win_home_win = 0; $win_home_win = 0;
$win_draw = 0; $win_draw = 0;
$win_guest_win = 0; $win_guest_win = 0;
$points_home_win = 0; $points_home_win = 0;
$points_draw = 0; $points_draw = 0;
$points_guest_win = 0; $points_guest_win = 0;
$sql = 'SELECT $sql = 'SELECT
COUNT(b.match_no) AS bets, COUNT(b.match_no) AS bets,
b.goals_home, b.goals_home,
b.goals_guest, b.goals_guest,
SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < 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 = b.goals_guest) <> (m.goals_home = m.goals_guest)
OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0)
) )
) AS hits, ) AS hits,
SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < 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 = b.goals_guest) <> (m.goals_home = m.goals_guest)
OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1)
) )
) AS tendencies, ) AS tendencies,
' . select_points('m',true) . ' ' . select_points('m',true) . '
FROM ' . FOOTB_BETS . ' AS b 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) 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 WHERE b.season = $season
AND b.league = $league AND b.league = $league
AND b.goals_home <> '' AND b.goals_home <> ''
AND b.goals_guest <> '' AND b.goals_guest <> ''
AND m.status = 3 AND m.status = 3
AND m.matchday <= $matchday AND m.matchday <= $matchday
GROUP by b.goals_home, b.goals_guest GROUP by b.goals_home, b.goals_guest
ORDER by bets DESC"; ORDER by bets DESC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
if ($row['goals_home'] > $row['goals_guest']) if ($row['goals_home'] > $row['goals_guest'])
{ {
$bets_home_win += $row['bets']; $bets_home_win += $row['bets'];
$win_home_win += $row['hits'] + $row['tendencies']; $win_home_win += $row['hits'] + $row['tendencies'];
$points_home_win += $row['points']; $points_home_win += $row['points'];
} }
if ($row['goals_home'] == $row['goals_guest']) if ($row['goals_home'] == $row['goals_guest'])
{ {
$bets_draw += $row['bets']; $bets_draw += $row['bets'];
$win_draw += $row['hits'] + $row['tendencies']; $win_draw += $row['hits'] + $row['tendencies'];
$points_draw += $row['points']; $points_draw += $row['points'];
} }
if ($row['goals_home'] < $row['goals_guest']) if ($row['goals_home'] < $row['goals_guest'])
{ {
$bets_guest_win += $row['bets']; $bets_guest_win += $row['bets'];
$win_guest_win += $row['hits'] + $row['tendencies']; $win_guest_win += $row['hits'] + $row['tendencies'];
$points_guest_win += $row['points']; $points_guest_win += $row['points'];
} }
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$template->assign_block_vars('allbets', array( $template->assign_block_vars('allbets', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'GOALSHOME' => $row['goals_home'], 'GOALSHOME' => $row['goals_home'],
'GOALSGUEST' => $row['goals_guest'], 'GOALSGUEST' => $row['goals_guest'],
'COUNT' => $row['bets'], 'COUNT' => $row['bets'],
'DIRECTHITS' => $row['hits'], 'DIRECTHITS' => $row['hits'],
'TENDENCIES' => $row['tendencies'], 'TENDENCIES' => $row['tendencies'],
'TOTAL' => $row['hits'] + $row['tendencies'], 'TOTAL' => $row['hits'] + $row['tendencies'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'AVERAGE' => round($row['points'] / $row['bets'],1), 'AVERAGE' => round($row['points'] / $row['bets'],1),
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// Count tendencies (bets of all user) // Count tendencies (bets of all user)
$template->assign_block_vars('bets_wdl_all', array( $template->assign_block_vars('bets_wdl_all', array(
'ROW_CLASS' => 'bg2 row_dark', 'ROW_CLASS' => 'bg2 row_dark',
'SCORE' => sprintf($user->lang['GUESSED']), 'SCORE' => sprintf($user->lang['GUESSED']),
'HOMEWIN' => $bets_home_win, 'HOMEWIN' => $bets_home_win,
'DRAW' => $bets_draw, 'DRAW' => $bets_draw,
'GUESTWIN' => $bets_guest_win, 'GUESTWIN' => $bets_guest_win,
) )
); );
// Scored with tendency (bets of all user) // Scored with tendency (bets of all user)
$template->assign_block_vars('bets_wdl_all', array( $template->assign_block_vars('bets_wdl_all', array(
'ROW_CLASS' => 'bg1 row_light', 'ROW_CLASS' => 'bg1 row_light',
'SCORE' => sprintf($user->lang['SCORED']), 'SCORE' => sprintf($user->lang['SCORED']),
'HOMEWIN' => $win_home_win, 'HOMEWIN' => $win_home_win,
'DRAW' => $win_draw, 'DRAW' => $win_draw,
'GUESTWIN' => $win_guest_win, 'GUESTWIN' => $win_guest_win,
) )
); );
// Points with tendency (bets of all user) // Points with tendency (bets of all user)
$template->assign_block_vars('bets_wdl_all', array( $template->assign_block_vars('bets_wdl_all', array(
'ROW_CLASS' => 'bg2 row_dark', 'ROW_CLASS' => 'bg2 row_dark',
'SCORE' => sprintf($user->lang['POINTS']), 'SCORE' => sprintf($user->lang['POINTS']),
'HOMEWIN' => $points_home_win, 'HOMEWIN' => $points_home_win,
'DRAW' => $points_draw, 'DRAW' => $points_draw,
'GUESTWIN' => $points_guest_win, 'GUESTWIN' => $points_guest_win,
) )
); );
$sidename = sprintf($user->lang['MY_BETS']); $sidename = sprintf($user->lang['MY_BETS']);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_MY_BETS' => true, 'S_DISPLAY_MY_BETS' => true,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => ($config['football_bank']) ? $this->helper->route('football_main_controller', array('side' => 'bank', 's' => $season, 'l' => $league, 'm' => $matchday)) : 'S_DATA_MY_BETS' => $data,
$this->helper->route('football_main_controller', array('side' => 'ranks_total', 's' => $season, 'l' => $league, 'm' => $matchday)), 'SEASON' => $season,
'LEFT_LINK' => ($config['football_bank']) ? '&lt; ' . sprintf($user->lang['FOOTBALL_BANK']) : 'LEAGUE' => $league,
'&lt; ' . sprintf($user->lang['RANK_TOTAL']), 'USERNAME' => $username,
'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']) . ' &gt;', );
'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,
)
);
?> ?>
+333 -338
View File
@@ -1,339 +1,334 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$data = false; $data = false;
$user1 = ''; $user1 = '';
$user2 = ''; $user2 = '';
$user3 = ''; $user3 = '';
$user4 = ''; $user4 = '';
$username = ''; $username = '';
$username2 = ''; $username2 = '';
$username3 = ''; $username3 = '';
$username4 = ''; $username4 = '';
// Calculate rank total // Calculate rank total
$sql = 'SELECT $sql = "SELECT
r.user_id, r.user_id,
u.username, u.username,
SUM(r.points) AS points_total (SELECT SUM(c.rank_total) FROM " . FOOTB_MY_CHART . " AS c WHERE c.user_id = (r.user_id) AND c.season = r.season AND c.league = r.league AND c.matchday = $matchday) AS points_total
FROM ' . FOOTB_RANKS . ' AS r FROM " . FOOTB_RANKS . ' AS r
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id)
WHERE r.season = $season WHERE r.season = $season
AND r.league = $league AND r.league = $league
AND r.matchday <= $matchday AND r.matchday <= $matchday
GROUP BY r.user_id GROUP BY r.user_id
ORDER BY points_total DESC, LOWER(u.username) ASC"; ORDER BY points_total ASC, LOWER(u.username) ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$current_ranks = $db->sql_fetchrowset($result); $current_ranks = $db->sql_fetchrowset($result);
$total_users = sizeof($current_ranks); $db->sql_freeresult($result);
if ($total_users > 3 AND $total_users <= 50) $total_users = sizeof($current_ranks);
{ if ($total_users > 3 AND $total_users <= 50)
$data = true; {
$middle = round($total_users / 2,0); $data = true;
// If user = leader then first = seconde $middle = round($total_users / 2,0);
$user_first = $current_ranks[0]['user_id']; // If user = leader then first = seconde
if ($user_first == $user->data['user_id']) $user_first = $current_ranks[0]['user_id'];
$user_first = $current_ranks[1]['user_id']; if ($user_first == $user->data['user_id'])
// If user = middle then middle = middle - 1 $user_first = $current_ranks[1]['user_id'];
$user_middle = $current_ranks[$middle-1]['user_id']; // If user = middle then middle = middle - 1
if ($user_middle == $user->data['user_id']) $user_middle = $current_ranks[$middle-1]['user_id'];
$user_middle = $current_ranks[$middle]['user_id']; if ($user_middle == $user->data['user_id'])
// If user = last then last = last but one $user_middle = $current_ranks[$middle]['user_id'];
$user_last = $current_ranks[$total_users - 1]['user_id']; // If user = last then last = last but one
if ($user_last == $user->data['user_id']) $user_last = $current_ranks[$total_users - 1]['user_id'];
$user_last = $current_ranks[$total_users - 2]['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))
{ 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']); // Take user, leader, middle and last
$user2 = $this->request->variable('user2', $user_first); $user1 = $this->request->variable('user1', $user->data['user_id']);
$user3 = $this->request->variable('user3', $user_middle); $user2 = $this->request->variable('user2', $user_first);
$user4 = $this->request->variable('user4', $user_last); $user3 = $this->request->variable('user3', $user_middle);
} $user4 = $this->request->variable('user4', $user_last);
else }
{ else
// Only take leader, middle and last {
$user1 = $this->request->variable('user1', $user_first); // Only take leader, middle and last
$user2 = $this->request->variable('user2', $user_middle); $user1 = $this->request->variable('user1', $user_first);
$user3 = $this->request->variable('user3', $user_last); $user2 = $this->request->variable('user2', $user_middle);
$user4 = $this->request->variable('user4', 0); $user3 = $this->request->variable('user3', $user_last);
} $user4 = $this->request->variable('user4', 0);
}
// Add empty choice
$template->assign_block_vars('form_user2', array( // Add empty choice
'S_USERNAME' => sprintf($user->lang['OPTION_USER']), $template->assign_block_vars('form_user2', array(
'S_USERID' => 0, 'S_USERNAME' => sprintf($user->lang['OPTION_USER']),
'S_SELECTEDID2' => '', 'S_USERID' => 0,
) 'S_SELECTEDID2' => '',
); )
$template->assign_block_vars('form_user3', array( );
'S_USERNAME' => sprintf($user->lang['OPTION_USER']), $template->assign_block_vars('form_user3', array(
'S_USERID' => 0, 'S_USERNAME' => sprintf($user->lang['OPTION_USER']),
'S_SELECTEDID3' => '', 'S_USERID' => 0,
) 'S_SELECTEDID3' => '',
); )
$template->assign_block_vars('form_user4', array( );
'S_USERNAME' => sprintf($user->lang['OPTION_USER']), $template->assign_block_vars('form_user4', array(
'S_USERID' => 0, 'S_USERNAME' => sprintf($user->lang['OPTION_USER']),
'S_SELECTEDID4' => '', 'S_USERID' => 0,
) 'S_SELECTEDID4' => '',
); )
);
// Start select user
foreach ($current_ranks as $rank_user) // Start select user
{ foreach ($current_ranks as $rank_user)
$curr_userid =$rank_user['user_id']; {
if ($user1 == $curr_userid) $curr_userid =$rank_user['user_id'];
{ if ($user1 == $curr_userid)
$selectid1 = ' selected="selected"'; {
$username = $rank_user['username']; $selectid1 = ' selected="selected"';
} $username = $rank_user['username'];
else }
{ else
$selectid1 = ''; {
} $selectid1 = '';
if ($user2 == $curr_userid) }
{ if ($user2 == $curr_userid)
$selectid2 = ' selected="selected"'; {
$username2 = $rank_user['username']; $selectid2 = ' selected="selected"';
} $username2 = $rank_user['username'];
else }
{ else
$selectid2 = ''; {
} $selectid2 = '';
if ($user3 == $curr_userid) }
{ if ($user3 == $curr_userid)
$selectid3 = ' selected="selected"'; {
$username3 = $rank_user['username']; $selectid3 = ' selected="selected"';
} $username3 = $rank_user['username'];
else }
{ else
$selectid3 = ''; {
} $selectid3 = '';
if ($user4 == $curr_userid) }
{ if ($user4 == $curr_userid)
$selectid4 = ' selected="selected"'; {
$username4 = $rank_user['username']; $selectid4 = ' selected="selected"';
} $username4 = $rank_user['username'];
else }
{ else
$selectid4 = ''; {
} $selectid4 = '';
if ($curr_userid != $user2 AND $curr_userid != $user3 AND $curr_userid != $user4) }
$template->assign_block_vars('form_user1', array( if ($curr_userid != $user2 AND $curr_userid != $user3 AND $curr_userid != $user4)
'S_USERNAME' => $rank_user['username'], $template->assign_block_vars('form_user1', array(
'S_USERID' => $curr_userid, 'S_USERNAME' => $rank_user['username'],
'S_SELECTEDID' => $selectid1)); 'S_USERID' => $curr_userid,
if ($curr_userid != $user1 AND $curr_userid != $user3 AND $curr_userid != $user4) 'S_SELECTEDID' => $selectid1));
$template->assign_block_vars('form_user2', array( if ($curr_userid != $user1 AND $curr_userid != $user3 AND $curr_userid != $user4)
'S_USERNAME' => $rank_user['username'], $template->assign_block_vars('form_user2', array(
'S_USERID' => $curr_userid, 'S_USERNAME' => $rank_user['username'],
'S_SELECTEDID' => $selectid2)); 'S_USERID' => $curr_userid,
if ($curr_userid != $user1 AND $curr_userid != $user2 AND $curr_userid != $user4) 'S_SELECTEDID' => $selectid2));
$template->assign_block_vars('form_user3', array( if ($curr_userid != $user1 AND $curr_userid != $user2 AND $curr_userid != $user4)
'S_USERNAME' => $rank_user['username'], $template->assign_block_vars('form_user3', array(
'S_USERID' => $curr_userid, 'S_USERNAME' => $rank_user['username'],
'S_SELECTEDID' => $selectid3)); 'S_USERID' => $curr_userid,
if ($curr_userid != $user1 AND $curr_userid != $user2 AND $curr_userid != $user3) 'S_SELECTEDID' => $selectid3));
$template->assign_block_vars('form_user4', array( if ($curr_userid != $user1 AND $curr_userid != $user2 AND $curr_userid != $user3)
'S_USERNAME' => $rank_user['username'], $template->assign_block_vars('form_user4', array(
'S_USERID' => $curr_userid, 'S_USERNAME' => $rank_user['username'],
'S_SELECTEDID' => $selectid4)); 'S_USERID' => $curr_userid,
} 'S_SELECTEDID' => $selectid4));
}
$ranks_total_1 = '';
$ranks_dayl_1 = ''; $ranks_total_1 = '';
$points_1 = ''; $ranks_dayl_1 = '';
$sql = 'SELECT * $points_1 = '';
FROM ' . FOOTB_RANKS . " $sql = 'SELECT *
WHERE season = $season FROM ' . FOOTB_MY_CHART . "
AND league = $league WHERE season = $season
AND matchday <= $matchday AND league = $league
AND user_id = $user1 AND matchday <= $matchday
ORDER BY matchday ASC"; AND user_id = $user1
ORDER BY matchday ASC";
$result = $db->sql_query($sql);
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{ while($row = $db->sql_fetchrow($result))
$points_1 = $points_1. $row['points']. ','; {
$ranks_total_1 = $ranks_total_1. $row['rank_total']. ','; $points_1 = $points_1. $row['points']. ',';
$ranks_dayl_1 = $ranks_dayl_1. $row['rank']. ','; $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); $points_1 = substr($points_1, 0, strlen($points_1) - 1);
$ranks_dayl_1 = substr($ranks_dayl_1, 0, strlen($ranks_dayl_1) - 1); $ranks_total_1 = substr($ranks_total_1, 0, strlen($ranks_total_1) - 1);
$db->sql_freeresult($result); $ranks_dayl_1 = substr($ranks_dayl_1, 0, strlen($ranks_dayl_1) - 1);
$db->sql_freeresult($result);
$ranks_total_2 = '';
$ranks_dayl_2 = ''; $ranks_total_2 = '';
$points_2 = ''; $ranks_dayl_2 = '';
if ($user2 != 0) $points_2 = '';
{ if ($user2 != 0)
$sql = 'SELECT * {
FROM ' . FOOTB_RANKS . " $sql = 'SELECT *
WHERE season = $season FROM ' . FOOTB_RANKS . "
AND league = $league WHERE season = $season
AND matchday <= $matchday AND league = $league
AND user_id = $user2 AND matchday <= $matchday
ORDER BY matchday ASC"; AND user_id = $user2
ORDER BY matchday ASC";
$result = $db->sql_query($sql);
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{ while($row = $db->sql_fetchrow($result))
$points_2 = $points_2 . $row['points']. ','; {
$ranks_total_2 = $ranks_total_2 . $row['rank_total']. ','; $points_2 = $points_2 . $row['points']. ',';
$ranks_dayl_2 = $ranks_dayl_2 . $row['rank']. ','; $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); $points_2 = substr($points_2, 0, strlen($points_2) - 1);
$ranks_dayl_2 = substr($ranks_dayl_2, 0, strlen($ranks_dayl_2) - 1); $ranks_total_2 = substr($ranks_total_2, 0, strlen($ranks_total_2) - 1);
$db->sql_freeresult($result); $ranks_dayl_2 = substr($ranks_dayl_2, 0, strlen($ranks_dayl_2) - 1);
} $db->sql_freeresult($result);
}
$ranks_total_3 = '';
$ranks_dayl_3 = ''; $ranks_total_3 = '';
$points_3 = ''; $ranks_dayl_3 = '';
if ($user3 != 0) $points_3 = '';
{ if ($user3 != 0)
$sql = 'SELECT * {
FROM ' . FOOTB_RANKS . " $sql = 'SELECT *
WHERE season = $season FROM ' . FOOTB_MY_CHART . "
AND league = $league WHERE season = $season
AND matchday <= $matchday AND league = $league
AND user_id = $user3 AND matchday <= $matchday
ORDER BY matchday ASC"; AND user_id = $user3
ORDER BY matchday ASC";
$result = $db->sql_query($sql);
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{ while($row = $db->sql_fetchrow($result))
$points_3 = $points_3. $row['points']. ','; {
$ranks_total_3 = $ranks_total_3. $row['rank_total']. ','; $points_3 = $points_3. $row['points']. ',';
$ranks_dayl_3 = $ranks_dayl_3. $row['rank']. ','; $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); $points_3 = substr($points_3,0,strlen($points_3)-1);
$ranks_dayl_3 = substr($ranks_dayl_3,0,strlen($ranks_dayl_3)-1); $ranks_total_3 = substr($ranks_total_3,0,strlen($ranks_total_3)-1);
$db->sql_freeresult($result); $ranks_dayl_3 = substr($ranks_dayl_3,0,strlen($ranks_dayl_3)-1);
} $db->sql_freeresult($result);
}
$ranks_total_4 = '';
$ranks_dayl_4 = ''; $ranks_total_4 = '';
$points_4 = ''; $ranks_dayl_4 = '';
if ($user4 != 0) $points_4 = '';
{ if ($user4 != 0)
$sql = 'SELECT * {
FROM ' . FOOTB_RANKS . " $sql = 'SELECT *
WHERE season = $season FROM ' . FOOTB_MY_CHART . "
AND league = $league WHERE season = $season
AND matchday <= $matchday AND league = $league
AND user_id = $user4 AND matchday <= $matchday
ORDER BY matchday ASC"; AND user_id = $user4
ORDER BY matchday ASC";
$result = $db->sql_query($sql);
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{ while($row = $db->sql_fetchrow($result))
$points_4 = $points_4. $row['points']. ','; {
$sptagplatz = $row['rank']; $points_4 = $points_4. $row['points']. ',';
$ranks_total_4 = $ranks_total_4. $row['rank_total']. ','; $sptagplatz = $row['rank'];
$ranks_dayl_4 = $ranks_dayl_4. $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); $points_4 = substr($points_4,0,strlen($points_4)-1);
$ranks_dayl_4 = substr($ranks_dayl_4,0,strlen($ranks_dayl_4)-1); $ranks_total_4 = substr($ranks_total_4,0,strlen($ranks_total_4)-1);
$db->sql_freeresult($result); $ranks_dayl_4 = substr($ranks_dayl_4,0,strlen($ranks_dayl_4)-1);
} $db->sql_freeresult($result);
}
$min = '';
$max = ''; $min = '';
if ($user1 != 0) $max = '';
{ if ($user1 != 0)
$sql = 'SELECT {
MIN(points) As points_min, $sql = 'SELECT
MAX(points) As points_max MIN(points) As points_min,
FROM ' . FOOTB_RANKS . " MAX(points) As points_max
WHERE season = $season FROM ' . FOOTB_MY_CHART . "
AND league = $league WHERE season = $season
AND matchday <= $matchday AND league = $league
GROUP BY matchday AND matchday <= $matchday
ORDER BY matchday ASC"; GROUP BY matchday
ORDER BY matchday ASC";
$result = $db->sql_query($sql);
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{ while($row = $db->sql_fetchrow($result))
$min = $min. $row['points_min']. ','; {
$max = $max. $row['points_max']. ','; $min = $min. $row['points_min']. ',';
} $max = $max. $row['points_max']. ',';
$min = substr($min,0,strlen($min)-1); }
$max = substr($max,0,strlen($max)-1); $min = substr($min,0,strlen($min)-1);
$db->sql_freeresult($result); $max = substr($max,0,strlen($max)-1);
} $db->sql_freeresult($result);
// Create and display charts }
$chart= "<img src='". generate_board_url() . '/' . $this->football_root_path // Create and display charts
. "includes/chart_rank.php?t=$total_users&amp;m=$matchday&amp;v1=$ranks_total_1&amp;v2=$ranks_total_2&amp;v3=$ranks_total_3&amp;v4=$ranks_total_4&amp;c=" $chart= "<img src='". generate_board_url() . '/' . $this->football_root_path
. sprintf($user->lang['PLACE']) . "' alt='" . "includes/chart_rank.php?t=$total_users&amp;m=$matchday&amp;v1=$ranks_total_1&amp;v2=$ranks_total_2&amp;v3=$ranks_total_3&amp;v4=$ranks_total_4&amp;c="
. sprintf($user->lang['CHART_TOTAL']) . sprintf($user->lang['PLACE']) . "' alt='"
. "'/>"; . sprintf($user->lang['CHART_TOTAL'])
$template->assign_block_vars('chart_rank', array( . "'/>";
'CHARTIMAGE' => $chart, $template->assign_block_vars('chart_rank', array(
) 'CHARTIMAGE' => $chart,
); )
$chart= "<img src='". generate_board_url() . '/' . $this->football_root_path );
. "includes/chart_rank.php?t=$total_users&amp;m=$matchday&amp;v1=$ranks_dayl_1&amp;v2=$ranks_dayl_2&amp;v3=$ranks_dayl_3&amp;v4=$ranks_dayl_4&amp;c=" $chart= "<img src='". generate_board_url() . '/' . $this->football_root_path
. sprintf($user->lang['PLACE']) . "' alt='" . "includes/chart_rank.php?t=$total_users&amp;m=$matchday&amp;v1=$ranks_dayl_1&amp;v2=$ranks_dayl_2&amp;v3=$ranks_dayl_3&amp;v4=$ranks_dayl_4&amp;c="
. sprintf($user->lang['CHART_MATCHDAY']) . sprintf($user->lang['PLACE']) . "' alt='"
. "'/>"; . sprintf($user->lang['CHART_MATCHDAY'])
$template->assign_block_vars('chart_matchtdays', array( . "'/>";
'CHARTIMAGE' => $chart, $template->assign_block_vars('chart_matchtdays', array(
) 'CHARTIMAGE' => $chart,
); )
$chart= "<img src='". generate_board_url() . '/' . $this->football_root_path );
. "includes/chart_points.php?m=$matchday&amp;v1=$points_1&amp;v2=$points_2&amp;v3=$points_3&amp;v4=$points_4&amp;min=$min&amp;max=$max&amp;c=" $chart= "<img src='". generate_board_url() . '/' . $this->football_root_path
. sprintf($user->lang['POINTS']) . ',' . sprintf($user->lang['BANDWIDTH']) . "' alt='" . "includes/chart_points.php?m=$matchday&amp;v1=$points_1&amp;v2=$points_2&amp;v3=$points_3&amp;v4=$points_4&amp;min=$min&amp;max=$max&amp;c="
. sprintf($user->lang['CHART_POINTS']) . sprintf($user->lang['POINTS']) . ',' . sprintf($user->lang['BANDWIDTH']) . "' alt='"
. "'/>"; . sprintf($user->lang['CHART_POINTS'])
$template->assign_block_vars('chart_points', array( . "'/>";
'CHARTIMAGE' => $chart, $template->assign_block_vars('chart_points', array(
) 'CHARTIMAGE' => $chart,
); )
} );
$sidename = sprintf($user->lang['MY_CHART']); }
$template->assign_vars(array( $sidename = sprintf($user->lang['MY_CHART']);
'S_DISPLAY_MY_CHART' => true, $template->assign_vars(array(
'S_SIDENAME' => $sidename, 'S_DISPLAY_MY_CHART' => true,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_rank', 's' => $season, 'l' => $league, 'm' => $matchday)), 'S_SIDENAME' => $sidename,
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['MY_RANK']), 'S_DATA_MY_CHART' => $data,
'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_koeff', 's' => $season, 'l' => $league, 'm' => $matchday)), 'SEASON' => $season,
'RIGHT_LINK' => sprintf($user->lang['MY_KOEFF']) . ' &gt;', 'LEAGUE' => $league,
'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_RANKS']), 'S_USER1' => $user1,
'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_KOEFF']), 'S_USER2' => $user2,
'S_DATA_MY_CHART' => $data, 'S_USER3' => $user3,
'SEASON' => $season, 'S_USER4' => $user4,
'LEAGUE' => $league, 'USERNAME1' => $username,
'S_USER1' => $user1, 'USERNAME2' => $username2,
'S_USER2' => $user2, 'USERNAME3' => $username3,
'S_USER3' => $user3, 'USERNAME4' => $username4,
'S_USER4' => $user4, )
'USERNAME1' => $username, );
'USERNAME2' => $username2,
'USERNAME3' => $username3,
'USERNAME4' => $username4,
)
);
?> ?>
+2 -9
View File
@@ -98,7 +98,6 @@ else
$split_after = $count_matches; $split_after = $count_matches;
$splits = 1; $splits = 1;
} }
$db->sql_freeresult($result);
// Make sure $start is set to the last page if it exceeds the amount // Make sure $start is set to the last page if it exceeds the amount
if ($start < 0 || $start >= $total_users) if ($start < 0 || $start >= $total_users)
@@ -192,7 +191,7 @@ foreach ($matches AS $match)
$total = 0; $total = 0;
} }
$bet_index++; $bet_index++;
$total += $user_bet['points']; $total += ($user_bet['points'] == '') ? 0 : $user_bet['points'];
if ($user_bet['status'] < 1 && !$config['football_view_bets']) if ($user_bet['status'] < 1 && !$config['football_view_bets'])
{ {
// hide bets // hide bets
@@ -310,7 +309,7 @@ if ($count_matches > 0)
$total = 0; $total = 0;
} }
$bet_index++; $bet_index++;
$total += $user_bet['points']; $total += ($user_bet['points'] == '') ? 0 : $user_bet['points'];
if ($user_bet['status'] < 1) if ($user_bet['status'] < 1)
{ {
if ($user_bet['bet_home'] == '') if ($user_bet['bet_home'] == '')
@@ -376,12 +375,6 @@ $sidename = sprintf($user->lang['MY_KOEFF']);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_MY_KOEFF' => true, 'S_DISPLAY_MY_KOEFF' => true,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_chart', 's' => $season, 'l' => $league, 'm' => $matchday)),
'LEFT_LINK' => '&lt; ' . 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']) . ' &gt;',
'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_CHART']),
'RIGHT_TITLE' => sprintf($user->lang['TITLE_STAT_POINTS']),
'S_MATCHES_ON_MATCHDAY' => $matches_on_matchday, 'S_MATCHES_ON_MATCHDAY' => $matches_on_matchday,
'S_SPALTEN' => ($count_matches * 2) + 2, 'S_SPALTEN' => ($count_matches * 2) + 2,
'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start), 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start),
+197 -203
View File
@@ -1,204 +1,198 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
if (!$user_sel) if (!$user_sel)
{ {
if (user_is_member($user->data['user_id'], $season, $league)) if (user_is_member($user->data['user_id'], $season, $league))
{ {
$user_sel = $user->data['user_id']; $user_sel = $user->data['user_id'];
} }
} }
$username = ''; $username = '';
$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true));
$data = false; $data = false;
// Select user // Select user
$sql = 'SELECT DISTINCT $sql = 'SELECT DISTINCT
u.user_id, u.user_id,
u.username u.username
FROM ' . FOOTB_BETS . ' AS b FROM ' . FOOTB_BETS . ' AS b
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id)
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
ORDER BY LOWER(u.username) ASC"; ORDER BY LOWER(u.username) ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$data = true; $data = true;
if ($user_sel == $row['user_id'] OR !$user_sel) if ($user_sel == $row['user_id'] OR !$user_sel)
{ {
$selectid = ' selected="selected"'; $selectid = ' selected="selected"';
$username = $row['username']; $username = $row['username'];
$user_sel = $row['user_id']; $user_sel = $row['user_id'];
} }
else else
{ {
$selectid = ''; $selectid = '';
} }
$template->assign_block_vars('form_user', array( $template->assign_block_vars('form_user', array(
'S_USER' => $row['user_id'], 'S_USER' => $row['user_id'],
'S_USERNAME' => $row['username'], 'S_USERNAME' => $row['username'],
'S_SELECTEDID' => $selectid, 'S_SELECTEDID' => $selectid,
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$rank = 0; $rank = 0;
// Select sum of users points group by team // Select sum of users points group by team
$sql = "SELECT $sql = "SELECT
t.*, t.*,
SUM(1) AS bets, SUM(1) AS bets,
SUM(IF((m.team_id_home = t.team_id), 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),
IF(b.goals_home + 0 < b.goals_guest, 1, 0) IF(b.goals_home + 0 < b.goals_guest, 1, 0)
) )
) AS win, ) AS win,
SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw,
SUM(IF((m.team_id_home = t.team_id), 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),
IF(b.goals_home + 0 > b.goals_guest, 1, 0) IF(b.goals_home + 0 > b.goals_guest, 1, 0)
) )
) AS lost, ) AS lost,
SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < 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 = b.goals_guest) <> (m.goals_home = m.goals_guest)
OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest=m.goals_guest), IF((b.goals_home = m.goals_home) AND (b.goals_guest=m.goals_guest),
0,1 0,1
) )
) )
)AS tendencies, )AS tendencies,
SUM(IF((b.goals_home = m.goals_home) AND (b.goals_guest=m.goals_guest),1,0))AS hits, SUM(IF((b.goals_home = m.goals_home) AND (b.goals_guest=m.goals_guest),1,0))AS hits,
" . select_points('m',true) . " " . select_points('m',true) . "
FROM " . FOOTB_TEAMS . ' AS t FROM " . FOOTB_TEAMS . ' AS t
LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league 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.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) 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 WHERE t.season = $season
AND t.league = $league AND t.league = $league
AND m.status IN (3,6) AND m.status IN (3,6)
AND b.user_id = $user_sel AND b.user_id = $user_sel
AND b.goals_home <> '' AND b.goals_home <> ''
AND b.goals_guest <> '' AND b.goals_guest <> ''
AND m.matchday <= $matchday AND m.matchday <= $matchday
GROUP BY t.team_id GROUP BY t.team_id
ORDER BY points DESC"; ORDER BY points DESC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
$template->assign_block_vars('points', array( $template->assign_block_vars('points', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'RANK' => $rank, 'RANK' => $rank,
'LOGO' => $logo, 'LOGO' => $logo,
'TEAM' => $row['team_name_short'], 'TEAM' => $row['team_name_short'],
'COUNT' => $row['bets'], 'COUNT' => $row['bets'],
'WIN' => $row['win'], 'WIN' => $row['win'],
'DRAW' => $row['draw'], 'DRAW' => $row['draw'],
'LOST' => $row['lost'], 'LOST' => $row['lost'],
'DIRECTHITS' => $row['hits'], 'DIRECTHITS' => $row['hits'],
'TENDENCIES' => $row['tendencies'], 'TENDENCIES' => $row['tendencies'],
'TOTAL' => $row['hits'] + $row['tendencies'], 'TOTAL' => $row['hits'] + $row['tendencies'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$rank = 0; $rank = 0;
// Select sum of all users points group by team // Select sum of all users points group by team
$sql = "SELECT $sql = "SELECT
t.*, t.*,
SUM(1) AS bets, SUM(1) AS bets,
SUM(IF((m.team_id_home = t.team_id), 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),
IF(b.goals_home + 0 < b.goals_guest, 1, 0) IF(b.goals_home + 0 < b.goals_guest, 1, 0)
) )
) AS win, ) AS win,
SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw,
SUM(IF((m.team_id_home = t.team_id), 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),
IF(b.goals_home + 0 > b.goals_guest, 1, 0) IF(b.goals_home + 0 > b.goals_guest, 1, 0)
) )
) AS lost, ) AS lost,
SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < 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 = b.goals_guest) <> (m.goals_home = m.goals_guest)
OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1)
) )
)AS tendencies, )AS tendencies,
SUM(IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0)) AS hits, SUM(IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0)) AS hits,
" . select_points('m',true) . " " . select_points('m',true) . "
FROM " . FOOTB_TEAMS . ' AS t FROM " . FOOTB_TEAMS . ' AS t
LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league 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.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) 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 WHERE t.season = $season
AND t.league = $league AND t.league = $league
AND b.goals_home <> '' AND b.goals_home <> ''
AND b.goals_guest <> '' AND b.goals_guest <> ''
AND m.status IN (3,6) AND m.status IN (3,6)
AND m.matchday <= $matchday AND m.matchday <= $matchday
GROUP BY t.team_id GROUP BY t.team_id
ORDER BY points DESC"; ORDER BY points DESC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
$template->assign_block_vars('allpoints', array( $template->assign_block_vars('allpoints', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'RANK' => $rank, 'RANK' => $rank,
'LOGO' => $logo, 'LOGO' => $logo,
'TEAM' => $row['team_name_short'], 'TEAM' => $row['team_name_short'],
'COUNT' => $row['bets'], 'COUNT' => $row['bets'],
'WIN' => $row['win'], 'WIN' => $row['win'],
'DRAW' => $row['draw'], 'DRAW' => $row['draw'],
'LOST' => $row['lost'], 'LOST' => $row['lost'],
'DIRECTHITS' => $row['hits'], 'DIRECTHITS' => $row['hits'],
'TENDENCIES' => $row['tendencies'], 'TENDENCIES' => $row['tendencies'],
'TOTAL' => $row['hits'] + $row['tendencies'], 'TOTAL' => $row['hits'] + $row['tendencies'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$sidename = sprintf($user->lang['MY_POINTS']); $sidename = sprintf($user->lang['MY_POINTS']);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_MY_POINTS' => true, 'S_DISPLAY_MY_POINTS' => true,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), 'S_DATA_MY_POINTS' => $data,
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['MY_BETS']), 'SEASON' => $season,
'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_table', 's' => $season, 'l' => $league, 'm' => $matchday)), 'LEAGUE' => $league,
'RIGHT_LINK' => sprintf($user->lang['MY_TABLE']) . ' &gt;', 'USERNAME' => $username,
'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,
)
);
?> ?>
+172 -178
View File
@@ -1,179 +1,173 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
if (!$user_sel) if (!$user_sel)
{ {
if (user_is_member($user->data['user_id'], $season, $league)) if (user_is_member($user->data['user_id'], $season, $league))
{ {
$user_sel = $user->data['user_id']; $user_sel = $user->data['user_id'];
} }
} }
$username = ''; $username = '';
$data = false; $data = false;
// select user // select user
$sql = 'SELECT DISTINCT $sql = 'SELECT DISTINCT
u.user_id, u.user_id,
u.username u.username
FROM ' . FOOTB_BETS . ' AS w FROM ' . FOOTB_BETS . ' AS w
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = w.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = w.user_id)
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
ORDER BY LOWER(u.username) ASC "; ORDER BY LOWER(u.username) ASC ";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
if ($user_sel == $row['user_id'] OR !$user_sel) if ($user_sel == $row['user_id'] OR !$user_sel)
{ {
$selectid = ' selected="selected"'; $selectid = ' selected="selected"';
$username = $row['username']; $username = $row['username'];
$user_sel = $row['user_id']; $user_sel = $row['user_id'];
} }
else else
{ {
$selectid = ''; $selectid = '';
} }
$template->assign_block_vars('form_user', array( $template->assign_block_vars('form_user', array(
'S_USER' => $row['user_id'], 'S_USER' => $row['user_id'],
'S_USERNAME' => $row['username'], 'S_USERNAME' => $row['username'],
'S_SELECTEDID' => $selectid, 'S_SELECTEDID' => $selectid,
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$rank = 0; $rank = 0;
// Get ranks 1-3 of selected user // Get ranks 1-3 of selected user
$sql = 'SELECT $sql = 'SELECT
season, season,
COUNT(matchday) AS matchdays, COUNT(matchday) AS matchdays,
SUM(points) AS points, SUM(points) AS points,
SUM(IF(rank = 1, 1, 0)) AS rank1, SUM(IF(rank = 1, 1, 0)) AS rank1,
SUM(IF(rank = 2, 1, 0)) AS rank2, SUM(IF(rank = 2, 1, 0)) AS rank2,
SUM(IF(rank = 3, 1, 0)) AS rank3 SUM(IF(rank = 3, 1, 0)) AS rank3
FROM ' . FOOTB_RANKS . " FROM ' . FOOTB_RANKS . "
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
AND user_id = $user_sel AND user_id = $user_sel
GROUP BY user_id, season GROUP BY user_id, season
ORDER BY season ASC"; ORDER BY season ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$template->assign_block_vars('myrank', array( $template->assign_block_vars('myrank', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'SEASON' => $row['season'], 'SEASON' => $row['season'],
'MATCHDAYS' => $row['matchdays'], 'MATCHDAYS' => $row['matchdays'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'RANK1' => $row['rank1'], 'RANK1' => $row['rank1'],
'RANK2' => $row['rank2'], 'RANK2' => $row['rank2'],
'RANK3' => $row['rank3'], 'RANK3' => $row['rank3'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$rank = 0; $rank = 0;
// Get all ranks 1-3 of selected user // Get all ranks 1-3 of selected user
$sql = 'SELECT $sql = 'SELECT
COUNT(matchday) AS matchdays, COUNT(matchday) AS matchdays,
rank rank
FROM ' . FOOTB_RANKS . " FROM ' . FOOTB_RANKS . "
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
AND user_id = $user_sel AND user_id = $user_sel
GROUP BY user_id, rank GROUP BY user_id, rank
ORDER BY rank ASC"; ORDER BY rank ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$template->assign_block_vars('season_ranks', array( $template->assign_block_vars('season_ranks', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'RANK' => $row['rank'], 'RANK' => $row['rank'],
'MATCHDAYS' => $row['matchdays'], 'MATCHDAYS' => $row['matchdays'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$rank = 0; $rank = 0;
// Get ranks 1-3 of all users // Get ranks 1-3 of all users
$sql = 'SELECT $sql = 'SELECT
r.user_id, r.user_id,
u.username, u.username,
COUNT(r.matchday) AS matchdays, COUNT(r.matchday) AS matchdays,
SUM(r.points) AS points, SUM(r.points) AS points,
SUM(IF(r.rank =1, 1, 0)) AS rank1, SUM(IF(r.rank =1, 1, 0)) AS rank1,
SUM(IF(r.rank =2, 1, 0)) AS rank2, SUM(IF(r.rank =2, 1, 0)) AS rank2,
SUM(IF(r.rank =3, 1, 0)) AS rank3 SUM(IF(r.rank =3, 1, 0)) AS rank3
FROM ' . FOOTB_RANKS . " AS r FROM ' . FOOTB_RANKS . " AS r
LEFT JOIN " . USERS_TABLE . " AS u ON (u.user_id = r.user_id) LEFT JOIN " . USERS_TABLE . " AS u ON (u.user_id = r.user_id)
WHERE r.season = $season WHERE r.season = $season
AND r.league = $league AND r.league = $league
GROUP BY r.user_id GROUP BY r.user_id
ORDER BY rank1 DESC, rank2 DESC, rank3 DESC"; ORDER BY rank1 DESC, rank2 DESC, rank3 DESC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$data = true; $data = true;
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($row['user_id'] == $user->data['user_id']) if ($row['user_id'] == $user->data['user_id'])
{ {
$row_class = 'bg3 row_user'; $row_class = 'bg3 row_user';
} }
$template->assign_block_vars('allranks', array( $template->assign_block_vars('allranks', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'NAME' => $row['username'], 'NAME' => $row['username'],
'MATCHDAYS' => $row['matchdays'], 'MATCHDAYS' => $row['matchdays'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'AVERAGE' => round($row['points'] / $row['matchdays'],1), 'AVERAGE' => round($row['points'] / $row['matchdays'],1),
'RANK1' => $row['rank1'], 'RANK1' => $row['rank1'],
'RANK2' => $row['rank2'], 'RANK2' => $row['rank2'],
'RANK3' => $row['rank3'], 'RANK3' => $row['rank3'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$sidename = sprintf($user->lang['MY_RANK']); $sidename = sprintf($user->lang['MY_RANK']);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_MY_RANK' => true, 'S_DISPLAY_MY_RANK' => true,
'S_MATCHDAY_HIDE' => true, 'S_MATCHDAY_HIDE' => true,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_table', 's' => $season, 'l' => $league, 'm' => $matchday)), 'S_DATA_MY_RANK' => $data,
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['MY_TABLE']), 'SEASON' => $season,
'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_chart', 's' => $season, 'l' => $league, 'm' => $matchday)), 'LEAGUE' => $league,
'RIGHT_LINK' => sprintf($user->lang['MY_CHART']) . ' &gt;', 'USERNAME' => $username,
'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,
)
);
?> ?>
+429 -433
View File
@@ -1,434 +1,430 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
if (!$user_sel) if (!$user_sel)
{ {
if (user_is_member($user->data['user_id'], $season, $league)) if (user_is_member($user->data['user_id'], $season, $league))
{ {
$user_sel = $user->data['user_id']; $user_sel = $user->data['user_id'];
} }
} }
$username = ''; $username = '';
$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true));
// select user // select user
$sql = 'SELECT DISTINCT $sql = 'SELECT DISTINCT
u.user_id, u.user_id,
u.username u.username
FROM ' . FOOTB_BETS . ' AS b FROM ' . FOOTB_BETS . ' AS b
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = b.user_id)
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
ORDER BY LOWER(u.username) ASC"; ORDER BY LOWER(u.username) ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
if ($user_sel == 900) if ($user_sel == 900)
{ {
$selectid = ' selected="selected"'; $selectid = ' selected="selected"';
$username = 'Alle'; $username = 'Alle';
$user_sel = 900; $user_sel = 900;
$where_user = ""; $where_user = "";
} }
else else
{ {
$selectid = ''; $selectid = '';
$where_user = "b.user_id = $user_sel AND "; $where_user = "b.user_id = $user_sel AND ";
} }
$template->assign_block_vars('form_user', array( $template->assign_block_vars('form_user', array(
'S_USER' => 900, 'S_USER' => 900,
'S_USERNAME' => 'Alle', 'S_USERNAME' => 'Alle',
'S_SELECTEDID' => $selectid, 'S_SELECTEDID' => $selectid,
) )
); );
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
if ($user_sel == $row['user_id'] OR !$user_sel) if ($user_sel == $row['user_id'] OR !$user_sel)
{ {
$selectid = ' selected="selected"'; $selectid = ' selected="selected"';
$username = $row['username']; $username = $row['username'];
$user_sel = $row['user_id']; $user_sel = $row['user_id'];
} }
else else
{ {
$selectid = ''; $selectid = '';
} }
$template->assign_block_vars('form_user', array( $template->assign_block_vars('form_user', array(
'S_USER' => $row['user_id'], 'S_USER' => $row['user_id'],
'S_USERNAME' => $row['username'], 'S_USERNAME' => $row['username'],
'S_SELECTEDID' => $selectid, 'S_SELECTEDID' => $selectid,
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$data_table = false; $data_table = false;
$data_form = false; $data_form = false;
if ($matchday > 5) if ($matchday > 5)
{ {
$form_from = $matchday - 5; $form_from = $matchday - 5;
} }
else else
{ {
$form_from = 1; $form_from = 1;
} }
$sql = ' $sql = '
SELECT * SELECT *
FROM ' . FOOTB_LEAGUES . " FROM ' . FOOTB_LEAGUES . "
WHERE season = $season WHERE season = $season
AND league = $league"; AND league = $league";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result); $row = $db->sql_fetchrow($result);
$league_type = $row['league_type']; $league_type = $row['league_type'];
$db->sql_freeresult($result); $db->sql_freeresult($result);
$text_form = sprintf($user->lang['TABLE_FORM_FROM'], $form_from); $text_form = sprintf($user->lang['TABLE_FORM_FROM'], $form_from);
$rank = 0; $rank = 0;
// Select table on selected user bets // Select table on selected user bets
$sql = 'SELECT $sql = 'SELECT
t.*, t.*,
SUM(1) AS matches, SUM(1) AS matches,
SUM(IF((m.team_id_home = t.team_id), 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),
IF(b.goals_home + 0 < b.goals_guest, 1, 0) IF(b.goals_home + 0 < b.goals_guest, 1, 0)
) )
) AS win, ) AS win,
SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw,
SUM(IF((m.team_id_home = t.team_id), 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),
IF(b.goals_home + 0 > b.goals_guest, 1, 0) IF(b.goals_home + 0 > b.goals_guest, 1, 0)
) )
) AS lost, ) AS lost,
SUM(IF(m.team_id_home = t.team_id, 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)),
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, ) AS points,
SUM(IF(m.team_id_home = t.team_id, 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)),
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, ) 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, 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_home, b.goals_guest)) AS goals,
SUM(IF(m.team_id_home = t.team_id, b.goals_guest, b.goals_home)) AS goals_against SUM(IF(m.team_id_home = t.team_id, b.goals_guest, b.goals_home)) AS goals_against
FROM ' . FOOTB_TEAMS . ' AS t FROM ' . FOOTB_TEAMS . ' AS t
LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league 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) 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) 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 WHERE $where_user
t.season = $season t.season = $season
AND t.league = $league AND t.league = $league
AND b.goals_home <> '' AND b.goals_home <> ''
AND b.goals_guest <> '' AND b.goals_guest <> ''
AND m.matchday <= $matchday AND m.matchday <= $matchday
GROUP BY t.team_id AND m.show_table = 0
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; GROUP BY t.team_id
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";
$result = $db->sql_query($sql);
$lastGroup = ''; $result = $db->sql_query($sql);
$sumdiff = 0; $lastGroup = '';
while($row = $db->sql_fetchrow($result)) $sumdiff = 0;
{ while($row = $db->sql_fetchrow($result))
if ($lastGroup != $row['group_id']) {
{ if ($lastGroup != $row['group_id'])
$lastGroup = $row['group_id']; {
$rank = 0; $lastGroup = $row['group_id'];
$template->assign_block_vars('total', array( $rank = 0;
'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], $template->assign_block_vars('total', array(
) 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'],
); )
} );
if ($league_type != 2 OR $row['group_id'] != '') }
{ if ($league_type != 2 OR $row['group_id'] != '')
$data_table = true; {
$rank++; $data_table = true;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $rank++;
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$pdiff = $row['points'] - $row['realpoints']; $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
if ($pdiff >= 0) $pdiff = $row['points'] - $row['realpoints'];
{ if ($pdiff >= 0)
$sumdiff += $pdiff; {
$pdiff = ' (+' . $pdiff . ')'; $sumdiff += $pdiff;
$pdiff = ' (+' . $pdiff . ')';
}
else }
{ else
$sumdiff -= $pdiff; {
$pdiff = ' (' . $pdiff . ')'; $sumdiff -= $pdiff;
} $pdiff = ' (' . $pdiff . ')';
if ($user_sel == 900) }
{ if ($user_sel == 900)
$pdiff = ''; {
} $pdiff = '';
}
$template->assign_block_vars('total', array(
'RANK' => $rank . '.', $template->assign_block_vars('total', array(
'ROW_CLASS' => $row_class, 'RANK' => $rank . '.',
'LOGO' => $logo, 'ROW_CLASS' => $row_class,
'TEAM_ID' => $row['team_id'], 'LOGO' => $logo,
'TEAM' => $row['team_name_short'], 'TEAM_ID' => $row['team_id'],
'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, 'TEAM' => $row['team_name_short'],
'tid' => $row['team_id'], 'mode' => 'played')), 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league,
'GAMES' => $row['matches'], 'tid' => $row['team_id'], 'mode' => 'played')),
'WIN' => $row['win'], 'GAMES' => $row['matches'],
'DRAW' => $row['draw'], 'WIN' => $row['win'],
'LOST' => $row['lost'], 'DRAW' => $row['draw'],
'GOALS' => $row['goals'], 'LOST' => $row['lost'],
'GOALS_AGAINST' => $row['goals_against'], 'GOALS' => $row['goals'],
'GOALS_DIFF' => $row['goals_diff'], 'GOALS_AGAINST' => $row['goals_against'],
'POINTS' => $row['points'] . $pdiff, 'GOALS_DIFF' => $row['goals_diff'],
) 'POINTS' => $row['points'] . $pdiff,
); )
} );
} }
$db->sql_freeresult($result); }
$db->sql_freeresult($result);
$rank = 0;
// Select formtable on selected user bets $rank = 0;
$sql = 'SELECT // Select formtable on selected user bets
t.*, $sql = 'SELECT
SUM(1) AS matches, t.*,
SUM(IF((m.team_id_home = t.team_id), SUM(1) AS matches,
IF(b.goals_home + 0 > b.goals_guest, 1, 0), 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),
) IF(b.goals_home + 0 < b.goals_guest, 1, 0)
) AS win, )
SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, ) AS win,
SUM(IF((m.team_id_home = t.team_id), SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw,
IF(b.goals_home + 0 < b.goals_guest, 1, 0), 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),
) IF(b.goals_home + 0 > b.goals_guest, 1, 0)
) AS lost, )
SUM(IF(m.team_id_home = t.team_id, ) AS lost,
IF(b.goals_home + 0 > b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0)), 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)),
) 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, ) AS points,
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_home - b.goals_guest, b.goals_guest - b.goals_home)) AS goals_diff,
SUM(IF(m.team_id_home = t.team_id, b.goals_guest, b.goals_home)) AS goals_against SUM(IF(m.team_id_home = t.team_id, b.goals_home, b.goals_guest)) AS goals,
FROM ' . FOOTB_TEAMS . ' AS t SUM(IF(m.team_id_home = t.team_id, b.goals_guest, b.goals_home)) AS goals_against
LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league FROM ' . FOOTB_TEAMS . ' AS t
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_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league
LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id)
WHERE $where_user LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no)
t.season = $season WHERE $where_user
AND t.league = $league t.season = $season
AND b.goals_home <> '' AND t.league = $league
AND b.goals_guest <> '' AND b.goals_home <> ''
AND m.matchday >= $form_from AND b.goals_guest <> ''
GROUP BY t.team_id AND m.matchday >= $form_from
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; AND m.show_table = 0
GROUP BY t.team_id
$result = $db->sql_query($sql); ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";
$lastGroup = '';
while($row = $db->sql_fetchrow($result)) $result = $db->sql_query($sql);
{ $lastGroup = '';
$data_form = true; while($row = $db->sql_fetchrow($result))
if ($lastGroup != $row['group_id']) {
{ $data_form = true;
$lastGroup = $row['group_id']; if ($lastGroup != $row['group_id'])
$rank = 0; {
$template->assign_block_vars('form', array( $lastGroup = $row['group_id'];
'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $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++; if ($league_type != 2 OR $row['group_id'] != '')
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; {
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$template->assign_block_vars('form', array( $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
'RANK' => $rank . '.',
'ROW_CLASS' => $row_class, $template->assign_block_vars('form', array(
'LOGO' => $logo, 'RANK' => $rank . '.',
'TEAM_ID' => $row['team_id'], 'ROW_CLASS' => $row_class,
'TEAM' => $row['team_name_short'], 'LOGO' => $logo,
'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, 'TEAM_ID' => $row['team_id'],
'tid' => $row['team_id'], 'mode' => 'rest')), 'TEAM' => $row['team_name_short'],
'GAMES' => $row['matches'], 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league,
'WIN' => $row['win'], 'tid' => $row['team_id'], 'mode' => 'rest')),
'DRAW' => $row['draw'], 'GAMES' => $row['matches'],
'LOST' => $row['lost'], 'WIN' => $row['win'],
'GOALS' => $row['goals'], 'DRAW' => $row['draw'],
'GOALS_AGAINST' => $row['goals_against'], 'LOST' => $row['lost'],
'GOALS_DIFF' => $row['goals_diff'], 'GOALS' => $row['goals'],
'POINTS' => $row['points'], 'GOALS_AGAINST' => $row['goals_against'],
) 'GOALS_DIFF' => $row['goals_diff'],
); 'POINTS' => $row['points'],
} )
} );
$db->sql_freeresult($result); }
}
$rank = 0; $db->sql_freeresult($result);
// Select home-table on selected user bets
$sql = 'SELECT $rank = 0;
t.*, // Select home-table on selected user bets
SUM(1) AS matches, $sql = 'SELECT
SUM(IF(b.goals_home + 0 > b.goals_guest, 1, 0)) AS win, t.*,
SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, SUM(1) AS matches,
SUM(IF(b.goals_home + 0 < b.goals_guest, 1, 0)) AS lost, SUM(IF(b.goals_home + 0 > b.goals_guest, 1, 0)) AS win,
SUM(IF(b.goals_home + 0 > b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0))) AS points, SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw,
SUM(b.goals_home - b.goals_guest) AS goals_diff, SUM(IF(b.goals_home + 0 < b.goals_guest, 1, 0)) AS lost,
SUM(b.goals_home) AS goals, 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) AS goals_against SUM(b.goals_home - b.goals_guest) AS goals_diff,
FROM ' . FOOTB_TEAMS . ' AS t SUM(b.goals_home) AS goals,
LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league SUM(b.goals_guest) AS goals_against
AND m.team_id_home = t.team_id AND m.group_id = t.group_id) FROM ' . FOOTB_TEAMS . ' AS t
LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) LEFT JOIN ' . FOOTB_MATCHES . ' AS m ON (m.season = t.season AND m.league = t.league
WHERE $where_user AND m.team_id_home = t.team_id AND m.group_id = t.group_id)
t.season = $season LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no)
AND t.league = $league WHERE $where_user
AND b.goals_home <> '' t.season = $season
AND b.goals_guest <> '' AND t.league = $league
AND m.matchday <= $matchday AND b.goals_home <> ''
GROUP BY t.team_id AND b.goals_guest <> ''
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; AND m.matchday <= $matchday
AND m.show_table = 0
$result = $db->sql_query($sql); GROUP BY t.team_id
$lastGroup = ''; ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";
while($row = $db->sql_fetchrow($result))
{ $result = $db->sql_query($sql);
if ($lastGroup != $row['group_id']) $lastGroup = '';
{ while($row = $db->sql_fetchrow($result))
$lastGroup = $row['group_id']; {
$rank = 0; if ($lastGroup != $row['group_id'])
$template->assign_block_vars('home', array( {
'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $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'; if ($league_type != 2 OR $row['group_id'] != '')
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; {
$rank++;
$template->assign_block_vars('home', array( $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
'RANK' => $rank . '.', $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
'ROW_CLASS' => $row_class,
'LOGO' => $logo, $template->assign_block_vars('home', array(
'TEAM_ID' => $row['team_id'], 'RANK' => $rank . '.',
'TEAM' => $row['team_name_short'], 'ROW_CLASS' => $row_class,
'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, 'LOGO' => $logo,
'tid' => $row['team_id'], 'mode' => 'home')), 'TEAM_ID' => $row['team_id'],
'GAMES' => $row['matches'], 'TEAM' => $row['team_name_short'],
'WIN' => $row['win'], 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league,
'DRAW' => $row['draw'], 'tid' => $row['team_id'], 'mode' => 'home')),
'LOST' => $row['lost'], 'GAMES' => $row['matches'],
'GOALS' => $row['goals'], 'WIN' => $row['win'],
'GOALS_AGAINST' => $row['goals_against'], 'DRAW' => $row['draw'],
'GOALS_DIFF' => $row['goals_diff'], 'LOST' => $row['lost'],
'POINTS' => $row['points'], '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 $db->sql_freeresult($result);
$sql = 'SELECT
t.*, $rank = 0;
SUM(1) AS matches, // Select away-table on selected user bets
SUM(IF(b.goals_home + 0 < b.goals_guest, 1, 0)) AS win, $sql = 'SELECT
SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw, t.*,
SUM(IF(b.goals_home + 0 > b.goals_guest, 1, 0)) AS lost, SUM(1) AS matches,
SUM(IF(b.goals_home + 0 < b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0))) AS points, SUM(IF(b.goals_home + 0 < b.goals_guest, 1, 0)) AS win,
SUM(b.goals_guest - b.goals_home) AS goals_diff, SUM(IF(b.goals_home = b.goals_guest, 1, 0)) AS draw,
SUM(b.goals_guest) AS goals, SUM(IF(b.goals_home + 0 > b.goals_guest, 1, 0)) AS lost,
SUM(b.goals_home) AS goals_against SUM(IF(b.goals_home + 0 < b.goals_guest, 3, IF(b.goals_home = b.goals_guest, 1, 0))) AS points,
FROM ' . FOOTB_TEAMS . ' AS t SUM(b.goals_guest - b.goals_home) AS goals_diff,
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) SUM(b.goals_guest) AS goals,
LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no) SUM(b.goals_home) AS goals_against
WHERE $where_user FROM ' . FOOTB_TEAMS . ' AS t
t.season = $season 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)
AND t.league = $league LEFT JOIN ' . FOOTB_BETS . " AS b ON (b.season = t.season AND b.league = t.league AND b.match_no = m.match_no)
AND b.goals_home <> '' WHERE $where_user
AND b.goals_guest <> '' t.season = $season
AND m.matchday <= $matchday AND t.league = $league
GROUP BY t.team_id AND b.goals_home <> ''
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC"; AND b.goals_guest <> ''
AND m.matchday <= $matchday
$result = $db->sql_query($sql); AND m.show_table = 0
$lastGroup = ''; GROUP BY t.team_id
while($row = $db->sql_fetchrow($result)) ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";
{
if ($lastGroup != $row['group_id']) $result = $db->sql_query($sql);
{ $lastGroup = '';
$lastGroup = $row['group_id']; while($row = $db->sql_fetchrow($result))
$rank = 0; {
$template->assign_block_vars('away', array( if ($lastGroup != $row['group_id'])
'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], {
) $lastGroup = $row['group_id'];
); $rank = 0;
} $template->assign_block_vars('away', array(
if ($league_type != 2 OR $row['group_id'] != '') 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'],
{ )
$rank++; );
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; }
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; if ($league_type != 2 OR $row['group_id'] != '')
{
$template->assign_block_vars('away', array( $rank++;
'RANK' => $rank . '.', $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
'ROW_CLASS' => $row_class, $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
'LOGO' => $logo,
'TEAM_ID' => $row['team_id'], $template->assign_block_vars('away', array(
'TEAM' => $row['team_name_short'], 'RANK' => $rank . '.',
'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, 'ROW_CLASS' => $row_class,
'tid' => $row['team_id'], 'mode' => 'away')), 'LOGO' => $logo,
'GAMES' => $row['matches'], 'TEAM_ID' => $row['team_id'],
'WIN' => $row['win'], 'TEAM' => $row['team_name_short'],
'DRAW' => $row['draw'], 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league,
'LOST' => $row['lost'], 'tid' => $row['team_id'], 'mode' => 'away')),
'GOALS' => $row['goals'], 'GAMES' => $row['matches'],
'GOALS_AGAINST' => $row['goals_against'], 'WIN' => $row['win'],
'GOALS_DIFF' => $row['goals_diff'], 'DRAW' => $row['draw'],
'POINTS' => $row['points'], '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, $db->sql_freeresult($result);
'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'my_points', 's' => $season, 'l' => $league, 'm' => $matchday)), $sidename = sprintf($user->lang['MY_TABLE']);
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['MY_TABLE']), $template->assign_vars(array(
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['MY_POINTS']), 'S_DISPLAY_MY_TABLE' => true,
'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'my_rank', 's' => $season, 'l' => $league, 'm' => $matchday)), 'S_SIDENAME' => $sidename,
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['MY_TABLE']), 'S_DATA_MY_TABLE' => $data_table,
'RIGHT_LINK' => sprintf($user->lang['MY_RANK']) . ' &gt;', 'S_DATA_FORM' => $data_form,
'LEFT_TITLE' => sprintf($user->lang['TITLE_MY_POINTS']), 'SEASON' => $season,
'RIGHT_TITLE' => sprintf($user->lang['TITLE_MY_RANKS']), 'LEAGUE' => $league,
'S_DATA_MY_TABLE' => $data_table, 'TEXT_FORM' => $text_form,
'S_DATA_FORM' => $data_form, 'S_PDIFF' => $sumdiff,
'SEASON' => $season, 'USERNAME' => $username,
'LEAGUE' => $league, )
'TEXT_FORM' => $text_form, );
'S_PDIFF' => $sumdiff,
'USERNAME' => $username,
)
);
?> ?>
+204 -210
View File
@@ -1,211 +1,205 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$data_odds = false; $data_odds = false;
$matchnumber = 0; $matchnumber = 0;
$lang_dates = $user->lang['datetime']; $lang_dates = $user->lang['datetime'];
$sql = "SELECT $sql = "SELECT
m.league, m.league,
m.match_no, m.match_no,
CONCAT( CONCAT(
CASE DATE_FORMAT(m.match_datetime,'%w') CASE DATE_FORMAT(m.match_datetime,'%w')
WHEN 0 THEN '" . $lang_dates['Sun'] . "' WHEN 0 THEN '" . $lang_dates['Sun'] . "'
WHEN 1 THEN '" . $lang_dates['Mon'] . "' WHEN 1 THEN '" . $lang_dates['Mon'] . "'
WHEN 2 THEN '" . $lang_dates['Tue'] . "' WHEN 2 THEN '" . $lang_dates['Tue'] . "'
WHEN 3 THEN '" . $lang_dates['Wed'] . "' WHEN 3 THEN '" . $lang_dates['Wed'] . "'
WHEN 4 THEN '" . $lang_dates['Thu'] . "' WHEN 4 THEN '" . $lang_dates['Thu'] . "'
WHEN 5 THEN '" . $lang_dates['Fri'] . "' WHEN 5 THEN '" . $lang_dates['Fri'] . "'
WHEN 6 THEN '" . $lang_dates['Sat'] . "' WHEN 6 THEN '" . $lang_dates['Sat'] . "'
ELSE 'Error' END, ELSE 'Error' END,
DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i')
) AS match_time, ) AS match_time,
t1.team_symbol AS home_symbol, t1.team_symbol AS home_symbol,
t2.team_symbol AS guest_symbol, t2.team_symbol AS guest_symbol,
t1.team_name_short AS home_name, t1.team_name_short AS home_name,
t2.team_name_short AS guest_name, t2.team_name_short AS guest_name,
t1.team_id AS home_id, t1.team_id AS home_id,
t2.team_id AS guest_id, t2.team_id AS guest_id,
m.goals_home, m.goals_home,
m.goals_guest, m.goals_guest,
m.goals_overtime_home AS kogoals_home, m.goals_overtime_home AS kogoals_home,
m.goals_overtime_guest AS kogoals_guest, m.goals_overtime_guest AS kogoals_guest,
m.ko_match, m.ko_match,
m.group_id, m.group_id,
m.formula_home, m.formula_home,
m.formula_guest, m.formula_guest,
m.odd_1, m.odd_1,
m.odd_x, m.odd_x,
m.odd_2, m.odd_2,
m.trend FROM " . FOOTB_MATCHES . ' AS m 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 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) 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 WHERE m.season = $season
AND m.league = $league AND m.league = $league
AND m.matchday = $matchday AND m.matchday = $matchday
ORDER BY m.match_datetime ASC, m.match_no ASC"; ORDER BY m.match_datetime ASC, m.match_no ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$rows = $db->sql_fetchrowset($result); $rows = $db->sql_fetchrowset($result);
$league_info = league_info($season, $league); $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)); $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)) //while($row = $db->sql_fetchrow($result))
foreach ($rows as $row) foreach ($rows as $row)
{ {
$data_odds = true; $data_odds = true;
$matchnumber++ ; $matchnumber++ ;
$row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if (0 == $row['home_id']) if (0 == $row['home_id'])
{ {
$home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']);
$home_in_array = explode("#",$home_info); $home_in_array = explode("#",$home_info);
$homelogo = $home_in_array[0]; $homelogo = $home_in_array[0];
$homeid = $home_in_array[1]; $homeid = $home_in_array[1];
$homename = $home_in_array[2]; $homename = $home_in_array[2];
} }
else else
{ {
$homelogo = $row['home_symbol']; $homelogo = $row['home_symbol'];
$homeid = $row['home_id']; $homeid = $row['home_id'];
$homename = $row['home_name']; $homename = $row['home_name'];
} }
if (0 == $row['guest_id']) if (0 == $row['guest_id'])
{ {
$guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']);
$guest_in_array = explode("#",$guest_info); $guest_in_array = explode("#",$guest_info);
$guestlogo = $guest_in_array[0]; $guestlogo = $guest_in_array[0];
$guestid = $guest_in_array[1]; $guestid = $guest_in_array[1];
$guestname = $guest_in_array[2]; $guestname = $guest_in_array[2];
} }
else else
{ {
$guestlogo = $row['guest_symbol']; $guestlogo = $row['guest_symbol'];
$guestid = $row['guest_id']; $guestid = $row['guest_id'];
$guestname = $row['guest_name']; $guestname = $row['guest_name'];
} }
if ($homelogo <> '') if ($homelogo <> '')
{ {
$logoH = "<img src=\"" . $ext_path . 'images/flags/' . $homelogo . "\" alt=\"" . $homelogo . "\" width=\"28\" height=\"28\"/>" ; $logoH = "<img src=\"" . $ext_path . 'images/flags/' . $homelogo . "\" alt=\"" . $homelogo . "\" width=\"28\" height=\"28\"/>" ;
} }
else else
{ {
$logoH = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logoH = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
if ($guestlogo <> '') if ($guestlogo <> '')
{ {
$logoG = "<img src=\"" . $ext_path . 'images/flags/' . $guestlogo . "\" alt=\"" . $guestlogo . "\" width=\"28\" height=\"28\"/>" ; $logoG = "<img src=\"" . $ext_path . 'images/flags/' . $guestlogo . "\" alt=\"" . $guestlogo . "\" width=\"28\" height=\"28\"/>" ;
} }
else else
{ {
$logoG = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logoG = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
if ($row['ko_match']) if ($row['ko_match'])
{ {
$display_ko = true; $display_ko = true;
$ko_match = true; $ko_match = true;
} }
else else
{ {
$ko_match = false; $ko_match = false;
} }
if ($row['group_id'] == '') if ($row['group_id'] == '')
{ {
$group_id = '&nbsp;'; $group_id = '&nbsp;';
} }
else else
{ {
$display_group = true; $display_group = true;
$group_id = $row['group_id']; $group_id = $row['group_id'];
} }
$edit_match = false; $edit_match = false;
$goals_home = ($row['goals_home'] == '') ? '&nbsp;' : $row['goals_home']; $goals_home = ($row['goals_home'] == '') ? '&nbsp;' : $row['goals_home'];
$goals_guest = ($row['goals_guest'] == '') ? '&nbsp;' : $row['goals_guest']; $goals_guest = ($row['goals_guest'] == '') ? '&nbsp;' : $row['goals_guest'];
$kogoals_home = ($row['kogoals_home'] == '') ? '&nbsp;' : $row['kogoals_home']; $kogoals_home = ($row['kogoals_home'] == '') ? '&nbsp;' : $row['kogoals_home'];
$kogoals_guest = ($row['kogoals_guest'] == '') ? '&nbsp;' : $row['kogoals_guest']; $kogoals_guest = ($row['kogoals_guest'] == '') ? '&nbsp;' : $row['kogoals_guest'];
$template->assign_block_vars('odds', array( $template->assign_block_vars('odds', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'MATCH_NUMBER' => $row['match_no'], 'MATCH_NUMBER' => $row['match_no'],
'MATCHDAY' => $matchday, 'MATCHDAY' => $matchday,
'MATCH_TIME' => $row['match_time'], 'MATCH_TIME' => $row['match_time'],
'GROUP' => $group_id, 'GROUP' => $group_id,
'HOME_ID' => $homeid, 'HOME_ID' => $homeid,
'GUEST_ID' => $guestid, 'GUEST_ID' => $guestid,
'LOGO_HOME' => $logoH, 'LOGO_HOME' => $logoH,
'LOGO_GUEST' => $logoG, 'LOGO_GUEST' => $logoG,
'HOME_NAME' => $homename, 'HOME_NAME' => $homename,
'GUEST_NAME' => $guestname, 'GUEST_NAME' => $guestname,
'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league,
'tid' => $homeid, 'mode' => 'all')), 'tid' => $homeid, 'mode' => 'all')),
'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league,
'tid' => $guestid, 'mode' => 'all')), 'tid' => $guestid, 'mode' => 'all')),
'GOALS_HOME' => $goals_home, 'GOALS_HOME' => $goals_home,
'GOALS_GUEST' => $goals_guest, 'GOALS_GUEST' => $goals_guest,
'COLOR_STYLE' => '', 'COLOR_STYLE' => '',
'KOGOALS_HOME' => $kogoals_home, 'KOGOALS_HOME' => $kogoals_home,
'KOGOALS_GUEST' => $kogoals_guest, 'KOGOALS_GUEST' => $kogoals_guest,
'S_KO_MATCH' => $ko_match, 'S_KO_MATCH' => $ko_match,
'TREND' => $row['trend'], 'TREND' => $row['trend'],
'U_MATCH_STATS' => $this->helper->route('football_football_popup', array('popside' => 'hist_popup', 's' => $season, 'l' => $league, 'U_MATCH_STATS' => $this->helper->route('football_football_popup', array('popside' => 'hist_popup', 's' => $season, 'l' => $league,
'hid' => $homeid, 'gid' => $guestid, 'm' => $matchday, 'hid' => $homeid, 'gid' => $guestid, 'm' => $matchday,
'mn' => $row['match_no'], 'gr' => $row['group_id'])), 'mn' => $row['match_no'], 'gr' => $row['group_id'])),
'ODD_1' => $row['odd_1'], 'ODD_1' => $row['odd_1'],
'ODD_X' => $row['odd_x'], 'ODD_X' => $row['odd_x'],
'ODD_2' => $row['odd_2'], 'ODD_2' => $row['odd_2'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$sidename = 'Chancen'; $sidename = 'Chancen';
switch ($league_info['bet_ko_type']) switch ($league_info['bet_ko_type'])
{ {
case BET_KO_90: case BET_KO_90:
$result_explain = sprintf($user->lang['MIN90']); $result_explain = sprintf($user->lang['MIN90']);
$label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']);
break; break;
case BET_KO_EXTRATIME: case BET_KO_EXTRATIME:
$result_explain = sprintf($user->lang['EXTRATIME_SHORT']); $result_explain = sprintf($user->lang['EXTRATIME_SHORT']);
$label_finalresult = sprintf($user->lang['PENALTY']); $label_finalresult = sprintf($user->lang['PENALTY']);
break; break;
case BET_KO_PENALTY: case BET_KO_PENALTY:
$result_explain = sprintf($user->lang['PENALTY']); $result_explain = sprintf($user->lang['PENALTY']);
$display_ko = false; $display_ko = false;
break; break;
default: default:
$result_explain = sprintf($user->lang['MIN90']); $result_explain = sprintf($user->lang['MIN90']);
$label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']);
break; break;
} }
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_ODDS' => true, 'S_DISPLAY_ODDS' => true,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'RESULT_EXPLAIN' => $result_explain, 'RESULT_EXPLAIN' => $result_explain,
'LABEL_FINALRESULT' => $label_finalresult, 'LABEL_FINALRESULT' => $label_finalresult,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday)), 'S_DATA_ODDS' => $data_odds,
'LEFT_LINK' => '&lt; ' . 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']) . ' &gt;',
'LEFT_TITLE' => sprintf($user->lang['TITLE_BET']),
'RIGHT_TITLE' => sprintf($user->lang['TITLE_TABLE']),
'S_DATA_ODDS' => $data_odds,
)
);
?> ?>
+12 -3
View File
@@ -12,6 +12,15 @@ if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
exit; exit;
} }
if ($league > 50)
{
$league_corr = $league - 50;
}
else
{
$league_corr = $league;
}
if ($league <> 0) if ($league <> 0)
{ {
$data_rank_matchday = false; $data_rank_matchday = false;
@@ -26,7 +35,7 @@ if ($league <> 0)
FROM " . FOOTB_RANKS . ' AS r FROM " . FOOTB_RANKS . ' AS r
LEFT Join ' . USERS_TABLE . " AS u ON (r.user_id = u.user_id) LEFT Join ' . USERS_TABLE . " AS u ON (r.user_id = u.user_id)
WHERE r.season = $season WHERE r.season = $season
AND r.league = $league AND r.league = $league_corr
AND r.matchday = $matchday AND r.matchday = $matchday
AND r.status IN (2,3) AND r.status IN (2,3)
ORDER BY rank ASC, LOWER(u.username) ASC"; ORDER BY rank ASC, LOWER(u.username) ASC";
@@ -50,7 +59,7 @@ if ($league <> 0)
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'USERID' => $row['user_id'], 'USERID' => $row['user_id'],
'USERNAME' => $row['username'], 'USERNAME' => $row['username'],
'U_BET_USER' => $this->helper->route('football_football_popup', array('popside' => 'bet_popup', 's' => $season, 'l' => $league, 'U_BET_USER' => $this->helper->route('football_football_popup', array('popside' => 'bet_popup', 's' => $season, 'l' => $league_corr,
'm' => $matchday, 'u' => $row['user_id'])), 'm' => $matchday, 'u' => $row['user_id'])),
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'COLOR_STYLE' => $colorstyle, 'COLOR_STYLE' => $colorstyle,
@@ -60,7 +69,7 @@ if ($league <> 0)
} }
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$league_info = league_info($season, $league); $league_info = league_info($season, $league_corr);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_RANK_MATCHDAY' => true, 'S_DISPLAY_RANK_MATCHDAY' => true,
+260 -269
View File
@@ -1,270 +1,261 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$start = $this->request->variable('start', 0); $start = $this->request->variable('start', 0);
$win_user_most_hits = array(); $win_user_most_hits = array();
$win_user_most_hits_away = array(); $win_user_most_hits_away = array();
$season_wins = array(); $season_wins = array();
$win_user_most_hits = win_user_most_hits($season, $league, $matchday); $win_user_most_hits = win_user_most_hits($season, $league, $matchday);
$win_user_most_hits_away = win_user_most_hits_away($season, $league, $matchday); $win_user_most_hits_away = win_user_most_hits_away($season, $league, $matchday);
// Statistics of matchday // Statistics of matchday
$sql = "SELECT $sql = "SELECT
b.user_id, b.user_id,
COUNT(b.match_no) AS matches, 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 <> '', 1, 0)) AS bets,
SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', 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), IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0),
0 0
) )
) AS hits, ) AS hits,
SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', SUM(IF(b.goals_home <> '' AND b.goals_guest <> '',
IF((m.goals_home <= m.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), IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0),
0 0
), ),
0 0
) )
) AS hits02, ) AS hits02,
SUM(IF(b.goals_home <> '' AND b.goals_guest <> '', 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 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 = b.goals_guest) <> (m.goals_home = m.goals_guest) OR
(b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1)
), ),
0 0
) )
) AS tendency ) AS tendency
FROM " . FOOTB_BETS . ' AS b 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) 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 WHERE b.season = $season
AND b.league = $league AND b.league = $league
AND m.status IN (2,3) AND m.status IN (2,3)
AND m.matchday = $matchday AND m.matchday = $matchday
GROUP BY user_id"; GROUP BY user_id";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$usersstats = $db->sql_fetchrowset($result); $usersstats = $db->sql_fetchrowset($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
foreach ($usersstats AS $userstats) foreach ($usersstats AS $userstats)
{ {
$betsof[$userstats['user_id']] = $userstats['bets']; $betsof[$userstats['user_id']] = $userstats['bets'];
$nobetsof[$userstats['user_id']] = $userstats['matches'] - $userstats['bets']; $nobetsof[$userstats['user_id']] = $userstats['matches'] - $userstats['bets'];
$tendenciesof[$userstats['user_id']] = $userstats['tendency']; $tendenciesof[$userstats['user_id']] = $userstats['tendency'];
$hitsof[$userstats['user_id']] = $userstats['hits']; $hitsof[$userstats['user_id']] = $userstats['hits'];
$hits02of[$userstats['user_id']] = $userstats['hits02']; $hits02of[$userstats['user_id']] = $userstats['hits02'];
} }
// ranks of matchday // ranks of matchday
$sql = 'SELECT $sql = 'SELECT
rank, rank,
user_id user_id
FROM '. FOOTB_RANKS . " FROM '. FOOTB_RANKS . "
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
AND matchday = $matchday AND matchday = $matchday
AND status IN (2,3) AND status IN (2,3)
ORDER BY rank ASC, user_id ASC"; ORDER BY rank ASC, user_id ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$ranks = $db->sql_fetchrowset($result); $ranks = $db->sql_fetchrowset($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
$total_users = sizeof($ranks); $total_users = sizeof($ranks);
foreach ($ranks AS $rank) foreach ($ranks AS $rank)
{ {
$rankof[$rank['user_id']] = $rank['rank']; $rankof[$rank['user_id']] = $rank['rank'];
} }
if ($matchday > 1) if ($matchday > 1)
{ {
// rank previous matchday // rank previous matchday
$sql = 'SELECT $sql = 'SELECT
rank AS last_rang, rank AS last_rang,
user_id user_id
FROM '. FOOTB_RANKS . " FROM '. FOOTB_RANKS . "
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
AND matchday = ($matchday-1) AND matchday = ($matchday-1)
AND status IN (2,3) AND status IN (2,3)
ORDER BY last_rang ASC, user_id ASC"; ORDER BY last_rang ASC, user_id ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$ranks = $db->sql_fetchrowset($result); $ranks = $db->sql_fetchrowset($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
foreach ($ranks AS $rank) foreach ($ranks AS $rank)
{ {
$prevrankof[$rank['user_id']] = $rank['last_rang']; $prevrankof[$rank['user_id']] = $rank['last_rang'];
} }
} }
if ($matchday == $maxmatchday) if ($matchday == $maxmatchday)
{ {
$season_wins = season_wins($season, $league, $matchday); $season_wins = season_wins($season, $league, $matchday);
} }
// Make sure $start is set to the last page if it exceeds the amount // Make sure $start is set to the last page if it exceeds the amount
if ($start < 0 || $start >= $total_users) 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']; $sql_start = ($start < 0) ? 0 : floor(($total_users - 1) / $config['football_users_per_page']) * $config['football_users_per_page'];
} }
else else
{ {
$sql_start = floor($start / $config['football_users_per_page']) * $config['football_users_per_page']; $sql_start = floor($start / $config['football_users_per_page']) * $config['football_users_per_page'];
} }
$sql_limit = $config['football_users_per_page']; $sql_limit = $config['football_users_per_page'];
// handle pagination. // handle pagination.
$base_url = $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)); $base_url = $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday));
$pagination = $phpbb_container->get('pagination'); $pagination = $phpbb_container->get('pagination');
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_users, $this->config['football_users_per_page'], $start); $pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_users, $this->config['football_users_per_page'], $start);
$data_ranks = false; $data_ranks = false;
$index = 0; $index = 0;
$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true));
$sql = 'SELECT $sql = 'SELECT
r.rank, r.rank,
r.status, r.status,
r.user_id, r.user_id,
r.points, r.points,
r.win AS wins, r.win AS wins,
u.user_colour, u.user_colour,
u.username u.username
FROM '. FOOTB_RANKS . ' AS r FROM '. FOOTB_RANKS . ' AS r
LEFT Join '. USERS_TABLE . " AS u ON (r.user_id = u.user_id) LEFT Join '. USERS_TABLE . " AS u ON (r.user_id = u.user_id)
WHERE r.season = $season WHERE r.season = $season
AND r.league = $league AND r.league = $league
AND r.matchday = $matchday AND r.matchday = $matchday
AND r.status IN (2,3) AND r.status IN (2,3)
ORDER BY r.rank ASC, r.points DESC, LOWER(u.username) ASC"; ORDER BY r.rank ASC, r.points DESC, LOWER(u.username) ASC";
$result = $db->sql_query_limit($sql, $sql_limit, $sql_start); $result = $db->sql_query_limit($sql, $sql_limit, $sql_start);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$index++; $index++;
$data_ranks = true; $data_ranks = true;
if (isset($prevrankof[$row['user_id']])) if (isset($prevrankof[$row['user_id']]))
{ {
if ($rankof[$row['user_id']] == '') if ($rankof[$row['user_id']] == '')
{ {
$change_sign = ''; $change_sign = '';
$change_img = ''; $change_differ = '&nbsp;';
$change_differ = '&nbsp;'; }
} else
else {
{ if ($rankof[$row['user_id']] == $prevrankof[$row['user_id']])
if ($rankof[$row['user_id']] == $prevrankof[$row['user_id']]) {
{ $change_sign = '=';
$change_sign = '='; $change_differ = '&nbsp;';
$change_img = "<img src=\"" . $ext_path . "images/no_change.gif\" alt=\"" . $user->lang['NO_CHANGES'] . "\"/>"; }
$change_differ = '&nbsp;'; else
} {
else if ($rankof[$row['user_id']] > $prevrankof[$row['user_id']])
{ {
if ($rankof[$row['user_id']] > $prevrankof[$row['user_id']]) $change_sign = '-';
{ $differ = $prevrankof[$row['user_id']] - $rankof[$row['user_id']];
$change_sign = '+'; $change_differ = ' (' . $differ . ')';
$change_img = "<img src=\"" . $ext_path . "images/arrow_down.gif\" alt=\"" . $user->lang['WORSENED'] . "\"/>"; }
$differ = $rankof[$row['user_id']] - $prevrankof[$row['user_id']]; else
$change_differ = ' (' . $differ . ')'; {
} $change_sign = '+';
else $differ = $prevrankof[$row['user_id']] - $rankof[$row['user_id']];
{ $change_differ = ' (' . $differ . ')';
$change_sign = '-'; }
$change_img = "<img src=\"" . $ext_path . "images/arrow_up.gif\" alt=\"" . $user->lang['IMPROVED'] . "\"/>"; }
$differ = $prevrankof[$row['user_id']] - $rankof[$row['user_id']]; }
$change_differ = ' (' . $differ . ')'; }
} else
} {
} $change_sign = '';
} $change_differ = '&nbsp;';
else }
{
$change_sign = ''; if ($matchday == $maxmatchday)
$change_img = ''; {
$change_differ = '&nbsp;'; // if someone didn't bet the hole Season
} if(!isset($win_user_most_hits[$row['user_id']]['win']))
{
if ($matchday == $maxmatchday) $win_user_most_hits[$row['user_id']]['win'] = 0;
{ }
// if someone didn't bet the hole Season if(!isset($win_user_most_hits_away[$row['user_id']]['win']))
if(!isset($win_user_most_hits[$row['user_id']]['win'])) {
{ $win_user_most_hits_away[$row['user_id']]['win'] = 0;
$win_user_most_hits[$row['user_id']]['win'] = 0; }
} if(!isset($season_wins[$row['user_id']]['win']))
if(!isset($win_user_most_hits_away[$row['user_id']]['win'])) {
{ $season_wins[$row['user_id']]['win'] = 0;
$win_user_most_hits_away[$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']
if(!isset($season_wins[$row['user_id']]['win'])) + $season_wins[$row['user_id']]['win']);
{ }
$season_wins[$row['user_id']]['win'] = 0; else
} {
$win_total = sprintf('%01.2f',$row['wins'] + $win_user_most_hits[$row['user_id']]['win'] + $win_user_most_hits_away[$row['user_id']]['win'] $win_total = sprintf('%01.2f',$row['wins']);
+ $season_wins[$row['user_id']]['win']); }
} $row_class = (!($index % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
else if ($row['user_id'] == $user->data['user_id'])
{ {
$win_total = sprintf('%01.2f',$row['wins']); $row_class = 'bg3 row_user';
} }
$row_class = (!($index % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $colorstyle = color_style($row['status']);
if ($row['user_id'] == $user->data['user_id'])
{ $template->assign_block_vars('rankstotal', array(
$row_class = 'bg3 row_user'; 'ROW_CLASS' => $row_class,
} 'RANK' => $rankof[$row['user_id']],
$colorstyle = color_style($row['status']); 'NO_CHANGES' => ($change_sign == '=') ? true : false,
'WORSENED' => ($change_sign == '-') ? true : false,
$template->assign_block_vars('rankstotal', array( 'IMPROVED' => ($change_sign == '+') ? true : false,
'ROW_CLASS' => $row_class, 'CHANGE_SIGN' => $change_sign,
'RANK' => $rankof[$row['user_id']], 'CHANGE_DIFFER' => $change_differ,
'CHANGE_SIGN' => $change_sign, 'USERID' => $row['user_id'],
'CHANGE_IMG' => $change_img, 'USERNAME' => $row['username'],
'CHANGE_DIFFER' => $change_differ, 'U_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
'USERID' => $row['user_id'], 'BETS' => $betsof[$row['user_id']],
'USERNAME' => $row['username'], 'NOBETS' => ($nobetsof[$row['user_id']] == 0) ? '&nbsp;' : $nobetsof[$row['user_id']],
'U_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']), 'TENDENCIES' => ($tendenciesof[$row['user_id']] == 0) ? '&nbsp;' : $tendenciesof[$row['user_id']],
'BETS' => $betsof[$row['user_id']], 'DIRECTHITS' => ($hitsof[$row['user_id']] == 0) ? '&nbsp;' : $hitsof[$row['user_id']],
'NOBETS' => ($nobetsof[$row['user_id']] == 0) ? '&nbsp;' : $nobetsof[$row['user_id']], 'DIRECTHITS02' => ($hits02of[$row['user_id']] == 0) ? '&nbsp;' : $hits02of[$row['user_id']],
'TENDENCIES' => ($tendenciesof[$row['user_id']] == 0) ? '&nbsp;' : $tendenciesof[$row['user_id']], 'POINTS' => $row['points'],
'DIRECTHITS' => ($hitsof[$row['user_id']] == 0) ? '&nbsp;' : $hitsof[$row['user_id']], 'COLOR_STYLE' => $colorstyle,
'DIRECTHITS02' => ($hits02of[$row['user_id']] == 0) ? '&nbsp;' : $hits02of[$row['user_id']], 'WIN' => $win_total,
'POINTS' => $row['points'], )
'COLOR_STYLE' => $colorstyle, );
'WIN' => $win_total, }
) $db->sql_freeresult($result);
); $league_info = league_info($season, $league);
}
$db->sql_freeresult($result); $sidename = sprintf($user->lang['RANK_MATCHDAY']);
$league_info = league_info($season, $league); $template->assign_vars(array(
'S_DISPLAY_RANKS_MATCHDAY' => true,
$sidename = sprintf($user->lang['RANK_MATCHDAY']); 'S_DISPLAY_HITS02' => $config['football_win_hits02'],
$template->assign_vars(array( 'S_SIDENAME' => $sidename,
'S_DISPLAY_RANKS_MATCHDAY' => true, 'S_WIN' => ($league_info['win_matchday'] == '0') ? false : true,
'S_DISPLAY_HITS02' => $config['football_win_hits02'], 'S_DATA_RANKS' => $data_ranks,
'S_SIDENAME' => $sidename, 'PAGE_NUMBER' => $pagination->on_page($total_users, $this->config['football_users_per_page'], $start),
'S_WIN' => ($league_info['win_matchday'] == '0') ? false : true, 'TOTAL_USERS' => ($total_users == 1) ? $user->lang['VIEW_BET_USER'] : sprintf($user->lang['VIEW_BET_USERS'], $total_users),
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'table', 's' => $season, 'l' => $league, 'm' => $matchday)), 'WIN_NAME' => $config['football_win_name'],
'LEFT_LINK' => '&lt; ' . 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']) . ' &gt;',
'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'],
)
);
?> ?>
+6 -32
View File
@@ -157,7 +157,6 @@ switch ($mode)
} }
$index++; $index++;
} }
$db->sql_freeresult($result);
$sidename = sprintf($user->lang['RANK_TOTAL']); $sidename = sprintf($user->lang['RANK_TOTAL']);
$league_info = league_info($season, $league); $league_info = league_info($season, $league);
@@ -166,13 +165,6 @@ switch ($mode)
'S_DISPLAY_HITS02' => $config['football_win_hits02'], 'S_DISPLAY_HITS02' => $config['football_win_hits02'],
'S_DATA_RANKS' => $data_ranks, 'S_DATA_RANKS' => $data_ranks,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)),
'LEFT_LINK' => '&lt; ' . 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']) . ' &gt;' : sprintf($user->lang['MY_BETS']) . ' &gt;',
'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), '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), 'TOTAL_USERS' => ($total_users == 1) ? $user->lang['VIEW_BET_USER'] : sprintf($user->lang['VIEW_BET_USERS'], $total_users),
'S_WIN' => false, 'S_WIN' => false,
@@ -328,7 +320,6 @@ switch ($mode)
} }
$index++; $index++;
} }
$db->sql_freeresult($result);
$sidename = sprintf($user->lang['RANK_TOTAL']); $sidename = sprintf($user->lang['RANK_TOTAL']);
$league_info = league_info($season, $league); $league_info = league_info($season, $league);
@@ -337,13 +328,6 @@ switch ($mode)
'S_DISPLAY_HITS02' => $config['football_win_hits02'], 'S_DISPLAY_HITS02' => $config['football_win_hits02'],
'S_DATA_RANKS' => $data_ranks, 'S_DATA_RANKS' => $data_ranks,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)),
'LEFT_LINK' => '&lt; ' . 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']) . ' &gt;' : sprintf($user->lang['MY_BETS']) . ' &gt;',
'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), '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), '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, 'S_WIN' => ($league_info['win_matchday'] == '0' and $league_info['win_season'] == '0') ? false : ($this->auth->acl_gets('a_')) ? true : false,
@@ -492,22 +476,19 @@ switch ($mode)
if ($rank == $prev_rank_of[$curr_rank['user_id']]) if ($rank == $prev_rank_of[$curr_rank['user_id']])
{ {
$change_sign = '='; $change_sign = '=';
$change_img = "<img src=\"" . $ext_path . "images/no_change.gif\" alt=\"" . $user->lang['NO_CHANGES'] . "\"/>";
$change_differ = ''; $change_differ = '';
} }
else else
{ {
if ($rank > $prev_rank_of[$curr_rank['user_id']]) if ($rank > $prev_rank_of[$curr_rank['user_id']])
{ {
$change_sign = '+'; $change_sign = '-';
$change_img = "<img src=\"" . $ext_path . "images/arrow_down.gif\" alt=\"" . $user->lang['WORSENED'] . "\"/>"; $differ = $prev_rank_of[$curr_rank['user_id']] - $rank;
$differ = $rank - $prev_rank_of[$curr_rank['user_id']];
$change_differ = ' (' . $differ . ')'; $change_differ = ' (' . $differ . ')';
} }
else else
{ {
$change_sign = '-'; $change_sign = '+';
$change_img = "<img src=\"" . $ext_path . "images/arrow_up.gif\" alt=\"" . $user->lang['IMPROVED'] . "\"/>";
$differ = $prev_rank_of[$curr_rank['user_id']] - $rank; $differ = $prev_rank_of[$curr_rank['user_id']] - $rank;
$change_differ = ' (' . $differ . ')'; $change_differ = ' (' . $differ . ')';
} }
@@ -516,7 +497,6 @@ switch ($mode)
else else
{ {
$change_sign = ''; $change_sign = '';
$change_img = '';
$change_differ = ''; $change_differ = '';
} }
@@ -539,8 +519,10 @@ switch ($mode)
$template->assign_block_vars('rankstotal', array( $template->assign_block_vars('rankstotal', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'RANK' => $rank, 'RANK' => $rank,
'NO_CHANGES' => ($change_sign == '=') ? true : false,
'WORSENED' => ($change_sign == '-') ? true : false,
'IMPROVED' => ($change_sign == '+') ? true : false,
'CHANGE_SIGN' => $change_sign, 'CHANGE_SIGN' => $change_sign,
'CHANGE_IMG' => $change_img,
'CHANGE_DIFFER' => $change_differ, 'CHANGE_DIFFER' => $change_differ,
'USERID' => $curr_rank['user_id'], 'USERID' => $curr_rank['user_id'],
'USERNAME' => $curr_rank['username'], 'USERNAME' => $curr_rank['username'],
@@ -558,7 +540,6 @@ switch ($mode)
} }
$index++; $index++;
} }
$db->sql_freeresult($result);
$sidename = sprintf($user->lang['RANK_TOTAL']); $sidename = sprintf($user->lang['RANK_TOTAL']);
$league_info = league_info($season, $league); $league_info = league_info($season, $league);
@@ -567,13 +548,6 @@ switch ($mode)
'S_DISPLAY_HITS02' => $config['football_win_hits02'], 'S_DISPLAY_HITS02' => $config['football_win_hits02'],
'S_DATA_RANKS' => $data_ranks, 'S_DATA_RANKS' => $data_ranks,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)),
'LEFT_LINK' => '&lt; ' . 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']) . ' &gt;' : sprintf($user->lang['MY_BETS']) . ' &gt;',
'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), '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), '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, 'S_WIN' => ($league_info['win_matchday'] == '0' and $league_info['win_season'] == '0') ? false : true,
+439 -432
View File
@@ -1,433 +1,440 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$user_is_member = user_is_member($user->data['user_id'], $season, $league); $user_is_member = user_is_member($user->data['user_id'], $season, $league);
$edit_mode = false; $edit_mode = false;
$display_group = false; $display_group = false;
$display_ko = false; $display_ko = false;
$data_results = false; $data_results = false;
$lang_dates = $user->lang['datetime']; $lang_dates = $user->lang['datetime'];
$matchnumber = 0; $matchnumber = 0;
$editstatus = array(1, 2, 4, 5); $editstatus = array(1, 2, 4, 5);
$league_info = league_info($season, $league); $league_info = league_info($season, $league);
// Calculate matches AND results of matchday // Calculate matches AND results of matchday
$sql = "SELECT $sql = "SELECT
m.match_no, m.match_no,
m.matchday, m.matchday,
m.status, m.status,
m.group_id, m.group_id,
m.formula_home, m.formula_home,
m.formula_guest, m.formula_guest,
t1.team_symbol AS home_symbol, t1.team_symbol AS home_symbol,
t2.team_symbol AS guest_symbol, t2.team_symbol AS guest_symbol,
t1.team_id AS home_id, t1.team_id AS home_id,
t2.team_id AS guest_id, t2.team_id AS guest_id,
t1.team_name AS home_name, t1.team_name AS home_name,
t2.team_name AS guest_name, t2.team_name AS guest_name,
t1.team_name_short AS home_short, t1.team_name_short AS home_short,
t2.team_name_short AS guest_short, t2.team_name_short AS guest_short,
m.goals_home, m.goals_home,
m.goals_guest, m.goals_guest,
m.ko_match AS ko_match, m.ko_match AS ko_match,
m.goals_overtime_home AS kogoals_home, m.goals_overtime_home AS kogoals_home,
m.goals_overtime_guest AS kogoals_guest, m.goals_overtime_guest AS kogoals_guest,
CONCAT( CONCAT(
CASE DATE_FORMAT(m.match_datetime,'%w') CASE DATE_FORMAT(m.match_datetime,'%w')
WHEN 0 THEN '" . $lang_dates['Sun'] . "' WHEN 0 THEN '" . $lang_dates['Sun'] . "'
WHEN 1 THEN '" . $lang_dates['Mon'] . "' WHEN 1 THEN '" . $lang_dates['Mon'] . "'
WHEN 2 THEN '" . $lang_dates['Tue'] . "' WHEN 2 THEN '" . $lang_dates['Tue'] . "'
WHEN 3 THEN '" . $lang_dates['Wed'] . "' WHEN 3 THEN '" . $lang_dates['Wed'] . "'
WHEN 4 THEN '" . $lang_dates['Thu'] . "' WHEN 4 THEN '" . $lang_dates['Thu'] . "'
WHEN 5 THEN '" . $lang_dates['Fri'] . "' WHEN 5 THEN '" . $lang_dates['Fri'] . "'
WHEN 6 THEN '" . $lang_dates['Sat'] . "' WHEN 6 THEN '" . $lang_dates['Sat'] . "'
ELSE 'Error' END, ELSE 'Error' END,
DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i') DATE_FORMAT(m.match_datetime,' %d.%m. %H:%i')
) AS match_time ) AS match_time
FROM " . FOOTB_MATCHES . ' AS m 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 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) 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 WHERE m.season = $season
AND m.league = $league AND m.league = $league
AND m.matchday = $matchday AND m.matchday = $matchday
ORDER BY m.match_datetime ASC, m.match_no ASC"; ORDER BY m.match_datetime ASC, m.match_no ASC";
$result = $db->sql_query($sql); $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)); $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)) while($row = $db->sql_fetchrow($result))
{ {
$data_results = true; $data_results = true;
$matchnumber++ ; $matchnumber++ ;
$row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($matchnumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if (0 == $row['home_id']) if (0 == $row['home_id'])
{ {
$home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']); $home_info = get_team($season, $league, $row['match_no'], 'team_id_home', $row['formula_home']);
$home_in_array = explode("#",$home_info); $home_in_array = explode("#",$home_info);
$homelogo = $home_in_array[0]; $homelogo = $home_in_array[0];
$homeid = $home_in_array[1]; $homeid = $home_in_array[1];
$homename = $home_in_array[2]; $homename = $home_in_array[2];
$homeshort = $home_in_array[2]; $homeshort = $home_in_array[2];
} }
else else
{ {
$homelogo = $row['home_symbol']; $homelogo = $row['home_symbol'];
$homeid = $row['home_id']; $homeid = $row['home_id'];
$homename = $row['home_name']; $homename = $row['home_name'];
$homeshort = $row['home_short']; $homeshort = $row['home_short'];
} }
if (0 == $row['guest_id']) if (0 == $row['guest_id'])
{ {
$guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']); $guest_info = get_team($season, $league, $row['match_no'], 'team_id_guest', $row['formula_guest']);
$guest_in_array = explode("#",$guest_info); $guest_in_array = explode("#",$guest_info);
$guestlogo = $guest_in_array[0]; $guestlogo = $guest_in_array[0];
$guestid = $guest_in_array[1]; $guestid = $guest_in_array[1];
$guestname = $guest_in_array[2]; $guestname = $guest_in_array[2];
$guestshort = $guest_in_array[2]; $guestshort = $guest_in_array[2];
} }
else else
{ {
$guestlogo = $row['guest_symbol']; $guestlogo = $row['guest_symbol'];
$guestid = $row['guest_id']; $guestid = $row['guest_id'];
$guestname = $row['guest_name']; $guestname = $row['guest_name'];
$guestshort = $row['guest_short']; $guestshort = $row['guest_short'];
} }
if ($homelogo <> '') if ($homelogo <> '')
{ {
$logoH = "<img src=\"" . $ext_path . 'images/flags/' . $homelogo . "\" alt=\"" . $homelogo . "\" width=\"28\" height=\"28\"/>" ; $logoH = "<img src=\"" . $ext_path . 'images/flags/' . $homelogo . "\" alt=\"" . $homelogo . "\" width=\"28\" height=\"28\"/>" ;
} }
else else
{ {
$logoH = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logoH = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
if ($guestlogo <> '') if ($guestlogo <> '')
{ {
$logoG = "<img src=\"" . $ext_path . 'images/flags/' . $guestlogo . "\" alt=\"" . $guestlogo . "\" width=\"28\" height=\"28\"/>" ; $logoG = "<img src=\"" . $ext_path . 'images/flags/' . $guestlogo . "\" alt=\"" . $guestlogo . "\" width=\"28\" height=\"28\"/>" ;
} }
else else
{ {
$logoG = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logoG = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
if ($row['ko_match']) if ($row['ko_match'])
{ {
$display_ko = true; $display_ko = true;
$ko_match = true; $ko_match = true;
} }
else else
{ {
$ko_match = false; $ko_match = false;
} }
if ($row['group_id'] == '') if ($row['group_id'] == '')
{ {
$group_id = '&nbsp;'; $group_id = '&nbsp;';
} }
else else
{ {
$display_group = true; $display_group = true;
$group_id = $row['group_id']; $group_id = $row['group_id'];
} }
if (in_array($row['status'], $editstatus) AND $user_is_member) if (in_array($row['status'], $editstatus) AND $user_is_member)
{ {
$edit_mode = true; $edit_mode = true;
$edit_match = true; $edit_match = true;
$goals_home = $row['goals_home']; $goals_home = $row['goals_home'];
$goals_guest = $row['goals_guest']; $goals_guest = $row['goals_guest'];
$kogoals_home = $row['kogoals_home']; $kogoals_home = $row['kogoals_home'];
$kogoals_guest = $row['kogoals_guest']; $kogoals_guest = $row['kogoals_guest'];
} }
else else
{ {
$edit_match = false; $edit_match = false;
$goals_home = ($row['goals_home'] == '') ? '&nbsp;' : $row['goals_home']; $goals_home = ($row['goals_home'] == '') ? '&nbsp;' : $row['goals_home'];
$goals_guest = ($row['goals_guest'] == '') ? '&nbsp;' : $row['goals_guest']; $goals_guest = ($row['goals_guest'] == '') ? '&nbsp;' : $row['goals_guest'];
$kogoals_home = ($row['kogoals_home'] == '') ? '&nbsp;' : $row['kogoals_home']; $kogoals_home = ($row['kogoals_home'] == '') ? '&nbsp;' : $row['kogoals_home'];
$kogoals_guest = ($row['kogoals_guest'] == '') ? '&nbsp;' : $row['kogoals_guest']; $kogoals_guest = ($row['kogoals_guest'] == '') ? '&nbsp;' : $row['kogoals_guest'];
} }
$template->assign_block_vars('result', array( $template->assign_block_vars('result', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'MATCH_NUMBER' => $row['match_no'], 'MATCH_NUMBER' => $row['match_no'],
'MATCHDAY' => $row['matchday'], 'MATCHDAY' => $row['matchday'],
'STATUS' => $row['status'], 'STATUS' => $row['status'],
'MATCH_TIME' => $row['match_time'], 'MATCH_TIME' => $row['match_time'],
'GROUP' => $group_id, 'GROUP' => $group_id,
'HOME_ID' => $homeid, 'HOME_ID' => $homeid,
'GUEST_ID' => $guestid, 'GUEST_ID' => $guestid,
'LOGO_HOME' => $logoH, 'LOGO_HOME' => $logoH,
'LOGO_GUEST' => $logoG, 'LOGO_GUEST' => $logoG,
'HOME_NAME' => $homename, 'HOME_NAME' => $homename,
'GUEST_NAME' => $guestname, 'GUEST_NAME' => $guestname,
'HOME_SHORT' => $homeshort, 'HOME_SHORT' => $homeshort,
'GUEST_SHORT' => $guestshort, 'GUEST_SHORT' => $guestshort,
'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, 'U_PLAN_HOME' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league,
'tid' => $homeid, 'mode' => 'all')), 'tid' => $homeid, 'mode' => 'all')),
'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league, 'U_PLAN_GUEST' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $league,
'tid' => $guestid, 'mode' => 'all')), 'tid' => $guestid, 'mode' => 'all')),
'GOALS_HOME' => $goals_home, 'GOALS_HOME' => $goals_home,
'GOALS_GUEST' => $goals_guest, 'GOALS_GUEST' => $goals_guest,
'COLOR_STYLE' => color_style($row['status']), 'COLOR_STYLE' => color_style($row['status']),
'KOGOALS_HOME' => $kogoals_home, 'KOGOALS_HOME' => $kogoals_home,
'KOGOALS_GUEST' => $kogoals_guest, 'KOGOALS_GUEST' => $kogoals_guest,
'S_KO_MATCH' => $ko_match, 'S_KO_MATCH' => $ko_match,
'S_EDIT_MATCH' => $edit_match, 'S_EDIT_MATCH' => $edit_match,
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// Calculate extra bets of matchday // Calculate extra bets of matchday
// Start select team // Start select team
$sql = 'SELECT $sql = 'SELECT
team_id AS option_value, team_id AS option_value,
team_name AS option_name team_name AS option_name
FROM ' . FOOTB_TEAMS . " FROM ' . FOOTB_TEAMS . "
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
ORDER BY team_name ASC"; ORDER BY team_name ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$option_rows = $db->sql_fetchrowset($result); $option_rows = $db->sql_fetchrowset($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
if ($edit_mode) if ($edit_mode)
{ {
$template->assign_block_vars('worldfootball', array('LEAGUE' => $league-1,)); $template->assign_block_vars('worldfootball', array('LEAGUE' => $league-1,));
} }
$sql = "SELECT e.*, $sql = "SELECT e.*,
t1.team_name AS result_team t1.team_name AS result_team
FROM " . FOOTB_EXTRA . ' AS e 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) 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 WHERE e.season = $season
AND e.league = $league AND e.league = $league
AND e.matchday_eval = $matchday AND e.matchday_eval = $matchday
ORDER BY e.extra_no ASC"; ORDER BY e.extra_no ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$extra_results = false; $extra_results = false;
$extranumber = 0; $extranumber = 0;
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$extra_results = true; $extra_results = true;
$extranumber++ ; $extranumber++ ;
$row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($extranumber % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
switch($row['question_type']) switch($row['question_type'])
{ {
case '1': case '1':
{ {
$display_type = 1; $display_type = 1;
$eval_title = sprintf($user->lang['EXTRA_HIT']); $eval_title = sprintf($user->lang['EXTRA_HIT']);
} }
break; break;
case '2': case '2':
{ {
$display_type = 1; $display_type = 1;
$eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']); $eval_title = sprintf($user->lang['EXTRA_MULTI_HIT']);
} }
break; break;
case '3': case '3':
{ {
$display_type = 2; $display_type = 2;
$eval_title = sprintf($user->lang['EXTRA_HIT']); $eval_title = sprintf($user->lang['EXTRA_HIT']);
} }
break; break;
case '4': case '4':
case '5': case '5':
{ {
$display_type = 2; $display_type = 2;
$eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']); $eval_title = sprintf($user->lang['EXTRA_DIFFERENCE']);
} }
break; break;
default : default :
{ {
$display_type = 2; $display_type = 2;
$eval_title = ''; $eval_title = '';
} }
break; break;
} }
if ($row['extra_status'] > 0 && $row['extra_status'] < 3 && $user_is_member) if ($row['extra_status'] > 0 && $row['extra_status'] < 3 && $user_is_member)
{ {
$edit_mode = true; $edit_mode = true;
$result_extra = ($row['result_team'] == NULL) ? '' : $row['result_team']; $result_extra = ($row['result_team'] == NULL) ? '' : $row['result_team'];
$multiple = ''; $multiple = '';
switch($row['question_type']) switch($row['question_type'])
{ {
case '2': case '2':
{ {
$multiple = ' multiple="multiple" size="3" '; $multiple = ' multiple="multiple" size="3" ';
} }
break; break;
case '4': case '4':
{ {
$option_arr = array(); $option_arr = array();
for ($i = 65; $i <= 72; $i++) for ($i = 65; $i <= 72; $i++)
{ {
if (strstr($row['question'], chr($i) . ':')) if (strstr($row['question'], chr($i) . ':'))
{ {
$option_arr[] = array( $option_arr[] = array(
'option_value' => chr($i), 'option_value' => chr($i),
'option_name' => chr($i), 'option_name' => chr($i),
); );
} }
} }
if (sizeof($option_arr) > 1) if (sizeof($option_arr) > 1)
{ {
$display_type = 1; $display_type = 1;
$option_rows = $option_arr; $option_rows = $option_arr;
$result_extra = $row['result']; $result_extra = $row['result'];
$multiple = ' multiple="multiple" size="3" '; $multiple = ' multiple="multiple" size="3" ';
} }
} }
break; break;
case '3': case '3':
{ {
$option_arr = array(); $option_arr = array();
for ($i = 65; $i <= 72; $i++) for ($i = 65; $i <= 72; $i++)
{ {
if (strstr($row['question'], chr($i) . ':')) if (strstr($row['question'], chr($i) . ':'))
{ {
$option_arr[] = array( $option_arr[] = array(
'option_value' => chr($i), 'option_value' => chr($i),
'option_name' => chr($i), 'option_name' => chr($i),
); );
} }
} }
if (sizeof($option_arr) > 1) if (sizeof($option_arr) > 1)
{ {
$display_type = 1; $display_type = 1;
$option_rows = $option_arr; $option_rows = $option_arr;
$result_extra = $row['result']; $result_extra = $row['result'];
} }
} }
break; break;
} }
$template->assign_block_vars('extra_result', array( $template->assign_block_vars('extra_result', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'EXTRA_NO' => $row['extra_no'], 'EXTRA_NO' => $row['extra_no'],
'S_EDIT_EXTRA' => true, 'S_EDIT_EXTRA' => true,
'QUESTION' => $row['question'], 'QUESTION' => $row['question'],
'EXTRA_POINTS' => $row['extra_points'], 'EXTRA_POINTS' => $row['extra_points'],
'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']),
'EVALUATION_TITLE' => $eval_title, 'EVALUATION_TITLE' => $eval_title,
'RESULT' => ($display_type == 1) ? $result_extra : $row['result'], 'RESULT' => ($display_type == 1) ? $result_extra : $row['result'],
'S_DISPLAY_TYPE' => $display_type, 'S_DISPLAY_TYPE' => $display_type,
) )
); );
if ($display_type == 1) if ($display_type == 1)
{ {
$selected = ($row['result'] == '') ? ' selected="selected"' : ''; $selected = ($row['result'] == '') ? ' selected="selected"' : '';
$template->assign_block_vars('extra_result.extra_option', array( $template->assign_block_vars('extra_result.extra_option', array(
'OPTION_VALUE' => '', 'OPTION_VALUE' => '',
'OPTION_NAME' => sprintf($user->lang['SELECT']), 'OPTION_NAME' => sprintf($user->lang['SELECT']),
'S_SELECTED' => $selected)); 'S_SELECTED' => $selected));
foreach ($option_rows as $option_row) foreach ($option_rows as $option_row)
{ {
if (strstr($row['result'], ';')) if (strstr($row['result'], ';'))
{ {
$selected = ''; $selected = '';
$result_arr = explode(';', $row['result']); $result_arr = explode(';', $row['result']);
foreach($result_arr AS $result_value) foreach($result_arr AS $result_value)
{ {
if ($result_value <> '') if ($result_value <> '')
{ {
if ($option_row['option_value'] == $result_value) if ($option_row['option_value'] == $result_value)
{ {
$selected = ' selected="selected"'; $selected = ' selected="selected"';
} }
} }
} }
} }
else else
{ {
$selected = ($option_row['option_value'] == $row['result']) ? ' selected="selected"' : ''; $selected = ($option_row['option_value'] == $row['result']) ? ' selected="selected"' : '';
} }
$template->assign_block_vars('extra_result.extra_option', array( $template->assign_block_vars('extra_result.extra_option', array(
'OPTION_VALUE' => $option_row['option_value'], 'OPTION_VALUE' => $option_row['option_value'],
'OPTION_NAME' => $option_row['option_name'], 'OPTION_NAME' => $option_row['option_name'],
'S_SELECTED' => $selected)); 'S_SELECTED' => $selected));
} }
} }
} }
else else
{ {
$extra_colorstyle = color_style($row['extra_status']); $extra_colorstyle = color_style($row['extra_status']);
$extra_result = ($row['result'] == '') ? '&nbsp;' : $row['result']; $extra_result = ($row['result'] == '') ? '&nbsp;' : $row['result'];
$result_extra = ($row['result_team'] == NULL) ? '&nbsp;' : $row['result_team']; $result_extra = ($row['result_team'] == NULL) ? '&nbsp;' : $row['result_team'];
$template->assign_block_vars('extra_result', array( $template->assign_block_vars('extra_result', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'S_EDIT_EXTRA' => false, 'S_EDIT_EXTRA' => false,
'QUESTION' => $row['question'], 'QUESTION' => $row['question'],
'EXTRA_POINTS' => $row['extra_points'], 'EXTRA_POINTS' => $row['extra_points'],
'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']), 'EVALUATION' => ($row['matchday'] == $row['matchday_eval']) ? sprintf($user->lang['MATCHDAY']) : sprintf($user->lang['TOTAL']),
'RESULT' => ($display_type == 1) ? $result_extra : $extra_result, 'RESULT' => ($display_type == 1) ? $result_extra : $extra_result,
'COLOR_STYLE' => $extra_colorstyle, 'COLOR_STYLE' => $extra_colorstyle,
) )
); );
} }
} }
$db->sql_freeresult($result);
$sidename = sprintf($user->lang['RESULTS']);
switch ($league_info['bet_ko_type']) switch ($league_info['bet_ko_type'])
{ {
case BET_KO_90: case BET_KO_90:
$result_explain = sprintf($user->lang['MIN90']); $result_explain = sprintf($user->lang['MIN90']);
$label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']);
break; break;
case BET_KO_EXTRATIME: case BET_KO_EXTRATIME:
$result_explain = sprintf($user->lang['EXTRATIME_SHORT']); $result_explain = sprintf($user->lang['EXTRATIME_SHORT']);
$label_finalresult = sprintf($user->lang['PENALTY']); $label_finalresult = sprintf($user->lang['PENALTY']);
break; break;
case BET_KO_PENALTY: case BET_KO_PENALTY:
$result_explain = sprintf($user->lang['PENALTY']); $result_explain = sprintf($user->lang['PENALTY']);
$display_ko = false; $display_ko = false;
break; break;
default: default:
$result_explain = sprintf($user->lang['MIN90']); $result_explain = sprintf($user->lang['MIN90']);
$label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']); $label_finalresult = sprintf($user->lang['EXTRATIME_SHORT']) . '/' . sprintf($user->lang['PENALTY_SHORT']);
break; break;
} }
$template->assign_vars(array( // set correct display for usage in menu template
'S_DISPLAY_RESULTS' => true, if($side == 'results')
'S_EXTRA_RESULTS' => $extra_results, {
'S_SIDENAME' => $sidename, $display_results = true;
'RESULT_EXPLAIN' => $result_explain, $sidename = sprintf($user->lang['RESULTS']);
'LABEL_FINALRESULT' => $label_finalresult, }
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'all_bets', 's' => $season, 'l' => $league, 'm' => $matchday)), if($side == 'results_tl')
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['ALL_BETS']), {
'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'table', 's' => $season, 'l' => $league, 'm' => $matchday)), $display_results_tl = true;
'RIGHT_LINK' => sprintf($user->lang['TABLE']) . ' &gt;', $sidename = sprintf($user->lang['RESULTS']);
'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')), $template->assign_vars(array(
'S_DATA_RESULTS' => $data_results, 'S_DISPLAY_RESULTS' => $display_results,
'S_USER_IS_MEMBER' => $user_is_member, 'S_DISPLAY_RESULTS_TL' => $display_results_tl,
'S_DISPLAY_GROUP' => $display_group, 'S_EXTRA_RESULTS' => $extra_results,
'S_DISPLAY_KO' => $display_ko, 'S_SIDENAME' => $sidename,
'S_EDIT_MODE' => $edit_mode, '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,
)
);
?> ?>
+144 -144
View File
@@ -1,145 +1,145 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$data_table = false; $data_table = false;
$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true));
$sql = 'SELECT * $sql = 'SELECT *
FROM ' . FOOTB_RANKS . " FROM ' . FOOTB_RANKS . "
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
AND matchday = $matchday"; AND matchday = $matchday";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result); $row = $db->sql_fetchrow($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
if ($row) if ($row)
{ {
include($this->football_root_path . 'block/rank_matchday.' . $this->php_ext); include($this->football_root_path . 'block/rank_matchday.' . $this->php_ext);
} }
else else
{ {
$rank = 0; $rank = 0;
// Get table-information // Get table-information
$sql = "SELECT $sql = "SELECT
t.*, t.*,
SUM(1) AS matches, SUM(1) AS matches,
SUM(IF(m.team_id_home = t.team_id, 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(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, ) - 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 , 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_home , goals_guest)) AS goals,
SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against
FROM " . FOOTB_TEAMS . ' AS t FROM " . FOOTB_TEAMS . ' AS t
LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league 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) 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 WHERE t.season = $season
AND t.league = $league AND t.league = $league
AND m.matchday <= $matchday AND m.matchday <= $matchday
AND m.status IN (2,3,5,6) AND m.status IN (2,3,5,6)
GROUP BY t.team_id GROUP BY t.team_id
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$table_ary = array(); $table_ary = array();
$points_ary = array(); $points_ary = array();
$ranks_ary = array(); $ranks_ary = array();
while( $row = $db->sql_fetchrow($result)) while( $row = $db->sql_fetchrow($result))
{ {
$table_ary[$row['team_id']] = $row; $table_ary[$row['team_id']] = $row;
$points_ary[$row['group_id']][$row['points']][]=$row['team_id']; $points_ary[$row['group_id']][$row['points']][]=$row['team_id'];
$ranks_ary[] = $row['team_id']; $ranks_ary[] = $row['team_id'];
} }
$last_group = ''; $last_group = '';
$rank = 0; $rank = 0;
$current_rank = 0; $current_rank = 0;
$last_goals = 0; $last_goals = 0;
$last_goals_againts = 0; $last_goals_againts = 0;
$last_points = 0; $last_points = 0;
foreach($points_ary as $group_id => $points) foreach($points_ary as $group_id => $points)
{ {
$data_table = true; $data_table = true;
if ($last_group != $group_id) if ($last_group != $group_id)
{ {
$last_group =$group_id; $last_group =$group_id;
$rank = 0; $rank = 0;
$last_goals = 0; $last_goals = 0;
$last_goals_againts = 0; $last_goals_againts = 0;
$last_points = 0; $last_points = 0;
$template->assign_block_vars('side_total', array( $template->assign_block_vars('side_total', array(
'GROUP' => sprintf($user->lang['GROUP']) . ' ' .$group_id, 'GROUP' => sprintf($user->lang['GROUP']) . ' ' .$group_id,
) )
); );
} }
foreach($points as $point => $teams) foreach($points as $point => $teams)
{ {
if(count($teams) > 1 AND $group_id != '') if(count($teams) > 1 AND $group_id != '')
{ {
// Compare teams with equal points and sort // Compare teams with equal points and sort
$teams = get_order_team_compare($teams, $season, $league, $group_id, $ranks_ary, $matchday); $teams = get_order_team_compare($teams, $season, $league, $group_id, $ranks_ary, $matchday);
} }
foreach($teams as $key => $team) foreach($teams as $key => $team)
{ {
$row = $table_ary[$team]; $row = $table_ary[$team];
$rank++; $rank++;
if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against'])
{ {
$current_rank = $rank . '.'; $current_rank = $rank . '.';
} }
else else
{ {
$current_rank = ''; $current_rank = '';
} }
$last_points = $row['points']; $last_points = $row['points'];
$last_goals = $row['goals']; $last_goals = $row['goals'];
$last_goals_againts = $row['goals_against']; $last_goals_againts = $row['goals_against'];
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($row['team_symbol'] <> '') if ($row['team_symbol'] <> '')
{ {
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"20\" height=\"20\"/>" ;
} }
else else
{ {
$logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"20\" height=\"20\"/>" ;
} }
$template->assign_block_vars('side_total', array( $template->assign_block_vars('side_total', array(
'RANK' => $current_rank, 'RANK' => $current_rank,
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'LOGO' => $logo, 'LOGO' => $logo,
'TEAM_ID' => $row['team_id'], 'TEAM_ID' => $row['team_id'],
'TEAM_SHORT' => $row['team_name_short'], 'TEAM_SHORT' => $row['team_name_short'],
'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'],
'tid' => $row['team_id'], 'mode' => 'played')), 'tid' => $row['team_id'], 'mode' => 'played')),
'GAMES' => $row['matches'], 'GAMES' => $row['matches'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
) )
); );
} }
} }
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_SIDE_TABLE' => true, 'S_DISPLAY_SIDE_TABLE' => true,
'S_DATA_SIDE_TABLE' => $data_table, 'S_DATA_SIDE_TABLE' => $data_table,
) )
); );
} }
?> ?>
+163 -169
View File
@@ -1,170 +1,164 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$data = false; $data = false;
$data_all = false; $data_all = false;
$rank = 0; $rank = 0;
$sql = 'SELECT $sql = 'SELECT
r.user_id, r.user_id,
u.username, u.username,
r.* r.*
FROM ' . FOOTB_RANKS . ' AS r FROM ' . FOOTB_RANKS . ' AS r
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id)
WHERE season = $season WHERE season = $season
AND league = $league AND league = $league
ORDER BY r.points DESC"; ORDER BY r.points DESC";
$result = $db->sql_query_limit($sql, 20); $result = $db->sql_query_limit($sql, 20);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$data = true; $data = true;
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($row['user_id'] == $user->data['user_id']) if ($row['user_id'] == $user->data['user_id'])
{ {
$row_class = 'bg3 row_user'; $row_class = 'bg3 row_user';
} }
$template->assign_block_vars('top20', array( $template->assign_block_vars('top20', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'NAME' => $row['username'], 'NAME' => $row['username'],
'MATCHDAY' => $row['matchday'], 'MATCHDAY' => $row['matchday'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'WIN' => $row['win'], 'WIN' => $row['win'],
'DIRECTHITS' => $row['correct_result'], 'DIRECTHITS' => $row['correct_result'],
'TENDENCIES' => $row['tendencies'] - $row['correct_result'], 'TENDENCIES' => $row['tendencies'] - $row['correct_result'],
'TOTAL' => $row['tendencies'], 'TOTAL' => $row['tendencies'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$rank = 0; $rank = 0;
$sql = 'SELECT $sql = 'SELECT
r.user_id, r.user_id,
u.username, u.username,
r.* r.*
FROM ' . FOOTB_RANKS . ' AS r FROM ' . FOOTB_RANKS . ' AS r
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id)
WHERE r.season = $season WHERE r.season = $season
AND r.league = $league AND r.league = $league
ORDER BY r.points ASC"; ORDER BY r.points ASC";
$result = $db->sql_query_limit($sql, 20); $result = $db->sql_query_limit($sql, 20);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($row['user_id'] == $user->data['user_id']) if ($row['user_id'] == $user->data['user_id'])
{ {
$row_class = 'bg3 row_user'; $row_class = 'bg3 row_user';
} }
$template->assign_block_vars('flop20', array( $template->assign_block_vars('flop20', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'NAME' => $row['username'], 'NAME' => $row['username'],
'MATCHDAY' => $row['matchday'], 'MATCHDAY' => $row['matchday'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'DIRECTHITS' => $row['correct_result'], 'DIRECTHITS' => $row['correct_result'],
'TENDENCIES' => $row['tendencies'] - $row['correct_result'], 'TENDENCIES' => $row['tendencies'] - $row['correct_result'],
'TOTAL' => $row['tendencies'], 'TOTAL' => $row['tendencies'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$rank = 0; $rank = 0;
$sql = 'SELECT $sql = 'SELECT
r.user_id, r.user_id,
u.username, u.username,
r.* r.*
FROM ' . FOOTB_RANKS . ' AS r FROM ' . FOOTB_RANKS . ' AS r
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id)
WHERE league = $league WHERE league = $league
ORDER BY r.points DESC"; ORDER BY r.points DESC";
$result = $db->sql_query_limit($sql, 20); $result = $db->sql_query_limit($sql, 20);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$data_all = true; $data_all = true;
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($row['user_id'] == $user->data['user_id']) if ($row['user_id'] == $user->data['user_id'])
{ {
$row_class = 'bg3 row_user'; $row_class = 'bg3 row_user';
} }
$template->assign_block_vars('alltop20', array( $template->assign_block_vars('alltop20', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'NAME' => $row['username'], 'NAME' => $row['username'],
'SEASON' => $row['season'], 'SEASON' => $row['season'],
'MATCHDAY' => $row['matchday'], 'MATCHDAY' => $row['matchday'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'WIN' => $row['win'], 'WIN' => $row['win'],
'DIRECTHITS' => $row['correct_result'], 'DIRECTHITS' => $row['correct_result'],
'TENDENCIES' => $row['tendencies'] - $row['correct_result'], 'TENDENCIES' => $row['tendencies'] - $row['correct_result'],
'TOTAL' => $row['tendencies'], 'TOTAL' => $row['tendencies'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$rank = 0; $rank = 0;
$sql = 'SELECT $sql = 'SELECT
r.user_id, r.user_id,
u.username, u.username,
COUNT(points) AS count_zero COUNT(points) AS count_zero
FROM ' . FOOTB_RANKS . ' AS r FROM ' . FOOTB_RANKS . ' AS r
LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id) LEFT JOIN ' . USERS_TABLE . " AS u ON (u.user_id = r.user_id)
WHERE r.league = $league WHERE r.league = $league
AND r.points = 0 AND r.points = 0
GROUP BY r.user_id GROUP BY r.user_id
ORDER BY count_zero DESC"; ORDER BY count_zero DESC";
$result = $db->sql_query_limit($sql, 20); $result = $db->sql_query_limit($sql, 20);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
if ($row['user_id'] == $user->data['user_id']) if ($row['user_id'] == $user->data['user_id'])
{ {
$row_class = 'bg3 row_user'; $row_class = 'bg3 row_user';
} }
$template->assign_block_vars('allflop20', array( $template->assign_block_vars('allflop20', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'NAME' => $row['username'], 'NAME' => $row['username'],
'COUNTZERO' => $row['count_zero'], 'COUNTZERO' => $row['count_zero'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$league_info = league_info($season, $league); $league_info = league_info($season, $league);
$sidename = sprintf($user->lang['STAT_POINTS']); $sidename = sprintf($user->lang['STAT_POINTS']);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_STAT_POINTS' => true, 'S_DISPLAY_STAT_POINTS' => true,
'S_MATCHDAY_HIDE' => true, 'S_MATCHDAY_HIDE' => true,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'S_WIN' => ($league_info['win_matchday'] == '0') ? false : true, '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)), 'S_DATA_STAT_POINTS' => $data,
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['MY_KOEFF']), 'S_DATA_ALL_POINTS' => $data_all,
'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'stat_results', 's' => $season, 'l' => $league, 'm' => $matchday)), 'SEASON' => $season,
'RIGHT_LINK' => sprintf($user->lang['STAT_RESULTS']) . ' &gt;', 'LEAGUE' => $league,
'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,
)
);
?> ?>
+139 -145
View File
@@ -1,146 +1,140 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$data = false; $data = false;
$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true));
$rank = 0; $rank = 0;
// Select results and count // Select results and count
$sql = 'SELECT $sql = 'SELECT
COUNT(DISTINCT(m.match_no)) AS count_result, COUNT(DISTINCT(m.match_no)) AS count_result,
COUNT(m.match_no) AS count_bets, COUNT(m.match_no) AS count_bets,
m.goals_home, m.goals_home,
m.goals_guest, m.goals_guest,
SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < 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 = b.goals_guest) <> (m.goals_home = m.goals_guest)
OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0) IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 1, 0)
) )
) AS hits, ) AS hits,
SUM(IF((b.goals_home + 0 < b.goals_guest) <> (m.goals_home + 0 < 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 = b.goals_guest) <> (m.goals_home = m.goals_guest)
OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest), OR (b.goals_home + 0 > b.goals_guest) <> (m.goals_home + 0 > m.goals_guest),
0, 0,
IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1) IF((b.goals_home = m.goals_home) AND (b.goals_guest = m.goals_guest), 0, 1)
) )
) AS tendencies, ) AS tendencies,
' . select_points('m',true) . ' ' . select_points('m',true) . '
FROM ' . FOOTB_MATCHES . ' AS m 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) 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 WHERE m.season = $season
AND m.league = $league AND m.league = $league
AND b.goals_home <> '' AND b.goals_home <> ''
AND b.goals_guest <> '' AND b.goals_guest <> ''
AND (m.status IN (3,6)) AND (m.status IN (3,6))
AND m.matchday <= $matchday AND m.matchday <= $matchday
GROUP BY m.goals_home, m.goals_guest GROUP BY m.goals_home, m.goals_guest
ORDER BY count_bets DESC"; ORDER BY count_bets DESC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$data = true; $data = true;
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$template->assign_block_vars('result', array( $template->assign_block_vars('result', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'GOALS_HOME' => $row['goals_home'], 'GOALS_HOME' => $row['goals_home'],
'GOALS_GUEST' => $row['goals_guest'], 'GOALS_GUEST' => $row['goals_guest'],
'RESULTS' => $row['count_result'], 'RESULTS' => $row['count_result'],
'BETS' => $row['count_bets'], 'BETS' => $row['count_bets'],
'HITS' => $row['hits'], 'HITS' => $row['hits'],
'TENDENCIES' => $row['tendencies'], 'TENDENCIES' => $row['tendencies'],
'TOTAL' => $row['hits'] + $row['tendencies'], 'TOTAL' => $row['hits'] + $row['tendencies'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
'AVERAGE' => round($row['points'] / $row['count_bets'],1), 'AVERAGE' => round($row['points'] / $row['count_bets'],1),
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// Get goaldifferences by team // Get goaldifferences by team
$sql = "SELECT $sql = "SELECT
t.*, t.*,
SUM(1) AS matches, 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((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(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 + 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+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 = (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 + 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 = (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 + 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, 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(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, ) 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 , 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_home , goals_guest)) AS goals,
SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_get SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_get
FROM " . FOOTB_TEAMS . ' AS t 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_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 WHERE t.season = $season
AND t.league = $league AND t.league = $league
AND m.season = $season AND m.season = $season
AND m.league = $league AND m.league = $league
AND m.status IN (3,6) AND m.status IN (3,6)
AND m.matchday <= $matchday AND m.matchday <= $matchday
GROUP BY t.team_id GROUP BY t.team_id
ORDER BY points DESC, goal_diff DESC, goals DESC"; ORDER BY points DESC, goal_diff DESC, goals DESC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$rank = 0; $rank = 0;
while($row = $db->sql_fetchrow($result)) while($row = $db->sql_fetchrow($result))
{ {
$rank++; $rank++;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
$template->assign_block_vars('points', array( $template->assign_block_vars('points', array(
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'RANK' => $rank, 'RANK' => $rank,
'LOGO' => $logo, 'LOGO' => $logo,
'TEAM' => $row['team_name_short'], 'TEAM' => $row['team_name_short'],
'MATCHES' => $row['matches'], 'MATCHES' => $row['matches'],
'PLUS3' => $row['plus3'], 'PLUS3' => $row['plus3'],
'PLUS2' => $row['plus2'], 'PLUS2' => $row['plus2'],
'PLUS1' => $row['plus1'], 'PLUS1' => $row['plus1'],
'DRAW' => $row['draw'], 'DRAW' => $row['draw'],
'MINUS1' => $row['minus1'], 'MINUS1' => $row['minus1'],
'MINUS2' => $row['minus2'], 'MINUS2' => $row['minus2'],
'MINUS3' => $row['minus3'], 'MINUS3' => $row['minus3'],
'GOALS_DIFF' => $row['goal_diff'], 'GOALS_DIFF' => $row['goal_diff'],
'POINTS' => $row['points'], 'POINTS' => $row['points'],
) )
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$sidename = sprintf($user->lang['STAT_RESULTS']); $sidename = sprintf($user->lang['STAT_RESULTS']);
$template->assign_vars(array( $template->assign_vars(array(
'S_DISPLAY_STAT_RESULTS' => true, 'S_DISPLAY_STAT_RESULTS' => true,
'S_SIDENAME' => $sidename, 'S_SIDENAME' => $sidename,
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'stat_points', 's' => $season, 'l' => $league, 'm' => $matchday)), 'S_DATA_STAT_RESULTS' => $data,
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['STAT_POINTS']), 'SEASON' => $season,
'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'bet', 's' => $season, 'l' => $league, 'm' => $matchday)), 'LEAGUE' => $league,
'RIGHT_LINK' => sprintf($user->lang['BET']) . ' &gt;', )
'LEFT_TITLE' => sprintf($user->lang['TITLE_STAT_POINTS']), );
'RIGHT_TITLE' => sprintf($user->lang['TITLE_BET']),
'S_DATA_STAT_RESULTS' => $data,
'SEASON' => $season,
'LEAGUE' => $league,
)
);
?> ?>
+479 -445
View File
@@ -1,446 +1,480 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL')) if (!defined('IN_PHPBB') OR !defined('IN_FOOTBALL'))
{ {
exit; exit;
} }
$data_table = false; $data_table = false;
$data_form = false; $data_form = false;
if ($matchday > 5) if ($matchday > 5)
{ {
$form_from = $matchday - 5; $form_from = $matchday - 5;
} }
else else
{ {
$form_from = 1; $form_from = 1;
} }
$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true));
$sql = 'SELECT * $sql = 'SELECT *
FROM ' . FOOTB_LEAGUES . " FROM ' . FOOTB_LEAGUES . "
WHERE season = $season WHERE season = $season
AND league = $league"; AND league = $league";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result); $row = $db->sql_fetchrow($result);
$league_type = $row['league_type']; $league_type = $row['league_type'];
$db->sql_freeresult($result); $db->sql_freeresult($result);
$text_form = sprintf($user->lang['TABLE_FORM_FROM'], $form_from); $text_form = sprintf($user->lang['TABLE_FORM_FROM'], $form_from);
$rank = 0; $rank = 0;
// Get table-information // Get table-information
$sql = "SELECT $sql = "SELECT
t.*, t.*,
SUM(1) AS matches, 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((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0)))
SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, + IFNULL((SELECT SUM(c.win) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)AS win,
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(goals_home = goals_guest, 1, 0))
SUM(IF(m.team_id_home = t.team_id, + IFNULL((SELECT SUM(c.draw) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)AS draw,
IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), 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)))
IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) + IFNULL((SELECT SUM(c.lost) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)AS lost,
) SUM(IF(m.team_id_home = t.team_id,
) - IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points, IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)),
SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff, IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0))
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 ) + IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday), 0)
FROM " . FOOTB_TEAMS . ' AS t + IFNULL((SELECT SUM(c.points) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)
LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league - IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points,
AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff,
WHERE t.season = $season SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals,
AND t.league = $league SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against,
AND m.matchday <= $matchday IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday), 0) AS bonus
AND m.status IN (2,3,5,6) FROM " . FOOTB_TEAMS . ' AS t
GROUP BY t.team_id LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; 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
$result = $db->sql_query($sql); AND t.league = $league
AND m.matchday <= $matchday
$table_ary = array(); AND m.status IN (2,3,5,6)
$points_ary = array(); AND m.show_table = 0
$ranks_ary = array(); GROUP BY t.team_id
$rank = 0; ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC";
while( $row = $db->sql_fetchrow($result))
{ $result = $db->sql_query($sql);
$rank++;
$table_ary[$row['team_id']] = $row; $table_ary = array();
$points_ary[$row['group_id']][$row['points']][]=$row['team_id']; $points_ary = array();
$ranks_ary[] = $row['team_id']; $ranks_ary = array();
} $rank = 0;
while( $row = $db->sql_fetchrow($result))
$last_group = ''; {
$rank = 0; $rank++;
$current_rank = 0; $table_ary[$row['team_id']] = $row;
$last_goals = 0; $points_ary[$row['group_id']][$row['points']][]=$row['team_id'];
$last_goals_againts = 0; $ranks_ary[] = $row['team_id'];
$last_points = 0; }
foreach($points_ary as $group_id => $points)
{ $last_group = '';
$data_table = true; $rank = 0;
if ($last_group != $group_id) $current_rank = 0;
{ $last_goals = 0;
$last_group =$group_id; $last_goals_againts = 0;
$rank = 0; $last_points = 0;
$last_goals = 0; foreach($points_ary as $group_id => $points)
$last_goals_againts = 0; {
$last_points = 0; $data_table = true;
$template->assign_block_vars('total', array( if ($last_group != $group_id)
'GROUP' => sprintf($user->lang['GROUP']) . ' ' .$group_id, {
) $last_group =$group_id;
); $rank = 0;
} $last_goals = 0;
$last_goals_againts = 0;
foreach($points as $point => $teams) $last_points = 0;
{ $template->assign_block_vars('total', array(
if(count($teams) > 1 AND $group_id != '') 'GROUP' => sprintf($user->lang['GROUP']) . ' ' .$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) foreach($points as $point => $teams)
{ {
$row = $table_ary[$team]; if(count($teams) > 1 AND $group_id != '')
$rank++; {
if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) // Compare teams with equal points and sort
{ $teams = get_order_team_compare($teams, $season, $league, $group_id, $ranks_ary, $matchday);
$current_rank = $rank . '.'; }
} foreach($teams as $key => $team)
else {
{ $row = $table_ary[$team];
$current_rank = ''; $rank++;
} if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against'])
$last_points = $row['points']; {
$last_goals = $row['goals']; $current_rank = $rank . '.';
$last_goals_againts = $row['goals_against']; }
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; else
if ($row['team_symbol'] <> '') {
{ $current_rank = '';
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; }
} $last_points = $row['points'];
else $last_goals = $row['goals'];
{ $last_goals_againts = $row['goals_against'];
$logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
} if ($row['team_symbol'] <> '')
{
$template->assign_block_vars('total', array( $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
'RANK' => $current_rank, }
'ROW_CLASS' => $row_class, else
'LOGO' => $logo, {
'TEAM_ID' => $row['team_id'], $logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
'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'], $template->assign_block_vars('total', array(
'tid' => $row['team_id'], 'mode' => 'played')), 'RANK' => $current_rank,
'GAMES' => $row['matches'], 'ROW_CLASS' => $row_class,
'WIN' => $row['win'], 'LOGO' => $logo,
'DRAW' => $row['draw'], 'TEAM_ID' => $row['team_id'],
'LOST' => $row['lost'], 'TEAM' => $row['team_name'],
'GOALS' => $row['goals'], 'TEAM_SHORT' => $row['team_name_short'],
'GOALS_AGAINST' => $row['goals_against'], 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'],
'GOALS_DIFF' => $row['goals_diff'], 'tid' => $row['team_id'], 'mode' => 'played')),
'POINTS' => $row['points'], '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'],
$db->sql_freeresult($result); 'BONUS' => round($row['bonus'],2),
$rank = 0; 'POINTS' => round($row['points'],2),
// 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, $db->sql_freeresult($result);
SUM(IF(m.team_id_home = t.team_id, $rank = 0;
IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)), // Get form-table-information
IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0)) $sql = "SELECT
) t.*,
) AS points, SUM(1) AS matches,
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), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0)))
SUM(IF(m.team_id_home = t.team_id, goals_home, goals_guest)) AS goals, + IFNULL((SELECT SUM(c.win) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.matchday >= $form_from),0)AS win,
SUM(IF(m.team_id_home = t.team_id, goals_guest, goals_home)) AS goals_against SUM(IF(goals_home = goals_guest, 1, 0))
FROM ' . FOOTB_TEAMS . ' AS t + IFNULL((SELECT SUM(c.draw) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.matchday >= $form_from),0)AS draw,
LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league 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)))
AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id) + IFNULL((SELECT SUM(c.lost) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.matchday >= $form_from),0)AS lost,
WHERE t.season = $season SUM(IF(m.team_id_home = t.team_id,
AND t.league = $league IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)),
AND m.matchday >= $form_from IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0))
AND m.status IN (2, 3,5,6) )
GROUP BY t.team_id ) + IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday AND b.matchday >= $form_from),0)
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; + IFNULL((SELECT SUM(c.points) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.matchday >= $form_from),0)
- IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points,
$result = $db->sql_query($sql); SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff,
$last_group = ''; SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals,
$current_rank = 0; SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against,
$last_goals = 0; IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday AND b.matchday >= $form_from),0) AS bonus
$last_goals_againts = 0; FROM " . FOOTB_TEAMS . ' AS t
$last_points = 0; LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league
while($row = $db->sql_fetchrow($result)) 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
if ($last_group != $row['group_id']) AND t.league = $league
{ AND m.matchday >= $form_from
$last_group = $row['group_id']; AND m.status IN (2, 3,5,6)
$rank = 0; AND m.show_table = 0
$last_goals = 0; GROUP BY t.team_id
$last_goals_againts = 0; ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC";
$last_points = 0;
$template->assign_block_vars('form', array( $result = $db->sql_query($sql);
'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], $last_group = '';
) $current_rank = 0;
); $last_goals = 0;
} $last_goals_againts = 0;
if ($league_type != 2 OR $row['group_id'] != '') $last_points = 0;
{ while($row = $db->sql_fetchrow($result))
$data_form = true; {
$rank++; if ($last_group != $row['group_id'])
if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) {
{ $last_group = $row['group_id'];
$current_rank = $rank . '.'; $rank = 0;
} $last_goals = 0;
else $last_goals_againts = 0;
{ $last_points = 0;
$current_rank = ''; $template->assign_block_vars('form', array(
} 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'],
$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 ($league_type != 2 OR $row['group_id'] != '')
if ($row['team_symbol'] <> '') {
{ $data_form = true;
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; $rank++;
} if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against'])
else {
{ $current_rank = $rank . '.';
$logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; }
} else
{
$template->assign_block_vars('form', array( $current_rank = '';
'RANK' => $current_rank, }
'ROW_CLASS' => $row_class, $last_points = $row['points'];
'LOGO' => $logo, $last_goals = $row['goals'];
'TEAM_ID' => $row['team_id'], $last_goals_againts = $row['goals_against'];
'TEAM' => $row['team_name'], $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
'TEAM_SHORT' => $row['team_name_short'], if ($row['team_symbol'] <> '')
'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], {
'tid' => $row['team_id'], 'mode' => 'rest')), $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
'GAMES' => $row['matches'], }
'WIN' => $row['win'], else
'DRAW' => $row['draw'], {
'LOST' => $row['lost'], $logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
'GOALS' => $row['goals'], }
'GOALS_AGAINST' => $row['goals_against'],
'GOALS_DIFF' => $row['goals_diff'], $template->assign_block_vars('form', array(
'POINTS' => $row['points'], 'RANK' => $current_rank,
) 'ROW_CLASS' => $row_class,
); 'LOGO' => $logo,
} 'TEAM_ID' => $row['team_id'],
} 'TEAM' => $row['team_name'],
$db->sql_freeresult($result); 'TEAM_SHORT' => $row['team_name_short'],
$rank = 0; 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'],
// Get home-table-information 'tid' => $row['team_id'], 'mode' => 'rest')),
$sql = 'SELECT 'GAMES' => $row['matches'],
t.*, 'WIN' => $row['win'],
SUM(1) AS matches, 'DRAW' => $row['draw'],
SUM(IF(goals_home + 0 > goals_guest, 1, 0)) AS win, 'LOST' => $row['lost'],
SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, 'GOALS' => $row['goals'],
SUM(IF(goals_home + 0 < goals_guest, 1, 0)) AS lost, 'GOALS_AGAINST' => $row['goals_against'],
SUM(IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0))) AS points, 'GOALS_DIFF' => $row['goals_diff'],
SUM(goals_home - goals_guest) AS goals_diff, 'BONUS' => round($row['bonus'],2),
SUM(goals_home) AS goals, 'POINTS' => round($row['points'],2),
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 $db->sql_freeresult($result);
AND t.league = $league $rank = 0;
AND m.matchday <= $matchday // Get home-table-information
AND m.status IN (2, 3,5,6) $sql = "SELECT
GROUP BY t.team_id t.*,
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC"; SUM(1) AS matches,
SUM(IF(goals_home + 0 > goals_guest, 1, 0))
$result = $db->sql_query($sql); + IFNULL((SELECT SUM(c.win) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.home = 1 ),0)AS win,
$last_group = ''; SUM(IF(goals_home = goals_guest, 1, 0))
$current_rank = 0; + IFNULL((SELECT SUM(c.draw) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.home = 1 ),0)AS draw,
$last_goals = 0; SUM(IF(goals_home + 0 < goals_guest, 1, 0))
$last_goals_againts = 0; + IFNULL((SELECT SUM(c.lost) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.home = 1 ),0)AS lost,
$last_points = 0; SUM(IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)))+ IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday AND home = '1'),0)
while($row = $db->sql_fetchrow($result)) + IFNULL((SELECT SUM(c.points) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.home = 1 ),0)AS points,
{ SUM(goals_home - goals_guest) AS goals_diff,
if ($last_group != $row['group_id']) SUM(goals_home) AS goals,
{ SUM(goals_guest) AS goals_against,
$last_group = $row['group_id']; IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND home = '1'),0) AS bonus
$rank = 0; FROM " . FOOTB_TEAMS . ' AS t
$last_goals = 0; LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league
$last_goals_againts = 0; AND m.team_id_home = t.team_id AND m.group_id = t.group_id)
$last_points = 0; WHERE t.season = $season
$template->assign_block_vars('home', array( AND t.league = $league
'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], AND m.matchday <= $matchday
) AND m.status IN (2, 3,5,6)
); AND m.show_table = 0
} GROUP BY t.team_id
if ($league_type != 2 OR $row['group_id'] != '') ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC";
{
$rank++; $result = $db->sql_query($sql);
if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) $last_group = '';
{ $current_rank = 0;
$current_rank = $rank . '.'; $last_goals = 0;
} $last_goals_againts = 0;
else $last_points = 0;
{ while($row = $db->sql_fetchrow($result))
$current_rank = ''; {
} if ($last_group != $row['group_id'])
$last_points = $row['points']; {
$last_goals = $row['goals']; $last_group = $row['group_id'];
$last_goals_againts = $row['goals_against']; $rank = 0;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $last_goals = 0;
if ($row['team_symbol'] <> '') $last_goals_againts = 0;
{ $last_points = 0;
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; $template->assign_block_vars('home', array(
} 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'],
else )
{ );
$logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; }
} if ($league_type != 2 OR $row['group_id'] != '')
{
$template->assign_block_vars('home', array( $rank++;
'RANK' => $current_rank, if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against'])
'ROW_CLASS' => $row_class, {
'LOGO' => $logo, $current_rank = $rank . '.';
'TEAM_ID' => $row['team_id'], }
'TEAM' => $row['team_name'], else
'TEAM_SHORT' => $row['team_name_short'], {
'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'], $current_rank = '';
'tid' => $row['team_id'], 'mode' => 'home')), }
'GAMES' => $row['matches'], $last_points = $row['points'];
'WIN' => $row['win'], $last_goals = $row['goals'];
'DRAW' => $row['draw'], $last_goals_againts = $row['goals_against'];
'LOST' => $row['lost'], $row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
'GOALS' => $row['goals'], if ($row['team_symbol'] <> '')
'GOALS_AGAINST' => $row['goals_against'], {
'GOALS_DIFF' => $row['goals_diff'], $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
'POINTS' => $row['points'], }
) else
); {
} $logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
} }
$db->sql_freeresult($result);
$rank = 0; $template->assign_block_vars('home', array(
// Get away-table-information 'RANK' => $current_rank,
$sql = 'SELECT 'ROW_CLASS' => $row_class,
t.*, 'LOGO' => $logo,
SUM(1) AS matches, 'TEAM_ID' => $row['team_id'],
SUM(IF(goals_home + 0 < goals_guest, 1, 0)) AS win, 'TEAM' => $row['team_name'],
SUM(IF(goals_home = goals_guest, 1, 0)) AS draw, 'TEAM_SHORT' => $row['team_name_short'],
SUM(IF(goals_home + 0 > goals_guest, 1, 0)) AS lost, 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'],
SUM(IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0))) AS points, 'tid' => $row['team_id'], 'mode' => 'home')),
SUM(goals_guest - goals_home) AS goals_diff, 'GAMES' => $row['matches'],
SUM(goals_guest) AS goals, 'WIN' => $row['win'],
SUM(goals_home) AS goals_against 'DRAW' => $row['draw'],
FROM ' . FOOTB_TEAMS . ' AS t 'LOST' => $row['lost'],
LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league 'GOALS' => $row['goals'],
AND m.team_id_guest = t.team_id AND m.group_id = t.group_id) 'GOALS_AGAINST' => $row['goals_against'],
WHERE t.season = $season 'GOALS_DIFF' => $row['goals_diff'],
AND t.league = $league 'BONUS' => round($row['bonus'],2),
AND m.matchday <= $matchday 'POINTS' => round($row['points'],2),
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); $db->sql_freeresult($result);
$last_group = ''; $rank = 0;
$current_rank = 0; // Get away-table-information
$last_goals = 0; $sql = "SELECT
$last_goals_againts = 0; t.*,
$last_points = 0; SUM(1) AS matches,
while($row = $db->sql_fetchrow($result)) SUM(IF(goals_home + 0 < goals_guest, 1, 0))
{ + IFNULL((SELECT SUM(c.win) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.home = 0 ),0)AS win,
if ($last_group != $row['group_id']) SUM(IF(goals_home = goals_guest, 1, 0))
{ + IFNULL((SELECT SUM(c.draw) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.home = 0 ),0)AS draw,
$last_group = $row['group_id']; SUM(IF(goals_home + 0 > goals_guest, 1, 0))
$rank = 0; + IFNULL((SELECT SUM(c.lost) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.home = 0 ),0)AS lost,
$last_goals = 0; SUM(IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0))) + IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday AND home = '0'),0)
$last_goals_againts = 0; + IFNULL((SELECT SUM(c.points) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday AND c.home = 0 ),0)AS points,
$last_points = 0; SUM(goals_guest - goals_home) AS goals_diff,
$template->assign_block_vars('away', array( SUM(goals_guest) AS goals,
'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'], SUM(goals_home) AS goals_against,
) IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND home = '0'),0) AS bonus
); FROM " . FOOTB_TEAMS . ' AS t
} LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league
if ($league_type != 2 OR $row['group_id'] != '') AND m.team_id_guest = t.team_id AND m.group_id = t.group_id)
{ WHERE t.season = $season
$rank++; AND t.league = $league
if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against']) AND m.matchday <= $matchday
{ AND m.status IN (2, 3,5,6)
$current_rank = $rank . '.'; AND m.show_table = 0
} GROUP BY t.team_id
else ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, t.team_name ASC";
{
$current_rank = ''; $result = $db->sql_query($sql);
} $last_group = '';
$last_points = $row['points']; $current_rank = 0;
$last_goals = $row['goals']; $last_goals = 0;
$last_goals_againts = $row['goals_against']; $last_goals_againts = 0;
$row_class = (!($rank % 2)) ? 'bg1 row_light' : 'bg2 row_dark'; $last_points = 0;
if ($row['team_symbol'] <> '') while($row = $db->sql_fetchrow($result))
{ {
$logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ; if ($last_group != $row['group_id'])
} {
else $last_group = $row['group_id'];
{ $rank = 0;
$logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ; $last_goals = 0;
} $last_goals_againts = 0;
$last_points = 0;
$template->assign_block_vars('away', array( $template->assign_block_vars('away', array(
'RANK' => $current_rank, 'GROUP' => sprintf($user->lang['GROUP']) . ' ' . $row['group_id'],
'ROW_CLASS' => $row_class, )
'LOGO' => $logo, );
'TEAM_ID' => $row['team_id'], }
'TEAM' => $row['team_name'], if ($league_type != 2 OR $row['group_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'], $rank++;
'tid' => $row['team_id'], 'mode' => 'away')), if ($last_points <> $row['points'] OR $last_goals <> $row['goals'] OR $last_goals_againts <> $row['goals_against'])
'GAMES' => $row['matches'], {
'WIN' => $row['win'], $current_rank = $rank . '.';
'DRAW' => $row['draw'], }
'LOST' => $row['lost'], else
'GOALS' => $row['goals'], {
'GOALS_AGAINST' => $row['goals_against'], $current_rank = '';
'GOALS_DIFF' => $row['goals_diff'], }
'POINTS' => $row['points'], $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'] <> '')
{
$db->sql_freeresult($result); $logo = "<img src=\"" . $ext_path . 'images/flags/' . $row['team_symbol'] . "\" alt=\"" . $row['team_symbol'] . "\" width=\"28\" height=\"28\"/>" ;
$sidename = sprintf($user->lang['TABLE']); }
$template->assign_vars(array( else
'S_DISPLAY_TABLE' => true, {
'S_SIDENAME' => $sidename, $logo = "<img src=\"" . $ext_path . "images/flags/blank.gif\" alt=\"\" width=\"28\" height=\"28\"/>" ;
'U_LEFT' => $this->helper->route('football_main_controller', array('side' => 'results', 's' => $season, 'l' => $league, 'm' => $matchday)), }
'LEFT_LINK' => '&lt; ' . sprintf($user->lang['RESULTS']),
'U_RIGHT' => $this->helper->route('football_main_controller', array('side' => 'ranks_matchday', 's' => $season, 'l' => $league, 'm' => $matchday)), $template->assign_block_vars('away', array(
'RIGHT_LINK' => sprintf($user->lang['RANK_MATCHDAY']) . ' &gt;', 'RANK' => $current_rank,
'LEFT_TITLE' => sprintf($user->lang['TITLE_RESULTS']), 'ROW_CLASS' => $row_class,
'RIGHT_TITLE' => sprintf($user->lang['TITLE_RANK_MATCHDAY']), 'LOGO' => $logo,
'S_DATA_TABLE' => $data_table, 'TEAM_ID' => $row['team_id'],
'S_DATA_FORM' => $data_form, 'TEAM' => $row['team_name'],
'SEASON' => $season, 'TEAM_SHORT' => $row['team_name_short'],
'LEAGUE' => $league, 'U_PLAN_TEAM' => $this->helper->route('football_football_popup', array('popside' => 'viewplan_popup', 's' => $season, 'l' => $row['league'],
'TEXT_FORM' => $text_form, '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'],
'BONUS' => round($row['bonus'],2),
'POINTS' => round($row['points'],2),
)
);
}
}
if($league > 50)
{
// Activate bonus coloumn only for tippers.
$data_bns = true;
}
if($side == 'table') {
$display_table_menu = true;
}
$db->sql_freeresult($result);
$sidename = sprintf($user->lang['TABLE']);
$template->assign_vars(array(
'S_DISPLAY_TABLE' => true,
'S_DISPLAY_TABLE_MENU' => $display_table_menu,
'S_SIDENAME' => $sidename,
'S_DATA_TABLE' => $data_table,
'S_DATA_FORM' => $data_form,
'SEASON' => $season,
'LEAGUE' => $league,
'TEXT_FORM' => $text_form,
'S_DATA_BNS' => $data_bns,
)
);
?> ?>
+4 -4
View File
@@ -1,10 +1,10 @@
{ {
"name": "football/football", "name": "football/football",
"type": "phpbb-extension", "type": "phpbb-extension",
"description": "Football Prediction League for phpBB 3.1", "description": "Football Prediction League",
"homepage": "http://football.bplaced.net", "homepage": "http://football.bplaced.net",
"version": "0.9.6", "version": "0.9.9",
"time": "2016-05-29", "time": "2017-09-09",
"license": "GPL-2.0", "license": "GPL-2.0",
"authors": [{ "authors": [{
"name": "J. Helmke", "name": "J. Helmke",
@@ -18,7 +18,7 @@
"extra": { "extra": {
"display-name": "Football Prediction League", "display-name": "Football Prediction League",
"soft-require": { "soft-require": {
"phpbb/phpbb": "3.1.*" "phpbb/phpbb": ">3.1.*"
}, },
"version-check": { "version-check": {
"host": "football.bplaced.net", "host": "football.bplaced.net",
+52 -52
View File
@@ -12,46 +12,46 @@ services:
football.football.controller: football.football.controller:
class: football\football\controller\main class: football\football\controller\main
arguments: arguments:
- @auth - '@auth'
- @config - '@config'
- @ext.manager - '@ext.manager'
- @notification_manager - '@notification_manager'
- @log - '@log'
- @path_helper - '@path_helper'
- @dbal.conn - '@dbal.conn'
- @controller.helper - '@controller.helper'
- @template - '@template'
- @user - '@user'
- @pagination - '@pagination'
- %core.root_path% - %core.root_path%
- %core.php_ext% - %core.php_ext%
football.football.controller_popup: football.football.controller_popup:
class: football\football\controller\popup class: football\football\controller\popup
arguments: arguments:
- @auth - '@auth'
- @config - '@config'
- @ext.manager - '@ext.manager'
- @path_helper - '@path_helper'
- @dbal.conn - '@dbal.conn'
- @controller.helper - '@controller.helper'
- @template - '@template'
- @user - '@user'
- @pagination - '@pagination'
- %core.root_path% - %core.root_path%
- %core.php_ext% - %core.php_ext%
football.football.controller_download: football.football.controller_download:
class: football\football\controller\download class: football\football\controller\download
arguments: arguments:
- @auth - '@auth'
- @config - '@config'
- @ext.manager - '@ext.manager'
- @path_helper - '@path_helper'
- @dbal.conn - '@dbal.conn'
- @controller.helper - '@controller.helper'
- @template - '@template'
- @user - '@user'
- %core.root_path% - %core.root_path%
- %core.php_ext% - %core.php_ext%
@@ -60,38 +60,38 @@ services:
scope: prototype scope: prototype
arguments: arguments:
- %football.version_data% - %football.version_data%
- @config - '@config'
- @version_helper - '@version_helper'
- @template - '@template'
- @user - '@user'
football.football.controller_xml: football.football.controller_xml:
class: football\football\controller\xmlplan class: football\football\controller\xmlplan
arguments: arguments:
- @config - '@config'
- @ext.manager - '@ext.manager'
- @path_helper - '@path_helper'
- @dbal.conn - '@dbal.conn'
- @user - '@user'
- %core.root_path% - %core.root_path%
- %core.php_ext% - %core.php_ext%
football.football.core.functions.points: football.football.core.functions.points:
class: football\football\core\functions_points class: football\football\core\functions_points
arguments: arguments:
- @user - '@user'
- @dbal.conn - '@dbal.conn'
football.football.listener: football.football.listener:
class: football\football\event\main_listener class: football\football\event\main_listener
arguments: arguments:
- @auth - '@auth'
- @config - '@config'
- @controller.helper - '@controller.helper'
- @template - '@template'
- @path_helper - '@path_helper'
- @ext.manager - '@ext.manager'
- @user - '@user'
- %core.root_path% - %core.root_path%
- %core.php_ext% - %core.php_ext%
tags: tags:
@@ -102,12 +102,12 @@ services:
arguments: arguments:
- %core.root_path% - %core.root_path%
- %core.php_ext% - %core.php_ext%
- @ext.manager - '@ext.manager'
- @path_helper - '@path_helper'
- @dbal.conn - '@dbal.conn'
- @config - '@config'
- @log - '@log'
- @user - '@user'
calls: calls:
- [set_name, [football.football.cron.task.football_remember]] - [set_name, [football.football.cron.task.football_remember]]
tags: tags:
+62 -17
View File
@@ -308,8 +308,8 @@ class main
$user_id = $user->data['user_id']; $user_id = $user->data['user_id'];
$sql = 'SELECT * FROM ' . FOOTB_MATCHES . " WHERE season = $season AND league = $league AND matchday = $matchday AND status <= 0"; $sql = 'SELECT * FROM ' . FOOTB_MATCHES . " WHERE season = $season AND league = $league AND matchday = $matchday AND status <= 0";
$resultopen = $db->sql_query($sql); $resultopen = $db->sql_query($sql);
$rows = $db->sql_fetchrowset($resultopen); $rows = $db->sql_fetchrowset($resultopen);
$db->sql_freeresult($resultopen);
$count_matches = 0; $count_matches = 0;
$count_updates = 0; $count_updates = 0;
@@ -419,7 +419,6 @@ class main
{ {
$dbmsg = sprintf($user->lang['NO_BETS_SAVED']); $dbmsg = sprintf($user->lang['NO_BETS_SAVED']);
} }
$db->sql_freeresult($resultopen);
// extra bets // extra bets
$sql = 'SELECT * FROM ' . FOOTB_EXTRA . " WHERE season = $season AND league = $league AND matchday = $matchday AND extra_status <= 0"; $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) if ($count_extra_updates)
{ {
$dbmsg = $dbmsg . ' ' . sprintf($user->lang['EXTRA_BET' . (($count_extra_updates == 1) ? '' : 'S') . '_SAVED'], $count_extra_updates); $dbmsg = $dbmsg . ' ' . sprintf($user->lang['EXTRA_BET' . (($count_extra_updates == 1) ? '' : 'S') . '_SAVED'], $count_extra_updates);
@@ -725,12 +725,16 @@ class main
} }
} }
} }
$db->sql_freeresult($resultextra);
if ($count_extra_updates) if ($count_extra_updates)
{ {
$dbmsg = $dbmsg . ' ' . sprintf($user->lang['EXTRA_RESULT' . (($count_extra_updates == 1) ? '' : 'S') . '_SAVED'], $count_extra_updates); $dbmsg = $dbmsg . ' ' . sprintf($user->lang['EXTRA_RESULT' . (($count_extra_updates == 1) ? '' : 'S') . '_SAVED'], $count_extra_updates);
} }
calculate_extra_points($season, $league, $matchday); calculate_extra_points($season, $league, $matchday);
save_ranking_matchday($season, $league, $matchday); save_ranking_matchday($season, $league, $matchday);
bonuspoints($season, $league, $matchday);
corr($season, $league, $matchday);
chart($season, $league, $matchday);
break; break;
case 'join': case 'join':
join_league($season, $league, $user->data['user_id']); join_league($season, $league, $user->data['user_id']);
@@ -781,19 +785,48 @@ class main
} }
$league_name = ''; $league_name = '';
$sql = 'SELECT * FROM ' . FOOTB_LEAGUES . " WHERE season = $season AND league_type >= 1"; if ($side == 'table' OR $side == 'results_tl')
{
$sql = 'SELECT * FROM ' . FOOTB_LEAGUES . " WHERE season = $season AND league_type >= 1 AND (league >= 50 OR bet_type = 1) ORDER BY sort ASC";
}
else
{
$sql = 'SELECT * FROM ' . FOOTB_LEAGUES . " WHERE season = $season AND league_type >= 1 AND league < 50";
}
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while( $row = $db->sql_fetchrow($result)) while( $row = $db->sql_fetchrow($result))
{ {
$selected = ($league && $row['league'] == $league) ? ' selected="selected"' : ''; $selected = ($league && $row['league'] == $league) ? ' selected="selected"' : '';
if ($side == 'table' && $league_info['bet_type'])
{
$side = 'ranks_total';
}
elseif ($side == 'ranks_total' && !$league_info['bet_type'])
{
$side = 'table';
}
elseif ($side == 'table' OR $side == 'results_tl')
{
if ($league < 51)
{
$league = $league + 50;
}
}
else
{
if ($league > 50)
{
$league = $league - 50;
}
}
if ($selected) if ($selected)
{ {
$league_name = $row['league_name']; $league_name = $row['league_name'];
} }
$template->assign_block_vars('form_league', array( $template->assign_block_vars('form_league', array(
'S_LEAGUE' => $row['league'], 'S_LEAGUE' => $row['league'],
'S_LEAGUENAME' => $row['league_name'], 'S_LEAGUENAME' => $row['league_name'],
'S_SELECTED' => $selected 'S_SELECTED' => $selected
) )
); );
} }
@@ -823,7 +856,7 @@ class main
$league_type = $row['league_type']; $league_type = $row['league_type'];
$db->sql_freeresult($result); $db->sql_freeresult($result);
$lang_dates = $user->lang['datetime']; $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 *, $sql = "SELECT *,
CONCAT( CONCAT(
CASE DATE_FORMAT(delivery_date,'%w') CASE DATE_FORMAT(delivery_date,'%w')
@@ -904,7 +937,7 @@ class main
// Start matchday list // Start matchday list
if ($side == 'bet') if ($side == 'bet')
{ {
include($this->football_root_path . 'block/side_table.' . $this->php_ext);
} }
else else
{ {
@@ -914,18 +947,18 @@ class main
//***************************************************************************** //*****************************************************************************
// Start total list
include($this->football_root_path . 'block/rank_total.' . $this->php_ext);
// End total list
//*****************************************************************************
// Start delivery list // Start delivery list
include($this->football_root_path . 'block/delivery.' . $this->php_ext); include($this->football_root_path . 'block/delivery.' . $this->php_ext);
// End delivery list // End delivery list
//***************************************************************************** //*****************************************************************************
} }
if ($side == 'bet')
{
include($this->football_root_path . 'block/table.' . $this->php_ext);
}
// Start assign vars // Start assign vars
$sql_ary = array( $sql_ary = array(
'football_season' => (int) $season, 'football_season' => (int) $season,
@@ -977,8 +1010,9 @@ class main
'S_NEXT_CLASS' => $next_class, 'S_NEXT_CLASS' => $next_class,
'S_NEXT_DEADLINE' => $next_deadline, 'S_NEXT_DEADLINE' => $next_deadline,
'S_DBMSG' => $dbmsg, 'S_DBMSG' => $dbmsg,
'FOOTBALL_LEFT_COLUMN' => $config['football_left_column_width'], 'FOOTBALL_LEFT_COLUMN' => $config['football_left_column_width'],
'FOOTBALL_RIGHT_COLUMN' => $config['football_right_column_width'], 'FOOTBALL_RIGHT_COLUMN' => $config['football_right_column_width'],
'S_BET_TYPE' => $league_info['bet_type'],
)); ));
// End assign vars // End assign vars
@@ -988,6 +1022,10 @@ class main
{ {
include($this->football_root_path . 'block/under_construction.' . $this->php_ext); include($this->football_root_path . 'block/under_construction.' . $this->php_ext);
} }
elseif ($side == 'results_tl')
{
include($this->football_root_path . 'block/results.' . $this->php_ext);
}
else else
{ {
include($this->football_root_path . 'block/' . $side . '.' . $this->php_ext); include($this->football_root_path . 'block/' . $side . '.' . $this->php_ext);
@@ -1000,7 +1038,14 @@ class main
else else
{ {
$mobile = ''; $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 // Send data to the template file
if ($view == 'print') if ($view == 'print')
+335 -333
View File
@@ -1,334 +1,336 @@
<?php <?php
/** /**
* *
* @package phpBB Extension - Football Football * @package phpBB Extension - Football Football
* @copyright (c) 2016 football (http://football.bplaced.net) * @copyright (c) 2016 football (http://football.bplaced.net)
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* *
*/ */
namespace football\football\cron\task; namespace football\football\cron\task;
class football_remember extends \phpbb\cron\task\base class football_remember extends \phpbb\cron\task\base
{ {
/* @var string phpBB root path */ /* @var string phpBB root path */
protected $root_path; protected $root_path;
/* @var string phpEx */ /* @var string phpEx */
protected $php_ext; protected $php_ext;
/* @var \phpbb\extension\manager */ /* @var \phpbb\extension\manager */
protected $phpbb_extension_manager; protected $phpbb_extension_manager;
/* @var \phpbb\path_helper */ /* @var \phpbb\path_helper */
protected $phpbb_path_helper; protected $phpbb_path_helper;
/* @var \phpbb\db\driver\driver_interface */ /* @var \phpbb\db\driver\driver_interface */
protected $db; protected $db;
/* @var \phpbb\config\config */ /* @var \phpbb\config\config */
protected $config; protected $config;
/* @var \phpbb\log\log_interface */ /* @var \phpbb\log\log_interface */
protected $log; protected $log;
/* @var \phpbb\user */ /* @var \phpbb\user */
protected $user; protected $user;
/** /**
* Constructor * Constructor
* *
* @param string $root_path * @param string $root_path
* @param string $php_ext * @param string $php_ext
* @param \phpbb\extension\manager $phpbb_extension_manager * @param \phpbb\extension\manager $phpbb_extension_manager
* @param \phpbb\path_helper $phpbb_path_helper * @param \phpbb\path_helper $phpbb_path_helper
* @param \phpbb\db\driver\driver_interfacer $db * @param \phpbb\db\driver\driver_interfacer $db
* @param \phpbb\config\config $config * @param \phpbb\config\config $config
* @param \phpbb\log\log_interface $log * @param \phpbb\log\log_interface $log
* @param \phpbb\user $user * @param \phpbb\user $user
*/ */
public function __construct($root_path, $php_ext, \phpbb\extension\manager $phpbb_extension_manager, \phpbb\path_helper $phpbb_path_helper, \phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\log\log_interface $log, \phpbb\user $user) public function __construct($root_path, $php_ext, \phpbb\extension\manager $phpbb_extension_manager, \phpbb\path_helper $phpbb_path_helper, \phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\log\log_interface $log, \phpbb\user $user)
{ {
$this->root_path = $root_path; $this->root_path = $root_path;
$this->php_ext = $php_ext; $this->php_ext = $php_ext;
$this->phpbb_extension_manager = $phpbb_extension_manager; $this->phpbb_extension_manager = $phpbb_extension_manager;
$this->phpbb_path_helper = $phpbb_path_helper; $this->phpbb_path_helper = $phpbb_path_helper;
$this->db = $db; $this->db = $db;
$this->config = $config; $this->config = $config;
$this->phpbb_log = $log; $this->phpbb_log = $log;
$this->user = $user; $this->user = $user;
} }
/** /**
* Runs this cron task. * Runs this cron task.
* *
* @return null * @return null
*/ */
public function run() public function run()
{ {
global $request; global $request;
$ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true)); $ext_path = $this->phpbb_path_helper->update_web_root_path($this->phpbb_extension_manager->get_extension_path('football/football', true));
include($ext_path . 'includes/functions.' . $this->php_ext); include($ext_path . 'includes/functions.' . $this->php_ext);
include($ext_path . 'includes/constants.' . $this->php_ext); include($ext_path . 'includes/constants.' . $this->php_ext);
// Load extension language file // Load extension language file
$this->user->add_lang_ext('football/football', 'info_acp_football'); $this->user->setup();
$this->user->add_lang_ext('football/football', 'info_acp_football');
// mode=test ?
$mode = $request->variable('mode', ''); // mode=test ?
$days = $request->variable('days', 0); $mode = $request->variable('mode', '');
$days = $request->variable('days', 0);
//Mail Settings
$use_queue = false; //Mail Settings
$used_method = NOTIFY_EMAIL; $use_queue = false;
$priority = MAIL_NORMAL_PRIORITY; $used_method = NOTIFY_EMAIL;
$priority = MAIL_NORMAL_PRIORITY;
$season = curr_season();
//Matchdays to close in 24 hours and 24 hours later $season = curr_season();
// shift days to test //Matchdays to close in 24 hours and 24 hours later
$local_board_time = time() + ($days * 86400); // shift days to test
$local_board_time = time() + ($days * 86400);
if ($mode <> 'test')
{ if ($mode <> 'test')
// Update next run {
$run_time = getdate($this->config['football_remember_next_run']); // Update next run
$next_run = mktime($run_time['hours'], $run_time['minutes'], 0, date("n"), date("j") + 1, date("Y")); $run_time = getdate($this->config['football_remember_next_run']);
$this->config->set('football_remember_next_run', $next_run, true); $next_run = mktime($run_time['hours'], $run_time['minutes'], 0, date("n"), date("j") + 1, date("Y"));
} $this->config->set('football_remember_next_run', $next_run, true);
else }
{ else
$message = sprintf($this->user->lang['LOG_FOOTBALL_MSG_TEST' . (($days == 0) ? '' : '_TRAVEL')], date("d.m.Y H:i", $local_board_time)); {
$this->phpbb_log->add('admin', ANONYMOUS, '', 'LOG_FOOTBALL_REMEMBER_CRON_TEST', false, array($message)); $message = sprintf($this->user->lang['LOG_FOOTBALL_MSG_TEST' . (($days == 0) ? '' : '_TRAVEL')], date("d.m.Y H:i", $local_board_time));
} $this->phpbb_log->add('admin', ANONYMOUS, '', 'LOG_FOOTBALL_REMEMBER_CRON_TEST', false, array($message));
}
$sql = 'SELECT
m.*, $sql = 'SELECT
l.* m.*,
FROM ' . FOOTB_MATCHDAYS . ' AS m l.*
LEFT JOIN ' . FOOTB_LEAGUES . " AS l ON (l.season = m.season AND l.league = m.league) FROM ' . FOOTB_MATCHDAYS . ' AS m
WHERE m.season >= $season AND m.status = 0 LEFT JOIN ' . FOOTB_LEAGUES . " AS l ON (l.season = m.season AND l.league = m.league)
AND (DATE_SUB(m.delivery_date, INTERVAL '1 23:59' DAY_MINUTE) < FROM_UNIXTIME('$local_board_time')) WHERE m.season >= $season AND m.status = 0
AND (DATE_SUB(m.delivery_date, INTERVAL '1 00:00' DAY_MINUTE) > FROM_UNIXTIME('$local_board_time'))"; AND (DATE_SUB(m.delivery_date, INTERVAL '1 23:59' DAY_MINUTE) < FROM_UNIXTIME('$local_board_time'))
$result = $this->db->sql_query($sql); AND (DATE_SUB(m.delivery_date, INTERVAL '1 00:00' DAY_MINUTE) > FROM_UNIXTIME('$local_board_time'))
$toclose = $this->db->sql_fetchrowset($result); GROUP BY m.season, m.league, m.matchday";
$this->db->sql_freeresult($result); $result = $this->db->sql_query($sql);
$toclose = $this->db->sql_fetchrowset($result);
// If we found matchdays to close, search missing bets and mail them $this->db->sql_freeresult($result);
foreach ($toclose as $close)
{ // If we found matchdays to close, search missing bets and mail them
// prepare some variables foreach ($toclose as $close)
$first_mail = true; {
$season = $close['season']; // prepare some variables
$league = $close['league']; $first_mail = true;
$league_name = $close['league_name']; $season = $close['season'];
$league_short = $close['league_name_short']; $league = $close['league'];
$delivery = $close['delivery_date']; $league_name = $close['league_name'];
$matchday = $close['matchday']; $league_short = $close['league_name_short'];
$subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_SUBJECT'], $league_short, $matchday); $delivery = $close['delivery_date'];
$usernames = ''; $matchday = $close['matchday'];
$subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_SUBJECT'], $league_short, $matchday);
// find missing users $usernames = '';
$sql = 'SELECT
u.user_email AS user_email, // find missing users
u.username AS username, $sql = 'SELECT
u.user_id AS userid, u.user_email AS user_email,
u.user_lang u.username AS username,
FROM ' . FOOTB_MATCHES . ' AS m u.user_id AS userid,
LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = m.season AND l.league = m.league) u.user_lang
LEFT JOIN ' . FOOTB_BETS . ' AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no) FROM ' . FOOTB_MATCHES . ' AS m
LEFT JOIN ' . PROFILE_FIELDS_DATA_TABLE. ' AS p ON p.user_id = b.user_id LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = m.season AND l.league = m.league)
LEFT JOIN ' . USERS_TABLE. " AS u ON u.user_id = b.user_id 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 AND m.matchday = $matchday LEFT JOIN ' . PROFILE_FIELDS_DATA_TABLE. ' AS p ON p.user_id = b.user_id
AND ((b.goals_home = '') OR (b.goals_guest = '')) LEFT JOIN ' . USERS_TABLE. " AS u ON u.user_id = b.user_id
AND m.status = 0 AND p.pf_footb_rem_f = 1 WHERE m.season = $season AND m.league = $league AND m.matchday = $matchday
AND (l.bet_in_time = 0 OR AND ((b.goals_home = '') OR (b.goals_guest = ''))
(l.bet_in_time = 1 AND m.status = 0 AND p.pf_footb_rem_f = 1
AND (DATE_SUB(m.match_datetime, INTERVAL '1 23:59' DAY_MINUTE) < FROM_UNIXTIME('$local_board_time')) AND (l.bet_in_time = 0 OR
AND (DATE_SUB(m.match_datetime, INTERVAL '1 00:00' DAY_MINUTE) > FROM_UNIXTIME('$local_board_time')))) (l.bet_in_time = 1
GROUP BY b.user_id AND (DATE_SUB(m.match_datetime, INTERVAL '1 23:59' DAY_MINUTE) < FROM_UNIXTIME('$local_board_time'))
UNION AND (DATE_SUB(m.match_datetime, INTERVAL '1 00:00' DAY_MINUTE) > FROM_UNIXTIME('$local_board_time'))))
SELECT GROUP BY b.user_id
p.pf_footb_email AS user_email, UNION
u.username AS username, SELECT
u.user_id AS userid, p.pf_footb_email AS user_email,
u.user_lang u.username AS username,
FROM " . FOOTB_MATCHES . ' AS m u.user_id AS userid,
LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = m.season AND l.league = m.league) u.user_lang
LEFT JOIN ' . FOOTB_BETS . ' AS b ON (b.season = m.season AND b.league = m.league AND b.match_no = m.match_no) FROM " . FOOTB_MATCHES . ' AS m
LEFT JOIN ' . PROFILE_FIELDS_DATA_TABLE. ' AS p ON p.user_id = b.user_id LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = m.season AND l.league = m.league)
LEFT JOIN ' . USERS_TABLE. " AS u ON u.user_id = b.user_id 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 AND m.matchday = $matchday LEFT JOIN ' . PROFILE_FIELDS_DATA_TABLE. ' AS p ON p.user_id = b.user_id
AND ((b.goals_home = '') OR (b.goals_guest = '')) LEFT JOIN ' . USERS_TABLE. " AS u ON u.user_id = b.user_id
AND m.status = 0 AND p.pf_footb_rem_s = 1 WHERE m.season = $season AND m.league = $league AND m.matchday = $matchday
AND (l.bet_in_time = 0 OR AND ((b.goals_home = '') OR (b.goals_guest = ''))
(l.bet_in_time = 1 AND m.status = 0 AND p.pf_footb_rem_s = 1
AND (DATE_SUB(m.match_datetime, INTERVAL '1 23:59' DAY_MINUTE) < FROM_UNIXTIME('$local_board_time')) AND (l.bet_in_time = 0 OR
AND (DATE_SUB(m.match_datetime, INTERVAL '1 00:00' DAY_MINUTE) > FROM_UNIXTIME('$local_board_time')))) (l.bet_in_time = 1
GROUP BY b.user_id AND (DATE_SUB(m.match_datetime, INTERVAL '1 23:59' DAY_MINUTE) < FROM_UNIXTIME('$local_board_time'))
"; AND (DATE_SUB(m.match_datetime, INTERVAL '1 00:00' DAY_MINUTE) > FROM_UNIXTIME('$local_board_time'))))
$result = $this->db->sql_query($sql); GROUP BY b.user_id
$row = $this->db->sql_fetchrow($result); ";
$result = $this->db->sql_query($sql);
if (!$row) $row = $this->db->sql_fetchrow($result);
{
$this->db->sql_freeresult($result); if (!$row)
} {
else $this->db->sql_freeresult($result);
{ }
else
// Send the messages {
include_once($this->root_path . 'includes/functions_messenger.' . $this->php_ext);
$messenger = new \messenger($use_queue); // Send the messages
include_once($this->root_path . 'includes/functions_user.' . $this->php_ext); include_once($this->root_path . 'includes/functions_messenger.' . $this->php_ext);
$errored = false; $messenger = new \messenger($use_queue);
$messenger->headers('X-AntiAbuse: Board servername - ' . $this->config['server_name']); include_once($this->root_path . 'includes/functions_user.' . $this->php_ext);
$messenger->headers('X-AntiAbuse: User_id - ' . ANONYMOUS); $errored = false;
$messenger->headers('X-AntiAbuse: Username - CRON TASK Football remember'); $messenger->headers('X-AntiAbuse: Board servername - ' . $this->config['server_name']);
$messenger->headers('X-AntiAbuse: User IP - ' . $this->user->ip); $messenger->headers('X-AntiAbuse: User_id - ' . ANONYMOUS);
$messenger->subject(htmlspecialchars_decode($subject)); $messenger->headers('X-AntiAbuse: Username - CRON TASK Football remember');
$messenger->set_mail_priority($priority); $messenger->headers('X-AntiAbuse: User IP - ' . $this->user->ip);
$messenger->subject(htmlspecialchars_decode($subject));
do $messenger->set_mail_priority($priority);
{
// Send the messages do
$used_lang = $row['user_lang']; {
$mail_template_path = $ext_path . 'language/' . $used_lang . '/email/'; // Send the messages
$used_lang = $row['user_lang'];
if ($mode <> 'test') $mail_template_path = $ext_path . 'language/' . $used_lang . '/email/';
{
$messenger->to($row['user_email'], $row['username']); if ($mode <> 'test')
} {
else $messenger->to($row['user_email'], $row['username']);
{ }
// test send to board email else
$messenger->to($this->config['board_email'], $this->config['sitename']); {
} // test send to board email
$messenger->template('footb_send_remember', $used_lang, $mail_template_path); $messenger->to($this->config['board_email'], $this->config['sitename']);
}
$messenger->assign_vars(array( $messenger->template('footb_send_remember', $used_lang, $mail_template_path);
'USERNAME' => $row['username'],
'LEAGUE' => $league_name, $messenger->assign_vars(array(
'MATCHDAY' => $matchday, 'USERNAME' => $row['username'],
'DELIVERY' => $delivery, 'LEAGUE' => $league_name,
'CONTACT_EMAIL' => $this->config['board_contact']) 'MATCHDAY' => $matchday,
); 'DELIVERY' => $delivery,
'CONTACT_EMAIL' => $this->config['board_contact'])
if ($mode <> 'test') );
{
if (!($messenger->send($used_method))) if ($mode <> 'test')
{ {
$message = '<strong>' . sprintf($this->user->lang['FOOTBALL_REMEMBER_ERROR_EMAIL'], $league_short, $row['user_email']) . '</strong>'; if (!($messenger->send($used_method)))
$this->phpbb_log->add('critical', ANONYMOUS, '', 'LOG_ERROR_EMAIL', false, array($message)); {
$usernames .= (($usernames != '') ? ', ' : '') . $row['username']. '!'; $message = '<strong>' . sprintf($this->user->lang['FOOTBALL_REMEMBER_ERROR_EMAIL'], $league_short, $row['user_email']) . '</strong>';
} $this->phpbb_log->add('critical', ANONYMOUS, '', 'LOG_ERROR_EMAIL', false, array($message));
else $usernames .= (($usernames != '') ? ', ' : '') . $row['username']. '!';
{ }
$usernames .= (($usernames != '') ? ', ' : '') . $row['username']; else
} {
} $usernames .= (($usernames != '') ? ', ' : '') . $row['username'];
else }
{ }
// Test mode else
if ($first_mail) {
{ // Test mode
// only send one mail if ($first_mail)
if (!($messenger->send($used_method))) {
{ // only send one mail
$message = '<strong>' . sprintf($this->user->lang['FOOTBALL_REMEMBER_ERROR_EMAIL'], $league_short, $row['user_email']) . '</strong>'; if (!($messenger->send($used_method)))
$this->phpbb_log->add('critical', ANONYMOUS, '', 'LOG_ERROR_EMAIL', false, array($message)); {
$usernames .= (($usernames != '') ? ', ' : '') . $row['username']. '!'; $message = '<strong>' . sprintf($this->user->lang['FOOTBALL_REMEMBER_ERROR_EMAIL'], $league_short, $row['user_email']) . '</strong>';
} $this->phpbb_log->add('critical', ANONYMOUS, '', 'LOG_ERROR_EMAIL', false, array($message));
else $usernames .= (($usernames != '') ? ', ' : '') . $row['username']. '!';
{ }
$usernames .= (($usernames != '') ? ', ' : '') . $row['username']; else
} {
$first_mail = false; $usernames .= (($usernames != '') ? ', ' : '') . $row['username'];
} }
else $first_mail = false;
{ }
$usernames .= (($usernames != '') ? ', ' : '') . $row['username']; else
} {
} $usernames .= (($usernames != '') ? ', ' : '') . $row['username'];
} }
while ($row = $this->db->sql_fetchrow($result)); }
$this->db->sql_freeresult($result); }
while ($row = $this->db->sql_fetchrow($result));
// Only if mails have already been sent previously $this->db->sql_freeresult($result);
if ($usernames <> '')
{ // Only if mails have already been sent previously
// send mail to board administration if ($usernames <> '')
$used_lang = $this->config['default_lang']; {
$mail_template_path = $ext_path . 'language/' . $used_lang . '/email/'; // send mail to board administration
$subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_SUBJECT_BOARD'], $league_short, $matchday); $used_lang = $this->config['default_lang'];
$messenger->to($this->config['board_email'], $this->config['sitename']); $mail_template_path = $ext_path . 'language/' . $used_lang . '/email/';
$messenger->subject(htmlspecialchars_decode($subject)); $subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_SUBJECT_BOARD'], $league_short, $matchday);
$messenger->template('footb_board_remember', $used_lang, $mail_template_path); $messenger->to($this->config['board_email'], $this->config['sitename']);
$messenger->assign_vars(array( $messenger->subject(htmlspecialchars_decode($subject));
'CONTACT_EMAIL' => $this->config['board_contact'], $messenger->template('footb_board_remember', $used_lang, $mail_template_path);
'REMEMBER_LIST' => $usernames, $messenger->assign_vars(array(
) 'CONTACT_EMAIL' => $this->config['board_contact'],
); 'REMEMBER_LIST' => $usernames,
)
if (!($messenger->send($used_method))) );
{
$message = '<strong>' . sprintf($this->user->lang['FOOTBALL_REMEMBER_ERROR_EMAIL_BOARD'], $league_short, $this->config['board_email']) . '</strong>'; if (!($messenger->send($used_method)))
$this->phpbb_log->add('critical', ANONYMOUS, '', 'LOG_ERROR_EMAIL', false, array($message)); {
} $message = '<strong>' . sprintf($this->user->lang['FOOTBALL_REMEMBER_ERROR_EMAIL_BOARD'], $league_short, $this->config['board_email']) . '</strong>';
else $this->phpbb_log->add('critical', ANONYMOUS, '', 'LOG_ERROR_EMAIL', false, array($message));
{ }
$log_subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_SEND'], $league_short, $usernames) ; else
$this->phpbb_log->add('admin', ANONYMOUS, '', 'LOG_FOOTBALL_REMEMBER_CRON', false, array($log_subject)); {
} $log_subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_SEND'], $league_short, $usernames) ;
} $this->phpbb_log->add('admin', ANONYMOUS, '', 'LOG_FOOTBALL_REMEMBER_CRON', false, array($log_subject));
else }
{ }
// Log the cronjob run else
$log_subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_NOBODY']) ; {
$this->phpbb_log->add('admin', ANONYMOUS, '', 'LOG_FOOTBALL_REMEMBER_CRON', false, array($log_subject)); // Log the cronjob run
} $log_subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_NOBODY']) ;
} $this->phpbb_log->add('admin', ANONYMOUS, '', 'LOG_FOOTBALL_REMEMBER_CRON', false, array($log_subject));
} }
if (sizeof($toclose) == 0) }
{ }
// Log the cronjob run if (sizeof($toclose) == 0)
$log_subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_NO_DELIVERY']) ; {
$this->phpbb_log->add('admin', ANONYMOUS, '', 'LOG_FOOTBALL_REMEMBER_CRON', false, array($log_subject)); // Log the cronjob run
} $log_subject = sprintf($this->user->lang['FOOTBALL_REMEMBER_NO_DELIVERY']) ;
$this->phpbb_log->add('admin', ANONYMOUS, '', 'LOG_FOOTBALL_REMEMBER_CRON', false, array($log_subject));
return; }
}
return;
/** }
* Returns whether this cron task can run, given current board configuration.
* /**
* @return bool * Returns whether this cron task can run, given current board configuration.
*/ *
public function is_runnable() * @return bool
{ */
return (bool) $this->config['football_remember_enable']; public function is_runnable()
} {
return (bool) $this->config['football_remember_enable'];
/** }
* Returns whether this cron task should run now, because next run time
* has passed. /**
* * Returns whether this cron task should run now, because next run time
* @return bool * has passed.
*/ *
public function should_run() * @return bool
{ */
global $request; public function should_run()
$mode = $request->variable('mode', ''); {
global $request;
if ($mode <> 'test') $mode = $request->variable('mode', '');
{
return $this->config['football_remember_next_run'] < time(); if ($mode <> 'test')
} {
else return $this->config['football_remember_next_run'] < time();
{ }
return true; else
} {
} return true;
} }
}
}
?> ?>
+550 -551
View File
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Some files were not shown because too many files have changed in this diff Show More