Changeset 3130087
- Timestamp:
- 08/02/2024 02:20:09 PM (19 months ago)
- Location:
- eh-gms-feed
- Files:
-
- 10 edited
-
tags/3.16/eh-gms-feed.php (modified) (1 diff)
-
tags/3.16/includes/coreAPI.php (modified) (10 diffs)
-
tags/3.16/includes/main-class.php (modified) (1 diff)
-
tags/3.16/includes/settings.php (modified) (1 diff)
-
tags/3.16/readme.txt (modified) (2 diffs)
-
trunk/eh-gms-feed.php (modified) (1 diff)
-
trunk/includes/coreAPI.php (modified) (10 diffs)
-
trunk/includes/main-class.php (modified) (1 diff)
-
trunk/includes/settings.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
eh-gms-feed/tags/3.16/eh-gms-feed.php
r3073918 r3130087 4 4 * Plugin URI: https://wordpress.org/plugins/eh-gms-feed/ 5 5 * Description: Show fixtures, results and tables from England Hockey GMS 6 * Version: 3.1 56 * Version: 3.16 7 7 * Author: Matthew Treherne 8 8 * Author URI: https://profiles.wordpress.org/mtreherne -
eh-gms-feed/tags/3.16/includes/coreAPI.php
r3073918 r3130087 8 8 protected $settings; 9 9 10 private $filter_match, $table_name, $fixture_data, $display_name, $club_link, $team_link, $comp_link, $team_comps, $comp_name, $expiry, $customteam ;10 private $filter_match, $table_name, $fixture_data, $display_name, $club_link, $team_link, $comp_link, $team_comps, $comp_name, $expiry, $customteam, $seasons; 11 11 12 12 public $valid_show = ['league','results','fixtures','teams','fixture']; … … 15 15 16 16 protected $api = [ 17 'seasons' => ['transient' => 'SEASONS', 'keys' => [], 'error_bag' => 'season', 'expiry' => 'static'], 17 18 'table' => ['transient' => 'COMPETITION LEAGUE', 'keys' => ['competitions'], 'error_bag' => null, 'expiry' => 'default'], 18 19 'fixturesandresults' => ['transient' => 'TEAM', 'keys' => ['teams'], 'error_bag' => null, 'expiry' => 'default'], … … 158 159 $comp_count = count($this->team_comps); 159 160 $html = '<div'.(($comp_count == 0) ? ' style="display: none" ': '').'><label><span class="gms-nomobile">Competition </span><select name="comp_id"><option value="">- All Competitions -</option>'; 160 foreach ($this->team_comps as $key => $competition) $html .= '<option value="'.$key.'"'.(($this->is_competition() && $this->atts_show['comp_id'] == $key) || ($comp_count == 1) ? ' selected' : '').'>'.esc_html($competition[' name']).'</option>';161 foreach ($this->team_comps as $key => $competition) $html .= '<option value="'.$key.'"'.(($this->is_competition() && $this->atts_show['comp_id'] == $key) || ($comp_count == 1) ? ' selected' : '').'>'.esc_html($competition['fullName']).'</option>'; 161 162 if ($this->is_competition() && !array_key_exists($this->atts_show['comp_id'], $this->team_comps)) { 162 $html .= '<option value="'.$this->atts_show['comp_id'].'" selected>Previous Season</option>';163 $html .= '<option value="'.$this->atts_show['comp_id'].'" selected>Previous/Next Season</option>'; 163 164 } 164 165 $html .= '</select></label></div>'; … … 421 422 422 423 private function process_table ($data, $custom=false) { 423 $html = ''; $link = $this->comp_link; 424 $html = ''; $link = $this->comp_link; $single = count($data) == 1; 424 425 $league_data = ['Team' => 'teamName', 'P<span class="gms-nomobile">layed</span>' => 'gamesPlayed', 'W<span class="gms-nomobile">on</span>' => 'gamesWon', 'D<span class="gms-nomobile">rawn</span>' => 'gamesDrawn', 'L<span class="gms-nomobile">ost</span>' => 'gamesLost', 'For' => 'goalsFor', 'Against' => 'goalsAgainst', 'GD' => 'goalsDifference', '<span class="gms-mobile">Pts</span><span class="gms-nomobile">Points</span>' => 'totalPoints']; 425 426 if ($custom) { $league_data['PPG'] = 'PPG'; $league_data['Form'] = 'form'; } 426 427 if ($custom && $this->show_list) $html .= '<div class="gms-list">'; 427 428 else { 428 $html .= '<table class="gms-table gms-table-'.$this->display_name.($custom ? ' gms-table-custom' : '').'"><thead><tr> <th></th>';429 $html .= '<table class="gms-table gms-table-'.$this->display_name.($custom ? ' gms-table-custom' : '').'"><thead><tr>'.($single ? '' : '<th></th>'); 429 430 foreach ($league_data as $column_title => $field_name) $html .= '<th'.($column_title == 'For' || $column_title == 'Against' ? ' class="gms-nomobile"' : '').'>'.$column_title.'</th>'; 430 431 $html .= '</tr></thead><tbody>'; … … 441 442 if ($this->show_gender && isset($team->gender)) $team->teamName .= ' ('.$team->gender.')'; 442 443 } 443 if ($custom && $this->show_list) $html .= '<div class="gms-card" data-team="'.$team->teamId.'"><div class="gms-boldteam">'.($ position+1).'. '.esc_html($team->teamName).'</div><div>Won: '.$team->gamesWon.' | For: '.$team->goalsFor.' | GD: '.$team->goalsDifference.'</div><div>Points: '.$team->totalPoints.' | PPG: '.$team->PPG.'</div><div class="gms-cardform">'.$team->form.'</div></div>';444 if ($custom && $this->show_list) $html .= '<div class="gms-card" data-team="'.$team->teamId.'"><div class="gms-boldteam">'.($single ? '' : ($position+1).'. ').esc_html($team->teamName).'</div><div>Won: '.$team->gamesWon.' | For: '.$team->goalsFor.' | GD: '.$team->goalsDifference.'</div><div>Points: '.$team->totalPoints.' | PPG: '.$team->PPG.'</div><div class="gms-cardform">'.$team->form.'</div></div>'; 444 445 else { 445 $html .= '<tr'.$class.' data-team="'.$team->teamId.'"> <td>'.($position+1).'</td>';446 $html .= '<tr'.$class.' data-team="'.$team->teamId.'">'.($single ? '' : '<td>'.($position+1).'</td>'); 446 447 foreach ($league_data as $field_name) { 447 448 if ($field_name == 'form') $html .= '<td>'.$team->form.'</td>'; … … 459 460 $html .= '</tbody></table>'; 460 461 } 461 $html .= '<div class="gms-footnote">'.($link ? sprintf(esc_html__( '[%5$s%3$s %1$s also found at%4$s %2$s]', 'eh-gms-feed' ), $this->comp_name ? 'for '.$this->comp_name : '', '<a href="'.$link.'" target="_blank">England Hockey Link</a>', '<span class="gms-nomobile">', '</span>', ($custom ? esc_html__('Data') : esc_html__('Table'))) : ($custom ? esc_html__('[League table for selected teams]') : '')).'</div>';462 $html .= '<div class="gms-footnote">'.($link ? sprintf(esc_html__( '[%5$s%3$s %1$s also found at%4$s %2$s]', 'eh-gms-feed' ), $this->comp_name ? 'for '.$this->comp_name : '', '<a href="'.$link.'" target="_blank">England Hockey Link</a>', '<span class="gms-nomobile">', '</span>', ($custom ? esc_html__('Data') : esc_html__('Table'))) : ($custom ? ($single ? sprintf(esc_html__('[Summary%1$s of all competitions%2$s for selected team]'),'<span class="gms-nomobile">', '</span>') : esc_html__('[League table for selected teams]')) : '')).'</div>'; 462 463 return $html; 463 464 } … … 466 467 $html = ''; 467 468 foreach ($data as $competition) { 468 $this->team_comps[$competition->competitionId] = ['name' => $competition->competitionName ];469 $this->team_comps[$competition->competitionId] = ['name' => $competition->competitionName, 'fullName' => $this->get_fullcompname($competition)]; 469 470 if ($this->is_competition() && $competition->competitionId != $this->atts_show['comp_id']) continue; 470 471 $this->filter_match = false; … … 581 582 } 582 583 584 private function process_seasons ($data) { 585 $seasons = []; 586 foreach ($data as $season) $seasons[$season->id] = $season->description; 587 arsort($seasons); 588 return $seasons; 589 } 590 591 protected function get_fullcompname ($competition) { 592 if (empty($this->seasons)) $this->seasons = $this->get_json('seasons'); 593 $seasonName = $this->seasons[$competition->seasonId] ?? null; 594 return ($competition->competitionName ?? $competition->name) . ($seasonName ? ' (' . $seasonName . ')' : ''); 595 } 596 583 597 private function process_compsinfixtures($data) { 584 598 $competitions = []; 585 // seasonId is available but season (name) is ONLY within fixtures object 586 foreach ($data as $competition) $competitions[$competition->competitionId] = ['name' => $competition->competitionName, 'slug' => $competition->competitionEntityUrlSlug]; 599 foreach ($data as $competition) $competitions[$competition->competitionId] = ['name' => $competition->competitionName, 'slug' => $competition->competitionEntityUrlSlug, 'fullName' => $this->get_fullcompname($competition)]; 587 600 return $competitions; 588 601 } … … 609 622 $gf += $isHome ? $fixture->homeTeamScoreAsInt : $fixture->awayTeamScoreAsInt; 610 623 $ga += $isHome ? $fixture->awayTeamScoreAsInt : $fixture->homeTeamScoreAsInt; 611 if ($fixture->homeTeamScoreAsInt == $fixture->awayTeamScoreAsInt) { $gd++; $form[ ] = '<span class="gms-form gms-draw">D</span>'; }612 else if (($isHome && $fixture->homeTeamScoreAsInt > $fixture->awayTeamScoreAsInt) || (!$isHome && $fixture->homeTeamScoreAsInt < $fixture->awayTeamScoreAsInt)) { $gw++; $form[ ] = '<span class="gms-form gms-win">W</span>'; }613 else { $gl++; $form[ ] = '<span class="gms-form gms-loss">L</span>'; }624 if ($fixture->homeTeamScoreAsInt == $fixture->awayTeamScoreAsInt) { $gd++; $form[$fixture->fixtureDate] = '<span class="gms-form gms-draw">D</span>'; } 625 else if (($isHome && $fixture->homeTeamScoreAsInt > $fixture->awayTeamScoreAsInt) || (!$isHome && $fixture->homeTeamScoreAsInt < $fixture->awayTeamScoreAsInt)) { $gw++; $form[$fixture->fixtureDate] = '<span class="gms-form gms-win">W</span>'; } 626 else { $gl++; $form[$fixture->fixtureDate] = '<span class="gms-form gms-loss">L</span>'; } 614 627 } 615 628 } … … 634 647 $object->totalPoints = $points; 635 648 $object->PPG = number_format($gp ? $points/$gp : 0, 2, '.', ''); 649 ksort($form); 636 650 $object->form = $form; 637 651 return $object; -
eh-gms-feed/tags/3.16/includes/main-class.php
r3073918 r3130087 93 93 } 94 94 if ($show == 'league' && !$this->is_competition() && empty($this->multiple_teams)) { 95 $message = sprintf(esc_html__( ' Specific competition is required to show league (select team first).', 'eh-gms-feed' ));95 $message = sprintf(esc_html__( 'Team or competition is required to show league table or summary for all competitions.', 'eh-gms-feed' )); 96 96 $this->not_valid .= '<p>'.$message.'</p>'; 97 97 $valid = false; -
eh-gms-feed/tags/3.16/includes/settings.php
r3066677 r3130087 11 11 12 12 const OPTION_NAME = 'eh_gms_feed_settings'; 13 public $ default_transient_expiry;13 public $gms_api_url, $gms_api_key, $default_transient_expiry, $static_transient_expiry, $daily_transient_expiry, $weekly_transient_expiry; 14 14 public $default_css = 'yes'; 15 15 public $default_ajax = 'yes'; -
eh-gms-feed/tags/3.16/readme.txt
r3073918 r3130087 3 3 Tags: hockey, GMS 4 4 Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&[email protected]¤cy_code=GBP&item_name=Donation+for+EH+GMS+Feed 5 Tested up to: 6. 55 Tested up to: 6.6 6 6 Requires PHP: 5.3 7 Stable tag: 3.1 57 Stable tag: 3.16 8 8 License: GPLv2 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 62 62 63 63 == Changelog == 64 65 = 3.16 = 66 * Fix to sort team form correctly when multiple competitions 67 * Tweaks to custom league / competition summary when only one team 68 * Show season for competitions listed by filter 69 * Fix for compatibility with PHP 8.2 64 70 65 71 = 3.15 = -
eh-gms-feed/trunk/eh-gms-feed.php
r3073918 r3130087 4 4 * Plugin URI: https://wordpress.org/plugins/eh-gms-feed/ 5 5 * Description: Show fixtures, results and tables from England Hockey GMS 6 * Version: 3.1 56 * Version: 3.16 7 7 * Author: Matthew Treherne 8 8 * Author URI: https://profiles.wordpress.org/mtreherne -
eh-gms-feed/trunk/includes/coreAPI.php
r3073918 r3130087 8 8 protected $settings; 9 9 10 private $filter_match, $table_name, $fixture_data, $display_name, $club_link, $team_link, $comp_link, $team_comps, $comp_name, $expiry, $customteam ;10 private $filter_match, $table_name, $fixture_data, $display_name, $club_link, $team_link, $comp_link, $team_comps, $comp_name, $expiry, $customteam, $seasons; 11 11 12 12 public $valid_show = ['league','results','fixtures','teams','fixture']; … … 15 15 16 16 protected $api = [ 17 'seasons' => ['transient' => 'SEASONS', 'keys' => [], 'error_bag' => 'season', 'expiry' => 'static'], 17 18 'table' => ['transient' => 'COMPETITION LEAGUE', 'keys' => ['competitions'], 'error_bag' => null, 'expiry' => 'default'], 18 19 'fixturesandresults' => ['transient' => 'TEAM', 'keys' => ['teams'], 'error_bag' => null, 'expiry' => 'default'], … … 158 159 $comp_count = count($this->team_comps); 159 160 $html = '<div'.(($comp_count == 0) ? ' style="display: none" ': '').'><label><span class="gms-nomobile">Competition </span><select name="comp_id"><option value="">- All Competitions -</option>'; 160 foreach ($this->team_comps as $key => $competition) $html .= '<option value="'.$key.'"'.(($this->is_competition() && $this->atts_show['comp_id'] == $key) || ($comp_count == 1) ? ' selected' : '').'>'.esc_html($competition[' name']).'</option>';161 foreach ($this->team_comps as $key => $competition) $html .= '<option value="'.$key.'"'.(($this->is_competition() && $this->atts_show['comp_id'] == $key) || ($comp_count == 1) ? ' selected' : '').'>'.esc_html($competition['fullName']).'</option>'; 161 162 if ($this->is_competition() && !array_key_exists($this->atts_show['comp_id'], $this->team_comps)) { 162 $html .= '<option value="'.$this->atts_show['comp_id'].'" selected>Previous Season</option>';163 $html .= '<option value="'.$this->atts_show['comp_id'].'" selected>Previous/Next Season</option>'; 163 164 } 164 165 $html .= '</select></label></div>'; … … 421 422 422 423 private function process_table ($data, $custom=false) { 423 $html = ''; $link = $this->comp_link; 424 $html = ''; $link = $this->comp_link; $single = count($data) == 1; 424 425 $league_data = ['Team' => 'teamName', 'P<span class="gms-nomobile">layed</span>' => 'gamesPlayed', 'W<span class="gms-nomobile">on</span>' => 'gamesWon', 'D<span class="gms-nomobile">rawn</span>' => 'gamesDrawn', 'L<span class="gms-nomobile">ost</span>' => 'gamesLost', 'For' => 'goalsFor', 'Against' => 'goalsAgainst', 'GD' => 'goalsDifference', '<span class="gms-mobile">Pts</span><span class="gms-nomobile">Points</span>' => 'totalPoints']; 425 426 if ($custom) { $league_data['PPG'] = 'PPG'; $league_data['Form'] = 'form'; } 426 427 if ($custom && $this->show_list) $html .= '<div class="gms-list">'; 427 428 else { 428 $html .= '<table class="gms-table gms-table-'.$this->display_name.($custom ? ' gms-table-custom' : '').'"><thead><tr> <th></th>';429 $html .= '<table class="gms-table gms-table-'.$this->display_name.($custom ? ' gms-table-custom' : '').'"><thead><tr>'.($single ? '' : '<th></th>'); 429 430 foreach ($league_data as $column_title => $field_name) $html .= '<th'.($column_title == 'For' || $column_title == 'Against' ? ' class="gms-nomobile"' : '').'>'.$column_title.'</th>'; 430 431 $html .= '</tr></thead><tbody>'; … … 441 442 if ($this->show_gender && isset($team->gender)) $team->teamName .= ' ('.$team->gender.')'; 442 443 } 443 if ($custom && $this->show_list) $html .= '<div class="gms-card" data-team="'.$team->teamId.'"><div class="gms-boldteam">'.($ position+1).'. '.esc_html($team->teamName).'</div><div>Won: '.$team->gamesWon.' | For: '.$team->goalsFor.' | GD: '.$team->goalsDifference.'</div><div>Points: '.$team->totalPoints.' | PPG: '.$team->PPG.'</div><div class="gms-cardform">'.$team->form.'</div></div>';444 if ($custom && $this->show_list) $html .= '<div class="gms-card" data-team="'.$team->teamId.'"><div class="gms-boldteam">'.($single ? '' : ($position+1).'. ').esc_html($team->teamName).'</div><div>Won: '.$team->gamesWon.' | For: '.$team->goalsFor.' | GD: '.$team->goalsDifference.'</div><div>Points: '.$team->totalPoints.' | PPG: '.$team->PPG.'</div><div class="gms-cardform">'.$team->form.'</div></div>'; 444 445 else { 445 $html .= '<tr'.$class.' data-team="'.$team->teamId.'"> <td>'.($position+1).'</td>';446 $html .= '<tr'.$class.' data-team="'.$team->teamId.'">'.($single ? '' : '<td>'.($position+1).'</td>'); 446 447 foreach ($league_data as $field_name) { 447 448 if ($field_name == 'form') $html .= '<td>'.$team->form.'</td>'; … … 459 460 $html .= '</tbody></table>'; 460 461 } 461 $html .= '<div class="gms-footnote">'.($link ? sprintf(esc_html__( '[%5$s%3$s %1$s also found at%4$s %2$s]', 'eh-gms-feed' ), $this->comp_name ? 'for '.$this->comp_name : '', '<a href="'.$link.'" target="_blank">England Hockey Link</a>', '<span class="gms-nomobile">', '</span>', ($custom ? esc_html__('Data') : esc_html__('Table'))) : ($custom ? esc_html__('[League table for selected teams]') : '')).'</div>';462 $html .= '<div class="gms-footnote">'.($link ? sprintf(esc_html__( '[%5$s%3$s %1$s also found at%4$s %2$s]', 'eh-gms-feed' ), $this->comp_name ? 'for '.$this->comp_name : '', '<a href="'.$link.'" target="_blank">England Hockey Link</a>', '<span class="gms-nomobile">', '</span>', ($custom ? esc_html__('Data') : esc_html__('Table'))) : ($custom ? ($single ? sprintf(esc_html__('[Summary%1$s of all competitions%2$s for selected team]'),'<span class="gms-nomobile">', '</span>') : esc_html__('[League table for selected teams]')) : '')).'</div>'; 462 463 return $html; 463 464 } … … 466 467 $html = ''; 467 468 foreach ($data as $competition) { 468 $this->team_comps[$competition->competitionId] = ['name' => $competition->competitionName ];469 $this->team_comps[$competition->competitionId] = ['name' => $competition->competitionName, 'fullName' => $this->get_fullcompname($competition)]; 469 470 if ($this->is_competition() && $competition->competitionId != $this->atts_show['comp_id']) continue; 470 471 $this->filter_match = false; … … 581 582 } 582 583 584 private function process_seasons ($data) { 585 $seasons = []; 586 foreach ($data as $season) $seasons[$season->id] = $season->description; 587 arsort($seasons); 588 return $seasons; 589 } 590 591 protected function get_fullcompname ($competition) { 592 if (empty($this->seasons)) $this->seasons = $this->get_json('seasons'); 593 $seasonName = $this->seasons[$competition->seasonId] ?? null; 594 return ($competition->competitionName ?? $competition->name) . ($seasonName ? ' (' . $seasonName . ')' : ''); 595 } 596 583 597 private function process_compsinfixtures($data) { 584 598 $competitions = []; 585 // seasonId is available but season (name) is ONLY within fixtures object 586 foreach ($data as $competition) $competitions[$competition->competitionId] = ['name' => $competition->competitionName, 'slug' => $competition->competitionEntityUrlSlug]; 599 foreach ($data as $competition) $competitions[$competition->competitionId] = ['name' => $competition->competitionName, 'slug' => $competition->competitionEntityUrlSlug, 'fullName' => $this->get_fullcompname($competition)]; 587 600 return $competitions; 588 601 } … … 609 622 $gf += $isHome ? $fixture->homeTeamScoreAsInt : $fixture->awayTeamScoreAsInt; 610 623 $ga += $isHome ? $fixture->awayTeamScoreAsInt : $fixture->homeTeamScoreAsInt; 611 if ($fixture->homeTeamScoreAsInt == $fixture->awayTeamScoreAsInt) { $gd++; $form[ ] = '<span class="gms-form gms-draw">D</span>'; }612 else if (($isHome && $fixture->homeTeamScoreAsInt > $fixture->awayTeamScoreAsInt) || (!$isHome && $fixture->homeTeamScoreAsInt < $fixture->awayTeamScoreAsInt)) { $gw++; $form[ ] = '<span class="gms-form gms-win">W</span>'; }613 else { $gl++; $form[ ] = '<span class="gms-form gms-loss">L</span>'; }624 if ($fixture->homeTeamScoreAsInt == $fixture->awayTeamScoreAsInt) { $gd++; $form[$fixture->fixtureDate] = '<span class="gms-form gms-draw">D</span>'; } 625 else if (($isHome && $fixture->homeTeamScoreAsInt > $fixture->awayTeamScoreAsInt) || (!$isHome && $fixture->homeTeamScoreAsInt < $fixture->awayTeamScoreAsInt)) { $gw++; $form[$fixture->fixtureDate] = '<span class="gms-form gms-win">W</span>'; } 626 else { $gl++; $form[$fixture->fixtureDate] = '<span class="gms-form gms-loss">L</span>'; } 614 627 } 615 628 } … … 634 647 $object->totalPoints = $points; 635 648 $object->PPG = number_format($gp ? $points/$gp : 0, 2, '.', ''); 649 ksort($form); 636 650 $object->form = $form; 637 651 return $object; -
eh-gms-feed/trunk/includes/main-class.php
r3073918 r3130087 93 93 } 94 94 if ($show == 'league' && !$this->is_competition() && empty($this->multiple_teams)) { 95 $message = sprintf(esc_html__( ' Specific competition is required to show league (select team first).', 'eh-gms-feed' ));95 $message = sprintf(esc_html__( 'Team or competition is required to show league table or summary for all competitions.', 'eh-gms-feed' )); 96 96 $this->not_valid .= '<p>'.$message.'</p>'; 97 97 $valid = false; -
eh-gms-feed/trunk/includes/settings.php
r3066677 r3130087 11 11 12 12 const OPTION_NAME = 'eh_gms_feed_settings'; 13 public $ default_transient_expiry;13 public $gms_api_url, $gms_api_key, $default_transient_expiry, $static_transient_expiry, $daily_transient_expiry, $weekly_transient_expiry; 14 14 public $default_css = 'yes'; 15 15 public $default_ajax = 'yes'; -
eh-gms-feed/trunk/readme.txt
r3073918 r3130087 3 3 Tags: hockey, GMS 4 4 Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&[email protected]¤cy_code=GBP&item_name=Donation+for+EH+GMS+Feed 5 Tested up to: 6. 55 Tested up to: 6.6 6 6 Requires PHP: 5.3 7 Stable tag: 3.1 57 Stable tag: 3.16 8 8 License: GPLv2 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 62 62 63 63 == Changelog == 64 65 = 3.16 = 66 * Fix to sort team form correctly when multiple competitions 67 * Tweaks to custom league / competition summary when only one team 68 * Show season for competitions listed by filter 69 * Fix for compatibility with PHP 8.2 64 70 65 71 = 3.15 =
Note: See TracChangeset
for help on using the changeset viewer.