From b42eb44a794c677f5b1cb53d3ae4c7012b35eecf Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Wed, 29 Jul 2020 18:50:14 -0400 Subject: [PATCH] handle when [fid] = 0; Fixes #2994 --- web/skins/classic/views/frame.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/web/skins/classic/views/frame.php b/web/skins/classic/views/frame.php index d8a60a15d..c40b393d7 100644 --- a/web/skins/classic/views/frame.php +++ b/web/skins/classic/views/frame.php @@ -26,16 +26,17 @@ if ( !canView('Events') ) { require_once('includes/Frame.php'); $eid = validInt($_REQUEST['eid']); -if ( !empty($_REQUEST['fid']) ) - $fid = validInt($_REQUEST['fid']); +$fid = empty($_REQUEST['fid']) ? 0 : validInt($_REQUEST['fid']); $Event = new ZM\Event($eid); $Monitor = $Event->Monitor(); +# This is kinda weird.. so if we pass fid=0 or some other non-integer, then it loads max score +# perhaps we should consider being explicit, like fid = maxscore if ( !empty($fid) ) { $sql = 'SELECT * FROM Frames WHERE EventId = ? AND FrameId = ?'; - if ( !($frame = dbFetchOne( $sql, NULL, array($eid, $fid) )) ) - $frame = array( 'EventId'=>$eid, 'FrameId'=>$fid, 'Type'=>'Normal', 'Score'=>0 ); + if ( !($frame = dbFetchOne($sql, NULL, array($eid, $fid))) ) + $frame = array('EventId'=>$eid, 'FrameId'=>$fid, 'Type'=>'Normal', 'Score'=>0); } else { $frame = dbFetchOne('SELECT * FROM Frames WHERE EventId = ? AND Score = ?', NULL, array($eid, $Event->MaxScore())); }