/** * 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 63 NYR @ OTT 12.30 PM MSG – Hit The Road Jake – OutsideTheGarden Boards
DECEMBER
«
Wed
3
Thu
4
Fri
5
Sat
6
Sun
7
Mon
8
Tue
9
»
Game 63 NYR @ OTT 1...
 
Notifications
Clear all

Game 63 NYR @ OTT 12.30 PM MSG

Page 1 / 6
 
CuyllRanger
(@cuyllranger)
Hall of Famer

Big game. Soucy in DeHaan out.


Quote
Topic starter Posted : 08/03/2025 11:24 am
Fish
 Fish
(@fish)
Member Moderator

Kreider taking warm-ups and is no longer on IR...so looks like he might come back into the line-up too


ReplyQuote
Posted : 08/03/2025 12:07 pm
Fish
 Fish
(@fish)
Member Moderator

Looks like Berard is the guy that drops out of the line-up to make way for Kreider's return

https://bsky.app/profile/mollieewalkerr.bsky.social/post/3ljuz5u7e622v


ReplyQuote
Posted : 08/03/2025 12:11 pm
CuyllRanger
(@cuyllranger)
Hall of Famer

Posted by: @fish

Looks like Berard is the guy that drops out of the line-up to make way for Kreider's return

https://bsky.app/profile/mollieewalkerr.bsky.social/post/3ljuz5u7e622v

 

I know I whale on Kreider but I’d rather have Berard’s  energy and compete. 

 


ReplyQuote
Topic starter Posted : 08/03/2025 12:18 pm
Doug Glatt
(@pierre_pdare)
Legend

Time to put up or shut up...no more excuses


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

ReplyQuote
Posted : 08/03/2025 12:33 pm
Doug Glatt
(@pierre_pdare)
Legend

You ain't going to wear #7 here Kaiser Sose !!!


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

ReplyQuote
Posted : 08/03/2025 12:35 pm
Doug Glatt
(@pierre_pdare)
Legend

Brady was pissed yesterday when they traded his buddy Norris yesterday.

 


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

ReplyQuote
Posted : 08/03/2025 12:41 pm
Rangerjunkiekimmie
(@rangerjunkie)
NHL All Star

Feeling like our .500 11.5 million dollar goalie may need to steal this one


De Oppresso Liber..
from the left elites

ReplyQuote
Posted : 08/03/2025 12:44 pm
Rangerjunkiekimmie
(@rangerjunkie)
NHL All Star

Posted by: @pierre_pdare

You ain't going to wear #7 here Kaiser Sose !!!

Haha

 


De Oppresso Liber..
from the left elites

ReplyQuote
Posted : 08/03/2025 12:44 pm
Doug Glatt
(@pierre_pdare)
Legend

A shame we couldn't be minus 1 Miller today 


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

ReplyQuote
Posted : 08/03/2025 12:45 pm
Rangerjunkiekimmie
(@rangerjunkie)
NHL All Star

Amazing Kreider is able to play the day after the deadline 


De Oppresso Liber..
from the left elites

ReplyQuote
Posted : 08/03/2025 12:45 pm
Doug Glatt
(@pierre_pdare)
Legend

Posted by: @rangerjunkie

Amazing Kreider is able to play the day after the deadline 

He found Lindren's vitamins

 


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

ReplyQuote
Posted : 08/03/2025 12:51 pm
CuyllRanger
(@cuyllranger)
Hall of Famer

Huge ShesTy save,.


ReplyQuote
Topic starter Posted : 08/03/2025 12:52 pm
PV29
 PV29
(@pv29)
Team MVP

Sleepy Chris replaces the feisty kid who goes 100% every shift.

Makes perfect sense.


ReplyQuote
Posted : 08/03/2025 12:56 pm
Doug Glatt
(@pierre_pdare)
Legend

Rangers Defense is an oxymoron


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

ReplyQuote
Posted : 08/03/2025 12:58 pm
Page 1 / 6
Share: