function writeClientProgRow(&$cprog)
{
    //---------------------------------------------------------------------
    //
    //---------------------------------------------------------------------
    global $genumDateFormat, $gbDev;
    $lCProgID = $cprog->lKeyID;
    if ($cprog->bHidden) {
        $strStyle = 'color: #999; font-style: italic;';
        $strEnroll = ' ';
        $strAttend = ' ';
        $strClone = ' ';
    } else {
        $strStyle = '';
        $strEnroll = strLinkView_UFFields($cprog->lEnrollmentTableID, 'View enrollment fields', true) . ' ' . $cprog->lNumEFields;
        $strAttend = strLinkView_UFFields($cprog->lAttendanceTableID, 'View attendance fields', true) . ' ' . $cprog->lNumAFields;
        if ($gbDev) {
            $strEnroll .= ' ' . strLinkDebug_Fields($cprog->lEnrollmentTableID, 'Field debug info', true);
            $strAttend .= ' ' . strLinkDebug_Fields($cprog->lAttendanceTableID, 'Field debug info', true);
        }
        $strClone = strLinkClone_CProgram($lCProgID, 'Clone this client program', true);
    }
    if ($cprog->bMentorMentee) {
        $strProgType = '<br><i>Mentor Program</i>';
        //         &nbsp;'
        //                .strLinkEdit_CPMentorFields($lCProgID, 'Edit field association', true);
    } else {
        $strProgType = '';
    }
    echoT('
            <tr class="makeStripe">
               <td class="enpRpt" style="text-align: center; ' . $strStyle . '" nowrap>' . str_pad($lCProgID, 5, '0', STR_PAD_LEFT) . '&nbsp;' . strLinkView_CProgram($lCProgID, 'View program record', true) . '
               </td>
               <td class="enpRpt" style="text-align: center; vertical-align: top;' . $strStyle . '" nowrap>' . $strClone . '
               </td>
               <td class="enpRpt" style="' . $strStyle . '"><b>' . htmlspecialchars($cprog->strProgramName) . '</b>' . $strProgType . '<br>' . date($genumDateFormat, $cprog->dteStart) . ' - ' . date($genumDateFormat, $cprog->dteEnd) . '
               </td>
               <td class="enpRpt" style="width: 160pt; ' . $strStyle . '">' . nl2br(htmlspecialchars($cprog->strDescription)) . '
               </td>
               <td class="enpRpt" style="' . $strStyle . ' text-align: center;">' . $strEnroll . '
               </td>
               <td class="enpRpt" style="' . $strStyle . ' text-align: center;">' . $strAttend . '
               </td>
            </tr>');
}
 function strHTMLProgramSummaryDisplay($enumTType)
 {
     //---------------------------------------------------------------------
     //  caller must first load the client program record
     //---------------------------------------------------------------------
     $params = array('enumStyle' => 'terse');
     $clsRpt = new generic_rpt($params);
     $strOut = '';
     $cprog =& $this->cprogs[0];
     $lCProgID = $cprog->lKeyID;
     $bEnrollment = $enumTType == CENUM_CONTEXT_CPROGENROLL;
     $clsRpt->setEntrySummary();
     $strOut .= $clsRpt->openReport();
     $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Client Program:', '115pt') . $clsRpt->writeCell(htmlspecialchars($cprog->strProgramName) . '&nbsp;' . strLinkView_CProgram($lCProgID, 'View program record', true)) . $clsRpt->closeRow();
     $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Table Type:', '115pt') . $clsRpt->writeCell($bEnrollment ? $cprog->strSafeEnrollLabel : $cprog->strSafeAttendLabel) . $clsRpt->closeRow();
     $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Client Program ID:', '115pt') . $clsRpt->writeCell(str_pad($lCProgID, 5, '0', STR_PAD_LEFT)) . $clsRpt->closeRow();
     $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Description:') . $clsRpt->writeCell(nl2br(htmlspecialchars($cprog->strDescription)), '350pt;') . $clsRpt->closeRow();
     $strOut .= $clsRpt->closeReport();
     return $strOut;
 }
 if ($ut->bHidden) {
     $strStyleHidden = ' color: #aaa; ';
 } else {
     $strStyleHidden = '';
 }
 $strLinkFields = strLinkView_UFFields($ut->lKeyID, 'View fields', true);
 if (!is_null($ut->lCProgEID)) {
     $strPName = '<b>' . htmlspecialchars($ut->strCProgEName) . '</b>';
     $strCPID = str_pad($ut->lCProgEID, 5, '0', STR_PAD_LEFT) . '&nbsp;' . strLinkView_CProgram($ut->lCProgEID, 'View client program', true);
     $strCPE = '<b>X</b>';
     $strCPA = '-';
     $bCP = true;
     $strLinkUTable = '';
 } elseif (!is_null($ut->lCProgAID)) {
     $strPName = '<b>' . htmlspecialchars($ut->strCProgAName) . '</b>';
     $strCPID = str_pad($ut->lCProgAID, 5, '0', STR_PAD_LEFT) . '&nbsp;' . strLinkView_CProgram($ut->lCProgAID, 'View client program', true);
     $strCPE = '-';
     $strCPA = '<b>X</b>';
     $bCP = true;
     $strLinkUTable = '';
 } else {
     $strPName = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-';
     $strCPID = '-';
     $strCPE = '-';
     $strCPA = '-';
     $bCP = false;
     $strLinkUTable = '&nbsp;' . strLinkView_UFTable($ut->lKeyID, 'View table', true);
 }
 echoT('
      <tr class="makeStripe">
         <td class="enpRpt" style="text-align: center; width: 20pt; ' . $strStyleHidden . '">' . ($idx + 1) . '