Version 0.9.7

This commit is contained in:
football
2016-06-12 16:40:06 +02:00
parent caeec03da8
commit 4734d75718
10 changed files with 102 additions and 75 deletions

View File

@@ -45,7 +45,7 @@ $sql = "(SELECT
SUM(IF(eb.extra_no > 0, IF(eb.bet = '', 0, 1), 0)) AS extra_bets_count,
SUM(IF(e.extra_no > 0, 1, 0)) AS extra_count
FROM " . FOOTB_MATCHDAYS . " AS m
JOIN " . FOOTB_LEAGUES . " AS l ON(l.season = m.season AND l.league = 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)
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)
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)
@@ -83,7 +83,7 @@ $sql = "(SELECT
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)
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')
@@ -119,13 +119,49 @@ $sql = "(SELECT
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)
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);

View File

@@ -24,6 +24,7 @@ $sql = 'SELECT s.session_user_id
FROM ' . USERS_TABLE . ' AS u
LEFT JOIN ' . SESSIONS_TABLE . ' AS s ON (u.user_id = s.session_user_id)
WHERE u.user_lastvisit > 0
AND u.user_type IN (0,3)
GROUP BY u.user_id
ORDER BY lastvisit DESC';

View File

@@ -137,7 +137,6 @@ $sql = 'SELECT
AND b.goals_home <> ''
AND b.goals_guest <> ''
AND m.matchday <= $matchday
AND m.status IN (2, 3,5,6)
GROUP BY t.team_id
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";
@@ -234,7 +233,6 @@ $sql = 'SELECT
AND b.goals_home <> ''
AND b.goals_guest <> ''
AND m.matchday >= $form_from
AND m.status IN (2, 3,5,6)
GROUP BY t.team_id
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";
@@ -302,7 +300,6 @@ $sql = 'SELECT
AND b.goals_home <> ''
AND b.goals_guest <> ''
AND m.matchday <= $matchday
AND m.status IN (2, 3,5,6)
GROUP BY t.team_id
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";
@@ -368,7 +365,6 @@ $sql = 'SELECT
AND b.goals_home <> ''
AND b.goals_guest <> ''
AND m.matchday <= $matchday
AND m.status IN (2, 3,5,6)
GROUP BY t.team_id
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";

View File

@@ -87,9 +87,8 @@ class football_remember extends \phpbb\cron\task\base
$season = curr_season();
//Matchdays to close in 24 hours and 24 hours later
$local_board_time = time() + (($this->config['board_timezone'] - $this->config['football_host_timezone']) * 3600);
// shift days to test
$local_board_time = $local_board_time + ($days * 86400);
$local_board_time = time() + ($days * 86400);
if ($mode <> 'test')
{
@@ -137,12 +136,17 @@ class football_remember extends \phpbb\cron\task\base
u.user_id AS userid,
u.user_lang
FROM ' . FOOTB_MATCHES . ' AS m
LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = m.season AND l.league = m.league)
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 ' . PROFILE_FIELDS_DATA_TABLE. ' AS p ON p.user_id = b.user_id
LEFT JOIN ' . USERS_TABLE. " AS u ON u.user_id = b.user_id
WHERE m.season = $season AND m.league = $league AND m.matchday = $matchday
AND ((b.goals_home = '') OR (b.goals_guest = ''))
AND m.status = 0 AND p.pf_footb_rem_f = 1
AND (l.bet_in_time = 0 OR
(l.bet_in_time = 1
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'))))
GROUP BY b.user_id
UNION
SELECT
@@ -151,12 +155,17 @@ class football_remember extends \phpbb\cron\task\base
u.user_id AS userid,
u.user_lang
FROM " . FOOTB_MATCHES . ' AS m
LEFT JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = m.season AND l.league = m.league)
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 ' . PROFILE_FIELDS_DATA_TABLE. ' AS p ON p.user_id = b.user_id
LEFT JOIN ' . USERS_TABLE. " AS u ON u.user_id = b.user_id
WHERE m.season = $season AND m.league = $league AND m.matchday = $matchday
AND ((b.goals_home = '') OR (b.goals_guest = ''))
AND m.status = 0 AND p.pf_footb_rem_s = 1
AND (l.bet_in_time = 0 OR
(l.bet_in_time = 1
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'))))
GROUP BY b.user_id
";
$result = $this->db->sql_query($sql);

View File

@@ -934,14 +934,20 @@ function set_bet_in_time_delivery($season, $league)
function curr_season()
{
global $db, $lang, $user;
$curr_user = $user->data['user_id'];
$user_spec = '';
if ($user->data['user_type']==0 OR $user->data['user_type']==3)
{
$curr_user = $user->data['user_id'];
$user_spec = 'AND b.user_id = ' . $curr_user;
}
$sql = 'SELECT DISTINCT s.season
FROM ' . FOOTB_SEASONS . ' AS s
INNER JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = s.season)
INNER JOIN ' . FOOTB_MATCHDAYS . ' AS m ON (m.season = s.season AND m.league = l.league)
INNER JOIN ' . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.user_id = $curr_user)
INNER JOIN ' . FOOTB_BETS . ' AS b ON (b.season = m.season AND b.league = m.league ' . $user_spec . ')
WHERE m.status IN (0,1,2)
ORDER BY s.season ASC";
ORDER BY s.season ASC';
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
@@ -1017,10 +1023,15 @@ function first_league($season, $complete = true)
function current_league($season)
{
global $db, $lang, $user;
$curr_user = $user->data['user_id'];
$user_spec = '';
if ($user->data['user_type']==0 OR $user->data['user_type']==3)
{
$curr_user = $user->data['user_id'];
$user_spec = 'AND b.user_id = ' . $curr_user;
}
$sql = 'SELECT m.league
FROM ' . FOOTB_MATCHES . ' AS m
INNER JOIN ' . FOOTB_BETS . " AS b ON (b.season = m.season AND b.league = m.league AND b.user_id = $curr_user)
INNER JOIN ' . FOOTB_BETS . ' AS b ON (b.season = m.season AND b.league = m.league ' . $user_spec . ")
WHERE m.season = $season
AND m.status in (0,1,2)
ORDER BY m.match_datetime ASC";
@@ -1710,7 +1721,7 @@ function get_order_team_compare($team_ary, $season, $league, $group, $ranks, $ma
$tmp[] = $team;
}
}
return $tmp;
return (sizeof($tmp) == 0) ? $team_ary: $tmp;
}
/**

View File

@@ -93,7 +93,8 @@ footb_rem_s = Schalter für Versand der Erinnerungsmail an die 2. E-Mail-Adresse
0 => 'Wie aktiviere ich die Erinnerungs-Mail Funktion?',
1 => 'Im Adminbereich muss unter den Tipprunden-Funktionalitäten der Cronjob für die Tipp-Erinnerungsmail aktiviert und der Termin der nächsten Ausführung gesetzt werden.<br />
Der Cron-Job wird beim ersten Zugriff nach diesem Termin ausgeführt und sendet eine Erinnerungs-Mail für die fehlenden Tippabgaben, die im Zeitraum 24-48 Stunden nach dem Cron-Termin liegen.
Falls nicht ausreichend Zugriffe auf die Seite erfolgen, sollte der Cronjob automatisch z.B. von www.cronjob.de durch das Script "cron.php?cron_type=football_remember" gestartet werden.<br />
Falls nicht ausreichend Zugriffe auf die Seite erfolgen, sollte der Cronjob automatisch z.B. von www.cronjob.de durch das Script
"DEINE_URL/cron.php?cron_type=football.football.cron.task.football_remember" gestartet werden.<br />
Das versenden der Email erfolgt nur einmalig. Nach Aufruf des Cronjobs wird der nächste automatisch für den Folgetag eingeplant.
Mit den angehängten parametern "&mode=test&days=n" kann der Versand für die um n Tage versetzte Tippabgabe getestet werden. Dabei werden nur Mails an Board-Email-Adresse versendet.'
),

View File

@@ -120,7 +120,7 @@ $lang = array_merge($lang, array(
'FOOTBALL_REMEMBER_ENABLE_EXPLAIN' => 'Hier kannst Du angeben, ob 1 Tag vor Tippabgabe eine Erinnerungsmail versendet werden soll.',
'FOOTBALL_REMEMBER_NEXT_RUN' => 'Nächster Cronjoblauf für die Tipp-Erinnerungsmail',
'FOOTBALL_REMEMBER_NEXT_RUN_EXPLAIN'=> 'Hier kannst Du einstellen, wann der Cronjob für die Tipp-Erinnerungsmail frühestens wieder aufgerufen wird. Nach Ausführung wird der Cronjob für den Folgetag zur geichen Uhrzeit neu eingeplant.',
'FOOTBALL_REMEMBER_NEXT_RUN_EXPLAIN'=> 'Hier kannst Du einstellen, wann der Cronjob für die Tipp-Erinnerungsmail frühestens wieder aufgerufen wird. Nach Ausführung wird der Cronjob für den Folgetag zur gleichen Uhrzeit neu eingeplant.',
'FOUNDER_DELETE' => 'Nur Gründungsmitglieder dürfen löschen',
'FOUNDER_DELETE_EXPLAIN' => 'Löschung von Spielplandaten wie Saisons, Ligen, Teams, Spieltage und Spielpläne nur auf Gründungsmitglieder beschränken. ',

View File

@@ -96,7 +96,7 @@ footb_rem_s = switch for sending the reminder email to the second E-mail address
0 => 'How do I activate the reminder e-mail function? ',
1 => 'In the admin area in the Prediction League functionality the mail reminder cron job and the next run must be activated. <br />
The cron job is run on the first access after this date and sends an e-mail reminder for the missing tip duties that lie in the period 24-48 hours after cron date .
If not sufficient accesses the page, the cron job should automatically run on script "cron.php?cron_type=football_remember". <br />
If not sufficient accesses the page, the cron job should automatically run on script "YOUR_URL/cron.php?cron_type=football.football.cron.task.football_remember". <br />
The ship of the email takes place only once . After calling up the cron job, the next scheduled is automatically planned for the following day .
With the appended parameters " & mode = test & days = n " can be tested the shipment for the offset to n days predictions . Only mails to board email address will be shipped .
In ACP a user defined prediction leagues code is to define.<br />

30
migrations/v097_beta.php Normal file
View File

@@ -0,0 +1,30 @@
<?php
/**
*
* @package Football Football v0.97
* @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\migrations;
class v097_beta extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return isset($this->config['football_version']) && version_compare($this->config['football_version'], '0.9.7', '>=');
}
static public function depends_on()
{
return array('\football\football\migrations\v096_beta');
}
public function update_data()
{
return array(
array('config.update', array('football_version', '0.9.7', '0')),
);
}
}

View File

@@ -1,57 +0,0 @@
<!-- INCLUDE simple_header.html -->
<!--//<link href="{T_THEME_PATH}/football.css" rel="stylesheet" type="text/css" media="screen, projection" /> -->
<div class="panel">
<br />
<div class="navbar football_bg">
<div class="maintitle">{MODE_DESC} {LOGO} {TEAM} <br /> {LEAGUE} {SEASON}</div>
</div>
<br />
<!-- IF S_DATA_PLAN -->
<span class="match_win">{L_WON}</span> - <span class="match_draw">{L_DRAW}</span> - <span class="match_lost">{L_LOST}</span>
<div class="forabg">
<table class="football">
<thead>
<tr>
<th>{L_DATE}</th>
<!-- IF S_DATA_GROUP -->
<th>{L_GR}</th>
<!-- ENDIF -->
<th colspan="5">{L_VS}</th>
<!-- IF S_DATA_RESULTS -->
<th colspan="3">{L_RESULT}</th>
<!-- ENDIF -->
</tr>
</thead>
<tbody>
<!-- BEGIN match -->
<tr class="{match.ROW_CLASS}">
<td>{match.MATCH_TIME}</td>
<!-- IF S_DATA_GROUP -->
<td class="td_group">{match.GROUP}</td>
<!-- ENDIF -->
<td class="td_logo">{match.LOGO_HOME}</td>
<td class="td_team {match.COLOR_HOME}">{match.HOME_NAME}</td>
<td class="td_vs">:</td>
<td class="td_logo">{match.LOGO_GUEST}</td>
<td class="td_team {match.COLOR_GUEST}">{match.GUEST_NAME}</td>
<!-- IF S_DATA_RESULTS -->
<td class="td_goals_home {match.COLOR_GOALS}">{match.GOALS_HOME}</td>
<td class="td_vs {match.COLOR_GOALS}">:</td>
<td class="td_goals_guest {match.COLOR_GOALS}">{match.GOALS_GUEST}</td>
<!-- ENDIF -->
</tr>
<!-- END match -->
</tbody>
</table>
</div>
<!-- ELSE -->
<br />
<div class="message">{S_ERROR_MESSAGE}</div>
<br />
<!-- ENDIF -->
<div style="text-align:center">
<a href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a>
</div>
</div>
<!-- INCLUDE simple_footer.html -->