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'); }
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; } }