/** * 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 32: NYR @ DAL 8:00pm MSG – Page 8 – Hit The Road Jake – OutsideTheGarden Boards
FEBRUARY
«
Thu
5
Fri
6
Sat
7
Sun
8
Mon
9
Tue
10
Wed
11
»
GAME 32: NYR @ DAL ...
 
Notifications
Clear all

GAME 32: NYR @ DAL 8:00pm MSG

Page 8 / 12
 
CuyllRanger
(@cuyllranger)
Hall of Famer

Enough with this first PP unit starting every PP.


ReplyQuote
Posted : 20/12/2024 9:18 pm
Doug Glatt
(@pierre_pdare)
Legend

Too much dangling on the pp


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

ReplyQuote
Posted : 20/12/2024 9:20 pm
Doug Glatt
(@pierre_pdare)
Legend

Rempe with another hard to the net and draws another penalty.


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

ReplyQuote
Posted : 20/12/2024 9:21 pm
Fish
 Fish
(@fish)
Member Moderator

Rempe has drawn 3 power plays in this period...are we in an alternate universe?


ReplyQuote
Topic starter Posted : 20/12/2024 9:21 pm
PV29
 PV29
(@pv29)
Team MVP

Rempe draws a third penalty.  Shoulda been a penalty shot.

Start the second unit Lavvy.  Put Rempe in front.  He’s earned it.


ReplyQuote
Posted : 20/12/2024 9:21 pm
CuyllRanger
(@cuyllranger)
Hall of Famer

Posted by: @fish

Rempe has drawn 3 power plays in this period...are we in an alternate universe?

And a lead we must be.

 


ReplyQuote
Posted : 20/12/2024 9:21 pm
(@rosie-larose)
First Liner

Rempe draws a third?  Are you kidding me? To quote Jack Buck: I don’t believe what I just saw 🙃


ReplyQuote
Posted : 20/12/2024 9:22 pm
Doug Glatt
(@pierre_pdare)
Legend

Posted by: @fish

Rempe has drawn 3 power plays in this period...are we in an alternate universe?

Bizarro World

 


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

ReplyQuote
Posted : 20/12/2024 9:22 pm
Rangerjunkiekimmie
(@rangerjunkie)
NHL All Star

Rempe showing the fat cats what hard work does


De Oppresso Liber..
from the left elites

ReplyQuote
Posted : 20/12/2024 9:26 pm
CuyllRanger
(@cuyllranger)
Hall of Famer

Wake up Pete again second unit better than first. And leave Fox on with them.


ReplyQuote
Posted : 20/12/2024 9:26 pm
PV29
 PV29
(@pv29)
Team MVP

2nd power play unit gets 40 seconds and generates more/better chances.

Bench the Bromancers, put Chytil and Lafreniere on the 1st unit.


ReplyQuote
Posted : 20/12/2024 9:27 pm
Rangerjunkiekimmie
(@rangerjunkie)
NHL All Star

I would play Chytil more than Zib


De Oppresso Liber..
from the left elites

ReplyQuote
Posted : 20/12/2024 9:27 pm
Rosie LaRose reacted
CuyllRanger
(@cuyllranger)
Hall of Famer

Shesty getting his usual workout.

 


ReplyQuote
Posted : 20/12/2024 9:32 pm
Doug Glatt
(@pierre_pdare)
Legend

Limpgren idiot.


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

ReplyQuote
Posted : 20/12/2024 9:35 pm
PV29
 PV29
(@pv29)
Team MVP

Refs give Lindgren a penalty on a punk-ass dive by the Star. 


ReplyQuote
Posted : 20/12/2024 9:36 pm
Page 8 / 12
Share: