1134 lines
44 KiB
PHP
1134 lines
44 KiB
PHP
<?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
|
|
*
|
|
*/
|
|
|
|
namespace football\football\acp;
|
|
|
|
class matchdays_module
|
|
{
|
|
public $u_action;
|
|
|
|
protected $db, $user, $template, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
|
protected $root_path, $request, $php_ext, $log;
|
|
|
|
|
|
public function __construct()
|
|
{
|
|
global $db, $user, $request, $template;
|
|
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
|
|
|
$user->add_lang_ext('football/football', 'football');
|
|
$user->add_lang_ext('football/football', 'info_acp_matchdays');
|
|
|
|
$this->root_path = $phpbb_root_path . 'ext/football/football/';
|
|
|
|
$this->config = $config;
|
|
$this->request = $request;
|
|
$this->phpbb_root_path = $phpbb_root_path;
|
|
$this->phpbb_admin_path = $phpbb_admin_path;
|
|
$this->php_ext = $phpEx;
|
|
|
|
if(!function_exists('season_info'))
|
|
{
|
|
include($this->root_path . 'includes/functions.' . $this->php_ext);
|
|
}
|
|
if (!defined('FOOTB_SEASONS'))
|
|
{
|
|
include($this->root_path . 'includes/constants.' . $this->php_ext);
|
|
}
|
|
}
|
|
|
|
function main($id, $mode)
|
|
{
|
|
global $db, $auth, $phpbb_container, $phpbb_admin_path, $league_info;
|
|
global $template, $user, $config, $phpbb_extension_manager, $request, $phpbb_root_path, $phpEx;
|
|
$provider = new \phpbb\controller\ provider();
|
|
$symphony_request = new \phpbb\ symfony_request($request);
|
|
$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_matchdays';
|
|
$this->page_title = 'ACP_FOOTBALL_MATCHDAYS_MANAGE';
|
|
|
|
$form_key = 'acp_football_matchdays';
|
|
add_form_key($form_key);
|
|
|
|
include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
|
|
|
|
// Check and set some common vars
|
|
$action = (isset($_POST['add'])) ? 'add' : '';
|
|
$action = (isset($_POST['remove'])) ? 'remove' : $action;
|
|
$action = (isset($_POST['change_delivery'])) ? 'change_delivery' : $action;
|
|
$action = (isset($_POST['show_delivery'])) ? 'show_delivery' : $action;
|
|
$action = (isset($_POST['update_delivery'])) ? 'update_delivery' : $action;
|
|
$action = (empty($action)) ? $this->request->variable('action', '') : $action;
|
|
|
|
$edit = $this->request->variable('edit', 0);
|
|
$season = $this->request->variable('s', 0);
|
|
$league = $this->request->variable('l', 0);
|
|
$matchday = $this->request->variable('m', 0);
|
|
$update = (isset($_POST['update'])) ? true : false;
|
|
$backward_days = $this->request->variable('backward_days', 0);
|
|
$backward_hours = $this->request->variable('backward_hours', 0);
|
|
$backward_minutes = $this->request->variable('backward_minutes', 0);
|
|
|
|
// Clear some vars
|
|
$matchday_row = array();
|
|
$error = array();
|
|
$show_delivery_select = true;
|
|
$show_delivery = false;
|
|
|
|
// Grab current season
|
|
if (!$season)
|
|
{
|
|
$season = curr_season();
|
|
}
|
|
|
|
// Grab basic data for select season
|
|
if ($season)
|
|
{
|
|
$sql = 'SELECT *
|
|
FROM ' . FOOTB_SEASONS . '
|
|
ORDER BY season DESC';
|
|
$result = $db->sql_query($sql);
|
|
|
|
$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>';
|
|
if ($selected <> '')
|
|
{
|
|
$season_name = $row['season_name_short'];
|
|
}
|
|
}
|
|
$db->sql_freeresult($result);
|
|
}
|
|
else
|
|
{
|
|
trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
|
|
}
|
|
|
|
// Grab current league
|
|
if (!$league)
|
|
{
|
|
$league = first_league($season, false);
|
|
}
|
|
|
|
// Grab basic data for select league
|
|
if ($league)
|
|
{
|
|
$sql = 'SELECT *
|
|
FROM ' . FOOTB_LEAGUES . "
|
|
WHERE season = $season
|
|
ORDER BY league ASC";
|
|
$result = $db->sql_query($sql);
|
|
|
|
$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>';
|
|
if ($selected <> '')
|
|
{
|
|
$league_matchdays = $row['matchdays'];
|
|
$league_name = $row['league_name'];
|
|
$league_type = $row['league_type'];
|
|
$edit_delivery = !$row['bet_in_time'];
|
|
$ko_league = ($row['league_type'] == LEAGUE_KO) ? true : false;
|
|
}
|
|
}
|
|
$db->sql_freeresult($result);
|
|
}
|
|
else
|
|
{
|
|
trigger_error(sprintf($user->lang['NO_LEAGUE'], $season) . adm_back_link($this->u_action . "&s=$season"), E_USER_WARNING);
|
|
}
|
|
|
|
// Grab basic data for matchday, if matchday is set and exists
|
|
if ($matchday)
|
|
{
|
|
$sql = 'SELECT *
|
|
FROM ' . FOOTB_MATCHDAYS . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND matchday = $matchday";
|
|
$result = $db->sql_query($sql);
|
|
$matchday_row = $db->sql_fetchrow($result);
|
|
$db->sql_freeresult($result);
|
|
}
|
|
|
|
// Which page?
|
|
switch ($action)
|
|
{
|
|
case 'update_delivery':
|
|
$show_delivery_select = false;
|
|
$count_updates = 0;
|
|
$sql = "SELECT
|
|
matchday
|
|
FROM " . FOOTB_MATCHDAYS . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
ORDER BY matchday ASC";
|
|
$result = $db->sql_query($sql);
|
|
$rows_matchdays = $db->sql_fetchrowset($result);
|
|
$db->sql_freeresult($result);
|
|
foreach ($rows_matchdays as $row_matchday)
|
|
{
|
|
$sql_ary = array();
|
|
$matchday = $row_matchday['matchday'];
|
|
if ($this->request->variable('delivery_' . $matchday . '_1', false))
|
|
{
|
|
$sql_ary['delivery_date'] = $this->request->variable('new_delivery_' . $matchday . '_1', '');
|
|
}
|
|
if ($this->request->variable('delivery_' . $matchday . '_2', ''))
|
|
{
|
|
$sql_ary['delivery_date_2'] = $this->request->variable('new_delivery_' . $matchday . '_2', '');
|
|
}
|
|
if ($this->request->variable('delivery_' . $matchday . '_3', ''))
|
|
{
|
|
$sql_ary['delivery_date_3'] = $this->request->variable('new_delivery_' . $matchday . '_3', '');
|
|
}
|
|
if ( sizeof($sql_ary) )
|
|
{
|
|
$count_updates = $count_updates + sizeof($sql_ary);
|
|
$sql = 'UPDATE ' . FOOTB_MATCHDAYS . '
|
|
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND matchday = $matchday";
|
|
$db->sql_query($sql);
|
|
}
|
|
}
|
|
if ($count_updates)
|
|
{
|
|
trigger_error(sprintf($user->lang['UPDATE_DELIVER' . (($count_updates == 1) ? '' : 'IES')], $count_updates) . adm_back_link($this->u_action . "&s=$season&l=$league"));
|
|
}
|
|
else
|
|
{
|
|
trigger_error($user->lang['NO_DELIVERIES_UPDATED'] . adm_back_link($this->u_action . "&s=$season&l=$league"));
|
|
}
|
|
break;
|
|
case 'show_delivery':
|
|
$show_delivery_select = false;
|
|
$show_delivery = true;
|
|
$lang_dates = $user->lang['datetime'];
|
|
$sql = "(SELECT md.matchday,
|
|
1 AS number,
|
|
md.delivery_date,
|
|
CASE DATE_FORMAT(md.delivery_date,'%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 AS delivery_date_day,
|
|
DATE_FORMAT(DATE_SUB(agg.min_delivery_date, INTERVAL '" . $backward_days . ' ' . $backward_hours . ':' . sprintf('%02d', $backward_minutes) . "' DAY_MINUTE),'%Y-%m-%d %H:%i:%s') AS new_delivery_date,
|
|
CASE DATE_FORMAT(DATE_SUB(agg.min_delivery_date, INTERVAL '" . $backward_days . ' ' . $backward_hours . ':' . sprintf('%02d', $backward_minutes) . "' DAY_MINUTE), '%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 AS new_delivery_day
|
|
FROM " . FOOTB_MATCHDAYS . " AS md
|
|
INNER JOIN (SELECT season, league, matchday, min(match_datetime) AS min_delivery_date
|
|
FROM " . FOOTB_MATCHES . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND status = 0
|
|
GROUP BY season, league, matchday) AS agg
|
|
WHERE md.season = agg.season
|
|
AND md.league = agg.league
|
|
AND md.matchday = agg.matchday)
|
|
UNION
|
|
(SELECT md2.matchday,
|
|
2 AS number,
|
|
md2.delivery_date_2 AS delivery_date,
|
|
CASE DATE_FORMAT(md2.delivery_date_2,'%w')
|
|
WHEN 0 THEN '" . $lang_dates['Sun'] . "'
|
|
WHEN 1 THEN '" . $lang_dates['Mon'] . "'
|
|
WHEN 2 THEN '" . $lang_dates['Tue'] . "'
|
|
WHEN 3 THEN '" . $lang_dates['Wed'] . "'
|
|
WHEN 4 THEN '" . $lang_dates['Thu'] . "'
|
|
WHEN 5 THEN '" . $lang_dates['Fri'] . "'
|
|
WHEN 6 THEN '" . $lang_dates['Sat'] . "'
|
|
ELSE 'Error'
|
|
END AS delivery_date_day,
|
|
DATE_FORMAT(DATE_SUB(agg2.min_delivery_date_2, INTERVAL '" . $backward_days . ' ' . $backward_hours . ':' . sprintf('%02d', $backward_minutes) . "' DAY_MINUTE),'%Y-%m-%d %H:%i:%s') AS new_delivery_date,
|
|
CASE DATE_FORMAT(DATE_SUB(agg2.min_delivery_date_2, INTERVAL '" . $backward_days . ' ' . $backward_hours . ':' . sprintf('%02d', $backward_minutes) . "' DAY_MINUTE), '%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 AS new_delivery_day
|
|
FROM " . FOOTB_MATCHDAYS . " AS md2
|
|
INNER JOIN (SELECT season, league, matchday, min(match_datetime) AS min_delivery_date_2
|
|
FROM " . FOOTB_MATCHES . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND status = -1
|
|
GROUP BY season, league, matchday) AS agg2
|
|
WHERE md2.season = agg2.season
|
|
AND md2.league = agg2.league
|
|
AND md2.matchday = agg2.matchday)
|
|
UNION
|
|
(SELECT md3.matchday,
|
|
3 AS number,
|
|
md3.delivery_date_3 AS delivery_date,
|
|
CASE DATE_FORMAT(md3.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 AS delivery_date_day,
|
|
DATE_FORMAT(DATE_SUB(agg3.min_delivery_date_3, INTERVAL '" . $backward_days . ' ' . $backward_hours . ':' . sprintf('%02d', $backward_minutes) . "' DAY_MINUTE),'%Y-%m-%d %H:%i:%s') AS new_delivery_date,
|
|
CASE DATE_FORMAT(DATE_SUB(agg3.min_delivery_date_3, INTERVAL '" . $backward_days . ' ' . $backward_hours . ':' . sprintf('%02d', $backward_minutes) . "' DAY_MINUTE), '%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 AS new_delivery_day
|
|
FROM " . FOOTB_MATCHDAYS . " AS md3
|
|
INNER JOIN (SELECT season, league, matchday, min(match_datetime) AS min_delivery_date_3
|
|
FROM " . FOOTB_MATCHES . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND status = -2
|
|
GROUP BY season, league, matchday) AS agg3
|
|
WHERE md3.season = agg3.season
|
|
AND md3.league = agg3.league
|
|
AND md3.matchday = agg3.matchday)
|
|
ORDER BY matchday ASC, number ASC";
|
|
$result = $db->sql_query($sql);
|
|
$rows_matchdays = $db->sql_fetchrowset($result);
|
|
$row_number = 0;
|
|
foreach ($rows_matchdays as $row_matchday)
|
|
{
|
|
$row_number++;
|
|
$row_class = (!($row_number % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
|
|
$template->assign_block_vars('delivery', array(
|
|
'ROW_CLASS' => $row_class,
|
|
'MATCHDAY' => $row_matchday['matchday'],
|
|
'NUMBER' => $row_matchday['number'],
|
|
'DELIVERY_ERROR' => ($row_matchday['delivery_date'] > $row_matchday['new_delivery_date']) ? true : false,
|
|
'DELIVERY_DATE_DAY' => $row_matchday['delivery_date_day'],
|
|
'DELIVERY_DATE' => $row_matchday['delivery_date'],
|
|
'NEW_DELIVERY_DAY' => $row_matchday['new_delivery_day'],
|
|
'NEW_DELIVERY' => $row_matchday['new_delivery_date'],
|
|
)
|
|
);
|
|
}
|
|
case 'change_delivery':
|
|
$edit_delivery = false;
|
|
$change_delivery = true;
|
|
$backwards_days_options = '';
|
|
for ($i = 0; $i < 7; $i++)
|
|
{
|
|
$selected = ($i == $backward_days) ? ' selected="selected"' : '';
|
|
$backwards_days_options .= "<option value=\"" . $i . "\"$selected>" . $i . "</option>";
|
|
}
|
|
$backwards_hours_options = '';
|
|
for ($i = 0; $i < 24; $i++)
|
|
{
|
|
$selected = ($i == $backward_hours) ? ' selected="selected"' : '';
|
|
$backwards_hours_options .= "<option value=\"" . $i . "\"$selected>" . $i . "</option>";
|
|
}
|
|
$backwards_minutes_options = '';
|
|
for ($i = 0; $i < 60; $i = $i + 5)
|
|
{
|
|
$selected = ($i == $backward_minutes) ? ' selected="selected"' : '';
|
|
$backwards_minutes_options .= "<option value=\"" . $i . "\"$selected>" . $i . "</option>";
|
|
}
|
|
|
|
$u_back = $this->u_action . "&s=$season&l=$league";
|
|
|
|
$template->assign_vars(array(
|
|
'S_EDIT' => false,
|
|
'S_CHANGE_DELIVERY' => true,
|
|
'S_SHOW_DELIVERY_SELECT' => $show_delivery_select,
|
|
'S_SHOW_DELIVERY' => $show_delivery,
|
|
'S_BACKWARD_DAYS_OPTIONS' => $backwards_days_options,
|
|
'S_BACKWARD_HOURS_OPTIONS' => $backwards_hours_options,
|
|
'S_BACKWARD_MINUTES_OPTIONS' => $backwards_minutes_options,
|
|
'S_VERSION_NO' => $this->config['football_version'],
|
|
'SEASON' => $season,
|
|
'SEASON_NAME' => $season_name,
|
|
'LEAGUE' => $league,
|
|
'LEAGUE_NAME' => $league_name,
|
|
'U_BACK' => $u_back,
|
|
'U_ACTION' => "{$this->u_action}&action=$action&s=$season&l=$league",
|
|
)
|
|
);
|
|
return;
|
|
break;
|
|
case 'delete':
|
|
if (!$season)
|
|
{
|
|
trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
|
|
}
|
|
|
|
if (!$league)
|
|
{
|
|
trigger_error($user->lang['NO_LEAGUE'] . adm_back_link($this->u_action . "&s=$season"), E_USER_WARNING);
|
|
}
|
|
|
|
if (!$matchday)
|
|
{
|
|
trigger_error($user->lang['NO_MATCHDAY'] . adm_back_link($this->u_action . "&s=$season&l=$league"), E_USER_WARNING);
|
|
}
|
|
|
|
if (confirm_box(true))
|
|
{
|
|
$error = '';
|
|
|
|
if (!$auth->acl_get('a_football_delete'))
|
|
{
|
|
trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action . "&s=$season&l=$league"), E_USER_WARNING);
|
|
}
|
|
if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete'])
|
|
{
|
|
trigger_error($user->lang['MATCHDAYS_NO_DELETE'] . adm_back_link($this->u_action . "&s=$season&l=$league"), E_USER_WARNING);
|
|
}
|
|
|
|
// Delete matchday
|
|
$sql = 'DELETE FROM ' . FOOTB_MATCHDAYS . "
|
|
WHERE season = $season AND league = $league AND matchday = $matchday";
|
|
$db->sql_query($sql);
|
|
|
|
// Delete bets
|
|
$sql = 'DELETE FROM ' . FOOTB_BETS . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND match_no IN
|
|
(SELECT DISTINCT
|
|
match_no
|
|
FROM " . FOOTB_MATCHES . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND matchday = $matchday)";
|
|
$db->sql_query($sql);
|
|
|
|
// Delete matches
|
|
$sql = 'DELETE FROM ' . FOOTB_MATCHES . "
|
|
WHERE season = $season AND league = $league AND matchday = $matchday";
|
|
$db->sql_query($sql);
|
|
|
|
trigger_error($user->lang['MATCHDAY_DELETED'] . adm_back_link($this->u_action . "&s=$season&l=$league"));
|
|
}
|
|
else
|
|
{
|
|
confirm_box(false, sprintf($user->lang['MATCHDAY_CONFIRM_DELETE'], $matchday, $season), build_hidden_fields(array(
|
|
's' => $season,
|
|
'l' => $league,
|
|
'm' => $matchday,
|
|
'mode' => $mode,
|
|
'action' => $action))
|
|
);
|
|
}
|
|
break;
|
|
case 'remove':
|
|
if (!$season)
|
|
{
|
|
trigger_error($user->lang['NO_SEASON'] . adm_back_link($this->u_action), E_USER_WARNING);
|
|
}
|
|
|
|
if (!$league)
|
|
{
|
|
trigger_error($user->lang['NO_LEAGUE'] . adm_back_link($this->u_action . "&s=$season"), E_USER_WARNING);
|
|
}
|
|
|
|
if (confirm_box(true))
|
|
{
|
|
$error = '';
|
|
|
|
if (!$auth->acl_get('a_football_delete'))
|
|
{
|
|
trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action . "&s=$season&l=$league"), E_USER_WARNING);
|
|
}
|
|
if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete'])
|
|
{
|
|
trigger_error($user->lang['MATCHDAYS_NO_DELETE'] . adm_back_link($this->u_action . "&s=$season&l=$league"), E_USER_WARNING);
|
|
}
|
|
|
|
// Delete matchday
|
|
$sql = 'DELETE FROM ' . FOOTB_MATCHDAYS . "
|
|
WHERE season = $season AND league = $league AND matchday > $league_matchdays";
|
|
$db->sql_query($sql);
|
|
|
|
// Delete bets
|
|
$sql = 'DELETE FROM ' . FOOTB_BETS . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND match_no IN
|
|
(SELECT DISTINCT
|
|
match_no
|
|
FROM " . FOOTB_MATCHES . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND matchday > $league_matchdays)";
|
|
$db->sql_query($sql);
|
|
|
|
// Delete matches
|
|
$sql = 'DELETE FROM ' . FOOTB_MATCHES . "
|
|
WHERE season = $season AND league = $league AND matchday > $league_matchdays";
|
|
$db->sql_query($sql);
|
|
|
|
trigger_error($user->lang['MATCHDAYS_REMOVED'] . adm_back_link($this->u_action . "&s=$season&l=$league"));
|
|
}
|
|
else
|
|
{
|
|
confirm_box(false, sprintf($user->lang['MATCHDAY_CONFIRM_REMOVE'], $season), build_hidden_fields(array(
|
|
's' => $season,
|
|
'l' => $league,
|
|
'm' => $matchday,
|
|
'mode' => $mode,
|
|
'action' => $action))
|
|
);
|
|
}
|
|
break;
|
|
|
|
case 'add':
|
|
$sql = "SELECT
|
|
matchday
|
|
FROM " . FOOTB_MATCHDAYS . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
ORDER BY matchday ASC";
|
|
$result = $db->sql_query($sql);
|
|
$rows_matchdays = $db->sql_fetchrowset($result);
|
|
$existing_matchdays = sizeof($rows_matchdays);
|
|
$db->sql_freeresult($result);
|
|
if ($existing_matchdays < $league_matchdays)
|
|
{
|
|
$last_matchday = 0;
|
|
$count_updates = 0;
|
|
if ($existing_matchdays > 0)
|
|
{
|
|
foreach ($rows_matchdays as $row_exist)
|
|
{
|
|
if ($last_matchday + 1 < $row_exist['matchday'])
|
|
{
|
|
for ( $i = $last_matchday + 1; $i < $row_exist['matchday']; $i++ )
|
|
{
|
|
$count_updates++;
|
|
$sql_ary = array(
|
|
'season' => (int) $season,
|
|
'league' => (int) $league,
|
|
'matchday' => (int) $i,
|
|
'status' => 0,
|
|
'delivery_date' => '',
|
|
'delivery_date_2' => '',
|
|
'delivery_date_3' => '',
|
|
'matchday_name' => '',
|
|
'matches' => 0,
|
|
);
|
|
$sql = 'INSERT INTO ' . FOOTB_MATCHDAYS . ' ' . $db->sql_build_array('INSERT', $sql_ary);
|
|
$db->sql_query($sql);
|
|
}
|
|
}
|
|
$last_matchday = $row_exist['matchday'];
|
|
}
|
|
for ( $i = $last_matchday + 1; $i <= $league_matchdays; $i++ )
|
|
{
|
|
$count_updates++;
|
|
$sql_ary = array(
|
|
'season' => (int) $season,
|
|
'league' => (int) $league,
|
|
'matchday' => (int) $i,
|
|
'status' => 0,
|
|
'delivery_date' => '',
|
|
'delivery_date_2' => '',
|
|
'delivery_date_3' => '',
|
|
'matchday_name' => '',
|
|
'matches' => 0,
|
|
);
|
|
|
|
$sql = 'INSERT INTO ' . FOOTB_MATCHDAYS . ' ' . $db->sql_build_array('INSERT', $sql_ary);
|
|
$db->sql_query($sql);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for ( $i = 1; $i <= $league_matchdays; $i++ )
|
|
{
|
|
$count_updates++;
|
|
$sql_ary = array(
|
|
'season' => (int) $season,
|
|
'league' => (int) $league,
|
|
'matchday' => (int) $i,
|
|
'status' => 0,
|
|
'delivery_date' => '',
|
|
'delivery_date_2' => '',
|
|
'delivery_date_3' => '',
|
|
'matchday_name' => '',
|
|
'matches' => 0,
|
|
);
|
|
|
|
$sql = 'INSERT INTO ' . FOOTB_MATCHDAYS . ' ' . $db->sql_build_array('INSERT', $sql_ary);
|
|
$db->sql_query($sql);
|
|
}
|
|
}
|
|
$message = ($count_updates > 1) ? 'MATCHDAYS_CREATED' : 'MATCHDAY_CREATED';
|
|
trigger_error(sprintf($user->lang[$message],$count_updates) . adm_back_link($this->u_action . "&s=$season&l=$league"));
|
|
}
|
|
else
|
|
{
|
|
trigger_error($user->lang['NO_MORE_MATCHDAYS'] . adm_back_link($this->u_action . "&s=$season&l=$league"));
|
|
}
|
|
// No break for edit add
|
|
case 'edit':
|
|
$data = array();
|
|
$error_msg = array();
|
|
|
|
if (!sizeof($error))
|
|
{
|
|
if ($action == 'edit' && !$matchday)
|
|
{
|
|
trigger_error($user->lang['NO_MATCHDAY'] . adm_back_link($this->u_action . "&s=$season&l=$league"), E_USER_WARNING);
|
|
}
|
|
$data = array(
|
|
'dday1_day' => 0,
|
|
'dday1_month' => 0,
|
|
'dday1_year' => 0,
|
|
'dday1_hour' => 0,
|
|
'dday1_min' => 0,
|
|
'dday2_day' => 0,
|
|
'dday2_month' => 0,
|
|
'dday2_year' => 0,
|
|
'dday2_hour' => 0,
|
|
'dday2_min' => 0,
|
|
'dday3_day' => 0,
|
|
'dday3_month' => 0,
|
|
'dday3_year' => 0,
|
|
'dday3_hour' => 0,
|
|
'dday3_min' => 0,
|
|
);
|
|
if ($matchday_row['delivery_date'])
|
|
{
|
|
list($data['dday1_date'], $data['dday1_time']) = explode(' ', $matchday_row['delivery_date']);
|
|
list($data['dday1_year'], $data['dday1_month'], $data['dday1_day']) = explode('-', $data['dday1_date']);
|
|
list($data['dday1_hour'], $data['dday1_min'], $data['dday1_sec']) = explode(':', $data['dday1_time']);
|
|
}
|
|
|
|
$data['dday1_day'] = $this->request->variable('dday1_day', $data['dday1_day']);
|
|
$data['dday1_month'] = $this->request->variable('dday1_month', $data['dday1_month']);
|
|
$data['dday1_year'] = $this->request->variable('dday1_year', $data['dday1_year']);
|
|
$data['dday1_hour'] = $this->request->variable('dday1_hour', $data['dday1_hour']);
|
|
$data['dday1_min'] = $this->request->variable('dday1_min', $data['dday1_min']);
|
|
$data['dday1_sec'] = '00';
|
|
$data['dday1_date'] = sprintf('%02d-%02d-%04d', $data['dday1_day'], $data['dday1_month'], $data['dday1_year']);
|
|
$data['dday1_time'] = sprintf('%02d:%02d:%02d', $data['dday1_hour'], $data['dday1_min'], $data['dday1_sec']);
|
|
$matchday_row['delivery_date'] = sprintf('%04d-%02d-%02d', $data['dday1_year'], $data['dday1_month'], $data['dday1_day']) . ' ' . $data['dday1_time'];
|
|
|
|
if ($matchday_row['delivery_date_2'])
|
|
{
|
|
list($data['dday2_date'], $data['dday2_time']) = explode(' ', $matchday_row['delivery_date_2']);
|
|
list($data['dday2_year'], $data['dday2_month'], $data['dday2_day']) = explode('-', $data['dday2_date']);
|
|
list($data['dday2_hour'], $data['dday2_min'], $data['dday2_sec']) = explode(':', $data['dday2_time']);
|
|
}
|
|
|
|
$data['dday2_day'] = $this->request->variable('dday2_day', $data['dday2_day']);
|
|
$data['dday2_month'] = $this->request->variable('dday2_month', $data['dday2_month']);
|
|
$data['dday2_year'] = $this->request->variable('dday2_year', $data['dday2_year']);
|
|
$data['dday2_hour'] = $this->request->variable('dday2_hour', $data['dday2_hour']);
|
|
$data['dday2_min'] = $this->request->variable('dday2_min', $data['dday2_min']);
|
|
$data['dday2_sec'] = '00';
|
|
if (!$data['dday2_day'] and !$data['dday2_month'] and !$data['dday2_year'])
|
|
{
|
|
$matchday_row['delivery_date_2'] = '';
|
|
$data['dday2_date'] = '01-01-1980';
|
|
}
|
|
else
|
|
{
|
|
$data['dday2_date'] = sprintf('%02d-%02d-%04d', $data['dday2_day'], $data['dday2_month'], $data['dday2_year']);
|
|
$data['dday2_time'] = sprintf('%02d:%02d:%02d', $data['dday2_hour'], $data['dday2_min'], $data['dday2_sec']);
|
|
$matchday_row['delivery_date_2'] = sprintf('%04d-%02d-%02d', $data['dday2_year'], $data['dday2_month'], $data['dday2_day']) .
|
|
' ' . $data['dday2_time'];
|
|
|
|
}
|
|
|
|
if ($matchday_row['delivery_date_3'])
|
|
{
|
|
list($data['dday3_date'], $data['dday3_time']) = explode(' ', $matchday_row['delivery_date_3']);
|
|
list($data['dday3_year'], $data['dday3_month'], $data['dday3_day']) = explode('-', $data['dday3_date']);
|
|
list($data['dday3_hour'], $data['dday3_min'], $data['dday3_sec']) = explode(':', $data['dday3_time']);
|
|
}
|
|
|
|
$data['dday3_day'] = $this->request->variable('dday3_day', $data['dday3_day']);
|
|
$data['dday3_month'] = $this->request->variable('dday3_month', $data['dday3_month']);
|
|
$data['dday3_year'] = $this->request->variable('dday3_year', $data['dday3_year']);
|
|
$data['dday3_hour'] = $this->request->variable('dday3_hour', $data['dday3_hour']);
|
|
$data['dday3_min'] = $this->request->variable('dday3_min', $data['dday3_min']);
|
|
$data['dday3_sec'] = '00';
|
|
if (!$data['dday3_day'] and !$data['dday3_month'] and !$data['dday3_year'])
|
|
{
|
|
$matchday_row['delivery_date_3'] = '';
|
|
$data['dday3_date'] = '01-01-1980';
|
|
}
|
|
else
|
|
{
|
|
$data['dday3_date'] = sprintf('%02d-%02d-%04d', $data['dday3_day'], $data['dday3_month'], $data['dday3_year']);
|
|
$data['dday3_time'] = sprintf('%02d:%02d:%02d', $data['dday3_hour'], $data['dday3_min'], $data['dday3_sec']);
|
|
$matchday_row['delivery_date_3'] = sprintf('%04d-%02d-%02d', $data['dday3_year'], $data['dday3_month'], $data['dday3_day']) .
|
|
' ' . $data['dday3_time'];
|
|
}
|
|
|
|
// Did we submit?
|
|
if ($update)
|
|
{
|
|
if (!check_form_key($form_key))
|
|
{
|
|
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action . "&s=$season&l=$league"), E_USER_WARNING);
|
|
}
|
|
|
|
$matchday_row['matchday_name'] = utf8_normalize_nfc($this->request->variable('matchday_name', '', true));
|
|
$matchday_row['status'] = utf8_normalize_nfc($this->request->variable('matchday_status', '', true));
|
|
$matchday_row['matches'] = utf8_normalize_nfc($this->request->variable('matchday_matches', $matchday_row['matches'], true));
|
|
|
|
if ($data['dday1_day'] <> '--' and $data['dday1_month'] <> '--' and $data['dday1_year'] <> '--')
|
|
{
|
|
$delivery_timestamp = mktime($data['dday1_hour'], $data['dday1_min'], 0, $data['dday1_month'], $data['dday1_day'], $data['dday1_year']);
|
|
$local_board_time = time() + (($this->config['board_timezone'] - $this->config['football_host_timezone']) * 3600);
|
|
if ($delivery_timestamp > $local_board_time AND $matchday_row['status'] == 0)
|
|
{
|
|
// check if delivery is before all open matches
|
|
$sql = "SELECT
|
|
match_no
|
|
FROM " . FOOTB_MATCHES . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND matchday = $matchday
|
|
AND status = 0
|
|
AND match_datetime < FROM_UNIXTIME('$delivery_timestamp')";
|
|
$result = $db->sql_query($sql);
|
|
$open_matches = '';
|
|
while ($rows_open = $db->sql_fetchrow($result))
|
|
{
|
|
$open_matches .= ($open_matches == '') ? $rows_open['match_no'] : ', ' . $rows_open['match_no'];
|
|
}
|
|
$db->sql_freeresult($result);
|
|
if ($open_matches <> '')
|
|
{
|
|
$error[] = (strpos($open_matches, ',')) ? sprintf($user->lang['OPEN_MATCHES'], $open_matches) :
|
|
sprintf($user->lang['OPEN_MATCH'], $open_matches);
|
|
}
|
|
}
|
|
|
|
if ($delivery_timestamp > $local_board_time AND ($matchday_row['status'] == 1 OR $matchday_row['status'] == 2))
|
|
{
|
|
$sql_ary = array(
|
|
'status' => 0,
|
|
);
|
|
// set all matches after delivery on status 0
|
|
$sql = 'UPDATE ' . FOOTB_MATCHES . '
|
|
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND matchday = $matchday
|
|
AND status IN (1, 2)
|
|
AND match_datetime >= FROM_UNIXTIME('$delivery_timestamp')";
|
|
$db->sql_query($sql);
|
|
// check on open matches
|
|
$sql = "SELECT
|
|
match_no
|
|
FROM " . FOOTB_MATCHES . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
AND matchday = $matchday
|
|
AND status = 0";
|
|
$result = $db->sql_query($sql);
|
|
if ($rows_open = $db->sql_fetchrow($result))
|
|
{
|
|
// reopen matchday
|
|
$matchday_row['status'] = 0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error[] = $user->lang['NO_DELIVERY'];
|
|
}
|
|
|
|
if ($data['dday2_day'] <> '--' and $data['dday2_month'] <> '--' and $data['dday2_year'] <> '--')
|
|
{
|
|
$delivery2_timestamp = mktime($data['dday2_hour'], $data['dday2_min'], 0, $data['dday2_month'], $data['dday2_day'], $data['dday2_year']);
|
|
if ($delivery2_timestamp < $delivery_timestamp)
|
|
{
|
|
$error[] = $user->lang['TOO_SMALL_DELIVERY2'];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$delivery2_timestamp = 0;
|
|
}
|
|
|
|
if ($data['dday3_day'] <> '--' and $data['dday3_month'] <> '--' and $data['dday3_year'] <> '--')
|
|
{
|
|
if ($delivery2_timestamp == 0)
|
|
{
|
|
$error[] = $user->lang['NO_DELIVERY2'];
|
|
}
|
|
$delivery3_timestamp = mktime($data['dday3_hour'], $data['dday3_min'], 0, $data['dday3_month'], $data['dday3_day'], $data['dday3_year']);
|
|
if ($delivery3_timestamp < $delivery2_timestamp)
|
|
{
|
|
$error[] = $user->lang['TOO_SMALL_DELIVERY3'];
|
|
}
|
|
}
|
|
|
|
if ($ko_league)
|
|
{
|
|
$data['matches'] = $matchday_row['matches'];
|
|
}
|
|
else
|
|
{
|
|
$data['matches'] = '';
|
|
}
|
|
if (!sizeof($error))
|
|
{
|
|
$sql_ary = array(
|
|
'season' => (int) $season,
|
|
'league' => (int) $league,
|
|
'matchday' => (int) $matchday,
|
|
'status' => $matchday_row['status'],
|
|
'delivery_date' => $matchday_row['delivery_date'],
|
|
'delivery_date_2' => strlen($matchday_row['delivery_date_2']) ? $matchday_row['delivery_date_2'] : '',
|
|
'delivery_date_3' => strlen($matchday_row['delivery_date_3']) ? $matchday_row['delivery_date_3'] : '',
|
|
'matchday_name' => strlen($matchday_row['matchday_name']) ? $matchday_row['matchday_name'] : '',
|
|
'matches' => strlen($matchday_row['matches']) ? $matchday_row['matches'] : 0,
|
|
);
|
|
|
|
$var_ary = array(
|
|
'dday1_date' => array('date', false),
|
|
'dday2_date' => array('date', false),
|
|
'dday3_date' => array('date', false),
|
|
'matches' => array('num', true, 1,99),
|
|
);
|
|
if (!($error_vals = validate_data($data, $var_ary)))
|
|
{
|
|
$sql = 'UPDATE ' . FOOTB_MATCHDAYS . '
|
|
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
|
|
WHERE season = $season AND league = $league AND matchday = $matchday";
|
|
$db->sql_query($sql);
|
|
trigger_error($user->lang['MATCHDAY_UPDATED'] . adm_back_link($this->u_action . "&s=$season&l=$league"));
|
|
}
|
|
else
|
|
{
|
|
foreach ($error_vals as $error_val)
|
|
{
|
|
$error_msg[] = $user->lang[$error_val];
|
|
}
|
|
$error[] = $user->lang['MATCHDAY_UPDATE_FAILED'];
|
|
$error = array_merge($error, $error_msg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$s_delivery1_day_options = '<option value="0"' . ((!$data['dday1_day']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = 1; $i < 32; $i++)
|
|
{
|
|
$selected = ($i == $data['dday1_day']) ? ' selected="selected"' : '';
|
|
$s_delivery1_day_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
|
|
$s_delivery1_month_options = '<option value="0"' . ((!$data['dday1_month']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = 1; $i < 13; $i++)
|
|
{
|
|
$selected = ($i == $data['dday1_month']) ? ' selected="selected"' : '';
|
|
$s_delivery1_month_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
$s_delivery1_year_options = '';
|
|
|
|
$s_delivery1_year_options = '<option value="0"' . ((!$data['dday1_year']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = $season - 1 ; $i <= $season; $i++)
|
|
{
|
|
$selected = ($i == $data['dday1_year']) ? ' selected="selected"' : '';
|
|
$s_delivery1_year_options .= "<option value=\"$i\"$selected>$i</option>";
|
|
}
|
|
|
|
$s_delivery1_hour_options = '';
|
|
if (!$data['dday1_hour'])
|
|
{
|
|
$data['dday1_hour'] = 0;
|
|
}
|
|
for ($i = 0; $i < 24; $i++)
|
|
{
|
|
$selected = ($i == $data['dday1_hour']) ? ' selected="selected"' : '';
|
|
$s_delivery1_hour_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
|
|
$s_delivery1_min_options = '';
|
|
if (!$data['dday1_min'])
|
|
{
|
|
$data['dday1_min'] = 0;
|
|
}
|
|
for ($i = 0; $i < 12; $i++)
|
|
{
|
|
$selected = (($i * 5) == $data['dday1_min']) ? ' selected="selected"' : '';
|
|
$s_delivery1_min_options .= "<option value=\"" . sprintf('%02d',($i * 5)) . "\"$selected>" . sprintf('%02d',($i * 5)) . "</option>";
|
|
}
|
|
|
|
$s_delivery2_day_options = '<option value="0"' . ((!$data['dday2_day']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = 1; $i < 32; $i++)
|
|
{
|
|
$selected = ($i == $data['dday2_day']) ? ' selected="selected"' : '';
|
|
$s_delivery2_day_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
|
|
$s_delivery2_month_options = '<option value="0"' . ((!$data['dday2_month']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = 1; $i < 13; $i++)
|
|
{
|
|
$selected = ($i == $data['dday2_month']) ? ' selected="selected"' : '';
|
|
$s_delivery2_month_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
$s_delivery2_year_options = '';
|
|
|
|
$s_delivery2_year_options = '<option value="0"' . ((!$data['dday2_year']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = $season - 1 ; $i <= $season; $i++)
|
|
{
|
|
$selected = ($i == $data['dday2_year']) ? ' selected="selected"' : '';
|
|
$s_delivery2_year_options .= "<option value=\"$i\"$selected>$i</option>";
|
|
}
|
|
|
|
$s_delivery2_hour_options = '';
|
|
if (!$data['dday2_hour'])
|
|
{
|
|
$data['dday2_hour'] = 0;
|
|
}
|
|
for ($i = 0; $i < 24; $i++)
|
|
{
|
|
$selected = ($i == $data['dday2_hour']) ? ' selected="selected"' : '';
|
|
$s_delivery2_hour_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
|
|
$s_delivery2_min_options = '';
|
|
if (!$data['dday2_min'])
|
|
{
|
|
$data['dday2_min'] = 0;
|
|
}
|
|
for ($i = 0; $i < 12; $i++)
|
|
{
|
|
$selected = (($i * 5) == $data['dday2_min']) ? ' selected="selected"' : '';
|
|
$s_delivery2_min_options .= "<option value=\"" . sprintf('%02d',($i * 5)) . "\"$selected>" . sprintf('%02d',($i * 5)) . "</option>";
|
|
}
|
|
|
|
$s_delivery3_day_options = '<option value="0"' . ((!$data['dday3_day']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = 1; $i < 32; $i++)
|
|
{
|
|
$selected = ($i == $data['dday3_day']) ? ' selected="selected"' : '';
|
|
$s_delivery3_day_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
|
|
$s_delivery3_month_options = '<option value="0"' . ((!$data['dday3_month']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = 1; $i < 13; $i++)
|
|
{
|
|
$selected = ($i == $data['dday3_month']) ? ' selected="selected"' : '';
|
|
$s_delivery3_month_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
$s_delivery3_year_options = '';
|
|
|
|
$s_delivery3_year_options = '<option value="0"' . ((!$data['dday3_year']) ? ' selected="selected"' : '') . '>--</option>';
|
|
for ($i = $season - 1 ; $i <= $season; $i++)
|
|
{
|
|
$selected = ($i == $data['dday3_year']) ? ' selected="selected"' : '';
|
|
$s_delivery3_year_options .= "<option value=\"$i\"$selected>$i</option>";
|
|
}
|
|
|
|
$s_delivery3_hour_options = '';
|
|
if (!$data['dday3_hour'])
|
|
{
|
|
$data['dday3_hour'] = 0;
|
|
}
|
|
for ($i = 0; $i < 24; $i++)
|
|
{
|
|
$selected = ($i == $data['dday3_hour']) ? ' selected="selected"' : '';
|
|
$s_delivery3_hour_options .= "<option value=\"" . sprintf('%02d',$i) . "\"$selected>" . sprintf('%02d',$i) . "</option>";
|
|
}
|
|
|
|
$s_delivery3_min_options = '';
|
|
if (!$data['dday3_min'])
|
|
{
|
|
$data['dday3_min'] = 0;
|
|
}
|
|
for ($i = 0; $i < 12; $i++)
|
|
{
|
|
$selected = (($i * 5) == $data['dday3_min']) ? ' selected="selected"' : '';
|
|
$s_delivery3_min_options .= "<option value=\"" . sprintf('%02d',($i * 5)) . "\"$selected>" . sprintf('%02d',($i * 5)) . "</option>";
|
|
}
|
|
|
|
|
|
$status_options = '';
|
|
for ( $i = 0; $i < 4; $i++ )
|
|
{
|
|
$selected = ($matchday_row['status'] == $i) ? ' selected="selected"' : '';
|
|
$status_options .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
|
|
}
|
|
|
|
// check if matches created
|
|
$existing_matches_on_matchday = count_existing_matches($season, $league, $matchday);
|
|
|
|
$u_back = $this->u_action . "&s=$season&l=$league";
|
|
|
|
$template->assign_vars(array(
|
|
'S_EDIT' => true,
|
|
'S_ADD_MATCHDAY' => ($action == 'add') ? true : false,
|
|
'S_ERROR' => (sizeof($error)) ? true : false,
|
|
'S_KO_LEAGUE' => $ko_league,
|
|
'S_EDIT_DELIVERY' => $edit_delivery,
|
|
'S_UPDATE_DELIVERY' => false,
|
|
'S_EDIT_MATCHES' => ($existing_matches_on_matchday) ? false : true,
|
|
'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '',
|
|
'SEASON' => $season,
|
|
'SEASON_NAME' => $season_name,
|
|
'LEAGUE' => $league,
|
|
'LEAGUE_NAME' => $league_name,
|
|
'MATCHDAY' => $matchday,
|
|
'MATCHDAY_NAME' => $matchday_row['matchday_name'],
|
|
'MATCHDAY_STATUS' => $matchday_row['status'],
|
|
'MATCHDAY_MATCHES' => $matchday_row['matches'],
|
|
'MATCHDAY_DEL1' => $matchday_row['delivery_date'],
|
|
'MATCHDAY_DEL2' => $matchday_row['delivery_date_2'],
|
|
'MATCHDAY_DEL3' => $matchday_row['delivery_date_3'],
|
|
'S_DELIVERY1_DAY_OPTIONS' => $s_delivery1_day_options,
|
|
'S_DELIVERY1_MONTH_OPTIONS' => $s_delivery1_month_options,
|
|
'S_DELIVERY1_YEAR_OPTIONS' => $s_delivery1_year_options,
|
|
'S_DELIVERY1_HOUR_OPTIONS' => $s_delivery1_hour_options,
|
|
'S_DELIVERY1_MIN_OPTIONS' => $s_delivery1_min_options,
|
|
'S_DELIVERY2_DAY_OPTIONS' => $s_delivery2_day_options,
|
|
'S_DELIVERY2_MONTH_OPTIONS' => $s_delivery2_month_options,
|
|
'S_DELIVERY2_YEAR_OPTIONS' => $s_delivery2_year_options,
|
|
'S_DELIVERY2_HOUR_OPTIONS' => $s_delivery2_hour_options,
|
|
'S_DELIVERY2_MIN_OPTIONS' => $s_delivery2_min_options,
|
|
'S_DELIVERY3_DAY_OPTIONS' => $s_delivery3_day_options,
|
|
'S_DELIVERY3_MONTH_OPTIONS' => $s_delivery3_month_options,
|
|
'S_DELIVERY3_YEAR_OPTIONS' => $s_delivery3_year_options,
|
|
'S_DELIVERY3_HOUR_OPTIONS' => $s_delivery3_hour_options,
|
|
'S_DELIVERY3_MIN_OPTIONS' => $s_delivery3_min_options,
|
|
'S_VERSION_NO' => $this->config['football_version'],
|
|
'U_BACK' => $u_back,
|
|
'U_ACTION' => "{$this->u_action}&action=$action&s=$season&l=$league",
|
|
)
|
|
);
|
|
|
|
return;
|
|
break;
|
|
}
|
|
|
|
// Get us all the matchdays
|
|
$lang_dates = $user->lang['datetime'];
|
|
$sql = "SELECT *,
|
|
CONCAT(
|
|
CASE DATE_FORMAT(delivery_date,'%w')
|
|
WHEN 0 THEN '" . $lang_dates['Sun'] . "'
|
|
WHEN 1 THEN '" . $lang_dates['Mon'] . "'
|
|
WHEN 2 THEN '" . $lang_dates['Tue'] . "'
|
|
WHEN 3 THEN '" . $lang_dates['Wed'] . "'
|
|
WHEN 4 THEN '" . $lang_dates['Thu'] . "'
|
|
WHEN 5 THEN '" . $lang_dates['Fri'] . "'
|
|
WHEN 6 THEN '" . $lang_dates['Sat'] . "'
|
|
ELSE 'Error' END,
|
|
DATE_FORMAT(delivery_date,' %d.%m.%y %H:%i')
|
|
) AS match_time,
|
|
CONCAT(
|
|
CASE DATE_FORMAT(delivery_date_2,'%w')
|
|
WHEN 0 THEN '" . $lang_dates['Sun'] . "'
|
|
WHEN 1 THEN '" . $lang_dates['Mon'] . "'
|
|
WHEN 2 THEN '" . $lang_dates['Tue'] . "'
|
|
WHEN 3 THEN '" . $lang_dates['Wed'] . "'
|
|
WHEN 4 THEN '" . $lang_dates['Thu'] . "'
|
|
WHEN 5 THEN '" . $lang_dates['Fri'] . "'
|
|
WHEN 6 THEN '" . $lang_dates['Sat'] . "'
|
|
ELSE 'Error' END,
|
|
DATE_FORMAT(delivery_date_2,' %d.%m.%y %H:%i')
|
|
) AS match_time_2,
|
|
CONCAT(
|
|
CASE DATE_FORMAT(delivery_date_3,'%w')
|
|
WHEN 0 THEN '" . $lang_dates['Sun'] . "'
|
|
WHEN 1 THEN '" . $lang_dates['Mon'] . "'
|
|
WHEN 2 THEN '" . $lang_dates['Tue'] . "'
|
|
WHEN 3 THEN '" . $lang_dates['Wed'] . "'
|
|
WHEN 4 THEN '" . $lang_dates['Thu'] . "'
|
|
WHEN 5 THEN '" . $lang_dates['Fri'] . "'
|
|
WHEN 6 THEN '" . $lang_dates['Sat'] . "'
|
|
ELSE 'Error' END,
|
|
DATE_FORMAT(delivery_date_3,' %d.%m.%y %H:%i')
|
|
) AS match_time_3,
|
|
DATE_FORMAT(delivery_date, '%dd') AS deliveryday,
|
|
DATE_FORMAT(delivery_date, ' %d.%m.%Y um %H:%i ') AS delivery
|
|
FROM " . FOOTB_MATCHDAYS . "
|
|
WHERE season = $season
|
|
AND league = $league
|
|
ORDER BY matchday ASC";
|
|
$result = $db->sql_query($sql);
|
|
$rows_matchdays = $db->sql_fetchrowset($result);
|
|
$existing_matchdays = sizeof($rows_matchdays);
|
|
$db->sql_freeresult($result);
|
|
|
|
$template->assign_vars(array(
|
|
'U_ACTION' => $this->u_action,
|
|
'U_FOOTBALL' => $helper->route('football_main_controller',array('side' => 'bet', 's' => $season, 'l' => $league)),
|
|
'S_SEASON' => $season,
|
|
'S_LEAGUE' => $league,
|
|
'S_SEASON_OPTIONS' => $season_options,
|
|
'S_LEAGUE_OPTIONS' => $league_options,
|
|
'S_MATCHDAY_ADD' => ($league_matchdays > $existing_matchdays) ? true : false,
|
|
'S_MATCHDAYS_REMOVE'=> ($league_matchdays < $existing_matchdays) ? true : false,
|
|
'S_VERSION_NO' => $this->config['football_version'],
|
|
)
|
|
);
|
|
|
|
// Check if the user is allowed to delete a matchday.
|
|
if ($user->data['user_type'] != USER_FOUNDER && $this->config['football_founder_delete'])
|
|
{
|
|
$allow_delete = false;
|
|
}
|
|
else
|
|
{
|
|
$allow_delete = true;
|
|
}
|
|
|
|
$row_number = 0;
|
|
foreach ($rows_matchdays as $row_matchday)
|
|
{
|
|
$row_number++;
|
|
$row_class = (!($row_number % 2)) ? 'bg1 row_light' : 'bg2 row_dark';
|
|
$template->assign_block_vars('matchdays', array(
|
|
'ROW_CLASS' => $row_class,
|
|
'MATCHDAY' => $row_matchday['matchday'],
|
|
'MATCHDAY_NAME' => $row_matchday['matchday_name'],
|
|
'MATCHDAY_STATUS' => $row_matchday['status'],
|
|
'MATCHDAY_DELIVERY' => $row_matchday['match_time'],
|
|
'MATCHDAY_DELIVERY_2' => $row_matchday['match_time_2'],
|
|
'MATCHDAY_DELIVERY_3' => $row_matchday['match_time_3'],
|
|
'U_EDIT' => "{$this->u_action}&action=edit&s=" . $season . "&l=" .$league . "&m=" .$row_matchday['matchday'],
|
|
'U_DELETE' => ($allow_delete) ? "{$this->u_action}&action=delete&s=" . $season . "&l=" . $league . "&m=" . $row_matchday['matchday'] : '',
|
|
)
|
|
);
|
|
}
|
|
}
|
|
}
|
|
?>
|