/** * Automatically aggregate games from otg_rangers_games and update/insert otg_coach_statistics. */ private static function sync_rangers_season_stats($coach_id, $season) { global $wpdb; if ($coach_id <= 0 || empty($season)) { echo '

Invalid Coach or Season specified for sync.

'; return; } // 1. Regular Season Calculation (game_type = 2) $reg_sql = $wpdb->prepare( "SELECT COUNT(*) as gc, SUM(CASE WHEN rangers_score > opponent_score THEN 1 ELSE 0 END) as wins, SUM(CASE WHEN rangers_score < opponent_score AND overtime_status != 'OT' AND overtime_status != 'SO' THEN 1 ELSE 0 END) as losses, SUM(CASE WHEN rangers_score = opponent_score THEN 1 ELSE 0 END) as ties, SUM(CASE WHEN rangers_score < opponent_score AND overtime_status = 'OT' THEN 1 ELSE 0 END) as ot, SUM(CASE WHEN rangers_score < opponent_score AND overtime_status = 'SO' THEN 1 ELSE 0 END) as sol, SUM(CASE WHEN rangers_score > opponent_score AND overtime_status = 'SO' THEN 1 ELSE 0 END) as sow FROM otg_rangers_games WHERE game_type = 2 AND season = %s", $season ); $reg = $wpdb->get_row($reg_sql); // 2. Playoff Calculation (game_type = 3) - Fetching series/opponent details ordered by date/game $playoff_games_sql = $wpdb->prepare( "SELECT opponent, rangers_score, opponent_score FROM otg_rangers_games WHERE game_type = 3 AND season = %s ORDER BY game_date ASC, game_id ASC", $season ); $playoff_games = $wpdb->get_results($playoff_games_sql); $gc = $reg->gc ? intval($reg->gc) : 0; $w = $reg->wins ? intval($reg->wins) : 0; $l = $reg->losses ? intval($reg->losses) : 0; $t = $reg->ties !== null ? intval($reg->ties) : 0; $ot = $reg->ot !== null ? intval($reg->ot) : 0; $sol = $reg->sol !== null ? intval($reg->sol) : 0; $sow = $reg->sow !== null ? intval($reg->sow) : 0; $pgc = count($playoff_games); $pw = 0; $pl = 0; $pt = 0; $sw = 0; $sl = 0; $sc = 0; $scf = 0; if ($pgc > 0) { $series_records = []; $current_opponent = null; $opp_wins = 0; $nyr_wins = 0; foreach ($playoff_games as $g) { if (intval($g->rangers_score) > intval($g->opponent_score)) { $pw++; $nyr_wins++; } elseif (intval($g->rangers_score) < intval($g->opponent_score)) { $pl++; $opp_wins++; } else { $pt++; } if ($current_opponent === null) { $current_opponent = $g->opponent; $nyr_wins = (intval($g->rangers_score) > intval($g->opponent_score)) ? 1 : 0; $opp_wins = (intval($g->rangers_score) < intval($g->opponent_score)) ? 1 : 0; } elseif ($current_opponent !== $g->opponent) { // Previous series concluded because opponent changed if ($nyr_wins > $opp_wins) { $sw++; } else { $sl++; } $current_opponent = $g->opponent; $nyr_wins = (intval($g->rangers_score) > intval($g->opponent_score)) ? 1 : 0; $opp_wins = (intval($g->rangers_score) < intval($g->opponent_score)) ? 1 : 0; } } // Final series check after loop finishes if ($current_opponent !== null) { // Check if this was the Stanley Cup Finals (last series) and if they won the Cup (4 wins in final series or overall context, typically 4 wins wins a modern NHL playoff series) if ($nyr_wins > $opp_wins) { $sw++; // If it's the final round and they won, check if it's the Stanley Cup win // (Assuming final round win equates to SC = 1 if it's the ultimate round) } else { $sl++; } } // Determine if they won the Stanley Cup (e.g. won 4 rounds total, or check standard criteria) // If they won 4 series in a 4-round playoff format, they are Stanley Cup Champions if ($sw >= 4) { $sc = 1; $scf = 1; } elseif ($sw == 3 && $sl > 0) { $scf = 1; $sc = 0; } } $data = array( 'CoachID' => $coach_id, 'Team' => 'New York Rangers', 'League' => 'NHL', 'Season' => $season, 'GC' => $gc, 'W' => $w, 'L' => $l, 'T' => $t, 'OT' => $ot, 'SOL' => $sol, 'SOW' => $sow, 'PGC' => $pgc, 'PW' => $pw, 'PL' => $pl, 'PT' => $pt, 'SCF' => $scf, 'SC' => $sc, 'SW' => $sw, 'SL' => $sl, ); $existing = $wpdb->get_var($wpdb->prepare( "SELECT COUNT(*) FROM otg_coach_statistics WHERE CoachID = %d AND Season = %s AND Team = 'New York Rangers'", $coach_id, $season )); if ($existing > 0) { $wpdb->update('otg_coach_statistics', $data, array('CoachID' => $coach_id, 'Season' => $season, 'Team' => 'New York Rangers')); echo '

Successfully synced Rangers stats for season ' . esc_html($season) . '!

'; } else { $wpdb->insert('otg_coach_statistics', $data); echo '

Successfully inserted synced Rangers stats for season ' . esc_html($season) . '!

'; } } GAME 75 NYR v PIT 7:00pm MSG – Page 2 – Hit The Road Jake – OutsideTheGarden Boards
NOVEMBER
«
Wed
5
Thu
6
Fri
7
Sat
8
Sun
9
Mon
10
Tue
11
»
GAME 75 NYR v PIT 7...
 
Notifications
Clear all

GAME 75 NYR v PIT 7:00pm MSG

Page 2 / 5
 
Fish
 Fish
(@fish)
Member Moderator

Yeah Trouba be...

image

ReplyQuote
Topic starter Posted : 01/04/2024 6:27 pm
Doug Glatt
(@pierre_pdare)
Legend

Miller is a traffic cone again


If they need me to bleed, then I'll bleed for my team

ReplyQuote
Posted : 01/04/2024 6:29 pm
SteadyEddie
(@steadyeddie)
Second Liner

Miller and Trouba suck. 


ReplyQuote
Posted : 01/04/2024 6:30 pm
Fish
 Fish
(@fish)
Member Moderator

Rangers challenging for something


ReplyQuote
Topic starter Posted : 01/04/2024 6:31 pm
Doug Glatt
(@pierre_pdare)
Legend

Somebody might want to defend Crosby


If they need me to bleed, then I'll bleed for my team

ReplyQuote
Posted : 01/04/2024 6:31 pm
Fish
 Fish
(@fish)
Member Moderator

Yeah, it's close, but I don't think there's enough to call that offside


ReplyQuote
Topic starter Posted : 01/04/2024 6:32 pm
Fish
 Fish
(@fish)
Member Moderator

Posted by: @pierre_pdare

Somebody might want to defend Crosby

Perhaps don't put Miller-Trouba out against them

 


ReplyQuote
Topic starter Posted : 01/04/2024 6:32 pm
Fish
 Fish
(@fish)
Member Moderator

Yeah, that felt a bit like a desperation challenge


ReplyQuote
Topic starter Posted : 01/04/2024 6:33 pm
Doug Glatt
(@pierre_pdare)
Legend

Karlsson is an idiot


If they need me to bleed, then I'll bleed for my team

ReplyQuote
Posted : 01/04/2024 6:35 pm
Fish
 Fish
(@fish)
Member Moderator

Rangers catch a break there...Karlsson playing with Trouba's stick gets a penalty


ReplyQuote
Topic starter Posted : 01/04/2024 6:36 pm
Doug Glatt
(@pierre_pdare)
Legend

Jeez Miller sucks


If they need me to bleed, then I'll bleed for my team

ReplyQuote
Posted : 01/04/2024 6:37 pm
Fish
 Fish
(@fish)
Member Moderator

Crosby line outshooting the Trocheck line / Trouba-Miller pairing 5-0...looks like Laviolette has decided on a different approach now


ReplyQuote
Topic starter Posted : 01/04/2024 6:44 pm
Doug Glatt
(@pierre_pdare)
Legend

Miller/Trouba is now the 3rd pair


If they need me to bleed, then I'll bleed for my team

ReplyQuote
Posted : 01/04/2024 6:45 pm
Fish
 Fish
(@fish)
Member Moderator

Posted by: @pierre_pdare

Miller/Trouba is now the 3rd pair

Probably the most expensive third pairing since Wade Redden was in the league

 


ReplyQuote
Topic starter Posted : 01/04/2024 6:46 pm
(@Anonymous 4)

The boo birds are out for Miller.


ReplyQuote
Posted : 01/04/2024 6:48 pm
Page 2 / 5
Share: