_getRegistrationList(); if (empty($list)) { // // No results: this could be an error or just an empty table. // We ignore errors at this point. return "emptylist"; return false; } // We know we have results: begin the start of the table display // // Table layout: // Column 1: Start of Class Name for a new class // Column 2: Number within the class // Column 3: Subclass name // Column 4: Owner Name / Novice bit // (2) Car date/make/model/color // Column 5: Start of hometown // Column 6: (2) Start of sponsor // $htmlstr .= <<< STARTTABLE STARTTABLE; // Collect each result row into the return array $current_nickname = NULL; // track class changes by noticing a change // in the class nickname because it is a // value carried with each registration. foreach ($list as $key => $val) { // First, did driver pay? If not, skip 'em // If a chief for this event, we'll let them through regardless $chief = checkEventChief($val['member_id'], $eid); // HACK - remove the empty(getPayment... part if no school carryover for this event // We check both this event *and* a previous day's school EID if (empty($val['driver_payment_id']) && empty($chief)) { // uncomment for hack: // if (empty(getPayment($val['member_id'], '20160514TT'))) { continue; // also uncomment for hack: // } } // If this record starts a new class .... if (($current_nickname==NULL) || ($current_nickname != $val['class_nickname'])) { if ($current_nickname) { $htmlstr .= <<< TOPOFCLASS $classstr TOPOFCLASS; $classcount = 0; $classstr = ""; } // Display the start of a new class $current_nickname = $val['class_nickname']; $lineheight = $current_nickname==NULL ? 15 : 30; // // Because only the class_nickname is carried in the // registration, the class_name may not exist. Set the // class display to use the class name if possible. $displayclass = (empty($val['class_name'])) ? htmlspecialchars($val['class_nickname']) : htmlspecialchars("{$val['class_name']} ({$val['class_nickname']})"); } // Display this registration within the open class $carnum = ($val['number']>9) ? ($val['number']>99 ? "{$val['number']}" : " {$val['number']}") : "  {$val['number']}"; $subname = empty($val['subclass_nickname']) ? htmlspecialchars($val['class_nickname']) : htmlspecialchars($val['subclass_nickname']); $isnovice = empty($val['isnovice']) ? '' : ' (N)'; if (!empty($val['pdx'])) { if (!empty($val['ctt'])) { $ttstatus = ' (BOTH)'; } else { $ttstatus = ' (PDX)'; } } elseif (!empty($val['ctt'])) { $ttstatus = ' (CTT)'; } $namefield = htmlspecialchars(LazyCaps("{$val['driver_firstname']} {$val['driver_lastname']}") . $isnovice . $ttstatus); $hometown = htmlspecialchars(LazyCaps($val['driver_city']) . " " . strtoupper($val['driver_state'])); $makemodel = htmlspecialchars("{$val['make']} {$val['model']}"); $color = htmlspecialchars($val['color']); $sponsor = htmlspecialchars($val['sponsor']); $tires = ""; if ($val['tires']) { $tires = ", " . htmlspecialchars(LazyCaps($val['tires'])) . " Tires"; } $classstr .= <<< NEWNUMBER NEWNUMBER; // increment in-class driver count, and overall count $classcount++; $totalcount++; } // done processing registration records // make sure the last class standing makes it in! $htmlstr .= <<< TOPOFCLASS $classstr TOPOFCLASS; // End the table cleanly $htmlstr .= <<< ENDTABLE
$displayclass Drivers: $classcount
$carnum  $subname  $namefield {$val['year']} $makemodel ($color)$tires
$hometown    $sponsor
$displayclass Drivers: $classcount
ENDTABLE; // Set up the "total $returnstr .= <<< TOPCOUNT Total Drivers: $totalcount
$htmlstr TOPCOUNT; return $returnstr; // display } ?> Rocky Mountain Solo Series
Rocky Mountain Solo Logo
Join Now! Colorado Region Continental Divide Region SCCA Home Thanks to Riptide Hosting, Inc. for the Windows® Dedicated Server hosting AutoHaus of Boulder

RMSolo Winter Solo Event #3
Sunday, January 15th
FRA, Watkins, CO

No current entries

Entry List


Register for This Event
No Event Results are available.