function viewCName($strLookupLetter = 'A', $lStartRec = 0, $lRecsPerPage = 50)
 {
     //---------------------------------------------------------------------
     // contact directory by name
     //---------------------------------------------------------------------
     if (!bTestForURLHack('showPeople')) {
         return;
     }
     $strLookupLetter = urldecode($strLookupLetter);
     $displayData = array();
     //------------------------------------------------
     // libraries and utilities
     //------------------------------------------------
     $this->load->helper('dl_util/rs_navigate');
     //      $this->load->helper ('dl_util/email_web');
     $this->load->helper('dl_util/record_view');
     $this->load->helper('img_docs/link_img_docs');
     $this->load->helper('biz/biz');
     $this->load->helper('people/people_display');
     $this->load->helper('dl_util/directory');
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->model('biz/mbiz', 'clsBiz');
     $this->load->model('people/mpeople', 'clsPeople');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     //------------------------------------------------
     // sanitize the lookup letter and inputs
     //------------------------------------------------
     $displayData['strDirLetter'] = $strLookupLetter = strSanitizeLetter($strLookupLetter);
     $strWhereExtra = $this->clsPeople->strWhereByLetter($strLookupLetter, CENUM_CONTEXT_PEOPLE, '');
     $this->clsBiz->loadContactNameDirectoryPage($strWhereExtra, $lStartRec, $lRecsPerPage);
     //------------------------------------------------
     // stripes
     //------------------------------------------------
     $this->load->model('util/mbuild_on_ready', 'clsOnReady');
     $this->clsOnReady->addOnReadyTableStripes();
     $this->clsOnReady->closeOnReady();
     $displayData['js'] = $this->clsOnReady->strOnReady;
     //------------------------------------------------
     // set up directory display
     //------------------------------------------------
     $displayData['strRptTitle'] = 'Contact Directory';
     $displayData['lNumRecsTot'] = lNumPeopleRecsViaLetter($strLookupLetter, CENUM_CONTEXT_BIZCONTACT);
     $displayData['strDirLetter'] = $strLookupLetter;
     $displayData['strLinkBase'] = $strLinkBase = 'biz/biz_directory/viewCName/';
     $displayData['strDirTitle'] = strDisplayDirectory($strLinkBase, ' class="directoryLetters" ', $strLookupLetter, true, $lStartRec, $lRecsPerPage);
     $displayData['strRecNavTitle'] = 'Contact Directory (by Contact Name): ';
     $displayData['lNumDisplayRows'] = $lNumContactsNames = $this->clsBiz->lNumContactsNames;
     $displayData['directoryRecsPerPage'] = $lRecsPerPage;
     $displayData['directoryStartRec'] = $lStartRec;
     $displayData['bizRecs'] =& $this->clsBiz->contactsNames;
     //------------------------------------------------
     // breadcrumbs / page setup
     //------------------------------------------------
     $displayData['mainTemplate'] = array('biz/biz_directory_view', 'biz/contact_dir');
     $displayData['pageTitle'] = anchor('main/menu/biz', 'Businesses/Organizations', 'class="breadcrumb"') . ' | Contact Directory by Name';
     $displayData['title'] = CS_PROGNAME . ' | Businesses';
     $displayData['nav'] = $this->mnav_brain_jar->navData();
     $this->load->vars($displayData);
     $this->load->view('template');
 }
 function peopleDirView($strLookupLetter, $lStartRec, $lRecsPerPage, $bRelDir)
 {
     //------------------------------------------------------------------------------
     //
     //------------------------------------------------------------------------------
     if (!bTestForURLHack('showPeople')) {
         return;
     }
     $strLookupLetter = urldecode($strLookupLetter);
     $displayData = array();
     //------------------------------------------------
     // libraries and utilities
     //------------------------------------------------
     $this->load->helper('people/people');
     $this->load->helper('people/people_display');
     $this->load->helper('dl_util/directory');
     $this->load->helper('dl_util/rs_navigate');
     //      $this->load->helper('dl_util/email_web');
     $this->load->helper('dl_util/record_view');
     $this->load->helper('img_docs/link_img_docs');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->model('people/mpeople', 'clsPeople');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('sponsorship/msponsorship');
     $this->load->model('donations/mdonations');
     $this->load->model('people/mrelationships', 'clsRel');
     //------------------------------------------------
     // sanitize the lookup letter
     //------------------------------------------------
     $displayData['strDirLetter'] = $strLookupLetter = strSanitizeLetter($strLookupLetter);
     $displayData['bRelDir'] = $bRelDir;
     //------------------------------------------------
     // stripes
     //------------------------------------------------
     $this->load->model('util/mbuild_on_ready', 'clsOnReady');
     $this->clsOnReady->addOnReadyTableStripes();
     $this->clsOnReady->closeOnReady();
     $displayData['js'] = $this->clsOnReady->strOnReady;
     initPeopleReportDisplay($displayData);
     $displayData['strRptTitle'] = 'People ' . ($bRelDir ? 'Relationship ' : '') . 'Directory';
     $displayData['strDirLetter'] = $strLookupLetter;
     $displayData['strLinkBase'] = $strLinkBase = 'people/people_dir/' . ($bRelDir ? 'relView' : 'view') . '/';
     $displayData['strDirTitle'] = strDisplayDirectory($strLinkBase, ' class="directoryLetters" ', $strLookupLetter, true, $lStartRec, $lRecsPerPage);
     //------------------------------------------------
     // total # people for this letter
     //------------------------------------------------
     $displayData['lNumRecsTot'] = $lNumRecsTot = lNumPeopleRecsViaLetter($strLookupLetter, CENUM_CONTEXT_PEOPLE);
     $displayData['lNumPeople'] = $lNumRecsTot;
     $displayData['strPeopleType'] = CENUM_CONTEXT_PEOPLE;
     //------------------------------------------------
     // load people directory page
     //------------------------------------------------
     $strWhereExtra = $this->clsPeople->strWhereByLetter($strLookupLetter, CENUM_CONTEXT_PEOPLE, false);
     $this->clsPeople->loadPeopleDirectoryPage($strWhereExtra, $lStartRec, $lRecsPerPage);
     $displayData['lNumDisplayRows'] = $this->clsPeople->lNumPeople;
     $displayData['directoryRecsPerPage'] = $lRecsPerPage;
     $displayData['directoryStartRec'] = $lStartRec;
     $displayData['people'] =& $this->clsPeople->people;
     if ($bRelDir) {
         if ($this->clsPeople->lNumPeople > 0) {
             foreach ($this->clsPeople->people as $person) {
                 $this->clsRel->lPID = $person->lKeyID;
                 $this->clsRel->loadFromRelViaPID();
                 $person->lNumFromRels = $this->clsRel->lNumRelAB;
                 if ($person->lNumFromRels > 0) {
                     $person->fromRels = arrayCopy($this->clsRel->arrRelAB);
                 }
                 $this->clsRel->loadToRelViaPID();
                 $person->lNumToRels = $this->clsRel->lNumRelAB;
                 if ($person->lNumToRels > 0) {
                     $person->toRels = arrayCopy($this->clsRel->arrRelAB);
                 }
             }
         }
     }
     //------------------------------------------------
     // breadcrumbs / page setup
     //------------------------------------------------
     $displayData['mainTemplate'] = array('people/people_directory_view', 'people/' . ($bRelDir ? 'rpt_people_rel_dir_view' : 'rpt_generic_people_list'));
     $displayData['pageTitle'] = anchor('main/menu/people', 'People', 'class="breadcrumb"') . ' | People' . ($bRelDir ? ' Relationship' : '') . ' Directory';
     $displayData['title'] = CS_PROGNAME . ' | People';
     $displayData['nav'] = $this->mnav_brain_jar->navData();
     $this->load->vars($displayData);
     $this->load->view('template');
 }
 function view($strLookupLetter = 'A', $lStartRec = 0, $lRecsPerPage = 50)
 {
     //------------------------------------------------------------------------------
     //
     //------------------------------------------------------------------------------
     if (!bTestForURLHack('showPeople')) {
         return;
     }
     $strLookupLetter = urldecode($strLookupLetter);
     $displayData = array();
     //------------------------------------------------
     // libraries and utilities
     //------------------------------------------------
     $this->load->helper('people/people');
     $this->load->helper('people/people_display');
     $this->load->helper('dl_util/directory');
     $this->load->helper('dl_util/rs_navigate');
     //      $this->load->helper('dl_util/email_web');
     $this->load->helper('dl_util/record_view');
     $this->load->helper('img_docs/link_img_docs');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->model('people/mpeople', 'clsPeople');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('sponsorship/msponsorship');
     $this->load->model('donations/mdonations');
     $this->load->model('people/mrelationships', 'clsRel');
     //------------------------------------------------
     // sanitize the lookup letter
     //------------------------------------------------
     /*
           $strLookupLetter = strtoupper(substr($strLookupLetter, 0, 1));
           if ($strLookupLetter < 'A' || $strLookupLetter > 'Z') $strLookupLetter = '#';
           $displayData['strDirLetter'] = $strLookupLetter;
     */
     $displayData['strDirLetter'] = $strLookupLetter = strSanitizeLetter($strLookupLetter);
     //------------------------------------------------
     // stripes
     //------------------------------------------------
     $this->load->model('util/mbuild_on_ready', 'clsOnReady');
     $this->clsOnReady->addOnReadyTableStripes();
     $this->clsOnReady->closeOnReady();
     $displayData['js'] = $this->clsOnReady->strOnReady;
     initHouseholdReportDisplay($displayData);
     $displayData['strRptTitle'] = 'Household Directory';
     $displayData['strDirLetter'] = $strLookupLetter;
     $displayData['strLinkBase'] = $strLinkBase = 'people/people_household_dir/view/';
     $displayData['strDirTitle'] = strDisplayDirectory($strLinkBase, ' class="directoryLetters" ', $strLookupLetter, true, $lStartRec, $lRecsPerPage);
     //------------------------------------------------
     // total # households for this letter
     //------------------------------------------------
     $displayData['lNumRecsTot'] = $lNumRecsTot = lNumPeopleRecsViaLetter($strLookupLetter, CENUM_CONTEXT_HOUSEHOLD);
     $displayData['lNumPeople'] = $lNumRecsTot;
     $displayData['strPeopleType'] = CENUM_CONTEXT_HOUSEHOLD;
     //------------------------------------------------
     // load household directory page
     //------------------------------------------------
     $strWhereExtra = $this->clsPeople->strWhereByLetter($strLookupLetter, CENUM_CONTEXT_HOUSEHOLD, false);
     $this->clsPeople->loadHouseholdDirectoryPage($strWhereExtra, $lStartRec, $lRecsPerPage);
     $displayData['lNumDisplayRows'] = $this->clsPeople->lNumPeople;
     $displayData['directoryRecsPerPage'] = $lRecsPerPage;
     $displayData['directoryStartRec'] = $lStartRec;
     $displayData['people'] = $this->clsPeople->people;
     //------------------------------------------------
     // breadcrumbs / page setup
     //------------------------------------------------
     $displayData['mainTemplate'] = array('people/household_directory_view', 'people/rpt_generic_household_list_view');
     $displayData['pageTitle'] = anchor('main/menu/people', 'People', 'class="breadcrumb"') . ' | Household Directory';
     $displayData['title'] = CS_PROGNAME . ' | People';
     $displayData['nav'] = $this->mnav_brain_jar->navData();
     $this->load->vars($displayData);
     $this->load->view('template');
 }
 function view_generic($strLookupLetter = 'A', $lStartRec = 0, $lRecsPerPage = 50, $strShowInactive = 'true', $bViaRegFormID, $lRegFormID = null)
 {
     //------------------------------------------------------------------------------
     //
     //------------------------------------------------------------------------------
     if (!bTestForURLHack('showPeople')) {
         return;
     }
     $strLookupLetter = urldecode($strLookupLetter);
     $bShowInactive = strtoupper($strShowInactive) == 'TRUE';
     $displayData = array();
     if ($bViaRegFormID) {
         $lRegFormID = (int) $lRegFormID;
     }
     //------------------------------------------------
     // models / libraries / helpers
     //------------------------------------------------
     $this->load->helper('people/people');
     $this->load->helper('people/people_display');
     $this->load->model('vols/mvol', 'clsVol');
     $this->load->model('vols/mvol_skills', 'clsVolSkills');
     $this->load->helper('vols/vol');
     $this->load->helper('dl_util/time_duration_helper');
     $this->load->helper('dl_util/directory');
     $this->load->helper('dl_util/rs_navigate');
     //      $this->load->helper('dl_util/email_web');
     $this->load->helper('dl_util/record_view');
     $this->load->helper('img_docs/link_img_docs');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->model('people/mpeople', 'clsPeople');
     $this->load->model('admin/madmin_aco', 'clsACO');
     //------------------------------------------------
     // sanitize the lookup letter
     //------------------------------------------------
     $displayData['strDirLetter'] = $strLookupLetter = strSanitizeLetter($strLookupLetter);
     //------------------------------------------------
     // stripes
     //------------------------------------------------
     $this->load->model('util/mbuild_on_ready', 'clsOnReady');
     $this->clsOnReady->addOnReadyTableStripes();
     $this->clsOnReady->closeOnReady();
     $displayData['js'] = $this->clsOnReady->strOnReady;
     //------------------------------------------------
     // define columns to display
     //------------------------------------------------
     initVolReportDisplay($displayData);
     $displayData['showFields']->bSkills = true;
     //------------------------------------------------
     // set up directory display
     //------------------------------------------------
     if ($bViaRegFormID) {
         $this->load->model('vol_reg/mvol_reg', 'volReg');
         $this->volReg->loadVolRegFormsViaRFID($lRegFormID);
         $rRec =& $this->volReg->regRecs[0];
         $displayData['strRptTitle'] = 'Volunteer Directory By Registration Form (' . htmlspecialchars($rRec->strFormName) . ')';
         $displayData['strLinkBase'] = $strLinkBase = 'volunteers/vol_directory/viewViaRegFormID/' . $lRegFormID . '/';
         $strWhereExtraReg = " AND vol_lRegFormID = {$lRegFormID} ";
     } else {
         $displayData['strRptTitle'] = 'Volunteer Directory';
         $displayData['strLinkBase'] = $strLinkBase = 'volunteers/vol_directory/view/';
         $strWhereExtraReg = '';
     }
     $displayData['strDirLetter'] = $strLookupLetter;
     $displayData['strDirTitle'] = strDisplayDirectory($strLinkBase, ' class="directoryLetters" ', $strLookupLetter, true, $lStartRec, $lRecsPerPage);
     //------------------------------------------------
     // total # people for this letter
     //------------------------------------------------
     $displayData['lNumRecsTot'] = $lNumRecsTot = lNumPeopleRecsViaLetter($strLookupLetter, CENUM_CONTEXT_VOLUNTEER, $bShowInactive, $strWhereExtraReg);
     $displayData['lNumVols'] = $lNumRecsTot;
     $displayData['strPeopleType'] = 'volunteer';
     //------------------------------------------------
     // load volunteer directory page
     //------------------------------------------------
     $strWhereExtra = $this->clsPeople->strWhereByLetter($strLookupLetter, CENUM_CONTEXT_PEOPLE) . $strWhereExtraReg;
     if (!$bShowInactive) {
         $strWhereExtra .= ' AND NOT vol_bInactive ';
     }
     $this->clsVol->loadVolDirectoryPage($strWhereExtra, $lStartRec, $lRecsPerPage);
     $displayData['lNumDisplayRows'] = $lNumVols = $this->clsVol->lNumVolRecs;
     $displayData['directoryRecsPerPage'] = $lRecsPerPage;
     $displayData['directoryStartRec'] = $lStartRec;
     if ($lNumVols) {
         foreach ($this->clsVol->volRecs as $volRec) {
             $this->clsVolSkills->lVolID = $lVolID = $volRec->lKeyID;
             $this->clsVolSkills->loadSingleVolSkills();
             $volRec->lNumJobSkills = $lNumSkills = $this->clsVolSkills->lNumSingleVolSkills;
             if ($lNumSkills > 0) {
                 $volRec->volSkills = arrayCopy($this->clsVolSkills->singleVolSkills);
             }
         }
     }
     $displayData['vols'] =& $this->clsVol->volRecs;
     //------------------------------------------------
     // breadcrumbs / page setup
     //------------------------------------------------
     $displayData['mainTemplate'] = array('vols/vol_directory_view', 'vols/rpt_generic_vol_list');
     $displayData['pageTitle'] = anchor('main/menu/vols', 'Volunteers', 'class="breadcrumb"') . ' | Directory';
     $displayData['title'] = CS_PROGNAME . ' | Volunteers';
     $displayData['nav'] = $this->mnav_brain_jar->navData();
     $this->load->vars($displayData);
     $this->load->view('template');
 }