/** * purpose Returns GamePoints for Player, either cummulated as record or detailed as RecordSet * params Event_class, Player,detail=0/1 * returns integer : sum of points * Recordset(x) player,game,points */ function lsdb_stat_ReturnGamePointsForPlayer($DB, $event_class, $player_id, $detail = 0) { $sumpoints = 0; $points = 0; // generate detailed gamedata + points $RS = DB_retStatQueryArrayDetail($DB, $player_id, $event_class); $GDATA = array(); foreach ($RS as $aGRec) { $GD = DB_getGame($DB, $aGRec[1]); // debug($GD); // stuff is paired in GD ... => pass to calculation function $aGP = lsdb_stat_ReturnGamePoints($GD); // debug($aGP); // fetch correct data from return array and slip into GDATA if ($aGP[0][0] == $player_id) { $points = $aGP[0][1]; $sumpoints = $sumpoints + $points; } elseif ($aGP[1][0] == $player_id) { $points = $aGP[1][1]; $sumpoints = $sumpoints + $points; } $aGRec[10] = $points; // attach field=with points $GDATA[] = $aGRec; } /* * According to DETAIL=0/1 pass back summary RS or detail RS */ if ($detail == 0) { // generate summary row RS return $sumpoints; } elseif ($detail == 1) { return $GDATA; } }
/** * purpose generate a detailed statcodelist breakdown per Player for a specific event * params eventid,playerid * returns HTML Table page */ function _showStatCodeListForEventDetail($player_id) { global $event, $dbi; $aTH = array('Vorname', 'Nachname', 'Runde', 'Datum', 'Legs+', 'Sets+', 'Matches+', 'Punkte'); $target = 'ls_system.php?func=showmatch&vmkey=%P1%&eventid=' . $event['id']; /* * supported for different type of statcodelists (9,13,16,17) * the default is to return a detailed game list without any points or calculations * if special calcs are needed use the switch clause on stat_code */ switch ($event['evstatcode_id']) { case 16: // BDSO Punkte 7,6,3,0 // retrieve all games -> for each game get game data $RS = lsdb_stat_ReturnGamePointsForPlayer($dbi, $event, $player_id, 1); break; default: $RS = DB_retStatQueryArrayDetail($dbi, $player_id, $event); } // OUTPUT $OUT = _MakeStatPageHeader($event['id'], 0); $OUT = $OUT . '<h3>Detailed List</h3>'; $OUT = $OUT . OpenTable('statlistdetail', 1); $OUT = $OUT . ArrayToTableHead($aTH); // skip fields: pid,gid $OUT = $OUT . RecordsetToClickTable($RS, 2, $target, 4); $OUT = $OUT . CloseTable(1); echo $OUT; }