function reportDupPeopleInfo($clsDateTime, $clsRpt, $dupPeople)
{
    //---------------------------------------------------------------------
    //
    //---------------------------------------------------------------------
    foreach ($dupPeople as $person) {
        echoT('<table class="enpView" style="margin-bottom: 16pt;">');
        showPeopleInfo($clsDateTime, $clsRpt, $person);
        echoT('</table>');
    }
}
<?php

$clsDateTime = new dl_date_time();
$params = array('enumStyle' => 'terse', 'clsRpt');
$clsRpt = new generic_rpt($params);
$clsRpt->strWidthLabel = '130pt';
$clsRpt->openReport();
openBlock('Consolidated People Record', '');
echoT('<table class="enpView" border="0">');
showPeopleInfo($clsDateTime, $clsRpt, $people, $dupIDs);
echoT('</table>');
closeBlock();
function showPeopleInfo($clsDateTime, $clsRpt, $people, $dupIDs)
{
    //---------------------------------------------------------------------
    //
    //---------------------------------------------------------------------
    global $gbDateFormatUS, $genumDateFormat, $glclsDTDateFormat;
    // People ID
    $lPeopleID = $people->lKeyID;
    echoT($clsRpt->openRow() . $clsRpt->writeLabel('People ID:') . $clsRpt->writeCell(strLinkView_PeopleRecord($lPeopleID, 'View people record', true) . '&nbsp;' . str_pad($lPeopleID, 5, '0', STR_PAD_LEFT)) . $clsRpt->closeRow());
    // Name
    echoT($clsRpt->openRow() . $clsRpt->writeLabel('Name:') . $clsRpt->writeCell($people->strSafeNameLF) . $clsRpt->closeRow());
    // Address
    echoT($clsRpt->openRow() . $clsRpt->writeLabel('Address:') . $clsRpt->writeCell($people->strAddress) . $clsRpt->closeRow());
    // Phone
    echoT($clsRpt->openRow() . $clsRpt->writeLabel('Phone:') . $clsRpt->writeCell(htmlspecialchars(strPhoneCell($people->strPhone, $people->strCell))) . $clsRpt->closeRow());
    echoT($clsRpt->openRow() . $clsRpt->writeLabel('Consolidated With:') . $clsRpt->writeCell('People IDs: ' . implode(', ', $dupIDs)) . $clsRpt->closeRow());
}
global $gbVolLogin;
$clsDateTime = new dl_date_time();
$params = array('enumStyle' => 'terse', 'clsRpt');
$clsRpt = new generic_rpt($params);
$clsRpt->strWidthLabel = '120pt';
$lPID = $people->lKeyID;
//------------------------------------------------------------------------
// is this a temporary people record? If so, give the user some options
// Expiration dates are used for imported mailing lists
//------------------------------------------------------------------------
if (!is_null($people->dteExpire)) {
    displayExpirationInfo($lPID, $people);
}
$lIndentWidth = 20;
showPeopleInfo($clsRpt, $lPID, $people, $vol, $clsDateTime);
if (!$gbVolLogin) {
    if (bAllowAccess('showSponsors')) {
        showSponsorshipInfo($clsRpt, $sponInfo, $lNumSponsors, $lPID, $people);
    }
    showHouseholdInfo($people, $lPID, $arrHouseholds);
    showGroupInfo($lPID, $people->strSafeName, $lNumGroups, $groupList, $inGroups, $lCntGroupMembership, CENUM_CONTEXT_PEOPLE, 'pRecView');
    showRelationships($lPID, $people, $arrRelAB, $arrRelBA, $lNumRelAB, $lNumRelBA);
    showCustomPeopleTableInfo($strPT, $lNumPTablesAvail);
    if (bAllowAccess('showFinancials')) {
        showGifts($lPID, false, $strCumGiftsNonSoftMon, $strCumGiftsNonSoftInKind, $strCumGiftsSoft, $strCumSpon, $lNumPledges, $lTotHard, $lTotSoft, $lTotInKind, $lNumSponPay);
    }
    showImageInfo(CENUM_CONTEXT_PEOPLE, $lPID, ' Images', $images, $lNumImages, $lNumImagesTot);
    showDocumentInfo(CENUM_CONTEXT_PEOPLE, $lPID, ' Documents', $docs, $lNumDocs, $lNumDocsTot);
    showPeopleBizContacts($lPID, $people, $lNumContacts, $contacts, $clsRpt);
    //      showReminderBlock        ($clsRem, $lPID, CENUM_CONTEXT_PEOPLE);