Example #1
0
function viewContactReport($userID, $domainID, $CSVFlag, $programId, $includeInactive)
{
    //print $includeInactive ? 'inactive included' : 'inactive excluded';
    $userObject = clone $_SESSION['UserObject'];
    $contactManager = new ContactManager($domainID, $userID);
    $programString['csv'] = '';
    $programString['standard'] = '';
    if ($programId != '') {
        $programList = $_SESSION['UserObject']->PointChannels()->participationTypeList();
        if (array_key_exists($programId, $programList)) {
            $programString['csv'] = $programList[$programId];
            $programString['standard'] = '<strong>' . $programList[$programId] . '</strong><br />';
        }
    }
    $contactReport = $contactManager->GetContactReport($programId);
    $limit = count($contactReport);
    $pointString = '';
    if ($limit) {
        if ($CSVFlag === true) {
            $viewContactReport = 'Contact Summary Report for ' . $userObject->localDomain()->description() . "\n" . $programString['csv'] . "\n" . 'Profile,' . 'Name,' . 'Use,' . 'Type,' . 'Location,' . 'Priority,' . 'Contact,' . 'Status' . "\n";
            for ($inx = 0; $inx < $limit; $inx++) {
                if ($contactReport[$inx]->status() == 'Active' || $contactReport[$inx]->status() != 'Active' && $includeInactive) {
                    $viewContactReport .= $contactReport[$inx]->profile() . ',' . (strlen($contactReport[$inx]->name()) ? '"' . $contactReport[$inx]->name() . '"' : '') . ',' . $contactReport[$inx]->contactUse() . ',' . $contactReport[$inx]->type() . ',' . $contactReport[$inx]->location() . ',' . $contactReport[$inx]->priorityLevel() . ',' . $contactReport[$inx]->contactValue() . ',' . $contactReport[$inx]->status() . "\n";
                }
            }
        } else {
            $viewContactReport = '<table align="right" cellpadding="0" cellspacing="0" border="0">' . "\n";
            $viewContactReport .= '<tr>' . "\n";
            $viewContactReport .= '<td class="export"><a href="#" id="exportTableTip" onClick="processBasicCSVExportWithProgram(\'' . rtrim($pointString, ',') . '\',\'' . $domainID . '\',\'' . $programId . '\');" ><img src="_template/images/blank.gif" height="31" width="31" border="0" /><a/></td>' . "\n";
            $viewContactReport .= '</tr>' . "\n";
            $viewContactReport .= '</table>' . "\n";
            $viewContactReport .= '<div>' . '<div style="text-align: center; margin-bottom: 10px;">' . 'Contact Summary Report<br />' . '<strong>' . $userObject->localDomain()->description() . '</strong><br/>' . $programString['standard'] . '</div>' . '<div style="margin-left: 30px;">' . '<table class="sortable" border="0" cellspacing="0" cellpadding="5">' . '<thead>' . '<tr> ' . '<th style="border-bottom: 2px solid; border-top: 2px solid; border-left: 2px solid; font-size: 12px;">&nbsp;</th>' . '<th style="border-bottom: 2px solid; border-top: 2px solid; font-size: 12px; border-left: 1px solid;">Profile</th>' . '<th style="border-bottom: 2px solid; border-top: 2px solid; font-size: 12px; border-left: 1px solid;">Name</th>' . '<th style="border-bottom: 2px solid; border-top: 2px solid; font-size: 12px; border-left: 1px solid;">Use</th>' . '<th style="border-bottom: 2px solid; border-top: 2px solid; font-size: 12px; border-left: 1px solid;">Type</th>' . '<th style="border-bottom: 2px solid; border-top: 2px solid; font-size: 12px; border-left: 1px solid;">Location</th>' . '<th style="border-bottom: 2px solid; border-top: 2px solid; font-size: 12px; border-left: 1px solid;">Priority</th>' . '<th style="border-bottom: 2px solid; border-top: 2px solid; font-size: 12px; border-left: 1px solid;">Contact</th>' . '<th style="border-bottom: 2px solid; border-top: 2px solid; border-right: 2px solid; font-size: 12px; border-left: 1px solid;">Status</th></tr>' . '</thead>' . '<tbody>';
            $recordNumber = 1;
            for ($inx = 0; $inx < $limit; $inx++) {
                if ($contactReport[$inx]->status() == 'Active' || $contactReport[$inx]->status() != 'Active' && $includeInactive) {
                    $viewContactReport .= '<tr><td style="border-bottom: 1px solid; border-left: 1px solid; font-size: 12px;" align="right">' . $recordNumber++ . '</td>' . '<td style="border-bottom: 1px solid; border-left: 1px solid; font-size: 12px;" align="left">' . $contactReport[$inx]->profile() . '</td>' . '<td style="border-bottom: 1px solid; border-left: 1px solid; font-size: 12px;" align="left">' . (strlen($contactReport[$inx]->name()) ? $contactReport[$inx]->name() : '&nbsp;') . '</td>' . '<td style="border-bottom: 1px solid; border-left: 1px solid; font-size: 12px;" align="left">' . $contactReport[$inx]->contactUse() . '</td>' . '<td style="border-bottom: 1px solid; border-left: 1px solid; font-size: 12px;" align="left">' . $contactReport[$inx]->type() . '</td>' . '<td style="border-bottom: 1px solid; border-left: 1px solid; font-size: 12px;" align="left">' . $contactReport[$inx]->location() . '</td>' . '<td style="border-bottom: 1px solid; border-left: 1px solid; font-size: 12px;" align="right">' . $contactReport[$inx]->priorityLevel() . '</td>' . '<td style="border-bottom: 1px solid; border-left: 1px solid; font-size: 12px;" align="left">' . $contactReport[$inx]->contactValue() . '</td>' . '<td style="border-bottom: 1px solid; border-left: 1px solid; border-right: 1px solid; font-size: 12px;" align="left">' . $contactReport[$inx]->status() . '</td></tr>';
                }
            }
            $viewContactReport .= '</tbody></table></div></div>';
        }
    } else {
        $viewContactReport = '<div class="error" style="width: 700px;">There are no contacts available to report upon.</div>' . "\n";
    }
    return $viewContactReport;
}