private function strVolHoursSumReport(&$sRpt, $lStartRec, $lRecsPerPage)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     $this->hrsSumOpts($sRpt, $bUseYear, $lYear, $bUseMon, $lMon, $bUseVolID, $lVolID);
     $strLimit = " LIMIT {$lStartRec}, {$lRecsPerPage} ";
     $strTab = 'tmp_vol_hrs';
     $strWhere = '1';
     if ($bUseVolID) {
         $cVol = new mvol();
         whereAmI();
         die;
     } elseif ($bUseMon) {
         $strMonth = strXlateMonth($lMon);
         $strTitle = 'Volunteer Summary for ' . $strMonth . ' ' . $lYear;
         $strFail = 'There are no volunteer hours for ' . $strMonth . ' ' . $lYear;
     } else {
         $strTitle = 'Volunteer Summary for the Year ' . $lYear;
         $strFail = 'There are no volunteer hours for the year ' . $lYear;
     }
     $sqlStr = "SELECT SUM(vsa_dHoursWorked) AS dHours,\n              pe_strFName, pe_strLName, tmphr_lVolID\n           FROM {$strTab}\n              INNER JOIN vol_events_dates_shifts_assign ON vsa_lKeyID            = tmphr_lEventAssignID\n              INNER JOIN volunteers                     ON tmphr_lVolID          = vol_lKeyID\n              INNER JOIN people_names                   ON vol_lPeopleID         = pe_lKeyID\n\n           WHERE {$strWhere}\n           GROUP BY tmphr_lVolID\n           ORDER BY pe_strLName, pe_strFName, tmphr_lVolID;";
     $query = $this->db->query($sqlStr);
     $lNumRows = $query->num_rows();
     if ($lNumRows == 0) {
         return '<br><i>' . $strFail . '.</i><br>';
     }
     $strOut = '
       <table class="enpRptC">
          <tr>
             <td class="enpRptTitle" colspan="5">' . $strTitle . '
             </td>
          </tr>';
     $strOut .= '
          <tr>
             <td class="enpRptLabel" >
                Vol ID
             </td>
             <td class="enpRptLabel" >
                Volunteer
             </td>
             <td class="enpRptLabel" >
                Total Hours
             </td>
             <td class="enpRptLabel" >
                Details
             </td>
          </tr>';
     foreach ($query->result() as $row) {
         $lVolID = $row->tmphr_lVolID;
         $strOut .= '
         <tr class="makeStripe">
            <td class="enpRpt">' . str_pad($lVolID, 5, '0', STR_PAD_LEFT) . '&nbsp;' . strLinkView_Volunteer($lVolID, 'View volunteer record', true) . '
            </td>
            <td class="enpRpt">' . htmlspecialchars($row->pe_strLName . ', ' . $row->pe_strFName) . '
            </td>
            <td class="enpRpt" style="text-align: right; padding-right: 3px;">' . number_format($row->dHours, 2) . '
            </td>
            <td class="enpRpt" style="text-align: center;">' . strLinkView_VolDetailHrsViaYrMon($lYear, $lMon, $lVolID, 'View details', true) . '
         </tr>';
     }
     $strOut .= '</table><br>';
     return $strOut;
 }
function showVolHours($clsRpt, $volRec, $dTotHours, $dTotUnHours, $lVolID)
{
    //---------------------------------------------------------------------
    //
    //---------------------------------------------------------------------
    $attributes = new stdClass();
    $attributes->lTableWidth = 900;
    $attributes->divID = 'volHrs';
    $attributes->divImageID = 'volHrsDivImg';
    openBlock('Volunteer Hours <span style="font-size: 9pt;">(' . number_format($dTotHours + $dTotUnHours, 2) . ' hrs.)</span>', '', $attributes);
    $clsRpt->openReport();
    echoT('
      <table>
         <tr>
            <td style="padding-right: 20pt;">
               <b>Scheduled:</b>
            </td>
            <td style="text-align: right; ">' . number_format($dTotHours, 2) . ' hours
            </td>
            <td>' . strLinkView_VolHrsViaVolID($lVolID, true, 'View details', true) . '
            </td>
         </tr>');
    echoT('
         <tr>
            <td style="vertical-align: bottom;">
               <b>Unscheduled:</b>
            </td>
            <td style="vertical-align: bottom; text-align: right;">' . number_format($dTotUnHours, 2) . ' hours
            </td>
            <td>' . strLinkView_VolHrsViaVolID($lVolID, false, 'View details', true) . '&nbsp;&nbsp;&nbsp;' . strLinkAdd_VolUnschedHrs($lVolID, 'Log hours for an unscheduled activity', true) . '&nbsp;' . strLinkAdd_VolUnschedHrs($lVolID, 'Log volunteer activity', false) . '
            </td>
         </tr>
         <tr>
            <td style="vertical-align: bottom;">
               <b>Total:</b>
            </td>
            <td style="vertical-align: bottom; text-align: right;">' . number_format($dTotHours + $dTotUnHours, 2) . ' hours ' . '
            </td>
            <td>' . strLinkView_VolDetailHrsViaYrMon(null, null, $lVolID, 'View All', true) . '
            </td>
         </tr>
      </table>');
    $clsRpt->closeReport();
    $attributes = new stdClass();
    $attributes->bCloseDiv = true;
    closeBlock($attributes);
}