예제 #1
0
 function userAcctDir($strLookupLetter, $lStartRec = 0, $lRecsPerPage = 50)
 {
     //------------------------------------------------------------------------
     // User directory
     //------------------------------------------------------------------------
     $displayData = array();
     $displayData['js'] = '';
     if (!bTestForURLHack('adminOnly')) {
         return;
     }
     $strLookupLetter = urldecode($strLookupLetter);
     //-------------------------------------
     // models, libraries, and helpers
     //-------------------------------------
     $this->load->model('admin/muser_accts', 'clsUsers');
     $this->load->model('admin/mpermissions', 'perms');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('dl_util/directory');
     $this->load->helper('dl_util/rs_navigate');
     $this->load->helper('js/div_hide_show');
     $displayData['js'] .= showHideDiv();
     $displayData['pageTitle'] = anchor('main/menu/admin', 'Admin', 'class="breadcrumb"') . ' | User Accounts';
     $displayData['title'] = CS_PROGNAME . ' | User Accounts';
     $displayData['nav'] = $this->mnav_brain_jar->navData();
     //------------------------------------------------
     // display option / sanitize the lookup letter
     //------------------------------------------------
     $bShowAll = $strLookupLetter == 'showAll' || is_null($strLookupLetter) || $strLookupLetter == '*';
     if ($bShowAll) {
         $strLookupLetter = null;
     } else {
         $strLookupLetter = strtoupper(substr($strLookupLetter, 0, 1));
         if ($strLookupLetter < 'A' || $strLookupLetter > 'Z') {
             $strLookupLetter = '#';
         }
     }
     $displayData['strDirLetter'] = $strLookupLetter;
     $strLinkBase = 'admin/accts/userAcctDir/';
     $displayData['strDirTitle'] = strDisplayDirectory($strLinkBase, ' class="directoryLetters" ', $strLookupLetter, true, $lStartRec, $lRecsPerPage);
     $displayData['lNumRecsTot'] = $lNumRecsTot = $this->clsUsers->lCountUsers(null, $strLookupLetter);
     if ($lNumRecsTot == 0) {
         $displayData['strNobodyHome'] = 'There are no user records that begin with <b>"' . htmlspecialchars($strLookupLetter) . '"</b>';
     } else {
         if ($bShowAll) {
             $strWhereExtra = '  ';
         } else {
             $strWhereExtra = strNameWhereClauseViaLetter('us_strLastName', $strLookupLetter) . ' AND NOT us_bInactive ';
         }
         $this->clsUsers->loadUserDirectoryPage($strWhereExtra, $lStartRec, $lRecsPerPage);
         $displayData['lNumDisplayRows'] = $this->clsUsers->lNumDirRows;
         $displayData['directory'] = $this->clsUsers->directory;
         $displayData['directoryRecsPerPage'] = $lRecsPerPage;
         $displayData['directoryStartRec'] = $lStartRec;
     }
     $displayData['mainTemplate'] = 'admin/user_directory_view';
     $this->load->vars($displayData);
     $this->load->view('template');
 }
function lNumPeopleRecsViaLetter($strDirLetter, $enumRecType, $bIncludeInactive = false, $strWhereExtra = '')
{
    //---------------------------------------------------------------------
    // $bIncludeInactive applies to volunteers
    //
    // $enumRecType: 'biz' 'bizContact' 'people' 'volunteer'
    //---------------------------------------------------------------------
    $strWhereName = strNameWhereClauseViaLetter('pe_strLName', $strDirLetter);
    $CI =& get_instance();
    switch ($enumRecType) {
        case CENUM_CONTEXT_BIZ:
            $sqlStr = "SELECT\n                 COUNT(*) AS lNumRecs\n              FROM people_names\n              WHERE 1\n                   {$strWhereName} {$strWhereExtra}\n                   AND (NOT pe_bRetired)\n                   AND pe_bBiz;";
            break;
        case CENUM_CONTEXT_BIZCONTACT:
            $sqlStr = "SELECT COUNT(*) AS lNumRecs\n               FROM people_names\n                  INNER JOIN biz_contacts ON pe_lKeyID=bc_lContactID\n               WHERE NOT pe_bBiz\n                  AND NOT pe_bRetired\n                  AND NOT bc_bRetired\n                  {$strWhereName} {$strWhereExtra}\n               GROUP BY pe_lKeyID;";
            break;
        case CENUM_CONTEXT_HOUSEHOLD:
            $sqlStr = "SELECT\n                 COUNT(*) AS lNumRecs\n              FROM people_names\n              WHERE 1\n                   {$strWhereName} {$strWhereExtra}\n                   AND pe_lHouseholdID=pe_lKeyID\n                   AND (NOT pe_bRetired)\n                   AND NOT pe_bBiz;";
            break;
        case CENUM_CONTEXT_PEOPLE:
            $sqlStr = "SELECT\n                 COUNT(*) AS lNumRecs\n              FROM people_names\n              WHERE 1\n                   {$strWhereName} {$strWhereExtra}\n                   AND (NOT pe_bRetired)\n                   AND NOT pe_bBiz;";
            break;
        case CENUM_CONTEXT_VOLUNTEER:
            if (!$bIncludeInactive) {
                $strWhereName .= ' AND NOT vol_bInactive ';
            }
            $sqlStr = "SELECT\n                 COUNT(*) AS lNumRecs\n              FROM people_names\n                 INNER JOIN volunteers on pe_lKeyID=vol_lPeopleID\n              WHERE 1\n                   {$strWhereName} {$strWhereExtra}\n                   AND (NOT pe_bRetired)\n                   AND NOT pe_bBiz;";
            break;
        default:
            screamForHelp($enumRecType . ': invalid rec type<br>error on line ' . __LINE__ . ',<br>file ' . __FILE__ . ',<br>function ' . __FUNCTION__);
            break;
    }
    $query = $CI->db->query($sqlStr);
    $numRows = $query->num_rows();
    if ($enumRecType == CENUM_CONTEXT_BIZCONTACT) {
        return $numRows;
    } else {
        if ($numRows == 0) {
            return 0;
        } else {
            $row = $query->row();
            return $row->lNumRecs;
        }
    }
}
 function view($strShowInactive = 'true', $lSponProgID = -1, $strLookupLetter = 'A', $lStartRec = 0, $lRecsPerPage = 50)
 {
     //------------------------------------------------------------------------------
     //
     //------------------------------------------------------------------------------
     if (!bTestForURLHack('showSponsors')) {
         return;
     }
     $strLookupLetter = urldecode($strLookupLetter);
     $displayData = array();
     $lStartRec = (int) $lStartRec;
     $lRecsPerPage = (int) $lRecsPerPage;
     $lSponProgID = (int) $lSponProgID;
     $bShowAllProgs = $lSponProgID <= 0;
     $displayData['bShowInactive'] = $bShowInactive = strtoupper($strShowInactive) == 'TRUE';
     //------------------------------------------------
     // libraries and utilities
     //------------------------------------------------
     $this->load->helper('people/people');
     $this->load->helper('people/people_display');
     $this->load->model('sponsorship/msponsorship', 'clsSpon');
     $this->load->model('sponsorship/msponsorship_programs', 'clsSponProg');
     $this->load->helper('sponsors/sponsorship');
     $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');
     //------------------------------------------------
     // sponsorship program
     //------------------------------------------------
     if ($lSponProgID > 0) {
         $this->clsSponProg->loadSponProgsViaSPID($lSponProgID);
         $sprog =& $this->clsSponProg->sponProgs[0];
         $strProgName = ': ' . htmlspecialchars($sprog->strProg);
     } else {
         $strProgName = '';
     }
     //------------------------------------------------
     // sanitize the lookup letter and inputs
     //------------------------------------------------
     $displayData['strDirLetter'] = $strLookupLetter = strSanitizeLetter($strLookupLetter);
     $displayData['lStartRec'] = $lStartRec;
     $displayData['lRecsPerPage'] = $lRecsPerPage;
     //------------------------------------------------
     // stripes
     //------------------------------------------------
     $this->load->model('util/mbuild_on_ready', 'clsOnReady');
     $this->clsOnReady->addOnReadyTableStripes();
     $this->clsOnReady->closeOnReady();
     $displayData['js'] = $this->clsOnReady->strOnReady;
     //------------------------------------------------
     // define columns to display
     //------------------------------------------------
     initSponReportDisplay($displayData);
     //------------------------------------------------
     // set up directory display
     //------------------------------------------------
     $displayData['strRptTitle'] = 'Sponsorship Directory' . $strProgName;
     $displayData['strDirLetter'] = $strLookupLetter;
     $displayData['strLinkBase'] = $strLinkBase = 'sponsors/spon_directory/view/' . $strShowInactive . '/' . $lSponProgID . '/';
     $displayData['strLinkToggleActive'] = strLinkView_SponDir(!$bShowInactive, $lSponProgID, $strLookupLetter, 0, $lRecsPerPage, ($bShowInactive ? 'Hide' : 'Show') . ' inactive', false) . '<br>';
     $displayData['strDirTitle'] = strDisplayDirectory($strLinkBase, ' class="directoryLetters" ', $strLookupLetter, true, $lStartRec, $lRecsPerPage);
     //-------------------------------------------------------------
     // make sure one or more sponsorship programs exist
     //-------------------------------------------------------------
     $displayData['lNumSponProgs'] = $lNumSponProgs = $this->clsSponProg->lNumSponPrograms();
     if ($lNumSponProgs > 0) {
         $displayData['lNumRecsTot'] = $lNumRecsTot = $this->clsSpon->lNumSponsorsViaProgram($lSponProgID, $bShowInactive, $strLookupLetter);
         // sponsor program ddl
         $displayData['strSponProgDDL'] = '<select name="ddlSponProg">
            <option value="-1" ' . ($lSponProgID <= 0 ? 'selected' : '') . '>(all programs)</option>' . "\n" . $this->clsSponProg->strSponProgramDDL($lSponProgID, false) . "\n" . '</select>' . "\n";
         if ($lNumRecsTot > 0) {
             $displayData['directoryRecsPerPage'] = $lRecsPerPage;
             $displayData['directoryStartRec'] = $lStartRec;
             $strLimit = "LIMIT  {$lStartRec}, {$lRecsPerPage} ";
             // strLoadRecSpecs($lRecsPerPage, $lStartRec);
             $strWhereExtra = '';
             if ($lSponProgID > 0) {
                 $strWhereExtra .= " AND sp_lSponsorProgramID={$lSponProgID} ";
             }
             if (!$bShowInactive) {
                 $strWhereExtra .= ' AND NOT sp_bInactive ';
             }
             if ($strLookupLetter . '' != '') {
                 $strWhereExtra .= strNameWhereClauseViaLetter('tblPeopleSpon.pe_strLName', $strLookupLetter);
             }
             $this->clsSpon->sponsorInfoGenericViaWhere($strWhereExtra, $strLimit);
             $displayData['sponInfo'] =& $this->clsSpon->sponInfo;
         }
         $displayData['lNumDisplayRows'] = $this->clsSpon->lNumSponsors;
     }
     //------------------------------------------------
     // breadcrumbs / page setup
     //------------------------------------------------
     $displayData['mainTemplate'] = array('sponsorship/sponsor_directory_view', 'sponsorship/rpt_generic_spon_list');
     $displayData['pageTitle'] = anchor('main/menu/sponsorship', 'Sponsorship', 'class="breadcrumb"') . ' | Directory';
     $displayData['title'] = CS_PROGNAME . ' | Sponsorship';
     $displayData['nav'] = $this->mnav_brain_jar->navData();
     $this->load->vars($displayData);
     $this->load->view('template');
 }
예제 #4
0
 public function lCountUsers($bActive, $strLettersLast = '')
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     $strWhereExtra = '  ';
     if (is_null($bActive)) {
         $strActive = '';
     } else {
         $strActive = ' AND ' . ($bActive ? ' NOT ' : ' ') . ' us_bInactive ';
     }
     if (!($strLettersLast . '' == '') || $strLettersLast . '' == '*') {
         $strWhereExtra .= strNameWhereClauseViaLetter('us_strLastName', $strLettersLast);
     }
     $sqlStr = "SELECT COUNT(*) AS lNumRecs\n         FROM admin_users\n         WHERE 1\n            {$strWhereExtra} {$strActive};";
     $query = $this->db->query($sqlStr);
     $numRows = $query->num_rows();
     if ($numRows == 0) {
         return 0;
     } else {
         $row = $query->row();
         return $row->lNumRecs;
     }
 }
 public function lNumSponsorsViaProgram($lProgramID, $bIncludeInactive, $strQualSponLetter)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     $strWhereExtra = '';
     if ($lProgramID > 0) {
         $strWhereExtra .= " AND sp_lSponsorProgramID={$lProgramID} ";
     }
     if (!$bIncludeInactive) {
         $strWhereExtra .= ' AND NOT sp_bInactive ';
     }
     if ($strQualSponLetter . '' != '') {
         $strWhereExtra .= strNameWhereClauseViaLetter('pe_strLName', $strQualSponLetter);
     }
     $sqlStr = "SELECT COUNT(*) AS lNumRecs\n         FROM sponsor\n            INNER JOIN people_names ON pe_lKeyID=sp_lForeignID\n         WHERE 1\n            {$strWhereExtra}\n            AND NOT sp_bRetired\n            AND NOT sp_bRetired;";
     $query = $this->db->query($sqlStr);
     $numRows = $query->num_rows();
     if ($numRows == 0) {
         return 0;
     } else {
         $row = $query->row();
         return (int) $row->lNumRecs;
     }
 }