/** * 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: create editable LegTable or both TEAMS to be loaded into Game-Detail DIV * params: * returns: HTML Table + action Buttons */ function _LegInputForm($vgid, $vmkey, $eventid) { /* * render a complete LegInput Form + close Button, either from existing data or generate empty rows ... * a) get players * b) get table for each player */ global $dbi, $usertoken; $event = reteventconfig($eventid); $aPID = array(); $aGAME = DB_getGame($dbi, $vgid); // ==> get basic GameData must be 2/4 records #pid=6 if (!sizeof($aGAME) > 1) { die_red('E91:ErrorRetrievingPlayers'); } $Game_Type = $aGAME[0][1]; $aPID[0] = $aGAME[0][6]; if ($Game_Type == 1) { $aPID[1] = $aGAME[1][6]; $maxleg = $event['evsgllegs']; } else { die_red('E96:NoDoubleConfig'); $maxleg = $event['evdbllegs']; } # a) get players + LegData involved in this game $OUT = '<p style="text-align:right">' . _imgButton('close', 'closeed(' . $vgid . ')') . '</p>' . OpenTable('', 1); $OUT = $OUT . '<table width="100%" border="0"><tr>'; foreach ($aPID as $pid) { $OUT = $OUT . '<td valign="top"><table id="TG' . $vgid . 'P' . $pid . '">'; #code the table with G+gid+P+pid /* * for every player involved we render the TD+LegTable + Buttons .... */ $RS = DB_getGame($dbi, $vgid, $event['evsgldarts'], $event['evsglroundcheck'], $pid, $event['evsgldist']); if (sizeof($RS) < 1) { $OUT = $OUT . _LS_leglegend($event); // empty rows here .... for ($i = 0; $i < $maxleg; $i++) { $OUT = $OUT . _LS_legrow($event, array_fill(0, 15, 0)); } } else { $OUT = $OUT . _LS_leglegend($event); foreach ($RS as $LegRow) { $OUT = $OUT . _LS_legrow($event, $LegRow); } } $OUT = $OUT . '</table></td>'; } $OUT = $OUT . '</tr><tr>'; /* * now the controls for each player */ foreach ($aPID as $pid) { $OUT = $OUT . '<td>' . _imgButton('add', 'addLeg(' . $vgid . ',' . $pid . ')'); $OUT = $OUT . _imgButton('save', 'saveLegs(' . $vgid . ',' . $pid . ')') . '</td>'; } return $OUT . '</tr>' . CloseTable(1); }